/* ============================================================================
   Inventory — hidden panel, namespaced to #panel-inventory / .inv-* only.
   Reuses .dist-* table/button/error classes from distribution.css (loaded
   globally), so only inventory-specific pieces live here.
   ========================================================================== */

#panel-inventory { font-size: 13px; }

#panel-inventory .inv-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin:4px 0 10px; }
#panel-inventory .inv-title { margin:0; font-size:20px; font-weight:650; letter-spacing:-0.01em; }
#panel-inventory .inv-sub { font-size:12px; color:#64748b; margin-top:5px; display:flex; flex-wrap:wrap; gap:6px; }

#panel-inventory .inv-chip { display:inline-block; padding:2px 9px; border-radius:11px; font-size:10.5px; font-weight:600; white-space:nowrap; }
#panel-inventory .inv-chip-ok   { background:#dcfce7; color:#166534; }
#panel-inventory .inv-chip-warn { background:#fef3c7; color:#92400e; }
#panel-inventory .inv-chip-bad  { background:#fee2e2; color:#b91c1c; }
#panel-inventory .inv-chip-info { background:#e0e7ff; color:#3730a3; }

#panel-inventory .inv-kpi-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:11px; margin-bottom:14px; }
#panel-inventory .inv-kpi { background:#fff; border:1px solid #e6eaf0; border-radius:10px; padding:13px 15px; }
#panel-inventory .inv-kpi-v { font-size:21px; font-weight:680; color:#0f172a; letter-spacing:-0.01em; }
#panel-inventory .inv-kpi-l { font-size:11px; font-weight:640; color:#64748b; text-transform:uppercase; letter-spacing:.04em; margin-top:2px; }
#panel-inventory .inv-kpi-s { font-size:11px; color:#94a3b8; margin-top:4px; }
#panel-inventory .inv-kpi-bad  { border-left:3px solid #dc2626; }
#panel-inventory .inv-kpi-warn { border-left:3px solid #d97706; }
#panel-inventory .inv-kpi-good { border-left:3px solid #16a34a; }

#panel-inventory .inv-card { background:#fff; border:1px solid #e6eaf0; border-radius:10px; padding:15px 17px; margin-bottom:15px; }
#panel-inventory .inv-card-head { display:flex; align-items:center; gap:11px; margin-bottom:11px; flex-wrap:wrap; }
#panel-inventory .inv-card-head h3 { margin:0; font-size:14px; font-weight:640; color:#0f172a; }
#panel-inventory .inv-card-sub { font-size:11.5px; color:#94a3b8; }

#panel-inventory .inv-dist-bar { display:flex; gap:2px; height:26px; border-radius:6px; overflow:hidden; margin-bottom:8px; }
#panel-inventory .inv-dist-seg { display:flex; align-items:center; justify-content:center; color:#fff; font-size:11px; font-weight:700; min-width:22px; }
#panel-inventory .inv-legend-row { display:flex; flex-wrap:wrap; gap:12px; font-size:11.5px; color:#475569; }
#panel-inventory .inv-legend { display:inline-flex; align-items:center; gap:5px; }
#panel-inventory .inv-dot { width:9px; height:9px; border-radius:3px; display:inline-block; }

