/* Game Box CRM 10.5 — single source of design tokens. No legacy CSS imports. */
:root {
  color-scheme: light;
  --canvas: #f2f5f8; --surface: #fff; --subtle: #f7f9fc;
  --ink: #17243a; --muted: #5e6b80; --line: #dce3ec;
  --nav: #111f32; --nav-hover: #213550; --nav-text: #bbccdf;
  --primary: #245ecc; --primary-hover: #1a4ca9; --primary-soft: #eaf1ff;
  --green: #087a60; --green-soft: #e6f6ef;
  --orange: #8e5809; --orange-soft: #fff1d8;
  --red: #ab3240; --red-soft: #fff0f2;
  --shadow: 0 4px 14px rgba(32,48,77,.035);
  --focus: 0 0 0 3px rgba(38,98,206,.21);
  --r-card: 14px; --r-control: 9px;
  font-family: "Segoe UI Variable", "Segoe UI", Inter, system-ui, -apple-system, sans-serif;
  font-size: 15px; -webkit-font-smoothing: auto; font-synthesis: none; text-rendering: optimizeLegibility;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100dvh; color: var(--ink); background: var(--canvas); line-height: 1.48; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { opacity: .54; cursor: not-allowed; }
[hidden] { display: none !important; }
a { color: var(--primary); }
:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
input, textarea, select { min-height: 44px; max-width: 100%; padding: 10px 12px; background: white; border: 1px solid #cbd5e2; color: var(--ink); border-radius: var(--r-control); font-size: 15px; width: 100%; }
input:focus, textarea:focus, select:focus { border-color: var(--primary); outline: none; box-shadow: var(--focus); }
input[type=checkbox], input[type=radio] { min-height: auto; width: auto; }
textarea { resize: vertical; }
label { display: flex; flex-direction: column; gap: 5px; min-width: 0; color: #42546d; font-size: 13px; font-weight: 650; }
h1, h2, h3 { color: var(--ink); line-height: 1.28; letter-spacing: -.025em; margin: 0 0 9px; }
h1 { font-size: clamp(24px, 2vw, 30px); font-weight: 770; }
h2 { font-size: 20px; font-weight: 740; }
h3 { font-size: 16px; font-weight: 730; }
p { margin: 0 0 10px; }
small,.small { font-size: 13px; }
.muted { color: var(--muted); }
.boot { height: 100vh; display: grid; place-content: center; font-size: 36px; font-weight: 850; letter-spacing: .08em; color: var(--ink); }
.boot span { color: var(--primary); }
.login-back { min-height: 100dvh; display: grid; place-items: center; padding: 24px; background: radial-gradient(ellipse at top left,#29466e 0%,#111f32 65%); }
.login-card { background: var(--surface); padding: 38px; border-radius: 22px; width: min(450px,100%); box-shadow: 0 30px 100px rgba(0,0,0,.3); }
.login-card h1 { margin-top: 18px; }
.login-card .brand { color: var(--ink); }
.brand { display:flex; align-items:center; gap: 11px; font-size: 20px; letter-spacing:.02em; font-weight:800; }
.brand small { font-weight: 500; letter-spacing: .13em; font-size: 10px; color:#8194ad; display:block; }
.brand-mark { display: grid; place-items:center; width:39px; height:39px; background:#6dcab6; border-radius:12px; font-weight:900; font-size:22px; color:#102b32; }
.app { display:grid; grid-template-columns: 252px minmax(0,1fr); min-height: 100dvh; }
.sidebar { background: var(--nav); color: #f2f6ff; padding: 27px 15px 16px; height: 100dvh; position:sticky; top:0; display:flex; flex-direction:column; }
.sidebar .logo { display:flex; align-items:center; gap: 12px; font-size:20px; font-weight:830; padding:4px 13px 33px; white-space:nowrap; }
.sidebar .logo small { display:block; font-size: 10px; font-weight:530; letter-spacing:.23em; color:#849db8; margin-top:2px; }
.nav-label { font-size:10px; color:#718eaf; padding: 0 15px 12px; font-weight:750; letter-spacing:.16em; }
.navgroup { display:grid; gap: 4px; }
.navbutton { display:flex; gap:13px; align-items:center; width:100%; padding: 12px 14px; border:0; background:transparent; color:var(--nav-text); text-align:left; font-size: 14px; font-weight: 560; border-radius: 9px; min-height:46px; }
.navbutton .symbol { text-align:center; width:23px; font-size:21px; line-height:1; font-weight:450; }
.navbutton:hover { background:var(--nav-hover); color:white; }
.navbutton.active { background: #2c486b; box-shadow: inset 3px 0 0 #70cebe; color:white; font-weight:720; }
.side-foot { margin-top:auto; border-top:1px solid #38506a; display:flex; align-items:center; padding: 18px 8px 3px; gap:11px; }
.side-foot .avatar { border-radius:11px; background:#345c78; color:white; height:40px; width:40px; flex:none; display:grid;place-items:center;font-weight:750; }
.user-info { flex:1;min-width:0; font-size:13px; }
.user-info strong,.user-info small { display:block; overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.user-info small { color:#9cb1c8; }
.side-foot button { border:0;background:transparent;color:#bbccdf;font-size:24px; }
.shell { min-width:0; }
.topbar { height:69px; background:var(--surface); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 28px; gap:15px; }
.breadcrumb { display:flex; align-items:center; gap:11px; font-size:14px; font-weight:750; color:#36475e; }
.breadcrumb-logo { display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--primary-soft);color:var(--primary);font-size:11px;font-weight:830; }
.heading-right { display:flex;align-items:center;gap:13px;color:var(--muted);font-size:13px; }
.status-dot { width:9px;height:9px;border-radius:50%;background:#15a67a;box-shadow:0 0 0 4px #e5f6ef; }
.workspace { padding:32px 32px 100px;max-width:1740px;margin:auto; }
.page-title { display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:12px 24px;margin-bottom:22px; }
.page-title p { margin: 5px 0 0;max-width:850px; }
.actions,.inline { display:flex;align-items:center; gap:9px;flex-wrap:wrap; }
.btn { display:inline-flex;gap:8px;justify-content:center;align-items:center;border-radius:var(--r-control);background:#fff;color:#254263;padding:10px 15px;border:1px solid #cbd7e4;min-height:43px;font-size:14px;font-weight:700;text-decoration:none;white-space:normal;text-align:center;line-height:1.2; }
.btn:hover { background:#f3f7ff; }
.btn.primary { color:#fff;background:var(--primary);border-color:var(--primary); }
.btn.primary:hover { background:var(--primary-hover); }
.btn.danger { background:var(--red-soft);color:var(--red);border-color:#f0ccd1; }
.btn.small { padding:7px 10px; min-height:36px; font-size:13px; }
.btn.wide { width:100%; }
.btn.busy { cursor:wait; }
.card { background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);min-width:0; }
.panel { padding:22px; }
.metrics { display:grid;grid-template-columns: repeat(4,minmax(0,1fr));gap:13px; margin:0 0 18px; }
.metric { padding:19px 20px; }
.metric-label { font-size:13px;color:var(--muted); }
.metric-value { font-size:clamp(23px,2vw,29px);font-weight:800;letter-spacing:-.03em;margin-top:8px;white-space:nowrap; }
.toolbar { display:flex;align-items:center;gap:10px;padding:15px 17px;border-bottom:1px solid var(--line);flex-wrap:wrap; }
.toolbar input[type=search] { flex:1;min-width:min(320px,100%); }
.toolbar select { width:200px; }
.tabline { display:flex;gap:5px;border-bottom:1px solid var(--line);padding:10px 14px;overflow-x:auto;scrollbar-width:thin; }
.tabline button { background:transparent;border:0;border-radius:8px;font-size:14px;font-weight:675;padding:10px 14px;color:#5b6d84;white-space:nowrap;min-height:40px; }
.tabline button:hover { background:var(--subtle); }
.tabline button.selected { background:var(--primary-soft);color:#2459af; }
.table-scroll { overflow:auto;max-width:100%; }
.table { border-collapse:collapse;width:100%;text-align:left; }
.table th { background:#f7f9fc;color:#65778f;font-size:12px;letter-spacing:.035em;font-weight:730;white-space:nowrap; }
.table td { font-size:14px; }
.table th,.table td { padding:14px 17px;border-bottom:1px solid #e7edf4;vertical-align:middle; }
.table tbody tr:last-child td { border-bottom:0; }
.table tbody tr:hover { background:#f5f9fd; }
.table .maincell { min-width:230px;max-width:530px;font-weight:700;overflow-wrap:anywhere; }
.code { display:block;font-size:12px;font-weight:480;color:#6c7e92;margin-top:4px; }
.text-link { background:none;border:0;padding:0;color:#245fbd;font-weight:750;text-align:left;font-size:inherit;overflow-wrap:anywhere; }
.text-link:hover { text-decoration:underline; }
.pill { display:inline-flex;padding:5px 9px;background:#eef2f7;color:#53687f;font-size:12px;font-weight:725;border-radius:7px;max-width:100%; }
.pill.green { background:var(--green-soft);color:var(--green); }
.pill.amber { background:var(--orange-soft);color:var(--orange); }
.empty { padding:53px 22px;text-align:center;color:var(--muted); }
.empty strong { display:block;color:var(--ink);font-size:17px;margin-bottom:8px; }
.skeleton { animation:pulse 1.5s ease-in-out infinite alternate; }
@keyframes pulse { to { opacity:.5; } }
.notice { position:fixed;right:24px;bottom:24px;z-index:120;background:#18283d;color:white;box-shadow:0 16px 40px #101e3447;border-radius:10px;padding:14px 18px;max-width:min(470px,85vw);opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .2s,transform .2s;font-size:14px; }
.notice.show { opacity:1;transform:translateY(0); }
.notice.error,.errorbox { background:#fff1f2;color:#9d303c; }
.notice.error { background:#9b2634;color:white; }
.errorbox { padding:13px;border-radius:10px; }
.overlay-open { overflow:hidden; }
.scrim { position:fixed;inset:0;display:flex;justify-content:center;align-items:center;background:rgba(15,26,45,.64);z-index:80;padding:24px; }
.drawer,.dialog { position:relative;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;background:white;border:1px solid var(--line);box-shadow:0 28px 90px rgba(7,18,33,.35);padding:30px 33px;width:min(785px,100%);border-radius:18px;scrollbar-gutter:stable; }
.drawer { margin-left:auto;width:min(735px,100%);height:100dvh;max-height:100dvh;border-radius:16px 0 0 16px;padding:35px 37px; }
.scrim:has(.drawer) { padding:0; }
.close { border:0;background:#edf2f8;position:absolute;top:19px;right:19px;width:38px;height:38px;display:grid;place-items:center;font-size:24px;border-radius:10px;color:#4a5b71; }
.close:hover { background:#dfe8f3; }
.dialog h2,.drawer h2 { padding-right:43px;line-height:1.3;overflow-wrap:anywhere; }
.eyebrow { font-size:12px;font-weight:800;color:#2760b7;letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px; }
.detail-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px; }
.detail-pair { background:#f6f8fb;border:1px solid #e4eaf2;border-radius:9px;padding:12px 13px;overflow-wrap:anywhere;min-width:0; }
.detail-pair span { display:block;font-size:12px;font-weight:620;color:#718098;margin-bottom:5px; }
.detail-pair strong { font-size:14px;line-height:1.42; }
.formgrid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.formgrid.one { grid-template-columns:1fr; }
.formgrid .full { grid-column:1/-1; }
.form-actions { display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px; }
.divider { border:0;border-top:1px solid var(--line);margin:24px 0; }
.block-note { background:#eef4fd;color:#405b78;border:1px solid #dce8f7;border-radius:10px;padding:13px 15px;font-size:13px;line-height:1.6;margin:0 0 20px; }
.sublist { display:grid;gap:9px; }
.subrow { display:flex;align-items:center;justify-content:space-between;gap:13px;padding:12px 13px;background:#fff;border:1px solid var(--line);border-radius:10px;min-width:0; }
.subrow>div:first-child { min-width:0;overflow-wrap:anywhere; }
.subrow strong { display:block;font-size:14px;font-weight:690; }
.subrow small { font-size:12px;color:var(--muted);display:block;margin-top:4px; }
.subrow .btn { flex-shrink:0; }
button.subrow { width:100%;text-align:left; }
button.subrow:hover { background:#f4f8ff; }
.preview { background:#f5f8fc;padding:17px;border-radius:10px;border:1px solid #e7edf5;margin:15px 0;overflow:auto; }
.json-view pre { white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6;max-height:55dvh;overflow:auto;margin:0; }
.suggestions { max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow); }
.suggestions button { border:0;border-bottom:1px solid var(--line);display:block;padding:10px 13px;text-align:left;background:white;font-size:14px;width:100%; }
.suggestions button:hover { background:#edf4ff; }
.modalstep { font-size:13px;font-weight:725;color:var(--primary);padding-bottom:12px; }
.footnote,.light-note,.input-help { font-size:12px;font-weight:480;color:#708198;line-height:1.55; }
.footnote { margin:14px 0 0; }
.countpill { padding:3px 8px;background:#e9f0fc;color:#315da1;border-radius:7px;font-size:12px;font-weight:740; }
.hidden { display:none !important; }
.split-dashboard { display:grid;grid-template-columns: minmax(0,1fr) minmax(0,1.05fr);gap:16px; }
.section-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px; }
.section-heading h2 { margin:0; }
.mobile-nav { display:none; }
@media(max-width:1100px) { .app { grid-template-columns:210px minmax(0,1fr); } .workspace { padding:23px 19px 90px; } .sidebar { padding:22px 9px 13px; } .sidebar .logo { padding:4px 9px 26px;font-size:18px; } .topbar { padding:0 20px; } .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .app { display:block; } .sidebar { display:none; } .topbar { height:59px;padding:0 14px; } .top-quick,.online { display:none; } .workspace { padding:20px 12px calc(100px + env(safe-area-inset-bottom)); } .metrics { gap:9px; } .metric { padding:14px 13px; } .metric-value { font-size:23px;white-space:normal;overflow-wrap:anywhere; } .metric-label { font-size:12px; } .page-title { margin-bottom:17px; } .page-title .actions { width:100%; } .page-title .actions .btn { flex:1; } .toolbar { padding:12px; } .toolbar input[type=search] { min-width:100%; } .toolbar select { width:100%; } .table th,.table td { padding:12px; } .table .maincell { min-width:175px; } .table th:nth-child(3), .table td:nth-child(3) { display:none; } .split-dashboard { grid-template-columns:1fr; } .panel { padding:15px; } .mobile-nav { position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;border-top:1px solid var(--line);z-index:35;padding:5px 0 calc(7px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px #20324a10; } .mobile-nav button { border:0;background:none;display:grid;justify-items:center;gap:3px;color:#66778e;padding:5px 0;font-size:11px;font-weight:620;min-height:48px; } .mobile-nav .symbol { font-size:22px;line-height:1; } .mobile-nav button.active { color:var(--primary); } .scrim { padding:9px;align-items:flex-end; } .dialog { width:100%;max-height:94dvh;padding:23px 18px;border-radius:16px 16px 0 0; } .drawer { width:100%;height:100dvh;padding:29px 18px 35px;border-radius:0; } .formgrid,.detail-grid { grid-template-columns:1fr; } .formgrid .full { grid-column:auto; } .notice { left:12px;right:12px;max-width:none;bottom:calc(81px + env(safe-area-inset-bottom)); } .close { top:15px;right:15px; } .login-card { padding:26px 19px; } .subrow { align-items:flex-start; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important;animation:none !important;transition:none !important; } }

/* Native mobile inventory cards: never hide valuation or asking price. */
@media (max-width:760px) {
 .stock-table,.stock-table tbody { display:block; width:100%; }
 .stock-table thead { display:none; }
 .stock-table tr { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;padding:13px 14px;border-bottom:1px solid var(--line); }
 .stock-table td { display:block !important; padding:0 !important;border:0;min-width:0;overflow-wrap:anywhere; }
 .stock-table td.maincell,.stock-table td:nth-child(2),.stock-table td.row-action { grid-column:1 / -1; }
 .stock-table td.maincell {max-width:none;min-width:0;}
 .stock-table td:nth-child(3), .stock-table td:nth-child(4) {font-size:14px;font-weight:740;}
 .stock-table td:nth-child(3)::before, .stock-table td:nth-child(4)::before {content:attr(data-label);display:block;color:var(--muted);font-size:12px;font-weight:550;margin-bottom:3px;}
 .stock-table td.row-action {display:flex !important;gap:9px;flex-wrap:wrap;margin-top:3px;}
 .stock-table td.row-action .btn {min-height:42px;flex:1;}
 .stock-table tr:hover {background:#f7faff;}
}
/* Keep high-contrast crisp foreground typography: the scrim dims, but does not blur. */
.dialog,.drawer { text-rendering:optimizeLegibility; }

/* Platform filter uses the catalog's exact socket and RAM facet values. */
.facet-hint { padding: 8px 17px; margin: 0; font-size: 12px; color: var(--muted); border-bottom: 1px solid var(--line); background: var(--subtle); }

/* Stage 5.3: compact, readable, server-backed warehouse result rows. */
.stock-results-top { display:flex;gap:14px;align-items:center;justify-content:space-between;padding:11px 17px;border-bottom:1px solid var(--line); }
.stock-select-visible { display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:650;color:#40536b;cursor:pointer; }
.stock-check-cell { width:45px;max-width:45px;min-width:45px!important;text-align:center; }
.stock-check,.stock-select-visible input { appearance:auto;accent-color:#2766bd;width:17px;height:17px;cursor:pointer;vertical-align:middle; }
.stock-table tr.is-selected { background:#edf5ff; }
.stock-table .maincell { font-weight:600; }
.stock-table .stock-name { color:#1e4f94;font-size:14px;line-height:1.45;font-weight:750; }
.stock-meta { color:#62748b;font-size:12px;line-height:1.45;margin-top:3px;font-weight:500; }
.stock-internal-note { margin-top:7px;max-width:690px;color:#46576b;font-size:13px;line-height:1.4;font-weight:450;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere; }
.stock-note-label { font-weight:720;color:#66778d; }
.match-mark { background:#fff0ba;color:inherit;border-radius:3px;padding:0 2px;box-decoration-break:clone;-webkit-box-decoration-break:clone; }
.stock-match-hint { margin-top:7px;font-size:12px;line-height:1.5;color:#536780;overflow-wrap:anywhere;font-weight:480; }
.stock-match-hint>span { font-weight:720;margin-right:5px;color:#4b688c; }
.stock-search-state { padding:25px 17px;color:#61738b;font-size:14px; }
.selection-bar { position:fixed;bottom:19px;left:calc(244px + 22px);right:22px;z-index:42;display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;padding:12px 18px;background:#15253c;color:#fff;border:1px solid #30435f;border-radius:13px;box-shadow:0 12px 36px #101f3552; }
.selection-count,.selection-actions { display:flex;align-items:center;gap:9px;flex-wrap:wrap; }
.selection-count strong { font-size:14px;white-space:nowrap; }
.selection-actions .btn { min-height:38px;background:#f1f5fb;border-color:#f1f5fb;color:#243b56;font-size:13px; }
.selection-actions .btn:disabled { opacity:.40; }
.selection-help { font-size:12px;line-height:1.5;color:#b4c5d8;flex-basis:100%; }
.link-button { border:0;background:transparent;color:#b5d6ff;text-decoration:underline;font:inherit;font-size:12px;padding:4px; }
.drawer-note { margin:14px 0;padding:14px 16px;background:#f5f8fc;border:1px solid #dfe8f4;border-radius:10px; }
.drawer-note strong { color:#506782;font-size:13px; }
.drawer-note p { margin:7px 0 0;white-space:pre-wrap;line-height:1.5; }
.audit-list { display:grid;gap:11px; }
.audit-event { border:1px solid #e2eaf3;border-radius:12px;padding:14px;background:#fff; }
.audit-head { display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap; }
.audit-head strong { font-size:14px;color:#253b56; }
.audit-head time,.audit-actor { font-size:12px;color:#71839a; }
.audit-actor { margin-top:5px; }
.audit-changes { list-style:none;padding:0;margin:12px 0 0;display:grid;gap:7px; }
.audit-changes li { padding:8px 10px;background:#f6f9fc;border-radius:7px;line-height:1.45;overflow-wrap:anywhere; }
.audit-changes li>span { color:#566e8b;font-size:12px;font-weight:660;display:block;margin-bottom:2px; }
.audit-changes li del { color:#7c8695;text-decoration:line-through; }
.audit-changes li strong { color:#183f70;font-weight:740; }
.audit-note { margin:11px 0 0;padding:10px;background:#f6f9fc;border-radius:7px;white-space:pre-wrap;overflow-wrap:anywhere; }
.sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
@media(max-width:1100px) {.selection-bar { left:230px; }}
@media(max-width:760px) {
 .stock-results-top { padding:12px 14px; }
 .stock-table tr { display:grid;grid-template-columns:25px minmax(0,1fr) minmax(0,1fr);gap:7px 10px;padding:14px 13px; }
 .stock-table td { display:block!important;min-width:0!important;padding:0!important;border:0; }
 .stock-table td.stock-check-cell { grid-column:1;grid-row:1;max-width:25px; }
 .stock-table td.maincell { grid-column:2/4;grid-row:1;max-width:none; }
 .stock-table td:nth-child(3) { grid-column:2/4;display:block!important;font-size:12px; }
 .stock-table td:nth-child(4) { grid-column:2;font-weight:730;font-size:14px; }
 .stock-table td:nth-child(5) { grid-column:3;font-weight:730;font-size:14px; }
 .stock-table td:nth-child(4)::before,.stock-table td:nth-child(5)::before { content:attr(data-label);display:block;color:#64768f;font-size:11px;font-weight:590;margin-bottom:3px; }
 .stock-internal-note { font-size:13px;max-width:100%; }
 .selection-bar { bottom:calc(76px + env(safe-area-inset-bottom));left:9px;right:9px;max-height:40dvh;overflow:auto;padding:12px;gap:10px; }
 .selection-actions { width:100%; }
 .selection-actions .btn { flex:1; }
}

.stock-note-expand { margin-top:6px;font-size:13px;color:#46576b; }
.stock-note-expand summary { cursor:pointer;line-height:1.5;overflow-wrap:anywhere; }
.stock-note-expand summary::marker { color:#8aa0b8; }
.stock-note-expand .stock-internal-note { display:block;max-width:690px;line-clamp:unset;-webkit-line-clamp:unset;margin:7px 0 0;padding:9px 11px;background:#f1f5fa;border-radius:8px; }
.stock-more { color:#2865b4;font-size:12px;font-weight:660;margin-left:5px;white-space:nowrap; }

/* Compact selection and single settlement layout: visible but not visually dominant. */
.stock-select-visible {font-size:12px;font-weight:500;color:var(--muted,#697b90);gap:6px;}
.stock-select-visible input,.stock-check {width:14px;height:14px;accent-color:#54799e;}
.stock-check-cell {width:31px;min-width:31px;}
.payment-split {display:contents;}
.settlement-figures {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 16px;padding:12px 14px;background:#f2f6fc;border:1px solid #dbe4ef;border-radius:10px;font-size:13px;color:#43536a;}
.settlement-figures strong {color:#14283e;text-align:right;}
.settlement-over {color:#b42318!important;}
.tradein-section {border:1px solid #dce5f0;border-radius:12px;padding:14px;margin:14px 0;background:white;}
.tradein-section .sublist {margin:9px 0;}
.tradein-section .inline {flex-wrap:wrap;}
.tradein-section .inline select {min-width:180px;flex:1;}
@media(max-width:620px){.tradein-section{padding:10px}.stock-check-cell{width:23px;min-width:23px}.payment-split{display:contents;}}

/* 10.6.0 — single canonical stock-list presentation. The builds panel is unchanged. */
.stock-panel { overflow:hidden; }
.stock-platform-tabs { display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:10px 16px;background:#fbfcfe;border-bottom:1px solid #e5eaf2; }
.stock-platform-tabs button { display:inline-flex;align-items:center;gap:8px;white-space:nowrap;flex:0 0 auto;background:transparent;color:#53677e;border:1px solid transparent;border-radius:7px;padding:7px 11px;min-height:34px;font-size:12px;font-weight:680; }
.stock-platform-tabs button:hover { background:#eef3fa; }
.stock-platform-tabs button.active { color:#235b9e;background:#e9f1fc;border-color:#cadef5; }
.stock-platform-count {font-size:11px;color:#7489a1;font-variant-numeric:tabular-nums;font-weight:550;}
.stock-platform-tabs button.active .stock-platform-count {color:#426c9a;}
.stock-toolbar {padding:12px 15px;gap:7px;flex-wrap:nowrap;}
.stock-toolbar label {margin:0;flex-direction:row;min-width:0;}
.stock-search-wrap {flex:1 1 420px;}
.stock-category-wrap {flex:0 1 280px;}
.stock-toolbar input[type="search"] {min-width:0;width:100%;min-height:39px;height:39px;padding:8px 11px;font-size:13px;background:#fff;}
.stock-clear-kind {border:0;background:transparent;color:#71839b;border-radius:6px;width:27px;height:31px;flex:0 0 auto;font-size:22px;line-height:1;}
.stock-clear-kind:hover {background:#edf3fa;color:#244f7d;}
.stock-results-top {padding:8px 15px;min-height:39px;background:#fff;}
.stock-results-top .stock-select-visible {font-size:11px;letter-spacing:.01em;color:#73839a;font-weight:480;}
.stock-results-top .stock-select-visible input {width:13px;height:13px;}
.stock-table {table-layout:fixed;width:100%;}
.stock-table th {font-size:11px;letter-spacing:.015em;font-weight:720;color:#74869d;background:#f7f9fc;}
.stock-table th,.stock-table td {padding:11px 10px;}
.stock-table th:first-child,.stock-table td:first-child {width:32px;padding-left:14px;padding-right:4px;}
.stock-table th:nth-child(2) {width:41%;}
.stock-table th:nth-child(3) {width:17%;}
.stock-table th:nth-child(4) {width:14%;}
.stock-table th:nth-child(5),.stock-table th:nth-child(6) {width:13%;}
.stock-table td {vertical-align:middle;font-size:12px;line-height:1.4;}
.stock-table td.maincell {min-width:180px;max-width:none;font-weight:500;}
.stock-table .stock-name {color:#253e61;font-size:13px;font-weight:750;line-height:1.38;text-align:left;}
.stock-table .stock-name:hover {color:#1e64b2;text-decoration:underline;}
.stock-table .stock-meta {font-size:11px;color:#7b8ba0;margin-top:3px;line-height:1.3;}
.stock-specs {display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:6px;}
.stock-spec {color:#526980;background:#f3f6fa;border:1px solid #e9eef5;font-size:10.5px;font-weight:610;line-height:1.45;border-radius:5px;padding:2px 6px;white-space:nowrap;}
.stock-spec-strong {background:#eaf1f9;border-color:#dae6f5;color:#2b5d8c;}
.stock-spec-label {font-weight:480;color:#667e97;}
.stock-table .stock-internal-note {font-size:11px;margin-top:6px;line-height:1.4;color:#60758d;-webkit-line-clamp:2;line-clamp:2;}
.stock-note-expand {font-size:11px;}
.stock-note-expand summary {line-height:1.45;color:#60758d;}
.stock-table .stock-match-hint {font-size:11px;margin-top:5px;}
.stock-price-range {display:flex;align-items:center;flex-wrap:wrap;gap:3px 5px;min-width:0;}
.stock-price-jump {border:0;background:transparent;padding:2px 0;text-align:left;font-weight:700;font-size:11px;color:#2967ac;line-height:1.4;font-variant-numeric:tabular-nums;white-space:nowrap;}
.stock-price-jump:hover,.stock-price-jump:focus-visible {text-decoration:underline;color:#154887;}
.stock-price-separator {color:#9baabd;}
.stock-location {display:inline-flex;align-items:center;border-radius:5px;font-weight:680;font-size:11px;padding:4px 7px;line-height:1.3;}
.stock-location-warehouse {color:#147255;background:#e5f5ec;}
.stock-location-build {color:#2b61a7;background:#e9f0fc;}
.stock-location-consignment {color:#95630b;background:#fff1d5;cursor:help;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;}
.stock-location-neutral {color:#607087;background:#edf1f5;}
.stock-location-detail {color:#6a7d94;font-size:11px;margin-top:4px;line-height:1.35;overflow-wrap:anywhere;}
.stock-money {font-size:12px!important;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:#243d57;}
.stock-table tbody tr.stock-price-target {background:#fff4d8!important;outline:2px solid #e6ae4a;outline-offset:-2px;transition:background-color .25s;}
.stock-table .stock-check {width:14px;height:14px;}
@media(max-width:1250px) and (min-width:761px){
 .stock-table th:nth-child(2) {width:35%;}.stock-table th:nth-child(3){width:19%;}.stock-table th:nth-child(4){width:17%;}.stock-table th:nth-child(5),.stock-table th:nth-child(6){width:14%;}
 .stock-table {min-width:850px;}
}
@media(max-width:760px){
 .stock-toolbar {flex-wrap:wrap;gap:7px;padding:10px;}
 .stock-search-wrap {flex-basis:100%;}.stock-category-wrap {flex:1 1 calc(100% - 44px);}
 .stock-toolbar input[type="search"] {min-width:0;}
 .stock-platform-tabs {padding:8px 10px;}
 .stock-table {min-width:0;table-layout:auto;}
 .stock-table tr {grid-template-columns:24px minmax(0,1fr) minmax(0,1fr);gap:5px 10px;padding:12px;}
 .stock-table td.stock-check-cell {grid-column:1;grid-row:1;max-width:24px;width:24px;padding:0;}
 .stock-table td.maincell {grid-column:2/4;grid-row:1;max-width:none;min-width:0;}
 .stock-table td:nth-child(3) {grid-column:2/4;display:block!important;font-size:11px;}
 .stock-table td:nth-child(4) {grid-column:2/4;display:block!important;font-size:11px;}
 .stock-table td:nth-child(5) {grid-column:2;font-size:12px;}
 .stock-table td:nth-child(6) {grid-column:3;font-size:12px;}
 .stock-table td:nth-child(5)::before,.stock-table td:nth-child(6)::before {content:attr(data-label);display:block;color:#71849b;font-size:10px;margin-bottom:3px;font-weight:590;}
 .stock-price-range {gap:4px;}
 .stock-table .stock-name {font-size:13px;}
}

/* Stock selection control is a compact horizontal label, not a stacked form label. */
.stock-results-top .stock-select-visible {display:inline-flex;flex-direction:row;align-items:center;gap:7px;}

/* 10.6.1 physical item card — one scoped implementation, shared design tokens. */
.drawer:has(.ic-card){padding:0;width:min(790px,100%);display:flex;flex-direction:column;overflow:hidden;background:#fbfcfe;border-radius:14px 0 0 14px;scrollbar-gutter:auto;}
.drawer:has(.ic-card)>.close{z-index:4;right:22px;top:18px;}
.ic-card{display:flex;flex-direction:column;flex:1;min-height:0;}
.ic-top{background:#fff;border-bottom:1px solid var(--line);padding:25px 32px 17px;flex-shrink:0;}
.ic-top h2{font-size:24px;max-width:calc(100% - 55px);padding-right:0;margin:11px 0 5px;line-height:1.25;}
.ic-subtitle{font-size:12px;color:#798ba0;margin-bottom:14px;}
.ic-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.ic-status,.ic-condition{display:inline-flex;align-items:center;font-weight:700;font-size:11px;padding:5px 9px;border-radius:7px;}
.ic-green{background:#e8f6ef;color:#176c55}.ic-indigo{background:#edf0ff;color:#4155a0}.ic-amber{background:#fff3dc;color:#8e5809}.ic-gray{background:#eff2f6;color:#596a80}
.ic-condition{color:#52647b;background:#f0f4f8;}
.ic-status-detail{color:#687e98;font-size:12px;margin-top:8px;}
.ic-tabs{display:flex;gap:18px;overflow-x:auto;padding:0 32px;background:#fff;border-bottom:1px solid var(--line);flex-shrink:0;scrollbar-width:thin;}
.ic-tabs button{border:0;border-bottom:2px solid transparent;padding:14px 1px;background:none;color:#76869b;font-size:12px;font-weight:700;white-space:nowrap;}
.ic-tabs button.selected{border-color:var(--primary);color:var(--primary)}
.ic-counter{padding:2px 6px;background:#edf2f8;border-radius:20px;color:#6d809b;font-size:10px;}
.ic-body{min-height:0;flex:1;overflow:auto;padding:22px 30px 26px;overscroll-behavior:contain;}
.ic-prices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
.ic-price,.ic-panel{border:1px solid #e0e7f0;background:#fff;border-radius:12px;}
.ic-price{padding:18px 19px;min-width:0;}.ic-price span{font-size:12px;color:#697e97;display:block}.ic-price strong{display:block;font-size:25px;line-height:1.3;margin-top:7px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;}.ic-price small{display:block;color:#8998aa;font-size:10px;margin-top:4px;}
.ic-panel{padding:19px 21px;margin-bottom:14px;}.ic-panel h3{font-size:14px;margin:0 0 12px;}
.ic-properties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px;}
.ic-property{padding:11px 0;border-bottom:1px solid #eef1f5;min-width:0;}.ic-property span{display:block;font-size:11px;color:#8393a7;margin-bottom:5px}.ic-property strong{display:block;font-size:13px;overflow-wrap:anywhere;}
.ic-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:#3b516b;line-height:1.55;background:#f5f8fd;border:1px solid #e2ebf6;padding:13px;border-radius:8px;}
.ic-tags{display:flex;gap:7px;flex-wrap:wrap;}.ic-tags span{padding:5px 8px;border-radius:6px;background:#eff3f8;font-size:12px;color:#526680;}
.ic-edit-call{display:flex;justify-content:flex-end;}
.ic-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;}.ic-form .ic-wide{grid-column:1/-1;}.ic-form-actions{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap;}
.ic-model{font-size:13px;color:#657891;margin-bottom:15px;}
.ic-empty{padding:28px 18px;border:1px dashed #d7e0ec;border-radius:11px;background:#fff;color:#6f8299;text-align:center;font-size:13px;}
.ic-reports{display:grid;gap:9px;}.ic-report{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border-bottom:1px solid #edf1f5;}.ic-report strong{font-size:13px;}.ic-report small{display:block;color:#8190a4;font-size:11px;margin-top:3px;}
.ic-comments{display:grid;gap:11px;}.ic-comment{padding:16px 19px;border:1px solid #e2e8f1;border-radius:11px;background:white;}.ic-comment-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:11px;color:#8392a4;}.ic-comment-meta strong{color:#50647e;}.ic-comment-text{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin:11px 0;}.ic-delete-comment{border:0;background:transparent;color:#a34147;font-size:12px;font-weight:650;padding:0;}
.ic-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 28px;background:white;border-top:1px solid var(--line);flex-shrink:0;min-height:70px;}.ic-footer-note{font-size:12px;color:#8290a2;}.ic-footer-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
@media(max-width:760px){.drawer:has(.ic-card){border-radius:0}.ic-top{padding:27px 19px 15px}.ic-top h2{font-size:20px}.ic-tabs{padding:0 17px;gap:16px}.ic-body{padding:16px 14px}.ic-panel{padding:15px}.ic-properties,.ic-form{grid-template-columns:1fr}.ic-prices{gap:8px}.ic-price{padding:13px}.ic-price strong{font-size:19px}.ic-footer{padding:12px 14px;flex-wrap:wrap}.ic-footer-actions{flex:1}.ic-footer-actions .btn{flex:1}}

.ic-topline{display:flex;align-items:center;justify-content:space-between;gap:42px;padding-right:36px}.ic-label-code{text-align:center;padding:15px;letter-spacing:.08em;font-size:20px;font-weight:800}.ic-label-media{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;justify-items:center;padding:15px;margin-bottom:12px;border:1px solid #e2e8f0;border-radius:12px}.ic-label-media img{max-width:100%;max-height:190px;object-fit:contain}

/* 10.6.2 intake: one scoped modal, no second inventory/accounting UI engine. */
.dialog:has(.gi){width:min(1100px,calc(100vw - 36px));max-height:calc(100dvh - 36px);padding:0;overflow:auto;background:#fff;}
.dialog:has(.gi)>.close{z-index:3;right:15px;top:15px;}
.gi{display:flex;flex-direction:column;min-height:0;font-size:13px;color:#20324b;}
.gi-head{padding:19px 24px 14px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-right:60px;background:white;}
.gi-head h2{font-size:21px;margin:3px 0;}.gi-crumb{font-size:10px;letter-spacing:.11em;color:#8a9bae;text-transform:uppercase;font-weight:750}.gi-head small,.gi-aside small{color:#7b8da2}.gi-step{font-size:12px;color:#5c76a4;font-weight:700;white-space:nowrap;}
.gi-content{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(265px,1fr);min-height:0;}.gi-left{min-width:0;padding:23px 25px 28px;}.gi-aside{background:#f7f9fc;border-left:1px solid #e4eaf1;padding:23px 20px;}.gi-aside h3{font-size:15px;margin:0 0 4px;}
.gi-mode{border:1px solid #e1e8f1;background:#f8fafd;border-radius:11px;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px;}.gi-mode strong,.gi-mode small{display:block}.gi-mode small{color:#7b899c;margin-top:4px;font-size:11px}.gi-check{flex-direction:row;align-items:center;gap:7px;white-space:nowrap;font-weight:700;color:#38517c}.gi-check input{accent-color:var(--primary)}
.gi-section{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 13px;}.gi-section h3{font-size:15px;margin:0;}.gi-muted{color:#8493a6;font-size:12px}.gi-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;}.gi-form label,.gi-left>label,.gi-partners label{font-size:12px;color:#576a84}.gi-form input,.gi-form select,.gi-form textarea,.gi-left>label input,.gi-left>label textarea,.gi-partners input,.gi-payment select{font-size:13px;min-height:39px;padding:9px 11px;}.gi-full{grid-column:1/-1;}.gi-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:16px;}.gi-divider{height:1px;background:#e7edf4;margin:19px 0;}.gi-facts{background:#eff6fe;color:#34648d;padding:10px;border-radius:8px;}.gi-suggest{display:grid;gap:3px;}.gi-option{text-align:left;border:1px solid #e7ebf3;background:#f9fbfe;border-radius:7px;padding:9px 11px;color:#344965}.gi-option:hover{background:#eaf2fd}.gi-option small{color:#79889a;margin-left:8px}.gi-partners{margin-bottom:22px;padding:14px;border:1px solid #f1d9ae;background:#fff9f0;border-radius:10px;}.gi-inline{display:flex;align-items:end;gap:10px;}.gi-inline label{flex:1}.gi-tag{padding:5px 8px;border-radius:8px;font-size:11px;font-weight:700;white-space:nowrap}.gi-tag.amber{background:#fff0d2;color:#8a5716}.gi-tag.green{background:#e4f5eb;color:#227254}.gi-hint{font-size:12px;color:#8a631f;background:#fff5e0;padding:10px;border-radius:8px;margin:12px 0}.gi-lines{display:grid;gap:7px;margin:18px 0;}.gi-line{display:flex;justify-content:space-between;gap:12px;background:white;padding:12px;border:1px solid #e5ebf2;border-radius:9px;}.gi-line strong{display:block;overflow-wrap:anywhere;font-size:12px}.gi-line small{display:block;margin-top:4px;color:#8491a5;font-size:11px}.gi-line-right{display:flex;gap:8px;align-items:center;white-space:nowrap}.gi-line-right b{font-variant-numeric:tabular-nums}.gi-totals{border-top:1px solid #dce4ef;padding-top:14px;margin-top:24px;display:grid;gap:11px}.gi-totals>div,.gi-value{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-variant-numeric:tabular-nums}.gi-totals>div span,.gi-value span{color:#77879e}.gi-totals>div b,.gi-value strong{color:#27405b}.gi-totals small{color:#a06619}.gi-value{padding:10px 0;border-bottom:1px solid #e8edf4}.gi-payment{padding:13px 15px;background:#f5f8ff;border-radius:10px;margin-top:15px}.gi-payment small{display:block;color:#70819a;margin-top:7px}.gi-done{display:grid;gap:10px}.gi-resultids{display:grid;gap:6px}.gi-resultids>div{padding:9px;background:#f5f8fc;border-radius:7px}.gi-resultids small{display:block;color:#8090a4;word-break:break-all}
@media(max-width:760px){.dialog:has(.gi){width:100vw;max-height:100dvh;min-height:100dvh;border-radius:0}.gi-head{padding:20px 56px 14px 14px}.gi-head h2{font-size:18px}.gi-content{grid-template-columns:minmax(0,1fr)}.gi-left{padding:16px 14px}.gi-aside{border-left:0;border-top:1px solid #e5eaf2;padding:17px 14px}.gi-form{grid-template-columns:1fr}.gi-full{grid-column:1}.gi-inline{align-items:stretch;flex-direction:column}}

/* 10.6.3 single checkout/custody workspace. Source of stock and finance remains server-side. */
.gc-shell{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(310px,.85fr);align-items:start;gap:17px;}
.gc-shell>.gc-left,.gc-shell>.gc-right{padding:23px 24px;min-width:0;}
.gc-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px;}
.gc-panel-heading h2{margin:0;font-size:17px;}
.gc-panel-heading p{margin:5px 0 0;}
.gc-step{color:#718298;font-size:12px;font-weight:750;letter-spacing:.04em;}
.gc-search-label{display:block;font-size:12px;color:#62758e;font-weight:650;}
.gc-search-label input{display:block;width:100%;margin-top:7px;min-height:45px;border-radius:10px;font-size:14px;}
.gc-search-results{border:1px solid #e6edf6;border-radius:10px;margin-top:8px;background:#fff;max-height:254px;overflow:auto;}
.gc-search-result{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:10px 12px;width:100%;background:#fff;border:0;border-bottom:1px solid #edf1f6;text-align:left;cursor:pointer;color:#30465f;}
.gc-search-result:last-child{border-bottom:0;}
.gc-search-result:hover,.gc-search-result:focus-visible{background:#f2f7ff;}
.gc-search-result strong,.gc-search-result small{display:block;line-height:1.45;overflow-wrap:anywhere;}
.gc-search-result strong{font-size:12px;}
.gc-search-result small{font-size:11px;color:#75859c;margin-top:3px;}
.gc-result-side{display:grid;justify-items:end;gap:5px;white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums;}
.gc-result-side b{color:#245ba2;font-size:11px;}
.gc-empty-hint{font-size:12px;color:#8290a0;padding:14px;margin:0;}
.gc-list-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:25px 0 10px;}
.gc-list-heading h3{font-size:14px;margin:0;}
.gc-cart-rows{display:grid;gap:9px;}
.gc-cart-empty{padding:28px 16px;text-align:center;background:#f7f9fc;border:1px dashed #dbe4ef;border-radius:10px;}
.gc-cart-empty strong{font-size:14px;color:#47607c;}
.gc-cart-empty p{font-size:12px;color:#8492a5;margin:7px auto 0;max-width:270px;}
.gc-cart-item{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e3eaf3;border-radius:10px;padding:11px 12px;}
.gc-cart-item-blocked{background:#fff8f4;border-color:#efd9cd;}
.gc-cart-item-name{flex:1;min-width:0;}
.gc-cart-item-name strong{font-size:12px;line-height:1.35;display:block;overflow-wrap:anywhere;}
.gc-cart-item-name small{display:block;font-size:11px;color:#8090a6;margin-top:4px;}
.gc-warning{display:block;font-size:11px;color:#a65037;margin-top:6px;}
.gc-line-price{width:165px;flex:none;min-width:0;font-size:11px;color:#6b7c93;}
.gc-line-price input{margin-top:5px;width:100%;font-size:13px;min-height:37px;padding:7px;}
.gc-remove{flex:none;border:0;background:#f4f6fa;color:#758397;border-radius:6px;width:27px;height:30px;font-size:20px;cursor:pointer;}
.gc-remove:hover{background:#fce9e9;color:#aa3434;}
.gc-cart-total{margin-top:20px;padding-top:17px;border-top:1px solid #e1e8f1;display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:13px;color:#697991;}
.gc-cart-total strong{font-size:21px;color:#253d5b;white-space:nowrap;font-variant-numeric:tabular-nums;}
.gc-mode-switch{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px;border:1px solid #dce4ef;background:#f6f9fd;border-radius:11px;}
.gc-mode-switch strong,.gc-mode-switch small{display:block;}
.gc-mode-switch strong{font-size:13px;color:#314c68;}
.gc-mode-switch small{font-size:11px;color:#72849a;line-height:1.5;margin-top:4px;}
.gc-check{display:flex!important;align-items:center!important;flex:none;cursor:pointer;}
.gc-check input{width:18px;height:18px;accent-color:#2d68af;}
.gc-info{padding:14px;margin:15px 0;background:#f0f5fc;border-radius:9px;line-height:1.5;}
.gc-info strong,.gc-info span{display:block;}
.gc-info strong{font-size:13px;color:#345e91;margin-bottom:4px;}
.gc-info span{font-size:12px;color:#607991;}
.gc-consignment-panel .gc-info{background:#fff7e8;}
.gc-consignment-panel .gc-info strong{color:#8e5b20;}
.gc-consignment-panel .gc-info span{color:#846b47;}
.gc-consignment-panel>label,.gc-new-partner>label{display:block;margin-top:13px;font-size:12px;color:#6d8097;}
.gc-consignment-panel select,.gc-consignment-panel textarea,.gc-new-partner input{display:block;width:100%;margin-top:6px;font-size:13px;min-height:42px;padding:9px;border:1px solid #d9e1ec;border-radius:8px;background:white;}
.gc-consignment-panel #gcPartnerNew{margin-top:10px;}
.gc-new-partner{margin-top:13px;padding:13px;border-radius:9px;border:1px solid #dfe7f1;background:#f8fafd;}
.gc-new-partner #gcSavePartner{margin-top:14px;}
.gc-promise{display:flex;gap:10px;justify-content:space-between;align-items:baseline;background:#edf4ff;padding:14px 12px;border-radius:9px;margin-top:20px;font-size:12px;color:#45648c;}
.gc-promise strong{color:#20568f;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:17px;}
.gc-small-note{font-size:11px;line-height:1.55;color:#788a9f;display:block;margin:10px 0;}
.gc-sale-form .payment-split{margin-top:14px;}
.gc-quick-pay{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px;}
.gc-actions{display:grid;gap:7px;border-top:1px solid #e5ebf2;margin-top:22px;padding-top:18px;}
.gc-actions>.wide{width:100%;}
.gc-review-lines{display:grid;gap:9px;margin:22px 0;}
.gc-review-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #ebf0f6;font-size:13px;}
.gc-review-line span{min-width:0;overflow-wrap:anywhere;}
.gc-review-line small{display:block;font-size:11px;color:#8090a3;margin-top:4px;}
.gc-review-line b{font-variant-numeric:tabular-nums;text-align:right;}
.gc-review-total{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:6px;padding:14px;background:#f0f5fc;border-radius:9px;}
.gc-review-total strong{font-size:20px;white-space:nowrap;font-variant-numeric:tabular-nums;}
.gc-review-actions{display:flex;gap:10px;justify-content:flex-end;}
/* Outgoing custody still belongs to our inventory, but is unavailable in the warehouse. */
.stock-table tbody tr.stock-row-outbound:not(.is-selected){background:#f4f5f7;}
.stock-table tbody tr.stock-row-outbound:not(.is-selected):hover{background:#edf0f4;}
.stock-row-outbound .stock-name,.stock-row-outbound .stock-money{color:#677485;}
.stock-location-outbound{background:#e1e5eb!important;color:#586574!important;}
.stock-location-consignment[data-partner]{position:relative;}
.stock-location-consignment[data-partner]:is(:hover,:focus-visible)::after{content:attr(data-partner);position:absolute;z-index:30;bottom:calc(100% + 8px);left:0;min-width:140px;max-width:260px;width:max-content;background:#23354d;color:#fff;border-radius:7px;padding:8px 10px;box-shadow:0 6px 16px #10243a42;white-space:normal;overflow-wrap:anywhere;line-height:1.4;font-size:11px;font-weight:500;}
@media(max-width:1050px){.gc-shell{grid-template-columns:1fr;}.gc-left{order:0;}.gc-right{order:1;}}
@media(max-width:760px){.gc-shell>.gc-left,.gc-shell>.gc-right{padding:16px 13px;}.gc-cart-item{flex-wrap:wrap;}.gc-cart-item-name{min-width:calc(100% - 44px);}.gc-line-price{width:calc(100% - 45px);}.gc-cart-total strong{font-size:18px;}.gc-heading .actions{flex-wrap:wrap;}}

/* 10.6.5 Consignment — a native first-party workspace, no duplicate ledger. */
.cs-toolbar{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:16px 20px;margin:0 0 14px;}
.cs-partner{flex:1;max-width:560px;min-width:200px;}
.cs-partner>label{display:block;font-size:11px;color:#72839b;margin-bottom:5px;font-weight:700;}
.cs-partner select{width:100%;max-width:500px;font-weight:650;font-size:15px;padding:10px 13px;}
.cs-partner p{font-size:11px;color:#7a8aa1;margin:5px 0 0;}
.cs-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;}
.cs-total{padding:19px 20px;display:flex;flex-direction:column;gap:8px;min-width:0;}
.cs-total>span{font-size:12px;font-weight:650;color:#6d7f98;}
.cs-total>strong{font-size:clamp(19px,2vw,26px);color:#263e5e;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.cs-total>small{font-size:11px;color:#8795a7;line-height:1.45;}
.cs-net{background:#f5f8fc;border-color:#e0e8f4;}
.cs-actions{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:19px;padding:18px 20px;}
.cs-actions>div:first-child{display:grid;gap:5px;min-width:160px;}
.cs-actions>div:first-child>strong{font-size:13px;color:#314969;}
.cs-actions small{font-size:11px;color:#7c8ca3;line-height:1.4;}
.cs-action-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;}
.cs-action-buttons .btn{font-size:12px;}
.cs-list-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:15px 0 10px;}
.cs-list-heading h2{margin:0;font-size:17px;}
.cs-list-heading label{display:flex;align-items:center;gap:7px;color:#7787a0;font-size:12px;cursor:pointer;}
.cs-list-heading input{accent-color:#2877c2;}
.cs-table-card{padding:0;overflow:hidden;margin:0 0 14px;}
.cs-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 19px 14px;}
.cs-group-head h2{font-size:15px;margin:0;color:#273f5d;}
.cs-group-head p{font-size:11px;margin:5px 0 0;color:#8091a5;line-height:1.5;}
.cs-group-head>strong{font-size:19px;white-space:nowrap;font-variant-numeric:tabular-nums;color:#2f5479;}
.cs-table th,.cs-table td{font-size:12px;padding:11px 12px;vertical-align:middle;}
.cs-table th{color:#8190a3;font-size:10px;font-weight:700;letter-spacing:.02em;white-space:nowrap;}
.cs-table td:first-child{min-width:215px;}
.cs-table td strong,.cs-table td small{display:block;line-height:1.4;}
.cs-table td small{font-size:10px;color:#8796a9;margin-top:4px;}
.cs-money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:#415672;}
.cs-money strong{color:#1f3b5d;font-weight:750;}
.cs-status{font-size:11px;color:#476b8a;line-height:1.3;white-space:nowrap;}
.cs-empty{color:#8a99ad;font-size:12px;padding:23px 20px 27px;}
.cs-history{margin-bottom:12px;padding:0;overflow:hidden;}
.cs-history-list{display:grid;}
.cs-event{padding:12px 20px;border:0;border-top:1px solid #edf0f5;background:transparent;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;gap:12px;color:#334d69;}
.cs-event:hover,.cs-person:hover{background:#f6f9fd;}
.cs-event strong{font-size:12px;}
.cs-event small{display:block;margin-top:5px;font-size:10px;color:#8797aa;}
.cs-event>strong{font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.cs-footnote{margin:15px 0 30px;font-size:11px;color:#8595a9;line-height:1.6;}
.cs-directory{max-height:310px;overflow-y:auto;margin:16px 0;display:grid;border:1px solid #e1e9f2;border-radius:8px;}
.cs-person{border:0;border-bottom:1px solid #e9eef4;background:white;padding:12px;cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left;}
.cs-person:last-child{border-bottom:0;}
.cs-person strong{display:block;font-size:13px;}
.cs-person small{display:block;margin-top:5px;color:#8795a7;font-size:11px;}
.cs-person>span{color:#667e9d;font-size:11px;white-space:nowrap;}
.cs-settlement-preview{background:#f4f8fe;border:1px solid #e2ebf7;border-radius:9px;padding:13px 15px;display:grid;gap:8px;}
.cs-settlement-preview>div{display:flex;justify-content:space-between;gap:9px;align-items:center;font-size:12px;}
.cs-settlement-preview span{color:#6c819a;}.cs-settlement-preview strong{font-variant-numeric:tabular-nums;color:#254363;}
.cs-settlement-preview>p{font-size:11px;color:#5a7493;margin:3px 0 0;}
.cs-confirm{background:#f4f8fe;border:1px solid #dce7f4;border-radius:9px;padding:18px;margin:16px 0;}
.cs-confirm>strong{font-size:26px;font-variant-numeric:tabular-nums;color:#244f7c;}
.cs-confirm p{font-size:13px;line-height:1.5;}.cs-confirm small{font-size:11px;color:#7b8da5;}
.cs-notes{max-height:350px;overflow:auto;display:grid;gap:9px;margin:15px 0;}
.cs-note{padding:12px;background:#f6f8fc;border:1px solid #e4e9f2;border-radius:9px;}
.cs-note p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 10px;font-size:13px;line-height:1.5;}
.cs-note>div{display:flex;align-items:center;gap:12px;justify-content:space-between;}
.cs-note small{font-size:10px;color:#8799ad;}
@media(max-width:1100px){.cs-actions{align-items:flex-start;flex-direction:column;}.cs-action-buttons{justify-content:flex-start;}.cs-overview{grid-template-columns:repeat(2,minmax(0,1fr));}.cs-net{grid-column:span 2;}}
@media(max-width:700px){.cs-overview{grid-template-columns:1fr;}.cs-net{grid-column:auto;}.cs-toolbar{flex-direction:column;align-items:stretch;}.cs-group-head{align-items:flex-start;}.cs-action-buttons .btn{flex:1;}.cs-table th,.cs-table td{font-size:11px;}.cs-list-heading{align-items:flex-start;}}

/* 10.6.6 accounting: one canonical workspace, no legacy settlement widgets. */
.fa-workspace{display:grid;gap:16px;min-width:0}
.fa-title{margin-bottom:0}
.fa-control{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.fa-period{display:flex;flex-wrap:wrap;align-items:center;padding:4px;background:#edf2f9;border:1px solid #dae5f3;border-radius:10px;gap:3px}
.fa-period button{border:0;background:transparent;border-radius:7px;padding:8px 12px;font-size:13px;font-weight:700;color:#65768c;min-height:36px}
.fa-period button.active{background:white;color:var(--primary);box-shadow:0 2px 8px #10294a19}
.fa-dates{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.fa-dates label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}
.fa-dates input{min-width:155px}
.fa-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding:0 2px;overflow:auto}
.fa-tabs button{border:0;background:transparent;color:#687b95;font-size:14px;font-weight:730;white-space:nowrap;padding:10px 15px 13px;border-bottom:3px solid transparent}
.fa-tabs button.active{color:var(--primary);border-color:var(--primary)}
.fa-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.fa-kpi{padding:19px 20px;display:grid;align-content:start;gap:7px;border-top:3px solid transparent}
.fa-kpi-label{color:#53647b;font-size:13px;font-weight:700}
.fa-kpi strong{font-size:clamp(19px,2vw,28px);letter-spacing:-.035em;overflow-wrap:anywhere;color:#15273d}
.fa-kpi small{color:#8796a8;font-size:11px}
.fa-kpi.income{border-top-color:#29a67e}.fa-kpi.outcome{border-top-color:#e4686f}
.fa-kpi.net{border-top-color:#477fd5}.fa-kpi.margin{border-top-color:#d4a04d}
.fa-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,310px);gap:14px;align-items:start}
.fa-block{padding:17px 18px;min-width:0}
.fa-block h2{font-size:16px;margin:0 0 10px}
.fa-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:13px}
.fa-heading h2{margin:0}.fa-heading p{font-size:12px;color:#8290a4;margin:4px 0 0}
.fa-side{display:grid;gap:14px}
.fa-mini{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0f5;padding:11px 0;font-size:13px}
.fa-mini span{color:#54657d}.fa-mini strong{white-space:nowrap;color:#182c45;font-size:14px}
.fa-mini small{color:#8a96a6}
.fa-help{font-size:13px;line-height:1.6;color:#53677f;border-left:3px solid #bdd4f4;padding:6px 0 6px 12px;margin:14px 0}
.fa-table .fa-date{white-space:nowrap;font-size:13px;color:#5b6b82}
.fa-table .maincell{font-size:13px;min-width:195px}.fa-table .maincell small{font-weight:500;font-size:11px;color:#8190a4;display:block;margin-top:4px}
.fa-sum{white-space:nowrap;font-weight:820}.fa-positive{color:#12885f}.fa-negative{color:#c34b50}
.fa-filters{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:16px 0}
.fa-filters input{flex:1;min-width:205px}.fa-filters select{width:auto;min-width:145px;max-width:220px}
.fa-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;flex-wrap:wrap}
.fa-reports{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.fa-full{grid-column:1/-1}.fa-warning{padding:13px;background:#fff4e3;color:#8f5210;border-radius:9px;font-size:13px}
.fa-success{padding:13px;background:#e6f7ec;color:#1c744c;border-radius:9px;font-size:13px}
.fa-foot{color:var(--muted);font-size:12px;margin-top:12px}
.fa-expense-summary{background:#f2f6fc;padding:13px 14px;border-radius:9px;color:#506782;font-size:13px}
@media(max-width:1180px){.fa-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.fa-body{grid-template-columns:1fr}.fa-side{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.fa-period{width:100%}.fa-period button{flex:1}.fa-kpis{gap:9px}.fa-kpi{padding:13px}.fa-kpi strong{font-size:20px}.fa-side,.fa-reports{grid-template-columns:1fr}.fa-block{padding:13px}.fa-filters>*{width:100%;max-width:none!important}.fa-table th:nth-child(3),.fa-table td:nth-child(3){display:table-cell}}

/* 10.6.8: one canonical Build workspace in the original light Game Box palette. */
.gb-build-tabs{display:flex;gap:7px;padding:12px 18px 4px;border-bottom:1px solid var(--line)}
.gb-build-tabs button{border:0;border-radius:8px 8px 0 0;color:var(--muted);background:transparent;padding:9px 16px;font-weight:650}
.gb-build-tabs button.active{color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 -2px 0 var(--primary)}
.gb-build-list{display:grid;gap:10px;padding:16px}
.gb-build-row{padding:14px 16px;border:1px solid var(--line);background:#fff;border-radius:12px;box-shadow:var(--shadow)}
.gb-build-head{display:flex;gap:14px;align-items:center;min-width:0}
.gb-build-symbol{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:10px;color:var(--primary);background:var(--primary-soft);font-size:23px}
.gb-build-title{flex:1;min-width:0;display:grid;gap:2px}
.gb-build-title strong{font-size:15px;overflow-wrap:anywhere}
.gb-build-title small{font-size:12px;color:var(--muted);white-space:normal;overflow-wrap:anywhere}
.gb-build-amount{display:grid;gap:1px;min-width:143px;text-align:right}
.gb-build-amount strong{font-size:17px;white-space:nowrap}
.gb-build-amount small{font-size:11px;color:var(--muted)}
.gb-build-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 1px 56px}
.gb-build-chip{display:inline-flex;align-items:center;gap:7px;min-width:120px;max-width:260px;background:#f6f8fb;border:1px solid #e6ecf2;padding:6px 8px;border-radius:7px;font-size:12px}
.gb-build-chip b{color:#42617e;flex:none}.gb-build-chip span{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.gb-build-chip.gb-build-missing{color:#a05a10;background:#fff6e8;border-color:#f2e0c0}
.gb-build-summary{display:flex;flex-wrap:wrap;gap:12px;padding:12px;margin-bottom:14px;border:1px solid var(--line);border-radius:10px;background:var(--subtle)}
.gb-component-list,.gb-picker-list{display:grid;gap:5px;max-height:380px;overflow:auto;margin:9px 0 16px}
.gb-component,.gb-part-option{min-width:0;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff;font-size:13px;color:var(--ink)}
.gb-component{cursor:pointer}.gb-component input{flex:none}
.gb-part-option{text-align:left;width:100%;cursor:pointer}.gb-part-option:hover{background:var(--primary-soft);border-color:#a9c4f1}
.gb-part-kind{display:grid;place-items:center;min-width:48px;border-radius:7px;background:#eaf1ff;color:var(--primary);font-size:11px;font-weight:800;padding:5px}
.gb-part-main{flex:1;min-width:0;display:grid;gap:2px}
.gb-part-main strong{overflow-wrap:anywhere}.gb-part-main small{color:var(--muted);font-size:11px;white-space:normal}
.gb-part-price{font-weight:750;white-space:nowrap}
.gb-part-choice{color:var(--primary);font-size:18px;font-weight:800}
.gb-context-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:9px 0 16px}
.gb-context-actions strong{font-size:12px;color:var(--muted);margin-right:auto}
.gb-autoname{padding:11px;border-radius:8px;background:var(--primary-soft);color:#28528a;margin:12px 0 18px;font-size:13px}
.gb-draft-footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 18px}
.gb-draft-footer span{margin-right:auto}
@media(max-width:850px){.gb-build-head{flex-wrap:wrap}.gb-build-title{flex-basis:55%}.gb-build-chips{margin-left:0}.gb-build-amount{min-width:120px}.gb-build-row .btn{margin-left:auto}.gb-build-chip{max-width:100%}}
.stock-outbound-separator td{background:#eff3f8;border-top:2px solid #c4cfdd!important;padding:12px 16px!important;color:#52647c!important}
.stock-outbound-separator strong{margin-right:12px;color:#233d62}
.stock-outbound-separator span{font-size:12px}

/* One canonical stock picker used by cart, build installation and drafts. */
.gb-part-prices{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:116px;text-align:right;white-space:nowrap}.gb-part-prices small{font-size:11px;color:var(--muted)}.gb-part-prices strong{font-size:13px}.gb-picker-match{color:#245ecc;display:block;max-width:420px;overflow:hidden;text-overflow:ellipsis}
.gb-confirm-scrim{position:fixed;inset:0;background:#101d3290;z-index:170;display:flex;align-items:center;justify-content:center;padding:16px}.gb-confirm-dialog{width:min(455px,100%);padding:26px;background:#fff;border-radius:14px;box-shadow:0 18px 60px #101d3240}.gb-confirm-dialog h3{margin:0 0 13px}.gb-confirm-dialog p{white-space:pre-line;line-height:1.5}.gb-confirm-dialog .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}
.gb-draft-price{display:flex;justify-content:space-between;align-items:center;background:#f1f6ff;border-radius:9px;padding:12px 16px;margin:12px 0}.gb-draft-price strong{color:#184caa;font-size:20px}

/* Canonical compact warehouse rows in pickers: same cells and specs as stock. */
.gb-picker-scroll{overflow:auto;max-height:420px;margin:9px 0 14px;border:1px solid var(--line);border-radius:10px;background:#fff}
.gb-stock-picker-table{width:100%;min-width:650px;margin:0;border-collapse:collapse}
.gb-stock-picker-table td,.gb-stock-picker-table th{vertical-align:middle;padding:9px 10px}
.gb-stock-picker-table .stock-spec{white-space:nowrap}
.gb-stock-picker-table .stock-internal-note{max-width:340px;overflow-wrap:anywhere}
.gb-stock-picker-row .stock-name{font-weight:650;text-align:left}

.fa-cash-kind-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}
.fa-cash-kind-grid .fa-mini{min-width:0}

/* Game Box native vector icon system: one sprite and one set of components. */
.gb-icon{display:inline-block;width:20px;height:20px;flex:none;vertical-align:-.21em;color:inherit;stroke-width:inherit;overflow:visible;pointer-events:none}
.navbutton .symbol{width:24px;display:inline-flex;align-items:center;justify-content:center;font-size:inherit}
.navbutton .gb-icon{width:21px;height:21px;transition:transform .18s ease}
.navbutton:hover .gb-icon{transform:translateY(-1px)}
.mobile-nav .symbol{display:inline-flex;align-items:center;justify-content:center}
.mobile-nav .gb-icon{width:21px;height:21px}
.btn .gb-icon{width:17px;height:17px}
#logout .gb-icon{width:22px;height:22px}
.gb-category-icon{height:24px;width:24px;color:#2565bf;filter:drop-shadow(0 1px 1px rgba(36,94,204,.11))}
.gb-item-name-with-icon{display:flex;align-items:flex-start;gap:12px;min-width:0}
.gb-item-name-body{display:block;min-width:0;flex:1}
.gb-item-name-with-icon>.gb-category-icon{margin-top:2px}
.gb-build-part-icon{width:17px;height:17px;color:#245ecc}
.gb-build-missing .gb-build-part-icon{color:#b75d15}
.gb-build-chip b{display:inline-flex;align-items:center;gap:5px}
.gb-build-symbol .gb-icon{width:25px;height:25px}
.gb-part-kind{display:inline-flex;align-items:center;gap:5px}
.metric-label .gb-icon{width:16px;height:16px;color:var(--primary);vertical-align:-.25em;margin-right:4px}
/* Skeleton occupies the future page area and avoids text-only wait messages. */
.gb-loading{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:22px;box-shadow:var(--shadow);min-height:250px;overflow:hidden}
.gb-loading-header{display:flex;align-items:center;gap:15px;padding:0 0 18px;border-bottom:1px solid var(--line)}
.gb-loading-brand{width:42px;height:42px;background:var(--primary-soft);color:var(--primary);border-radius:11px;display:grid;place-items:center}
.gb-loading-brand .gb-icon{height:26px;width:26px}
.gb-skeleton-lines{display:grid;align-content:center;gap:9px;flex:1;min-width:0}
.gb-shimmer{display:block;background:linear-gradient(100deg,#edf1f6 9%,#f8fafc 28%,#e6edf6 46%,#edf1f6 65%);background-size:240% 100%;animation:gb-sweep 1.75s linear infinite;border-radius:5px}
.gb-shimmer-bar{height:12px;max-width:100%}
.gb-skeleton-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:19px 0}
.gb-skeleton-metric{display:grid;gap:13px;border-radius:10px;border:1px solid var(--line);padding:17px}
.gb-skeleton-row{display:flex;align-items:center;gap:14px;padding:14px 3px;border-bottom:1px solid #e9eef5;min-height:68px}
.gb-skeleton-row:last-child{border-bottom:0}
.gb-skeleton-thumb{width:33px;height:33px;border-radius:8px;flex:none}
.gb-skeleton-right{display:flex;align-items:center;gap:15px;margin-left:auto;min-width:160px}
.gb-skeleton-right .gb-shimmer{flex:none}
@keyframes gb-sweep{to{background-position-x:-240%}}
@media (max-width:760px){.gb-skeleton-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.gb-skeleton-right{min-width:0}.gb-skeleton-right .gb-shimmer:nth-child(2){display:none}.gb-item-name-with-icon{gap:8px}.gb-loading{padding:14px}}
@media (prefers-reduced-motion:reduce){.gb-shimmer{animation:none;background:#eaf0f7}.navbutton .gb-icon{transition:none}}

.gb-item-drawer-title{display:flex;align-items:center;gap:10px;overflow-wrap:anywhere}
.gb-item-drawer-title .gb-category-icon{width:28px;height:28px}
.gb-category-row-title{display:inline-flex;align-items:center;gap:8px}
.gb-category-row-title .gb-icon{color:var(--primary);width:20px;height:20px}

.stock-location .gb-icon{width:13px;height:13px;vertical-align:-.18em;margin-right:3px}

/* Catalog editor: native Game Box surfaces; no separate styling system. */
.catalog-workspace{overflow:hidden}.catalog-toolbar{gap:10px}.catalog-toolbar select{width:200px;flex:none}
.catalog-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-top:1px solid var(--line)}
.catalog-row-actions{white-space:nowrap}.catalog-row-actions .btn{margin-left:12px}
.catalog-state{display:inline-block;border-radius:7px;background:var(--subtle);padding:5px 9px;color:var(--muted);font-size:12px}
.catalog-detail-heading{display:flex;align-items:flex-start;gap:12px;padding-right:35px;margin-bottom:18px}
.catalog-detail-heading>.gb-icon{width:38px;height:38px;flex:none;padding:6px;border-radius:12px;background:var(--primary-soft);color:var(--primary)}
.catalog-detail-heading h2{padding:0;margin:0 0 4px}.catalog-snapshot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:var(--subtle);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:19px}
.catalog-fact-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:8px 0 18px}
.catalog-fact{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;border-bottom:1px solid var(--line);font-size:13px}
.catalog-fact:last-child{border-bottom:none}.catalog-fact strong{text-align:right}.catalog-fact .muted{font-weight:400}
.catalog-edit-block{border:1px solid var(--line);border-radius:12px;margin:16px 0;background:#fff;overflow:hidden}
.catalog-edit-block summary{list-style:none;cursor:pointer;color:var(--primary);font-weight:680;padding:15px 17px;background:var(--subtle)}
.catalog-edit-block summary:after{content:'⌄';float:right}.catalog-edit-block[open] summary{border-bottom:1px solid var(--line)}
.catalog-edit-block>form,.catalog-edit-block>p{margin:14px 16px}.catalog-edit-block>.formgrid{margin:16px}
.catalog-inline-check{display:flex;flex-direction:row;align-items:center;font-weight:500}
.catalog-inline-check input{margin:0 9px 0 0}
@media(max-width:760px){.catalog-toolbar select{width:100%}.catalog-snapshot{grid-template-columns:1fr}.catalog-fact{align-items:flex-start}.catalog-row-actions{white-space:normal}}

/* 10.6.15: debt workspace follows canonical accounting layout. */
.fa-debt-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.fa-debt-total{padding:18px;display:grid;gap:5px;align-content:start}
.fa-debt-total span,.fa-debt-facts span{font-size:12px;color:var(--muted);font-weight:650}
.fa-debt-total strong{font-size:clamp(20px,2.1vw,28px);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.fa-debt-total small{font-size:11px;color:var(--muted)}
.fa-debt-open{color:var(--orange)}
.fa-debt-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:15px 0}
.fa-debt-facts>div{display:grid;gap:5px;padding:12px;border-radius:var(--r-control);background:var(--subtle);min-width:0}
.fa-debt-facts strong{font-size:16px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
@media(max-width:850px){.fa-debt-summary{grid-template-columns:1fr}.fa-debt-facts{grid-template-columns:1fr}}

/* 10.6.17: owner accounting overview; no duplicate financial state in browser. */
.fa-explain{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border:1px solid #d8e3f1;background:#eef4fb;color:#435771;padding:14px 17px;border-radius:12px;font-size:13px}
.fa-explain strong{color:#173759;white-space:nowrap;font-size:14px}
.fa-explain span{flex:1;min-width:220px}
.fa-owner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fa-owner-card{min-width:0;padding:19px;display:flex;flex-direction:column;align-items:stretch;gap:10px}
.fa-owner-card h2{font-size:16px;margin:0}
.fa-owner-card p{font-size:12px;color:var(--muted);margin:0;line-height:1.55}
.fa-owner-card>.btn{align-self:flex-start;margin-top:auto}
.fa-owner-label{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;color:#527299}
.fa-owner-label span{font-weight:600;text-transform:none;letter-spacing:normal;color:var(--muted)}
.fa-owner-number{font-size:clamp(24px,2.2vw,34px);font-weight:850;letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.fa-owner-stock{border-top:3px solid #2c7e9d}
.fa-metric-note{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 0;border-top:1px solid var(--line);align-items:baseline}
.fa-metric-note span{color:#50637a;font-size:12px;font-weight:650}
.fa-metric-note strong{color:#1b3048;white-space:nowrap;font-weight:820;font-variant-numeric:tabular-nums}
.fa-metric-note small{font-size:11px;color:#8b96a6;grid-column:1/-1}
.fa-warning-lite{color:#86541a!important;background:#fff5e4;border-radius:9px;padding:9px 11px}
@media(max-width:820px){.fa-owner-grid{grid-template-columns:1fr}.fa-owner-card{padding:15px}.fa-owner-number{font-size:25px}}

/* 10.6.18 spreadsheet-style workspace: a second presentation over the same core. */
.tb-workspace-head{margin:0 0 20px;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);overflow:hidden}
.tb-head-copy{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 17px;border-bottom:1px solid var(--line)}
.tb-head-copy>div{display:flex;flex-direction:column;gap:3px}.tb-head-copy strong{font-size:14px}.tb-kicker{font-size:10px;font-weight:850;letter-spacing:.13em;color:#64809e}
.tb-core-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);white-space:nowrap}.tb-core-status i,.tb-live-dot{width:8px;height:8px;border-radius:50%;background:#12956f;display:inline-block;box-shadow:0 0 0 3px #e5f6ef}
.tb-tabs-row{display:flex;align-items:stretch;gap:4px;padding:8px 10px;overflow-x:auto;scrollbar-width:thin;min-height:60px}
.tb-tab-wrap{display:flex;align-items:stretch;flex:none;position:relative;border:1px solid transparent;border-radius:8px;background:#f4f7fb;max-width:245px}
.tb-tab-wrap.is-active{background:#eaf1ff;border-color:#cbdcff;box-shadow:inset 0 -2px 0 var(--primary)}
.tb-tab{border:0;background:transparent;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-width:90px;max-width:225px;min-height:42px;padding:7px 12px;color:#425a77;text-align:left}
.tb-tab span{font-weight:760;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tb-tab small{font-size:10px;color:#71839b;white-space:nowrap}
.tb-tab-wrap.is-active .tb-tab{color:#214e9b}.tb-tab-delete{border:0;background:transparent;color:#8290a2;padding:0 7px;font-size:18px}.tb-tab-delete:hover{color:var(--red)}
.tb-tab-add{display:inline-flex;align-items:center;gap:7px;flex:none;min-height:42px;padding:8px 13px;border:1px dashed #b9c7d8;border-radius:8px;background:#fff;color:#375675;font-weight:720;font-size:12px;white-space:nowrap}.tb-tab-add span{font-size:17px;color:var(--primary)}
.tb-page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 16px}.tb-page-intro h1{font-size:26px;margin:0}.tb-page-intro p{margin:5px 0 0;color:var(--muted);font-size:13px}.tb-live-note{display:flex;align-items:center;gap:9px;font-size:12px;color:#61758d;white-space:nowrap;padding-bottom:4px}
.tb-sheet{overflow:hidden;border-radius:11px}.tb-sheet-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:13px 14px;background:#f8fafc;border-bottom:1px solid var(--line)}
.tb-search{flex:1 1 300px;min-width:230px;gap:4px}.tb-search span,.tb-filter span{font-size:10px;letter-spacing:.045em;text-transform:uppercase;color:#718198;font-weight:800}.tb-search input,.tb-filter select{min-height:36px;height:36px;padding:6px 9px;border-radius:6px;font-size:13px}
.tb-filter{width:180px;gap:4px}.tb-platform-select{width:210px}.tb-sheet-toolbar>.btn{min-height:36px;padding:7px 12px;font-size:12px;border-radius:6px}
.tb-platform-chips{display:flex;align-items:center;gap:5px;padding:9px 13px;border-bottom:1px solid #e8edf4;overflow-x:auto;scrollbar-width:thin;background:#fff}
.tb-platform-chips button{border:1px solid transparent;border-radius:6px;background:#f3f6fa;color:#526a85;min-height:29px;padding:5px 9px;font-size:11px;font-weight:760;white-space:nowrap}.tb-platform-chips button small{font-size:10px;color:#8091a5;margin-left:4px}.tb-platform-chips button:hover{border-color:#cbd8e7}.tb-platform-chips button.is-selected{background:#e9f1ff;border-color:#c6d9ff;color:#2456a9}
.tb-grid-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;font-size:12px;color:#62758d;border-bottom:1px solid #e7edf4}.tb-grid-summary strong{color:#243b58;font-size:14px}.tb-grid-summary span{color:#7a899b}.tb-grid-summary-right{text-align:right;overflow-wrap:anywhere}
.tb-grid-scroll{overflow:auto;max-width:100%;max-height:min(64vh,790px);overscroll-behavior:contain}.tb-grid{width:100%;min-width:1180px;border-collapse:separate;border-spacing:0;text-align:left;font-size:12px}.tb-grid th{position:sticky;top:0;z-index:2;background:#edf2f8;color:#566b83;font-size:10px;letter-spacing:.055em;text-transform:uppercase;font-weight:850;white-space:nowrap;padding:10px 11px;border-bottom:1px solid #cfd9e5;border-right:1px solid #e0e7ef}.tb-grid td{padding:7px 9px;vertical-align:middle;border-bottom:1px solid #e6ebf2;border-right:1px solid #edf1f5;background:#fff;min-width:95px}.tb-grid tbody tr:nth-child(even) td{background:#fbfcfe}.tb-grid tbody tr:hover td{background:#f0f6ff}.tb-grid td:last-child,.tb-grid th:last-child{border-right:0}.tb-grid .tb-kind-cell{min-width:145px}.tb-grid .tb-kind-cell small,.tb-grid td small{display:block;font-size:10px;color:#8291a3;margin-top:3px;white-space:normal}.tb-kind-badge{display:inline-block;background:#edf2f7;color:#4f657e;border-radius:4px;padding:3px 5px;font-size:10px;font-weight:800;white-space:nowrap}.tb-grid .tb-vendor{min-width:125px;font-weight:730;color:#304a68}.tb-grid .tb-model-cell{min-width:220px;max-width:330px}.tb-model-link{border:0;padding:0;background:none;text-align:left;color:#2159ad;font-size:12px;font-weight:790;overflow-wrap:anywhere}.tb-model-link:hover{text-decoration:underline}.tb-grid .tb-money{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-weight:700;min-width:105px}.tb-sale-cell{min-width:165px}.tb-sale-cell>strong{display:block;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.tb-sale-cell>small{margin:2px 0 0!important}.tb-cell-input{display:block;width:100%;min-width:115px;min-height:30px;height:30px;padding:4px 7px;margin-top:4px;border:1px solid #d9e1eb;border-radius:4px;background:#fff;font-size:11px;font-weight:500;color:#273d57;box-shadow:none}.tb-cell-input:focus{border-color:#83a7ed;box-shadow:0 0 0 2px #e8f0ff}.tb-note-cell{min-width:220px;max-width:300px}.tb-note-cell input{min-width:200px}.tb-location{min-width:145px}.tb-location-pill{display:inline-block;max-width:180px;white-space:normal;border-radius:4px;padding:4px 6px;font-size:10px;font-weight:750;background:#eef2f7;color:#566b82}.tb-location-pill.is-warehouse{background:#e7f6ef;color:#167459}.tb-location-pill.is-build{background:#fff2db;color:#8b5b0b}.tb-location-pill.is-other{background:#f0efff;color:#6251a2}.tb-actions-cell{min-width:170px;white-space:nowrap}.tb-row-action{border:1px solid #c5d7f6;background:#eaf2ff;color:#2156a7;border-radius:5px;padding:5px 7px;min-height:27px;font-size:10px;font-weight:800;margin:2px 3px 2px 0;white-space:nowrap}.tb-row-action:hover{background:#dceaff}.tb-row-action.secondary{background:#fff;border-color:#d6dfe9;color:#5a6f87}.tb-muted-action,.tb-unknown{color:#8997a7;font-size:10px}.tb-linked{color:#087a60!important;font-weight:800}.tb-match-hint{color:#8b5b0b!important}.tb-empty-row{text-align:center!important;padding:32px!important;color:#75869b!important;background:#fff!important}.tb-grid-state{padding:28px;text-align:center;color:#667a92;font-size:13px}.tb-grid-state.tb-error{color:var(--red)}.tb-sheet-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:10px 13px;background:#fafbfd;border-top:1px solid #e8edf3;font-size:10px;color:#7b8ba0}.tb-sheet-foot span:last-child{text-align:right;white-space:nowrap}
.tb-new-row td{background:#fff8e8!important;border-bottom-color:#f0d9a9}.tb-new-row input,.tb-new-row select,.tb-draft-grid input,.tb-draft-grid select{min-height:31px;height:31px;padding:4px 6px;border:1px solid #c8d7e8;border-radius:4px;font-size:11px;background:#fff;box-shadow:none}.tb-new-row .tb-model-editor,.tb-draft-grid .tb-model-editor{position:relative;min-width:220px}.tb-suggestions{position:absolute;left:0;right:0;top:calc(100% + 2px);z-index:20;max-height:270px;overflow:auto;border:1px solid #cdd9e8;border-radius:7px;background:#fff;box-shadow:0 12px 28px #1b2b421c}.tb-suggestions:empty{display:none}.tb-suggestion{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;border:0;border-bottom:1px solid #edf1f5;background:#fff;padding:9px 10px;color:#304966;font-size:11px}.tb-suggestion:hover{background:#eff5ff}.tb-suggestion strong,.tb-suggestion small{display:block}.tb-suggestion small{color:#7789a0;font-size:10px;margin-top:3px}.tb-suggestion>span:last-child{white-space:nowrap;color:#2a62b9;font-weight:800}.tb-create-suggestion{background:#f2faf6}.tb-suggest-loading{padding:10px;font-size:11px;color:#75869a}.tb-role-hint{padding:11px 13px;border-radius:7px;background:#f0f5fb;color:#506783;font-size:12px}.tb-payment-summary{padding:14px;border:1px solid #dce6f1;border-radius:9px;background:#f7faff;margin:12px 0 17px}.tb-payment-summary span,.tb-payment-summary small{display:block;color:#687b91;font-size:12px}.tb-payment-summary strong{display:block;font-size:23px;margin:4px 0}.tb-payment-summary small{font-size:11px}.tb-split-check{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:12px}.tb-split-check input{width:auto;min-height:auto}.tb-load-note{padding:22px;background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--muted)}
.tb-build-sheet .tb-toolbar-heading{display:flex;flex-direction:column;gap:3px;flex:1;min-width:240px}.tb-toolbar-heading strong{font-size:14px}.tb-toolbar-heading small{font-size:11px;color:#6c7f95}.tb-build-tabs{display:flex;gap:6px;overflow-x:auto;padding:9px 12px;border-bottom:1px solid #e5ebf2;background:#f8fafc}.tb-build-tabs button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;max-width:240px;min-width:125px;padding:8px 10px;border:1px solid #d9e2ed;border-radius:7px;background:#fff;color:#49627d;text-align:left}.tb-build-tabs button span{font-size:11px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.tb-build-tabs button small{font-size:10px;color:#7e8ea3}.tb-build-tabs button.is-selected{background:#eaf1ff;border-color:#bcd2fb;color:#1d54aa;box-shadow:inset 0 -2px 0 #2a64bf}.tb-empty-tab{padding:9px;font-size:12px;color:#7b8ca0}.tb-build-summary{display:grid;grid-template-columns:1.2fr 1fr 1.1fr auto;gap:14px;align-items:center;padding:15px;border-bottom:1px solid #e6edf4;background:#fff}.tb-build-summary>div:not(.tb-build-actions){display:flex;flex-direction:column;gap:4px;min-width:0}.tb-build-summary span{font-size:10px;color:#7a8ca1;text-transform:uppercase;font-weight:800;letter-spacing:.04em}.tb-build-summary strong{font-size:14px;overflow-wrap:anywhere}.tb-build-summary small{font-size:10px;color:#7b8ba0}.tb-build-actions{display:flex;flex-direction:column;gap:5px}.tb-build-actions .btn{min-height:31px;padding:5px 8px;font-size:10px;white-space:nowrap}.tb-draft-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.tb-draft-actions .btn{min-height:33px;padding:6px 10px;font-size:11px}.tb-draft-state{font-size:11px;font-weight:800;padding:6px 8px;border-radius:5px}.tb-draft-state.is-dirty{background:#fff0d5;color:#885b0d}.tb-draft-state.is-saved{background:#e6f6ef;color:#087a60}.tb-draft-warning{padding:10px 14px;background:#fff9eb;border-bottom:1px solid #f2e0b8;font-size:11px;color:#74571d}.tb-row-posting td{background:#fff8e8!important}.tb-row-posting{opacity:.93}
@media(max-width:1100px){.tb-build-summary{grid-template-columns:1fr 1fr}.tb-build-actions{flex-direction:row;flex-wrap:wrap}.tb-filter{width:150px}.tb-platform-select{width:190px}}
@media(max-width:760px){.tb-head-copy{align-items:flex-start;flex-direction:column}.tb-core-status{display:none}.tb-page-intro{align-items:flex-start;flex-direction:column}.tb-page-intro h1{font-size:22px}.tb-live-note{display:none}.tb-sheet-toolbar{align-items:stretch}.tb-search,.tb-filter,.tb-platform-select{width:100%;min-width:100%;flex-basis:100%}.tb-sheet-toolbar>.btn{flex:1}.tb-grid-scroll{max-height:62vh}.tb-sheet-foot{flex-direction:column}.tb-sheet-foot span:last-child{text-align:left;white-space:normal}.tb-build-summary{grid-template-columns:1fr}.tb-build-actions{flex-direction:row}.tb-draft-actions{width:100%}.tb-draft-actions .btn{flex:1}.tb-draft-state{width:100%}}

/* 10.6.18: Spreadsheet view is a compact Excel-familiar *presentation* of CRM data. */
.tb-workspace-head{background:linear-gradient(180deg,#f8faf9,#eff5f0);border-top:3px solid #24764e}
.tb-tab-wrap.is-active .tb-tab{border-bottom:3px solid #21855d;color:#175d42;background:#fff}
.tb-grid-scroll{scrollbar-color:#b6c5bc #f3f6f3}
.tb-grid th{background:#e6eee9;color:#365b47;border-color:#c5d6ca;text-transform:none;font-size:11px;letter-spacing:0;min-height:36px}
.tb-grid th:first-child{position:sticky;left:0;z-index:4}
.tb-grid td:first-child{position:sticky;left:0;z-index:3;box-shadow:2px 0 2px #c4d2cd3d}
.tb-grid tbody tr:hover td{background:#edf8f2}
.tb-model-link{color:#206a49}
.tb-cell-input:focus,.tb-new-row input:focus,.tb-new-row select:focus,.tb-draft-grid input:focus{border-color:#26845e!important;outline:2px solid #aee2c6;outline-offset:-2px}
.tb-platform-chips button.is-selected{background:#e0f3e8;border-color:#9cd1af;color:#155e3d}
.tb-row-action{background:#e9f6ed;border-color:#b6d9c1;color:#216344}
.tb-row-action:hover{background:#d5eddf}
.tb-live-dot,.tb-core-status i{background:#21875f}
.tb-template-section{border-top:1px solid #d9e7dc;background:#f8fbf9;padding:12px 13px}
.tb-template-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:9px}
.tb-template-heading strong{font-size:13px;color:#295942}.tb-template-heading small{font-size:11px;color:#708477}
.tb-template-list{display:flex;gap:7px;overflow:auto;padding-bottom:3px}
.tb-template{display:flex;flex-direction:column;gap:3px;flex:none;text-align:left;border:1px solid #c7dacd;padding:10px 12px;border-radius:6px;background:white;color:#315d45}
.tb-template span{font-size:12px;font-weight:750}.tb-template small{font-size:10px;color:#758579}
.tb-template:hover{background:#e9f6ed;border-color:#a5cbb4}
@media(max-width:760px){.tb-grid-scroll{max-height:70vh}.tb-grid{min-width:1230px}.tb-page-intro{align-items:flex-start;flex-direction:column}}

/* 10.6.19: true spreadsheet interaction — fields remain in their cells. */
.tb-excel-grid{border-collapse:collapse;border-spacing:0;font-size:12px;min-width:1380px}
.tb-excel-grid th,.tb-excel-grid td{border:1px solid #d8e2dc;padding:5px 7px;vertical-align:middle}
.tb-excel-grid th{background:#e6eee9;color:#365b47;text-transform:none;letter-spacing:0;font-size:11px;font-weight:750;min-height:34px}
.tb-excel-grid td{background:#fff;min-width:82px}
.tb-excel-grid tbody tr:nth-child(even) td{background:#fbfdfb}
.tb-excel-grid tbody tr:hover td{background:#edf8f2}
.tb-excel-grid .tb-cell-input,.tb-excel-grid .tb-catalog-input{width:100%;min-width:95px;height:27px;min-height:27px;margin:0;padding:3px 5px;border:1px solid transparent;border-radius:2px;background:transparent;box-shadow:none;color:#263b31;font:inherit;font-size:11px}
.tb-excel-grid .tb-cell-input:hover,.tb-excel-grid .tb-catalog-input:hover{border-color:#c4d8ca;background:#fff}
.tb-excel-grid .tb-cell-input:focus,.tb-excel-grid .tb-catalog-input:focus{outline:2px solid #9bcfb0;outline-offset:-2px;border-color:#3b9865;background:#fff}
.tb-excel-grid .tb-note-cell input{min-width:180px}
.tb-catalog-value{display:block;min-width:72px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 5px}
.tb-catalog-value.tb-unknown,.tb-muted-cell{color:#91a098;font-size:11px}
.tb-excel-grid .tb-model-link{font-size:12px;font-weight:650;color:#1c6c45;max-width:280px}
.tb-build-meta-grid{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr));gap:10px;padding:13px 14px;border-bottom:1px solid var(--line);background:#fbfcfb}
.tb-build-meta-grid label,.tb-consignment-entry label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:750;color:#607468;min-width:0}
.tb-build-meta-grid input,.tb-consignment-entry input,.tb-consignment-entry select{width:100%;min-width:0;min-height:31px;height:31px;border:1px solid #cddbd1;border-radius:3px;padding:5px 7px;background:#fff;color:#263b31;font-size:12px;font-weight:500}
.tb-build-slots{min-width:1460px}
.tb-build-slots td:first-child{min-width:165px}
.tb-build-slots .tb-model-editor{position:relative;min-width:260px}
.tb-build-slots .tb-model-editor input{width:100%;height:30px;min-height:30px;border:1px solid transparent;border-radius:2px;padding:4px 6px;background:transparent;font-size:11px}
.tb-build-slots .tb-model-editor input:focus{outline:2px solid #9bcfb0;outline-offset:-2px;border-color:#3b9865;background:#fff}
.tb-slot-selected td:first-child{box-shadow:inset 3px 0 #55a77a}
.tb-slot-empty td:first-child{box-shadow:inset 3px 0 #d5dfd7}
.tb-build-picked-meta{display:block;min-width:135px;color:#476353;font-size:11px}
.tb-build-picked-meta small{display:block;color:#829188;font-size:10px;max-width:190px;white-space:normal;overflow-wrap:anywhere}
.tb-build-total-row{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:11px 14px;background:#f7faf8;border-top:1px solid #dbe6de;font-size:11px;color:#62766a}
.tb-build-total-row strong{color:#294e38}
.tb-consignment-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);background:#f9fbfa}
.tb-consignment-balances>div{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #d9e5dc;background:#fff;border-radius:5px}
.tb-consignment-balances span{font-size:11px;font-weight:750;color:#5c7264}
.tb-consignment-balances strong{font-size:22px;font-variant-numeric:tabular-nums;color:#254e37}
.tb-consignment-balances small{font-size:10px;color:#8a9a90}
.tb-consignment-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:13px 14px;border-bottom:1px solid var(--line);background:#fdfefd}
.tb-consignment-entry{display:flex;flex-direction:column;gap:10px;padding:13px;border:1px solid #d6e2d9;background:#fff;border-radius:5px;min-width:0}
.tb-consignment-entry-title{display:flex;align-items:center;gap:10px;padding-bottom:9px;border-bottom:1px solid #e6eee8}
.tb-consignment-entry-title>span{display:grid;place-items:center;width:28px;height:28px;background:#e9f3ec;border:1px solid #c9decf;border-radius:4px;color:#34664a;font-size:11px;font-weight:850}
.tb-consignment-entry-title strong,.tb-consignment-entry-title small{display:block}
.tb-consignment-entry-title strong{font-size:13px;color:#284b36}
.tb-consignment-entry-title small{font-size:10px;color:#7e9084;margin-top:3px}
.tb-selected-stock{display:flex;flex-direction:column;gap:4px;padding:9px 10px;border:1px solid #cfe2d4;background:#f5fbf6;border-radius:3px}
.tb-selected-stock strong{font-size:12px;color:#28563a}
.tb-selected-stock small{font-size:10px;color:#71877a;overflow-wrap:anywhere}
.tb-empty-selection{padding:10px;border:1px dashed #d4dfd7;color:#8a998f;font-size:11px}
.tb-consignment-inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.tb-consignment-settlement-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 14px;border-bottom:1px solid var(--line);background:#f8faf8}
.tb-consignment-settlement-actions>strong{margin-right:auto;color:#425c4b;font-size:12px}
.tb-consignment-settlement-actions .btn{min-height:30px;padding:5px 9px;font-size:11px}
.tb-consignment-settlement-actions .tb-checkbox{display:flex;align-items:center;gap:6px;font-size:11px;color:#687d6f}
.tb-consignment-settlement-actions .tb-checkbox input{width:auto;min-height:0;height:auto}
.tb-kind-badge.is-outbound{background:#e7f4ec;color:#1f7045}
.tb-kind-badge.is-inbound{background:#eaf0fb;color:#365f9e}
.tb-stock-suggestion{align-items:flex-start}
.tb-stock-suggestion>span:first-child{min-width:0}
.tb-stock-suggestion small{overflow-wrap:anywhere}
@media(max-width:1050px){.tb-build-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-consignment-entry-grid{grid-template-columns:1fr}}
@media(max-width:760px){.tb-build-meta-grid{grid-template-columns:1fr}.tb-consignment-balances{grid-template-columns:1fr}.tb-consignment-inline-fields{grid-template-columns:1fr}.tb-consignment-settlement-actions>strong{width:100%}}

/* 10.6.19: row-based consignment worksheet. Each direction is an independent core document. */
.tb-consignment-sheet-hint{padding:10px 14px;background:#f6faf7;border-bottom:1px solid #dbe7de;color:#65796b;font-size:11px;line-height:1.5}
.tb-consignment-sheet-hint strong{color:#315c40}
.tb-consignment-entry-grid-table{min-width:1580px}
.tb-consignment-entry-grid-table th:nth-child(2),.tb-consignment-entry-grid-table th:nth-child(4){min-width:300px}
.tb-consignment-entry-grid-table td{vertical-align:top}
.tb-cs-row-number{width:42px;min-width:42px!important;text-align:center;font-weight:800;color:#7a8d80;background:#f3f7f4!important}
.tb-cs-direction-cell{min-width:300px!important;max-width:380px;position:relative}
.tb-cs-direction-cell .tb-model-editor{position:relative;min-width:260px}
.tb-cs-direction-cell .tb-model-editor>input,.tb-cs-kind{width:100%;height:29px;min-height:29px;padding:4px 6px;border:1px solid #d2ded5;border-radius:2px;background:#fff;color:#294334;font-size:11px}
.tb-cs-direction-cell .tb-model-editor>input:focus,.tb-cs-kind:focus{outline:2px solid #9bcfb0;outline-offset:-2px;border-color:#3b9865}
.tb-cs-note-input{min-width:220px!important;margin-top:6px!important}
.tb-cs-amount-input{min-width:110px!important;width:130px!important;font-variant-numeric:tabular-nums}
.tb-cs-subfields{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(150px,1.3fr);gap:5px;margin-top:5px}
.tb-cs-subfields input{min-width:0!important}
.tb-cs-actions{min-width:170px!important;max-width:190px;white-space:normal}
.tb-cs-actions .tb-row-action{display:block;width:100%;margin:3px 0}
.tb-cs-actions .tb-row-action:disabled{opacity:.42;cursor:not-allowed}
.tb-consignment-row-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--line);background:#fafcfa;color:#809085;font-size:10px}
.tb-consignment-row-actions .btn{min-height:30px;padding:5px 10px;font-size:11px}
.tb-consignment-entry-grid-table .tb-suggestions{min-width:270px;max-width:390px}
.tb-consignment-entry-grid-table .tb-suggestion{font-size:11px}
@media(max-width:760px){.tb-consignment-entry-grid-table{min-width:1500px}.tb-cs-subfields{grid-template-columns:1fr}.tb-cs-actions{min-width:165px!important}}

/* 10.6.20: spreadsheet UI edits only the selected physical inventory row. */
.tb-excel-grid{font-family:Arial,Calibri,'Segoe UI',sans-serif;font-variant-numeric:tabular-nums}
.tb-excel-grid tbody tr{height:34px}
.tb-excel-grid tbody td{padding:2px 6px}
.tb-excel-grid tbody tr:focus-within td{background:#eef9f0;box-shadow:inset 0 1px #d5ebdc,inset 0 -1px #d5ebdc}
.tb-excel-grid tbody tr:focus-within td:first-child{box-shadow:inset 3px 0 #218755}
.tb-item-name-cell{display:flex;align-items:center;gap:3px;min-width:190px}
.tb-excel-grid .tb-item-name-cell input{flex:1;min-width:165px;font-weight:600}
.tb-name-open{border:0;background:transparent;cursor:pointer;padding:3px 6px;color:#1c7146;font-size:14px}
.tb-name-open:hover{background:#e4f1e8}
.tb-row-input:not(:focus):not(:hover){border-color:transparent!important}

/* Spreadsheet column labels and row indices; labels are presentation only. */
.tb-excel-grid thead .tb-excel-letters th{background:#f1f4f1!important;color:#6d7c72!important;font-size:10px!important;font-weight:600!important;text-align:center!important;height:20px;min-height:20px;padding:2px 6px!important;top:0;z-index:5}
.tb-excel-grid thead tr:nth-child(2) th{top:21px;z-index:4}
.tb-row-index{display:inline-flex;justify-content:center;align-items:center;min-width:25px;min-height:23px;background:#eaf0ec;color:#6d7a71;font-size:10px;margin-right:7px;border-right:1px solid #c6d2cb}
.tb-row-posting input:disabled,.tb-row-posting select:disabled{color:#8a9990!important;background:#f7f5ef!important;cursor:not-allowed}

.tb-overridden-cell{border-bottom:1px dashed #bb8b2f!important}.tb-override-mark{display:inline-flex;align-items:center;justify-content:center;color:#9a6511;background:#fff2cd;border:1px solid #e4c785;border-radius:50%;width:12px;height:12px;font-size:9px;font-weight:900;vertical-align:middle}
/* D2: subdued yet truthful server synchronization state. */
#syncDot.sync-offline { background:#df756f; box-shadow:0 0 0 3px rgba(223,117,111,.12); }
#syncDot.sync-pending { background:#e6ab4c; box-shadow:0 0 0 3px rgba(230,171,76,.12); }
#syncDot.sync-updating { background:#65a5d9; }
#syncStatus { white-space:nowrap; }
#syncNow { min-width:30px; padding-inline:8px; }
[data-tb-conflict="1"] { border-color:#d89b4a !important; box-shadow:0 0 0 2px rgba(216,155,74,.16); }

/* F1: bounded DOM for physical stock; paging only changes the view. */


.stock-pagination .btn{min-height:31px}
@media(max-width:650px){.stock-pagination>div{width:100%}.stock-pagination .btn{flex:1}}
/* F2: the existing stock and Excel grids remain one scrollable list. Only
   rendered rows occupy DOM; spacers reserve the complete scroll geometry. */
.stock-virtual-scroll{max-height:min(75vh,860px);overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain}
.gb-virtual-spacer{pointer-events:none!important;visibility:visible!important;background:transparent!important}
.gb-virtual-spacer>td{padding:0!important;border:0!important;min-height:0!important;background:transparent!important;box-shadow:none!important;line-height:0!important;font-size:0!important}
.stock-table .gb-virtual-spacer{display:table-row!important;padding:0!important;border:0!important}
.stock-table .gb-virtual-spacer>td{display:table-cell!important;grid-column:1/-1!important}
.tb-grid .gb-virtual-spacer>td{background:transparent!important;border:0!important;padding:0!important}

/* Parsing workspace — isolated presentation tokens, shared CRM components */
.pm-root{display:grid;gap:18px}.pm-source-row{display:flex;gap:10px;flex-wrap:wrap}.pm-source-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px 17px;display:flex;gap:12px;align-items:center;min-width:210px}.pm-source-card.active{border-color:#8eabe0;background:var(--primary-soft)}.pm-source-card .gb-icon{width:23px;height:23px;color:var(--primary)}.pm-source-card small{display:block;color:var(--muted)}.pm-content{overflow:hidden}.pm-content>.tabline{padding:9px 15px}.pm-content #pm-body{padding:22px}.pm-new-form{display:grid;gap:15px;background:var(--subtle);padding:20px;border-radius:12px;border:1px solid var(--line)}.pm-new-form p{margin:0}.pm-form-options{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}.pm-checks{display:flex;flex-wrap:wrap;gap:13px 24px}.pm-checks label{display:flex;align-items:center;flex-direction:row;font-weight:550;gap:8px;color:var(--ink)}.pm-checks-border{padding:13px 0;border-bottom:1px solid var(--line)}.pm-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 14px}.pm-search-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(410px,100%),1fr));gap:12px}.pm-search-card{padding:18px;display:grid;gap:14px}.pm-search-head{display:flex;justify-content:space-between;gap:12px}.pm-search-head strong{font-size:16px}.pm-url{color:var(--muted);font-size:12px;word-break:break-word;margin-top:4px;max-height:36px;overflow:hidden}.pm-search-metrics{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--muted);font-size:12px}.pm-search-metrics b{color:var(--ink);font-size:14px;display:block}.pm-progress{max-width:530px}.pm-progress-top{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.pm-track{background:#e5ecf4;border-radius:9px;height:6px;overflow:hidden;margin:7px 0}.pm-track>div{height:100%;background:#3570ce;border-radius:9px}.pm-items-head{display:flex;justify-content:space-between;align-items:end;gap:15px;flex-wrap:wrap}.pm-items-head label{min-width:min(360px,100%)}.pm-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}.pm-metric{border:1px solid var(--line);border-radius:11px;background:var(--subtle);padding:13px;min-width:0}.pm-metric span{display:block;color:var(--muted);font-size:12px}.pm-metric strong{font-size:19px;white-space:normal;word-break:break-word}.pm-filterbar{display:flex;gap:11px;align-items:end;flex-wrap:wrap;border-top:1px solid var(--line);padding:17px 0}.pm-filterbar label{flex:0 0 auto}.pm-filterbar .pm-find{flex:1 1 220px}.pm-filterbar select{min-width:140px}.pm-list-hint{padding:11px 0;color:var(--muted);font-size:12px}.pm-item{display:flex;gap:14px;padding:14px 4px;border-bottom:1px solid var(--line);align-items:flex-start}.pm-item-photo{width:77px;height:68px;flex:none;display:grid;place-items:center;background:var(--subtle);border-radius:8px;overflow:hidden}.pm-item-photo img{width:100%;height:100%;object-fit:cover}.pm-item-photo .gb-icon{width:24px;height:24px;color:var(--muted)}.pm-item-main{flex:1;min-width:0}.pm-item-title{font-weight:700;line-height:1.4}.pm-item-desc{font-size:12px;color:var(--muted);max-height:34px;overflow:hidden;margin:4px 0}.pm-item-flags{display:flex;gap:5px;flex-wrap:wrap;margin:5px 0}.pm-item-flags .pill{font-size:11px}.pm-price{white-space:nowrap;font-size:16px}.pm-load{text-align:center;padding:15px}.pm-reg-row{padding:13px 0;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line)}.pm-reg-row small{display:block;color:var(--muted)}.pm-reg-right{display:flex;align-items:center;gap:14px}.pm-empty{text-align:center;padding:28px;color:var(--muted)}.pm-connection{display:grid;gap:15px;max-width:780px}.pm-conn-status{display:flex;gap:25px;flex-wrap:wrap}.pm-pairing{padding:15px;background:var(--subtle);border-radius:9px;border:1px solid var(--line)}.pm-pairing input{max-width:420px}.pm-history-panel{margin-top:16px}.pm-reg-changes{max-height:330px;overflow:auto}
@media(max-width:900px){.pm-form-options{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.pm-content #pm-body{padding:13px}.pm-form-options{grid-template-columns:1fr}.pm-item-photo{width:56px;height:55px}.pm-price{font-size:13px}.pm-reg-right{flex-direction:column;align-items:flex-end}}
