    :root { --b:#1f4ea3; --line:#cfe0ff; }
    * { box-sizing: border-box; }
    body { margin:0; font-family:Manrope,sans-serif; background:#f0f5ff; color:#1a2746; }
    body.ib { background:#fff1f1; }
    .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, #9b2f3a, #c24a56); }
    .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; }
    .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; }

    .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; }
    .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; }