.inv-h-critical { background:#dc2626; }
.inv-h-low      { background:#f59e0b; }
.inv-h-on       { background:#16a34a; }
.inv-h-high     { background:#0ea5e9; }
.inv-h-excess   { background:#6366f1; }
.inv-h-none     { background:#94a3b8; }

#panel-inventory .inv-badge { display:inline-block; padding:2px 8px; border-radius:10px; font-size:10.5px; font-weight:700; white-space:nowrap; color:#fff; }
#panel-inventory span.inv-badge.inv-h-critical { background:#fee2e2; color:#b91c1c; }
#panel-inventory span.inv-badge.inv-h-low      { background:#fef3c7; color:#92400e; }
#panel-inventory span.inv-badge.inv-h-on       { background:#dcfce7; color:#166534; }
#panel-inventory span.inv-badge.inv-h-high     { background:#e0f2fe; color:#075985; }
#panel-inventory span.inv-badge.inv-h-excess   { background:#e0e7ff; color:#3730a3; }
#panel-inventory span.inv-badge.inv-h-none     { background:#f1f5f9; color:#64748b; }
#panel-inventory .inv-a-reorder  { background:#fee2e2; color:#b91c1c; }
#panel-inventory .inv-a-watch    { background:#fef3c7; color:#92400e; }
#panel-inventory .inv-a-incoming { background:#e0f2fe; color:#075985; }
#panel-inventory .inv-a-ok       { background:#f1f5f9; color:#64748b; }

#panel-inventory .inv-filters { display:flex; gap:8px; flex-wrap:wrap; margin-left:auto; }
#panel-inventory .inv-filters select, #panel-inventory .inv-filters input {
  border:1px solid #d8dee7; border-radius:7px; padding:6px 9px; font-size:12px; color:#334155; background:#fff;
}
#panel-inventory .inv-filters input { min-width:200px; }

#panel-inventory .inv-tbl { width:100%; }
#panel-inventory .inv-r { text-align:right; }
#panel-inventory th.inv-r { text-align:right; }
#panel-inventory .inv-sku { font-weight:650; white-space:nowrap; }
#panel-inventory .inv-name { max-width:280px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#panel-inventory .inv-dim { color:#94a3b8; font-size:11px; }
#panel-inventory .inv-row { cursor:pointer; }
#panel-inventory .inv-row:hover td { background:#f8fafc; }
#panel-inventory .inv-t-up { color:#16a34a; }
#panel-inventory .inv-t-down { color:#dc2626; }
#panel-inventory .inv-t-flat { color:#94a3b8; }

#panel-inventory .inv-detail td { background:#f8fafc; border-top:none; }
#panel-inventory .inv-detail-wrap { display:flex; gap:26px; padding:10px 6px 14px; flex-wrap:wrap; }
#panel-inventory .inv-detail-col { flex:1; min-width:320px; }
#panel-inventory .inv-detail-h { font-size:11px; font-weight:700; color:#64748b; text-transform:uppercase; letter-spacing:.04em; margin-bottom:7px; }
#panel-inventory .inv-spark-row { display:flex; gap:18px; flex-wrap:wrap; }
#panel-inventory .inv-spark { font-size:11px; color:#475569; }
#panel-inventory .inv-spark-head { font-weight:640; margin-bottom:2px; }
#panel-inventory .inv-proj-row { display:flex; gap:4px; flex-wrap:wrap; }
#panel-inventory .inv-proj { background:#fff; border:1px solid #e2e8f0; border-radius:6px; padding:3px 7px; font-size:11px; color:#334155; }
#panel-inventory .inv-proj-neg { background:#fee2e2; border-color:#fecaca; color:#b91c1c; font-weight:700; }
#panel-inventory .inv-facts { display:grid; grid-template-columns:1fr 1fr; gap:4px 18px; font-size:12px; color:#475569; }
#panel-inventory .inv-facts b { color:#0f172a; font-weight:640; }
#panel-inventory .inv-po-tbl { font-size:11.5px; }

#panel-inventory .inv-cash-row { display:flex; gap:11px; flex-wrap:wrap; }
#panel-inventory .inv-cash-cell { background:#f8fafc; border:1px solid #e2e8f0; border-radius:9px; padding:11px 16px; min-width:130px; }

#panel-inventory .inv-method {
  background:#f8fafc; border:1px solid #e2e8f0; border-left:3px solid #94a3b8;
  border-radius:6px; padding:12px 15px; margin:0 0 24px; font-size:11.5px; line-height:1.6; color:#475569;
}

@media (max-width: 760px) {
  #panel-inventory .inv-filters { margin-left:0; }
  #panel-inventory .inv-name { max-width:160px; }
}

/* ── Sub-nav (Forecast / Executive / End of Life), 2026-08-06 ──────────────
   Prominent segmented control (Will missed the first thin-tab version). */
#panel-inventory .inv-subnav {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin:2px 0 18px;
}
#panel-inventory .inv-subnav-btn {
  display:flex; flex-direction:column; align-items:flex-start; gap:3px; text-align:left;
  background:#fff; border:1.5px solid #d7dee8; border-radius:11px; cursor:pointer;
  padding:12px 16px; transition:border-color .12s, box-shadow .12s;
}
#panel-inventory .inv-subnav-btn:hover { border-color:#94a3b8; box-shadow:0 1px 4px rgba(15,23,42,.08); }
#panel-inventory .inv-subnav-t { font-size:14.5px; font-weight:800; color:#334155; letter-spacing:-.1px; }
#panel-inventory .inv-subnav-s { font-size:11px; color:#64748b; line-height:1.35; }
#panel-inventory .inv-subnav-active { background:#0f172a; border-color:#0f172a; }
#panel-inventory .inv-subnav-active:hover { border-color:#0f172a; box-shadow:none; }
#panel-inventory .inv-subnav-active .inv-subnav-t { color:#fff; }
#panel-inventory .inv-subnav-active .inv-subnav-s { color:#a9b6c9; }
@media (max-width: 760px) {
  #panel-inventory .inv-subnav { grid-template-columns:1fr; }
  #panel-inventory .inv-subnav-s { display:none; }
}

/* Executive chart grid */
#panel-inventory .inv-chart-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
#panel-inventory .inv-chart-grid .inv-card { margin-bottom:0; }
#panel-inventory .inv-chart-wide { grid-column:1 / -1; }
#panel-inventory .inv-chart-box { position:relative; height:240px; }
#panel-inventory .inv-chart-tall { height:300px; }
@media (max-width: 1000px) { #panel-inventory .inv-chart-grid { grid-template-columns:1fr; } }

/* ── Executive view ──────────────────────────────────────────────────────── */
#panel-inventory .inv-kpi-row-xl { grid-template-columns:repeat(3, 1fr); }
#panel-inventory .inv-kpi-xl .inv-kpi-v { font-size:26px; }
#panel-inventory .inv-kpi-xl { padding:17px 19px; }
@media (max-width: 900px) { #panel-inventory .inv-kpi-row-xl { grid-template-columns:repeat(2, 1fr); } }

/* ── End of Life view ────────────────────────────────────────────────────── */
.inv-b-eol    { background:#dc2626; }
.inv-b-over   { background:#7c3aed; }
.inv-b-watch  { background:#ca8a04; }
.inv-b-hold   { background:#0284c7; }
.inv-b-retain { background:#16a34a; }
#panel-inventory span.inv-badge.inv-b-eol    { background:#fee2e2; color:#b91c1c; }
#panel-inventory span.inv-badge.inv-b-over   { background:#ede9fe; color:#6d28d9; }
#panel-inventory span.inv-badge.inv-b-watch  { background:#fef3c7; color:#92400e; }
#panel-inventory span.inv-badge.inv-b-hold   { background:#e0f2fe; color:#075985; }
#panel-inventory span.inv-badge.inv-b-retain { background:#dcfce7; color:#166534; }

#panel-inventory .inv-eol-band-row { display:grid; grid-template-columns:repeat(5, 1fr); gap:9px; margin-top:12px; }
@media (max-width: 1100px) { #panel-inventory .inv-eol-band-row { grid-template-columns:repeat(2, 1fr); } }
#panel-inventory .inv-eol-band-card { background:#f8fafc; border:1px solid #e2e8f0; border-radius:9px; padding:10px 12px; font-size:11.5px; }
#panel-inventory .inv-eol-band-head { display:flex; justify-content:space-between; align-items:center; gap:6px; margin-bottom:5px; }
#panel-inventory .inv-eol-band-def { color:#475569; line-height:1.5; margin-bottom:4px; }

#panel-inventory .inv-eol-top3-row { margin:10px 0 2px; font-size:12px; color:#475569; }
#panel-inventory .inv-eol-top3 {
  background:#fee2e2; border:1px solid #fecaca; color:#b91c1c; border-radius:8px;
  padding:3px 10px; font-size:11.5px; font-weight:700; cursor:pointer; margin-left:4px;
}
#panel-inventory .inv-eol-top3:hover { background:#fecaca; }
#panel-inventory .inv-eol-moved {
  margin-top:11px; background:#faf5ff; border:1px solid #e9d5ff; border-radius:8px;
  padding:9px 12px; font-size:11.5px; color:#6d28d9; line-height:1.5;
}

#panel-inventory .inv-eol-why { font-size:12px; color:#0f172a; font-weight:600; margin-bottom:6px; }
#panel-inventory .inv-eol-gate {
  background:#f0f9ff; border:1px solid #bae6fd; border-radius:8px; padding:9px 12px;
  font-size:11.8px; color:#0c4a6e; line-height:1.55; margin-bottom:4px;
}
#panel-inventory .inv-eol-flags { margin:4px 0 0 16px; padding:0; font-size:11.5px; color:#92400e; line-height:1.6; }

#panel-inventory .inv-eol-comp { display:flex; align-items:center; gap:8px; margin:3px 0; font-size:11.5px; }
#panel-inventory .inv-eol-comp-l { width:150px; color:#475569; }
#panel-inventory .inv-eol-comp-bar { flex:1; height:8px; background:#eef2f7; border-radius:4px; overflow:hidden; }
#panel-inventory .inv-eol-comp-bar div { height:100%; background:#64748b; border-radius:4px; }
#panel-inventory .inv-eol-comp-v { width:26px; text-align:right; font-weight:700; color:#0f172a; }

/* ── EOL full port (2026-08-06): panes, overview sections, brief ─────────── */
#panel-inventory .inv-eol-panebar { display:flex; gap:6px; align-items:center; margin:2px 0 14px; flex-wrap:wrap; }
#panel-inventory .inv-eol-pill {
  background:#fff; border:1.5px solid #d7dee8; border-radius:9px; cursor:pointer;
  padding:7px 14px; font-size:12.5px; font-weight:700; color:#475569;
}
#panel-inventory .inv-eol-pill:hover { border-color:#94a3b8; }
#panel-inventory .inv-eol-pill-on { background:#0f172a; border-color:#0f172a; color:#fff; }

#panel-inventory .inv-eol-two { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
@media (max-width: 1100px) { #panel-inventory .inv-eol-two { grid-template-columns:1fr; } }
#panel-inventory .inv-eol-chartbody { overflow-x:auto; }
#panel-inventory .inv-eol-ax { font-size:10.5px; fill:#64748b; font-family:inherit; }
#panel-inventory .inv-eol-clab { font-size:11px; fill:#334155; font-family:inherit; }
#panel-inventory .inv-eol-vlab { font-size:10.5px; fill:#334155; font-weight:700; font-family:inherit; }

#panel-inventory .inv-eol-off-row { display:grid; grid-template-columns:repeat(3, 1fr); gap:11px; }
@media (max-width: 900px) { #panel-inventory .inv-eol-off-row { grid-template-columns:1fr; } }
#panel-inventory .inv-eol-offc { background:#fef7f7; border:1.5px solid #fecaca; border-radius:10px; padding:12px 14px; cursor:pointer; }
#panel-inventory .inv-eol-offc:hover { border-color:#dc2626; }
#panel-inventory .inv-eol-off-r { font-size:10px; font-weight:900; letter-spacing:.5px; text-transform:uppercase; color:#b91c1c; }
#panel-inventory .inv-eol-off-s { font-size:15px; font-weight:800; color:#0f172a; margin-top:2px; }
#panel-inventory .inv-eol-off-n { font-size:11.5px; color:#64748b; margin-bottom:7px; }
#panel-inventory .inv-eol-off-m { display:grid; grid-template-columns:1fr auto; gap:2px 10px; font-size:11.5px; color:#475569; }
#panel-inventory .inv-eol-off-m span { text-align:right; font-weight:700; color:#0f172a; }

#panel-inventory .inv-eol-exp-h { font-size:10.5px; font-weight:900; letter-spacing:.5px; text-transform:uppercase; color:#6b7280; margin:9px 0 4px; }
#panel-inventory .inv-eol-exp-row { font-size:12px; color:#374151; margin:3px 0; }
#panel-inventory .inv-eol-split { display:inline-block; width:70px; height:9px; background:#eef2f7; border-radius:4px; overflow:hidden; vertical-align:middle; margin-right:6px; }
#panel-inventory .inv-eol-split i { display:block; height:100%; border-radius:4px; }
#panel-inventory .inv-eol-exp-note { font-size:12.2px; color:#374151; line-height:1.55; }
#panel-inventory .inv-eol-exp-note ul { margin:4px 0 0 16px; padding:0; }
#panel-inventory .inv-eol-moved-row { font-size:12px; color:#374151; margin:6px 0; line-height:1.5; }

/* Leadership brief / proposal pack overlay */
.inv-eol-mask { display:none; position:fixed; inset:0; background:rgba(15,23,42,.5); z-index:1400; overflow-y:auto; }
.inv-eol-mask-on { display:block; }
.inv-eol-sheet-wrap { max-width:860px; margin:26px auto; background:#fff; border-radius:12px; box-shadow:0 12px 40px rgba(15,23,42,.3); }
.inv-eol-sheet-head { display:flex; justify-content:space-between; align-items:center; padding:14px 22px; border-bottom:1px solid #e2e8f0; position:sticky; top:0; background:#fff; border-radius:12px 12px 0 0; z-index:2; }
.inv-eol-sheet { padding:10px 30px 34px; font-size:12.8px; color:#1f2937; line-height:1.55; }
.inv-eol-sheet h2 { font-size:19px; letter-spacing:-.3px; }
.inv-eol-sheet h3 { font-size:12px; font-weight:900; letter-spacing:.5px; text-transform:uppercase; color:#374151; margin:16px 0 4px; }
.inv-eol-kicker { font-size:10.5px; font-weight:900; letter-spacing:.6px; text-transform:uppercase; color:#b91c1c; margin-top:14px; }
.inv-eol-bh { border-bottom:2px solid #0f172a; padding-bottom:8px; margin-bottom:4px; }
.inv-eol-rec { display:flex; gap:14px; align-items:center; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:10px 16px; margin:10px 0; }
.inv-eol-rec-score { font-size:34px; font-weight:900; letter-spacing:-1px; }
.inv-eol-case { margin:4px 0 0 18px; padding:0; }
.inv-eol-case li { margin:7px 0; }
.inv-eol-fieldcite { font-size:9.6px; color:#94a3b8; font-family:ui-monospace, Menlo, Consolas, monospace; }
.inv-eol-fin { display:grid; grid-template-columns:1fr auto; gap:4px 14px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; padding:10px 14px; font-size:12.4px; margin:6px 0; }
.inv-eol-fin span { text-align:right; font-weight:700; }
.inv-eol-fin-tot { border-top:1px solid #cbd5e1; padding-top:5px; font-weight:900; }
.inv-eol-decide { display:flex; gap:22px; flex-wrap:wrap; margin:8px 0 16px; font-weight:600; }
.inv-eol-box { display:inline-block; width:13px; height:13px; border:1.6px solid #334155; border-radius:3px; vertical-align:-2px; margin-right:6px; }
.inv-eol-sig-row { display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; margin-top:26px; }
.inv-eol-sig-row div { border-top:1.4px solid #334155; padding-top:5px; font-size:11px; color:#475569; }
.inv-eol-src { font-size:10.4px; color:#94a3b8; margin-top:18px; line-height:1.5; }
.inv-eol-pagebreak { border-top:1px dashed #cbd5e1; margin:30px -30px 8px; }

@media print {
  body.inv-eol-brief-open > *:not(.inv-eol-mask) { display:none !important; }
  body.inv-eol-brief-open .inv-eol-mask { display:block !important; position:static; background:#fff; overflow:visible; }
  body.inv-eol-brief-open .inv-eol-sheet-wrap { box-shadow:none; margin:0; max-width:none; border-radius:0; }
  body.inv-eol-brief-open .inv-eol-sheet-head { display:none; }
  .inv-eol-pagebreak { border:0; margin:0; page-break-before:always; }
}
