: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; } @media (max-width: 980px) { .wrap { width: calc(100% - 16px); margin: 8px auto 16px; } .top { flex-direction: column; align-items: stretch; padding: 12px; } .top > div:last-child { width: 100%; display: grid !important; grid-template-columns: 1fr 1fr; } .top > div:last-child a, .top > div:last-child form, .top > div:last-child 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; } .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 > div:last-child { 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; } }