    :root { --b:#1f4ea3; --line:#cfe0ff; }
    * { box-sizing: border-box; }
    body { margin:0; font-family:Manrope,sans-serif; background:#f0f5ff; color:#1a2746; }
    body.ib { background:#eefaf3; }
    .wrap { width:min(1600px, calc(100% - 24px)); margin:12px auto 24px; }
    .top {
      background: linear-gradient(130deg, #1f4ea3, #3977df);
      border-radius: 14px;
      color:#fff;
      padding:14px 16px;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:10px;
    }
    body.ib .top { background: linear-gradient(130deg, #1f7a4a, #37a96b); }
    .scope-switch { display:flex; gap:8px; }
    .scope-chip {
      display:inline-block;
      padding:7px 11px;
      border-radius:9px;
      text-decoration:none;
      font-weight:700;
      background:#e7efff;
      color:#1f3f77;
      border:1px solid #ccdcff;
    }
    .scope-chip.active { background:#fff; color:#112847; }
    .top-actions { display:flex; gap:8px; align-items:center; }
    .top-actions a,
    .top-actions form { margin:0; }
    .grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap:10px; margin:12px 0; }
    .box {
      background:#fff;
      border:1px solid #d4e3ff;
      border-radius:12px;
      padding:12px;
      overflow: hidden;
    }
    form.inline { display:flex; gap:8px; flex-wrap: wrap; }
    .inline > * { min-width: 0; }
    .inline-product {
      display:grid;
      grid-template-columns: minmax(130px, 1fr) minmax(150px, 1fr) minmax(180px, 1.2fr) auto;
      align-items:center;
      gap:8px;
    }
    .inline-product button { white-space: nowrap; }
    @media (max-width: 1300px) {
      .inline-product { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 720px) {
      .inline-product { grid-template-columns: 1fr; }
    }
    input[type="text"] { flex:1; padding:9px 10px; border:1px solid #c6d8fb; border-radius:9px; }
    button { border:0; border-radius:9px; padding:9px 11px; cursor:pointer; font-weight:700; }
    .pri { background:#1f4ea3; color:#fff; }
    .warn { background:#e8eefc; color:#223963; }
    .danger { background:#ffefef; color:#8e1d1d; }
    .alerts { display:grid; gap:8px; margin:12px 0; }
    .alert { border-radius:10px; padding:10px 12px; font-weight:700; border:1px solid #cfe0ff; background:#fff; }
    .alert.ok { color:#14532d; background:#ecfdf3; border-color:#bde9cb; }
    .alert.error { color:#8e1d1d; background:#ffefef; border-color:#ffcaca; }

    .lists { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; margin-bottom:10px; }
    .list-box { max-height: 430px; overflow-y: auto; padding-right: 4px; }
    .list-box::-webkit-scrollbar { width:12px; }
    .list-box::-webkit-scrollbar-thumb { background:#bfd4ff; border-radius:10px; }
    .list-item { display:flex; justify-content:space-between; align-items:center; gap:8px; border:1px solid var(--line); border-radius:10px; padding:6px 8px; margin-bottom:6px; background:#fff; min-height: 36px; }
    .product-item { border:1px solid var(--line); border-radius:10px; padding:6px 8px; margin-bottom:6px; background:#fff; }
    .product-row { display:flex; justify-content:space-between; align-items:center; gap:8px; min-height:36px; }
    .product-row span { min-width:0; overflow-wrap:anywhere; }
    .product-actions { display:flex; gap:8px; align-items:center; flex-shrink:0; }
    .product-actions form { margin:0; }
    .product-edit { display:grid; grid-template-columns: minmax(120px, 1fr) minmax(150px, 1.2fr) auto; gap:8px; margin-top:8px; }
    .product-edit[hidden] { display:none; }
    .pending-box { margin:12px 0; }
    .pending-head { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:10px; }
    .pending-head h3 { margin:0; }
    .pending-head form { margin:0; }
    .pending-list { display:grid; gap:8px; }
    .pending-item { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:10px; align-items:start; border:1px solid var(--line); border-radius:10px; padding:8px; }
    .pending-item span { display:block; color:#49638f; font-size:12px; margin-top:2px; }
    .pending-desc { margin-top:8px; padding:8px; border-radius:8px; background:#f6f9ff; white-space:pre-wrap; font-size:13px; line-height:1.45; }
    .pending-actions { display:flex; gap:8px; }
    .pending-actions form { margin:0; }
    .admin-users-box { margin:12px 0; }
    .created-admin-card { display:grid; gap:6px; margin:0 0 10px; padding:10px 12px; border:1px solid #9fd7b1; border-radius:10px; background:#ecfdf3; color:#14532d; }
    .created-admin-card code { display:inline-block; padding:3px 6px; border-radius:6px; background:#fff; color:#102a1a; font-weight:800; }
    .created-admin-share { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:8px; align-items:stretch; margin-top:4px; }
    .created-admin-share textarea { width:100%; min-height:84px; resize:vertical; padding:9px 10px; border:1px solid #9fd7b1; border-radius:9px; font:700 13px/1.45 Manrope,sans-serif; color:#102a1a; background:#fff; }
    .admin-create { display:grid; grid-template-columns:minmax(160px, 1fr) auto auto auto; gap:8px; align-items:center; }
    .admin-create label { display:flex; align-items:center; gap:6px; font-weight:700; white-space:nowrap; }
    .admin-users-list { display:grid; gap:6px; margin-top:10px; }
    .admin-user-item { display:flex; justify-content:space-between; align-items:center; gap:8px; border:1px solid var(--line); border-radius:10px; padding:7px 8px; }
    .admin-user-item span { display:grid; gap:2px; }
    small { color:#60759d; font-size:11px; }
    .matrix-wrap { background:#fff; border:1px solid #d4e3ff; border-radius:12px; padding:10px; }
    .matrix-scroll { overflow:auto; max-height:72vh; border:1px solid #dce7ff; border-radius:10px; }
    .matrix-scroll::-webkit-scrollbar,
    .matrix-h-scroll::-webkit-scrollbar { height:24px; width:14px; }
    .matrix-scroll::-webkit-scrollbar-thumb,
    .matrix-h-scroll::-webkit-scrollbar-thumb { background:#bfd4ff; border-radius:10px; }
    .matrix-h-scroll { overflow-x:auto; overflow-y:hidden; height:28px; margin:8px 0 10px; border:1px solid #dce7ff; border-radius:10px; background:#f6f9ff; }
    .matrix-h-scroll-inner { height:1px; }
    table { border-collapse: collapse; min-width: 1200px; width:max-content; }
    th, td { border:1px solid var(--line); padding:6px; font-size:12px; text-align:center; }
    th { position: sticky; top: 0; background:#eaf2ff; z-index: 2; }
    th:first-child, td:first-child { position: sticky; left:0; background:#eef5ff; z-index: 1; text-align:left; min-width: 280px; }
    th:first-child { z-index: 3; }
    td input { transform: scale(1.05); }
    .matrix-tip { margin:0 0 6px; font-size:12px; color:#37507d; }

    @media (max-width: 980px) {
      .wrap {
        width: calc(100% - 16px);
        margin: 8px auto 16px;
      }
      .top {
        flex-direction: column;
        align-items: stretch;
        padding: 12px;
      }
      .top-actions {
        width: 100%;
        display: grid !important;
        grid-template-columns: 1fr 1fr 1fr;
      }
      .top-actions a,
      .top-actions form,
      .top-actions button {
        width: 100%;
      }
      .scope-switch {
        flex-wrap: wrap;
      }
      .scope-chip {
        flex: 1 1 auto;
        text-align: center;
      }
      .grid {
        grid-template-columns: 1fr;
      }
      .lists {
        grid-template-columns: 1fr;
      }
      .list-box {
        max-height: 300px;
      }
      .list-item {
        align-items: flex-start;
        flex-wrap: wrap;
      }
      .product-row,
      .product-actions,
      .pending-head,
      .pending-item,
      .pending-actions,
      .admin-create,
      .admin-user-item,
      .created-admin-share {
        display:grid;
        grid-template-columns:1fr;
        width:100%;
      }
      .product-edit {
        grid-template-columns:1fr;
      }
      .matrix-wrap {
        padding: 8px;
      }
      .matrix-scroll {
        max-height: 62vh;
      }
      th, td {
        font-size: 11px;
        padding: 5px;
      }
      th:first-child,
      td:first-child {
        min-width: 170px;
      }
      input[type="text"],
      select,
      button {
        min-height: 40px;
      }
    }

    @media (max-width: 600px) {
      .top-actions {
        grid-template-columns: 1fr;
      }
      .inline-product {
        grid-template-columns: 1fr;
      }
      .matrix-h-scroll {
        height: 24px;
      }
      .matrix-scroll::-webkit-scrollbar,
      .matrix-h-scroll::-webkit-scrollbar {
        height: 18px;
        width: 12px;
      }
      th:first-child,
      td:first-child {
        min-width: 145px;
      }
      .matrix-tip {
        font-size: 11px;
      }
    }
