:root {
  --ink: #f2f6f8;
  --muted: #8d9ca7;
  --muted-2: #5e6d78;
  --line: rgba(174, 223, 232, .12);
  --line-strong: rgba(126, 231, 244, .24);
  --surface: rgba(14, 24, 29, .92);
  --surface-2: rgba(18, 31, 37, .96);
  --canvas: #070d10;
  --nav: #090f12;
  --accent: #63e6ee;
  --accent-soft: rgba(99, 230, 238, .10);
  --danger: #ff6b7a;
  --danger-bg: rgba(255, 73, 95, .08);
  --warning: #ffbf69;
  --success: #48e0a4;
  --radius: 10px;
  --mono: "Cascadia Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --sans: "Segoe UI Variable", Aptos, "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { color-scheme: dark; }
body { margin: 0; color: var(--ink); background: var(--canvas); font: 14px/1.45 var(--sans); font-feature-settings: "ss01", "cv01"; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 1000; padding: 10px 14px; border: 1px solid var(--accent); border-radius: 7px; background: var(--canvas); color: var(--accent); text-decoration: none; transform: translateY(-160%); transition: transform .15s ease; }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: -1; background-image: linear-gradient(rgba(99,230,238,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(99,230,238,.022) 1px,transparent 1px),radial-gradient(circle at 78% -10%,rgba(50,173,188,.11),transparent 34%); background-size: 44px 44px,44px 44px,100% 100%; }
a { color: inherit; }
button, input { font: inherit; }
.shell { min-height: 100vh; display: grid; grid-template-columns: 252px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 24px 15px 18px; display: flex; flex-direction: column; background: rgba(7,13,16,.94); color: #e9f3f5; border-right: 1px solid var(--line); box-shadow: 18px 0 50px rgba(0,0,0,.22); }
.sidebar::after { content: ""; position: absolute; top: 0; right: -1px; width: 1px; height: 120px; background: linear-gradient(transparent,var(--accent),transparent); opacity: .55; }
.brand { display: flex; align-items: center; gap: 12px; padding: 2px 9px 31px; }
.brand-mark { position: relative; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(99,230,238,.35); border-radius: 9px; background: rgba(99,230,238,.06); color: var(--accent); font: 700 11px/1 var(--mono); letter-spacing: -.06em; box-shadow: inset 0 0 20px rgba(99,230,238,.04),0 0 24px rgba(99,230,238,.05); }
.brand-mark::before,.brand-mark::after { content: ""; position: absolute; background: var(--accent); opacity: .65; }
.brand-mark::before { width: 6px; height: 1px; top: -1px; left: 7px; }.brand-mark::after { width: 1px; height: 6px; right: -1px; bottom: 7px; }
.brand-mark i { position: absolute; inset: 5px; border: 1px solid rgba(99,230,238,.12); border-radius: 50%; }.brand-mark b { font-weight: 700; }
.brand strong,.brand small,.sidebar-footer strong,.sidebar-footer small { display: block; }
.brand strong { font-size: 13px; font-weight: 600; letter-spacing: .01em; }.brand small { margin-top: 2px; color: var(--muted-2); font: 9px/1.2 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.sidebar nav { display: grid; gap: 3px; }
.mobile-nav { display: none; }
.nav-link { min-height: 54px; padding: 9px 10px; display: grid; grid-template-columns: 25px minmax(0,1fr); gap: 6px; align-items: center; border: 1px solid transparent; border-radius: 7px; color: #a6b2b9; text-decoration: none; font-weight: 530; transition: color .15s ease,background .15s ease,border-color .15s ease; }
.nav-link em { color: #46545d; font: 9px/1 var(--mono); font-style: normal; letter-spacing: .06em; }.nav-link span,.nav-link small { display: block; }.nav-link small { margin-top: 3px; color: #53616a; font: 9px/1.2 var(--mono); font-weight: 400; letter-spacing: .02em; }
.nav-link:hover { color: #e4f2f4; background: rgba(255,255,255,.022); border-color: rgba(255,255,255,.05); }
.nav-link.active { color: #effdff; border-color: rgba(99,230,238,.16); background: linear-gradient(90deg,rgba(99,230,238,.10),rgba(99,230,238,.025)); box-shadow: inset 2px 0 var(--accent); }
.nav-link.active em,.nav-link.active small { color: var(--accent); }
.sidebar-footer { margin-top: auto; padding: 15px 9px 13px; border-top: 1px solid var(--line); display: flex; gap: 10px; align-items: flex-start; }
.sidebar-footer strong { font-size: 11px; font-weight: 600; }.sidebar-footer small { color: var(--muted-2); font: 9px/1.4 var(--mono); }
.read-only-dot { width: 7px; height: 7px; margin-top: 5px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 3px rgba(72,224,164,.08),0 0 12px rgba(72,224,164,.25); }
.logout-form button { width: 100%; min-height: 40px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 7px; background: transparent; color: #7f8d96; cursor: pointer; font: 10px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.logout-form button:hover { border-color: var(--line-strong); background: var(--accent-soft); color: var(--accent); }
.content { width: 100%; max-width: 1500px; padding: 40px 46px 72px; }
.stale-banner,.info-banner { display: flex; gap: 10px; align-items: center; margin-bottom: 20px; padding: 12px 15px; border: 1px solid rgba(255,191,105,.28); border-radius: 8px; background: rgba(255,191,105,.06); color: var(--warning); }.stale-banner span,.info-banner span { color: #c0a57e; }.stale-banner.error { border-color: rgba(255,107,122,.28); background: var(--danger-bg); color: var(--danger); }
.page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; margin-bottom: 27px; }
.command-header { min-height: 127px; align-items: flex-end; padding: 0 0 26px; border-bottom: 1px solid var(--line); }
h1 { margin: 4px 0 5px; font-size: clamp(30px,3.5vw,48px); font-weight: 520; line-height: 1.02; letter-spacing: -.045em; }
h2 { margin: 3px 0 0; font-size: 18px; font-weight: 570; letter-spacing: -.02em; }
.eyebrow { margin: 0; color: var(--accent); font: 600 9px/1.3 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.subtitle { margin: 9px 0 0; color: var(--muted); font-size: 14px; }
.live-pulse { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--success); box-shadow: 0 0 10px rgba(72,224,164,.55); vertical-align: 1px; }
.cursor-block { display: inline-block; width: 7px; height: .72em; margin-left: 9px; background: var(--accent); opacity: .72; }
.freshness { padding: 11px 13px; border: 1px solid var(--line); border-radius: 7px; background: rgba(255,255,255,.018); text-align: right; }
.freshness span,.freshness strong { display: block; }.freshness span { color: var(--muted); font: 9px/1.3 var(--mono); letter-spacing: .08em; }.freshness strong { margin-top: 5px; color: #afbdc5; font: 10px/1.4 var(--mono); font-weight: 400; }
.system-chip span i { display: inline-block; width: 5px; height: 5px; margin-right: 5px; border-radius: 50%; background: var(--success); }
.metrics { position: relative; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(9,17,21,.72); overflow: hidden; }
.metrics::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg,transparent,var(--accent),transparent); opacity: .25; }
.metrics article { min-height: 138px; padding: 18px 20px; border-right: 1px solid var(--line); }.metrics article:last-child { border-right: 0; }
.metric-top { display: flex; justify-content: space-between; gap: 12px; }.metrics span { color: #a5b4bc; font-size: 12px; font-weight: 540; }.metrics code { color: #45545d; font: 8px/1.5 var(--mono); letter-spacing: .08em; }
.metrics strong { display: block; margin-top: 14px; color: #effdff; font: 500 38px/1 var(--mono); letter-spacing: -.07em; text-shadow: 0 0 22px rgba(99,230,238,.08); }.metrics small { display: block; margin-top: 8px; color: var(--muted-2); font-size: 10px; }.metrics .critical strong { color: var(--danger); text-shadow: 0 0 22px rgba(255,107,122,.12); }
.module-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin: 0 0 21px; }
.module-grid a { position: relative; min-height: 72px; padding: 13px 42px 13px 14px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.014); text-decoration: none; transition: border-color .15s ease,background .15s ease,transform .15s ease; }.module-grid a:hover { border-color: rgba(99,230,238,.28); background: var(--accent-soft); transform: translateY(-1px); }.module-grid span,.module-grid strong { display: block; }.module-grid span { color: var(--accent); font: 8px/1.3 var(--mono); letter-spacing: .11em; }.module-grid strong { margin-top: 8px; font-size: 12px; font-weight: 540; }.module-grid em { position: absolute; top: 50%; right: 16px; color: #42535c; font: 16px/1 var(--mono); font-style: normal; transform: translateY(-50%); }.module-grid a:hover em { color: var(--accent); }
.panel { margin-top: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(11,20,24,.82); overflow: hidden; box-shadow: 0 18px 45px rgba(0,0,0,.10); }
.panel-heading { min-height: 68px; padding: 15px 18px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.012); }
.count { min-width: 28px; padding: 4px 8px; border: 1px solid var(--line); border-radius: 4px; background: rgba(99,230,238,.045); color: var(--accent); text-align: center; font: 10px/1.2 var(--mono); }
.alert-row { display: grid; grid-template-columns: 72px 100px minmax(0,1fr); gap: 12px; align-items: center; padding: 12px 18px; border-bottom: 1px solid rgba(174,223,232,.07); }.alert-row:last-child { border: 0; }.severity { color: var(--danger); font: 600 9px/1 var(--mono); text-transform: uppercase; letter-spacing: .06em; }
.table-wrap { overflow-x: auto; }table { width: 100%; border-collapse: collapse; }th { padding: 10px 16px; color: #60717b; background: rgba(255,255,255,.014); border-bottom: 1px solid var(--line); font: 600 8px/1.3 var(--mono); letter-spacing: .11em; text-align: left; text-transform: uppercase; }td { padding: 14px 16px; border-bottom: 1px solid rgba(174,223,232,.07); color: #bdc9cf; vertical-align: middle; }tbody tr:last-child td { border-bottom: 0; }tbody tr:hover { background: rgba(99,230,238,.025); }td small { display: block; margin-top: 3px; color: var(--muted-2); }.event-link { color: #e5f4f6; font-weight: 590; text-decoration: none; }.event-link:hover { color: var(--accent); }.pill { display: inline-block; max-width: 220px; padding: 4px 8px; border: 1px solid var(--line); border-radius: 4px; background: rgba(255,255,255,.02); color: #aebbc2; font: 9px/1.3 var(--mono); }.pill.large { padding: 7px 11px; font-size: 11px; }.status-text { color: #c9d3d8; font-weight: 550; }.mono { font-family: var(--mono); font-size: 11px; font-variant-numeric: tabular-nums; }.empty { padding: 30px; color: var(--muted); text-align: center; }
.back-link { display: inline-block; margin-bottom: 22px; color: var(--muted); text-decoration: none; font-weight: 550; }.back-link:hover { color: var(--accent); }.event-header { align-items: center; }.detail-grid { display: grid; grid-template-columns: minmax(0,2fr) minmax(280px,.8fr); gap: 18px; }.detail-grid .panel { margin-top: 0; }.facts { margin: 0; }.facts div { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 20px; padding: 16px 18px; border-bottom: 1px solid rgba(174,223,232,.07); }.facts div:last-child { border: 0; }dt { color: var(--muted); font-weight: 520; }dd { margin: 0; color: #d4dde1; font-weight: 550; }.readiness-row { display: flex; justify-content: space-between; padding: 15px 18px; border-bottom: 1px solid rgba(174,223,232,.07); }.note { margin: 0; padding: 16px 18px; color: var(--muted); font-size: 12px; background: rgba(255,255,255,.012); }
.header-stat { min-width: 118px; padding: 14px 17px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); text-align: right; }.header-stat strong,.header-stat span { display: block; }.header-stat strong { font: 500 24px/1 var(--mono); }.header-stat span { margin-top: 5px; color: var(--muted); font-size: 10px; }.summary-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); overflow: hidden; }.summary-strip>div { padding: 15px 18px; border-right: 1px solid var(--line); }.summary-strip>div:last-child { border-right: 0; }.summary-strip span,.summary-strip strong { display: block; }.summary-strip span { color: var(--muted); font-size: 10px; }.summary-strip strong { margin-top: 5px; font-size: 17px; }.danger-metric strong { color: var(--danger); }
.signal { display: inline-flex; align-items: center; gap: 7px; font-weight: 570; }.signal::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #687680; }.signal-grøn::before { background: var(--success); box-shadow: 0 0 9px rgba(72,224,164,.35); }.signal-gul::before { background: var(--warning); }.signal-rød::before { background: var(--danger); }.signal-grå::before { background: #687680; }.row-danger { background: rgba(255,107,122,.035); }.row-danger:hover { background: rgba(255,107,122,.06); }.number { font-variant-numeric: tabular-nums; white-space: nowrap; }.emphasis { font-weight: 650; }
.procurement-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }.purchase-card,.capacity-card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); overflow: hidden; }.purchase-top,.capacity-card>header { padding: 17px; display: flex; align-items: flex-start; justify-content: space-between; border-bottom: 1px solid var(--line); }.purchase-card dl { margin: 0; padding: 8px 17px; }.purchase-card dl div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; }.purchase-card dd { text-align: right; }.purchase-card footer { display: flex; justify-content: space-between; padding: 11px 17px; color: var(--muted); background: rgba(255,255,255,.012); font-size: 10px; }
.staffing-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }.capacity-orb { width: 45px; height: 45px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.02); font: 600 9px/1 var(--mono); }.orb-grøn { color: var(--success); }.orb-gul { color: var(--warning); }.orb-rød { color: var(--danger); }.capacity-body { display: grid; grid-template-columns: 1fr 1fr; }.capacity-body div { padding: 13px 17px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.capacity-body div:nth-child(even) { border-right: 0; }.capacity-body span,.capacity-body strong { display: block; }.capacity-body span { color: var(--muted); font: 8px/1.3 var(--mono); text-transform: uppercase; letter-spacing: .08em; }.capacity-body strong { margin-top: 5px; }.capacity-note { margin: 0; padding: 13px 17px; color: var(--muted); background: rgba(255,255,255,.012); }
.run-row { display: grid; grid-template-columns: 10px minmax(180px,1fr) auto 190px; gap: 14px; align-items: center; padding: 13px 18px; border-bottom: 1px solid var(--line); }.run-row:last-child { border: 0; }.run-status { width: 7px; height: 7px; border-radius: 50%; }.run-ok { background: var(--success); box-shadow: 0 0 9px rgba(72,224,164,.35); }.run-error { background: var(--danger); }.run-main strong,.run-main small { display: block; }.run-main small { margin-top: 2px; color: var(--muted); }.empty-state { grid-column: 1/-1; padding: 50px; text-align: center; color: var(--muted); }
.event-count-stack { display:flex; gap:9px; }.confirmed-stat strong { color:var(--success); }.possible-stat strong { color:var(--warning); }
.event-section { margin-top:28px; }.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:13px; padding-bottom:13px; border-bottom:1px solid var(--line); }.section-heading h2 { font-size:23px; }.section-heading p:not(.eyebrow) { margin:6px 0 0; color:var(--muted); font-size:12px; }
.event-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }.event-card { min-height:186px; padding:17px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); color:inherit; text-decoration:none; transition:border-color .15s ease,background .15s ease,transform .15s ease; }.event-card-confirmed { border-top-color:rgba(72,224,164,.42); }.event-card-possible { border-top-color:rgba(255,191,105,.36); }.event-card:hover { border-color:var(--line-strong); background:var(--surface-2); transform:translateY(-1px); }.event-card:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }.event-card-top,.event-card-body,.event-card-meta,.event-card-signals { display:flex; align-items:center; justify-content:space-between; gap:14px; }.event-date { color:#bccbd1; }.event-card-body { margin:18px 0 15px; align-items:flex-start; }.event-card h3 { margin:0; color:#effbfc; font-size:19px; font-weight:590; letter-spacing:-.025em; }.event-card-body p { margin:5px 0 0; color:var(--muted); }.event-card-arrow { color:var(--muted-2); font:18px/1 var(--mono); transition:color .15s ease,transform .15s ease; }.event-card:hover .event-card-arrow { color:var(--accent); transform:translateX(3px); }.event-card-meta { justify-content:flex-start; flex-wrap:wrap; color:#7f9099; font-size:11px; }.event-card-meta span+span::before { content:"·"; margin-right:10px; color:#43525b; }.event-card-signals { margin-top:auto; padding-top:14px; border-top:1px solid rgba(174,223,232,.07); justify-content:flex-start; color:var(--muted); font-size:10px; }.event-card-signals span { display:flex; align-items:center; gap:7px; }.event-card-signals strong { color:#c4d0d5; }.event-empty { grid-column:1/-1; margin:0; border:1px dashed var(--line); border-radius:var(--radius); }
.event-title-kicker { display:flex; align-items:center; gap:10px; color:var(--muted); }.event-kind { padding:4px 7px; border:1px solid var(--line-strong); border-radius:4px; color:var(--accent); font:600 9px/1.2 var(--mono); letter-spacing:.09em; text-transform:uppercase; }.event-fact-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:18px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); overflow:hidden; }.event-fact-strip>div { min-width:0; padding:14px 17px; border-right:1px solid var(--line); }.event-fact-strip>div:last-child { border-right:0; }.event-fact-strip span,.event-fact-strip strong { display:block; }.event-fact-strip span { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }.event-fact-strip strong { margin-top:5px; overflow-wrap:anywhere; }
.event-detail-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(290px,.65fr); gap:18px; align-items:start; }.event-detail-main,.event-detail-side { display:grid; gap:14px; }.event-detail-layout .panel { margin-top:0; }.facts-two-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.facts-two-column div { grid-template-columns:1fr; gap:5px; }.facts-two-column div:nth-child(odd) { border-right:1px solid rgba(174,223,232,.07); }.preserve-lines { white-space:pre-wrap; }.inline-link { color:var(--accent); text-underline-offset:3px; }.side-facts { margin:0; }.side-facts div { padding:14px 18px; border-bottom:1px solid rgba(174,223,232,.07); }.side-facts div:last-child { border-bottom:0; }.side-facts dt { margin-bottom:5px; font-size:10px; }.side-facts dd { overflow-wrap:anywhere; }
.event-calendar-order { display:grid; gap:14px; max-width:1120px; }.event-calendar-order .panel { margin-top:0; }.compact-list { margin:0; padding-left:18px; display:grid; gap:4px; }.system-panel { border-color:rgba(255,255,255,.08); }
.inventory-search { margin:-5px 0 16px; padding:14px 16px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }.inventory-search>label { display:block; margin-bottom:7px; color:#9cacb5; font-size:10px; font-weight:650; }.inventory-search-controls { display:flex; gap:8px; align-items:center; }.inventory-search input { min-width:0; flex:1; min-height:44px; padding:10px 12px; border:1px solid var(--line); border-radius:7px; background:#091115; color:var(--ink); outline:none; }.inventory-search input:focus { border-color:rgba(99,230,238,.45); box-shadow:0 0 0 3px rgba(99,230,238,.07); }.inventory-search button,.inventory-search a { min-height:44px; padding:10px 15px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(99,230,238,.3); border-radius:7px; background:rgba(99,230,238,.09); color:var(--accent); text-decoration:none; cursor:pointer; font-weight:650; }.inventory-search a { border-color:var(--line); background:transparent; color:var(--muted); }.inventory-search p { margin:8px 0 0; color:var(--muted-2); font:10px/1.4 var(--mono); }
.inventory-summary { grid-template-columns:repeat(4,minmax(0,1fr)); }.inventory-browser { display:grid; gap:11px; }.inventory-group { border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); overflow:hidden; }.inventory-group>summary { min-height:56px; padding:14px 17px; display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; color:#dce8eb; font-size:15px; font-weight:600; list-style:none; }.inventory-group>summary::-webkit-details-marker { display:none; }.inventory-group>summary::before { content:"+"; width:18px; color:var(--muted-2); font:14px/1 var(--mono); }.inventory-group[open]>summary::before { content:"−"; color:var(--accent); }.inventory-group>summary span:first-child { margin-right:auto; }.inventory-group[open]>summary { border-bottom:1px solid var(--line); }.inventory-column-head,.inventory-product-row { display:grid; grid-template-columns:minmax(190px,1.35fr) repeat(3,minmax(105px,.65fr)) minmax(150px,.8fr) 20px; gap:13px; align-items:center; }.inventory-column-head { padding:9px 15px; color:var(--muted-2); background:rgba(255,255,255,.012); font:600 8px/1.3 var(--mono); letter-spacing:.09em; text-transform:uppercase; }.inventory-product-row { min-height:68px; padding:11px 15px; border-top:1px solid rgba(174,223,232,.07); color:inherit; text-decoration:none; transition:background .15s ease,border-color .15s ease; }.inventory-column-head+.inventory-product-list .inventory-product-row:first-child { border-top:0; }.inventory-product-row:hover { background:var(--accent-soft); }.inventory-product-row:focus-visible { position:relative; outline:2px solid var(--accent); outline-offset:-2px; }.inventory-product-danger { background:rgba(255,107,122,.035); }.inventory-product-name strong,.inventory-product-name small,.inventory-quantity strong,.inventory-quantity small,.inventory-supplier strong,.inventory-supplier small { display:block; }.inventory-product-name strong { color:#e9f5f7; }.inventory-product-name small,.inventory-quantity small,.inventory-supplier small { margin-top:3px; color:var(--muted-2); font-size:10px; }.inventory-quantity strong { font-variant-numeric:tabular-nums; }.inventory-row-arrow { color:var(--muted-2); font:16px/1 var(--mono); }.inventory-product-row:hover .inventory-row-arrow { color:var(--accent); }
.inventory-balance-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:18px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); overflow:hidden; }.inventory-balance-grid article { padding:17px 19px; border-right:1px solid var(--line); }.inventory-balance-grid article:last-child { border-right:0; }.inventory-balance-grid span,.inventory-balance-grid strong { display:block; }.inventory-balance-grid span { color:var(--muted); font-size:10px; }.inventory-balance-grid strong { margin-top:6px; font:550 22px/1.2 var(--mono); }.inventory-balance-grid small { color:var(--muted-2); font-size:9px; }.balance-danger strong { color:var(--danger); }.inventory-detail-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(290px,.65fr); gap:18px; align-items:start; }.inventory-detail-main,.inventory-detail-side { display:grid; gap:14px; }.inventory-detail-layout .panel { margin-top:0; }.facts-two-column .fact-wide { grid-column:1/-1; border-right:0; }.inventory-edit-panel .note { min-height:70px; }
.login-body { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: var(--canvas); }.login-shell { width: min(940px,100%); display: grid; grid-template-columns: 1.1fr .9fr; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--surface); box-shadow: 0 30px 90px rgba(0,0,0,.45),0 0 70px rgba(99,230,238,.035); overflow: hidden; }.login-brand-panel { min-height: 520px; display: flex; flex-direction: column; justify-content: center; padding: 58px; background: radial-gradient(circle at 10% 10%,rgba(99,230,238,.12),transparent 42%),#091115; color: #fff; }.login-brand-panel .brand-mark { width: 54px; height: 54px; margin-bottom: 38px; }.login-brand-panel h1 { font-size: 50px; }.login-brand-panel>p:not(.eyebrow) { max-width: 420px; color: #8fa0aa; font-size: 16px; line-height: 1.6; }.login-security { display: flex; gap: 10px; align-items: center; margin-top: 52px; color: #74858f; font: 10px/1.4 var(--mono); }.login-card { padding: 58px 48px; background: #0e181d; }.login-card h2 { margin-top: 8px; font-size: 32px; }.login-intro { margin: 10px 0 28px; color: var(--muted); }.login-form { display: grid; gap: 9px; }.login-form label { margin-top: 8px; color: #9cacb5; font-size: 11px; font-weight: 600; }.login-form input { width: 100%; padding: 12px 13px; border: 1px solid var(--line); border-radius: 7px; background: #091115; color: var(--ink); outline: none; }.login-form input:focus { border-color: rgba(99,230,238,.45); box-shadow: 0 0 0 3px rgba(99,230,238,.07); }.login-form button { margin-top: 14px; padding: 13px; border: 1px solid rgba(99,230,238,.35); border-radius: 7px; background: rgba(99,230,238,.11); color: var(--accent); cursor: pointer; font-weight: 650; }.login-form button:hover { background: rgba(99,230,238,.17); }.login-error { margin-bottom: 14px; padding: 11px 12px; border: 1px solid rgba(255,107,122,.3); border-radius: 7px; background: var(--danger-bg); color: var(--danger); font-size: 12px; font-weight: 600; }.l... [truncated]
.availability-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:18px; align-items:start; }.availability-layout .panel { margin-top:0; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:20px; }.field { display:grid; gap:7px; }.field-wide { grid-column:1/-1; }.field>span { color:#9cacb5; font-size:11px; font-weight:650; }.field small { color:var(--muted-2); font-weight:400; }.field input,.field select,.field textarea { width:100%; min-height:44px; padding:11px 12px; border:1px solid var(--line); border-radius:7px; background:#091115; color:var(--ink); outline:none; }.field textarea { resize:vertical; }.field input:focus,.field select:focus,.field textarea:focus { border-color:rgba(99,230,238,.45); box-shadow:0 0 0 3px rgba(99,230,238,.07); }.form-actions { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:16px 20px; border-top:1px solid var(--line); background:rgba(255,255,255,.012); }.form-actions p { margin:0; color:var(--muted); font-size:11px; }.form-actions button { min-height:44px; padding:11px 18px; border:1px solid rgba(99,230,238,.35); border-radius:7px; background:rgba(99,230,238,.11); color:var(--accent); cursor:pointer; font-weight:650; }.form-actions button:hover { background:rgba(99,230,238,.17); }.success-banner,.form-error { display:flex; gap:10px; align-items:center; margin-bottom:18px; padding:13px 15px; border-radius:8px; }.success-banner { border:1px solid rgba(72,224,164,.3); background:rgba(72,224,164,.07); color:var(--success); }.success-banner span { color:#8fbca9; }.form-error { border:1px solid rgba(255,107,122,.3); background:var(--danger-bg); color:var(--danger); }.help-copy { padding:18px 20px; color:var(--muted); }.help-copy p { margin-top:0; }.help-copy ul { margin:18px 0 0; padding-left:19px; }.help-copy li { margin:10px 0; }.help-copy strong { color:#d4dde1; }
@media (prefers-reduced-motion: no-preference) { .live-pulse,.read-only-dot { animation: pulse 2.4s ease-in-out infinite; } .cursor-block { animation: blink 1.2s steps(2,end) infinite; } @keyframes pulse { 50% { opacity:.48; } } @keyframes blink { 50% { opacity:.12; } } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }
@media (max-width:1100px) { .procurement-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .content { padding-inline:30px; } }
@media (max-width:850px) {
  .login-shell { grid-template-columns:1fr; }.login-brand-panel { min-height:auto; padding:38px; }.login-brand-panel h1 { font-size:38px; }.login-security { margin-top:25px; }.login-card { padding:38px; }
  .shell { grid-template-columns:1fr; }.sidebar { position:static; width:100%; height:auto; padding:13px 16px; flex-direction:row; flex-wrap:wrap; align-items:center; border-right:0; border-bottom:1px solid var(--line); }.sidebar::after { display:none; }.brand { padding:0; }.sidebar nav { order:3; width:100%; display:flex; gap:6px; margin-top:12px; padding-top:10px; border-top:1px solid var(--line); overflow-x:auto; scrollbar-width:thin; }.sidebar nav .nav-link { min-width:164px; min-height:48px; flex:0 0 auto; }.sidebar-footer { margin:0 0 0 auto; padding:0; border:0; }.sidebar-footer small { display:none; }.logout-form { margin-left:12px; }.logout-form button { width:auto; min-height:44px; }
  .content { padding:27px 18px 50px; }.page-header,.command-header { display:block; min-height:0; }.freshness { margin-top:18px; text-align:left; }.metrics,.module-grid,.summary-strip,.procurement-grid,.staffing-grid,.availability-layout,.event-card-grid,.event-detail-layout,.inventory-detail-layout { grid-template-columns:1fr; }.metrics article { border-right:0; border-bottom:1px solid var(--line); }.metrics article:last-child { border-bottom:0; }.module-grid a { min-height:68px; }.detail-grid { grid-template-columns:1fr; }.facts div { grid-template-columns:1fr; gap:4px; }.facts-two-column { grid-template-columns:1fr 1fr; }.facts-two-column div { grid-template-columns:1fr; }.summary-strip>div { border-right:0; border-bottom:1px solid var(--line); }.run-row { grid-template-columns:10px minmax(0,1fr) auto; }.run-row>.mono { display:none; }.event-count-stack { margin-top:18px; }.event-fact-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }.event-fact-strip>div:nth-child(2) { border-right:0; }.event-fact-strip>div:nth-child(-n+2) { border-bottom:1px solid var(--line); }.inventory-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.inventory-column-head { display:none; }.inventory-product-row { grid-template-columns:minmax(150px,1fr) repeat(3,minmax(90px,.55fr)) 20px; }.inventory-supplier { grid-column:1/-2; }.inventory-balance-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:520px) { .brand small { display:none; }.sidebar-footer span:not(.read-only-dot) { display:none; }.alert-row { grid-template-columns:68px minmax(0,1fr); }.alert-row>span:last-child { grid-column:1/-1; }.metrics article { min-height:118px; }.content { padding-inline:14px; }.form-grid { grid-template-columns:1fr; padding:16px; }.field-wide { grid-column:auto; }.form-actions { align-items:stretch; flex-direction:column; }.form-actions button { width:100%; }.availability-header .header-stat { margin-top:16px; text-align:left; }.event-count-stack { display:grid; grid-template-columns:1fr 1fr; }.header-stat { min-width:0; text-align:left; }.section-heading { align-items:flex-start; }.event-card { min-height:205px; }.event-card-meta { display:grid; gap:4px; }.event-card-meta span+span::before { display:none; }.event-fact-strip,.facts-two-column { grid-template-columns:1fr; }.event-fact-strip>div { border-right:0; border-bottom:1px solid var(--line); }.event-fact-strip>div:last-child { border-bottom:0; }.facts-two-column div { border-right:0!important; }.inventory-summary,.inventory-balance-grid { grid-template-columns:1fr; }.inventory-balance-grid article { border-right:0; border-bottom:1px solid var(--line); }.inventory-balance-grid article:last-child { border-bottom:0; }.inventory-product-row { grid-template-columns:1fr 1fr; gap:10px; }.inventory-product-name,.inventory-supplier { grid-column:1/-1; }.inventory-row-arrow { position:absolute; right:14px; }.inventory-product-row { position:relative; }.facts-two-column .fact-wide { grid-column:auto; }.inventory-search-controls { flex-wrap:wrap; }.inventory-search input { flex-basis:100%; }.inventory-search button,.inventory-search a { flex:1; } }

@media (max-width:600px) {
  body { font-size:15px; overflow-x:hidden; }
  .shell { display:block; }
  .sidebar { position:sticky; top:0; z-index:30; min-height:64px; height:auto; padding:9px 12px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; background:rgba(7,13,16,.98); backdrop-filter:blur(14px); }
  .brand { min-width:0; padding:0; gap:9px; }.brand-mark { width:36px; height:36px; }.brand strong { font-size:12px; }.brand small { display:block; font-size:8px; }
  .desktop-nav,.sidebar-footer,.sidebar>.logout-form { display:none!important; }
  .mobile-nav { display:block; position:relative; justify-self:end; }
  .mobile-nav summary { min-width:96px; min-height:44px; padding:10px 12px; display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid var(--line-strong); border-radius:8px; background:var(--accent-soft); color:var(--accent); cursor:pointer; list-style:none; font:600 11px/1 var(--mono); text-transform:uppercase; letter-spacing:.06em; }
  .mobile-nav summary::-webkit-details-marker { display:none; }.mobile-nav[open] summary { background:rgba(99,230,238,.16); }
  .mobile-nav:not([open]) .mobile-nav-panel { display:none!important; }
  .mobile-nav-panel { position:absolute; top:50px; right:0; width:min(340px,calc(100vw - 24px)); max-height:calc(100vh - 82px); max-height:calc(100dvh - 82px - env(safe-area-inset-bottom, 0px)); padding:9px; padding-bottom:max(9px, env(safe-area-inset-bottom, 0px)); display:grid; gap:8px; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; border:1px solid var(--line-strong); border-radius:10px; background:#0b151a; box-shadow:0 24px 70px rgba(0,0,0,.58); }
  .mobile-nav[open] nav { width:100%; margin:0; padding:0; display:grid!important; gap:5px; overflow:visible; border:0; }
  .mobile-nav .nav-link { min-width:0!important; min-height:52px!important; width:100%; padding:9px 10px; }
  .mobile-logout-form { position:static; width:100%; margin-top:7px; }
  .mobile-logout-form button { width:100%; min-height:44px; border:1px solid var(--line); border-radius:7px; background:#101d22; color:var(--muted); }
  .content { width:100%; padding:24px 12px 44px; overflow:hidden; }
  h1 { font-size:clamp(29px,10vw,38px); overflow-wrap:anywhere; }.subtitle { line-height:1.55; }.command-header { padding-bottom:20px; }
  .page-header { gap:14px; margin-bottom:20px; }.page-header .pill.large { margin-top:14px; }.freshness,.header-stat { width:100%; margin-top:14px; }
  .stale-banner,.info-banner,.success-banner,.form-error { align-items:flex-start; flex-direction:column; }
  .panel { margin-top:14px; }.panel-heading { min-height:60px; padding:13px 14px; gap:10px; }.panel-heading h2 { overflow-wrap:anywhere; }
  .metrics strong { font-size:34px; }.metrics article { padding:16px; }.module-grid { gap:7px; }
  .event-card-top,.event-card-body,.event-card-signals,.purchase-top,.capacity-card>header { align-items:flex-start; flex-wrap:wrap; }.event-card-signals { display:grid; grid-template-columns:1fr; gap:8px; }.event-card { min-height:0; }.event-card h3 { overflow-wrap:anywhere; }
  .purchase-card footer { gap:8px; flex-wrap:wrap; }.capacity-body { grid-template-columns:1fr; }.capacity-body div { border-right:0; }.readiness-row { gap:16px; align-items:flex-start; }.readiness-row strong { text-align:right; overflow-wrap:anywhere; }
  .facts div,.side-facts div,dd,.run-main small,.note { overflow-wrap:anywhere; }.facts div { padding:13px 14px; }.back-link { min-height:44px; display:inline-flex; align-items:center; margin-bottom:10px; }
  .table-wrap { overflow:visible; }table,thead,tbody,tr,td { display:block; width:100%; }thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }tbody { display:grid; gap:10px; }tbody tr { padding:7px 12px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }tbody tr:hover { background:var(--surface); }td { min-height:42px; padding:10px 0; display:grid; grid-template-columns:minmax(96px,.72fr) minmax(0,1fr); gap:12px; align-items:start; border-bottom:1px solid rgba(174,223,232,.07); overflow-wrap:anywhere; }td:last-child { border-bottom:0; }td::before { content:attr(data-label); color:var(--muted-2); font:600 8px/1.4 var(--mono); letter-spacing:.08em; text-transform:uppercase; }td.empty { display:block; min-height:0; padding:22px 8px; }td.empty::before { display:none; }
  .inventory-group>summary { min-height:52px; padding:12px; gap:9px; }.inventory-product-row { padding:13px 12px; }.inventory-product-name { padding-right:25px; }.inventory-quantity,.inventory-supplier { min-width:0; }.inventory-quantity::before,.inventory-supplier::before { content:attr(data-label); display:block; margin-bottom:4px; color:var(--muted-2); font:600 8px/1.3 var(--mono); letter-spacing:.07em; text-transform:uppercase; }.inventory-available { grid-column:1/-1; padding-top:9px; border-top:1px solid var(--line); }
  .inventory-search input,.inventory-search button,.inventory-search a,.login-form input,.login-form button,.field input,.field select,.field textarea,.form-actions button { min-height:44px; }
  .login-body { display:block; min-height:100vh; padding:0; }.login-shell { width:100%; min-height:100vh; display:block; border:0; border-radius:0; }.login-brand-panel { min-height:auto; padding:22px 20px 18px; }.login-brand-panel .brand-mark { width:42px; height:42px; margin-bottom:16px; }.login-brand-panel h1 { margin-top:8px; font-size:30px; }.login-brand-panel>p:not(.eyebrow) { margin-bottom:0; font-size:14px; line-height:1.45; }.login-security { margin-top:14px; }.login-card { padding:28px 20px 40px; }.login-card h2 { font-size:28px; }.login-intro { margin-bottom:18px; }
}

/* Shared shopping flow: inventory + procurement */
.category-jumpbar { position:sticky; top:10px; z-index:20; margin:0 0 18px; padding:7px; display:flex; gap:6px; overflow-x:auto; scrollbar-width:thin; border:1px solid var(--line); border-radius:10px; background:rgba(7,13,16,.93); backdrop-filter:blur(14px); box-shadow:0 12px 35px rgba(0,0,0,.22); }
.category-jumpbar a { min-height:46px; min-width:max-content; padding:8px 11px; display:flex; align-items:center; gap:8px; border:1px solid transparent; border-radius:7px; color:#b7c5cb; text-decoration:none; white-space:nowrap; font-size:11px; font-weight:620; }
.category-jumpbar a:hover,.category-jumpbar a:focus-visible { border-color:var(--line-strong); background:var(--accent-soft); color:#effdff; outline:none; }
.category-jumpbar a>span { color:var(--accent); font:600 8px/1 var(--mono); }
.category-jumpbar a>b { min-width:22px; padding:3px 6px; border-radius:999px; background:rgba(99,230,238,.08); color:var(--accent); font:600 8px/1 var(--mono); text-align:center; }
.shopping-browser { display:grid; gap:12px; }
.shopping-section { scroll-margin-top:86px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); overflow:hidden; }
.shopping-section>summary { min-height:64px; padding:13px 17px; display:flex; align-items:center; gap:12px; cursor:pointer; list-style:none; user-select:none; }
.shopping-section>summary::-webkit-details-marker { display:none; }
.shopping-section>summary::after { content:"+"; margin-left:4px; color:var(--muted-2); font:17px/1 var(--mono); }
.shopping-section[open]>summary { border-bottom:1px solid var(--line); background:linear-gradient(90deg,rgba(99,230,238,.045),transparent 55%); }
.shopping-section[open]>summary::after { content:"−"; color:var(--accent); }
.section-order { color:var(--accent); font:600 9px/1 var(--mono); letter-spacing:.08em; }
.section-title { color:#e7f3f5; font-size:17px; font-weight:620; letter-spacing:-.015em; }
.section-hint { margin-left:auto; color:var(--muted); font-size:10px; }
.shopping-section>summary .count { display:none; }
.category-chip { display:inline-flex; width:max-content; margin-top:5px; padding:3px 6px; border:1px solid rgba(99,230,238,.14); border-radius:4px; background:rgba(99,230,238,.045); color:#79b9c0; font:600 8px/1.2 var(--mono); letter-spacing:.05em; text-transform:uppercase; }
.procurement-section .procurement-grid { padding:14px; }
.procurement-section .purchase-card { background:rgba(14,24,29,.92); }
.procurement-section .purchase-top h2 { margin-top:5px; }

@media (max-width:600px) {
  .category-jumpbar { top:64px; margin:0 -12px 14px; padding:7px 12px; border-left:0; border-right:0; border-radius:0; }
  .category-jumpbar a { min-height:44px; padding:8px 10px; }
  .shopping-section { scroll-margin-top:126px; }
  .shopping-section>summary { min-height:58px; padding:12px; gap:9px; }
  .section-title { font-size:15px; }
  .section-hint { display:none; }
  .shopping-section>summary .count { display:inline-block; margin-left:auto; }
  .inventory-group>summary::before { display:none; }
  .procurement-section .procurement-grid { padding:9px; gap:9px; }
  .purchase-card dl { padding-inline:14px; }
  .purchase-top,.purchase-card footer { padding-inline:14px; }
}

/* Unanswered customer mail review */
.mail-review-list{display:grid;gap:24px}.mail-review-card{background:rgba(11,20,25,.96);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:var(--shadow)}.mail-card-head,.mail-draft-title,.mail-actions{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.mail-card-head h2{margin:.15rem 0 .4rem}.status-badge{background:rgba(99,230,238,.08);color:var(--accent);border:1px solid rgba(99,230,238,.22);border-radius:999px;padding:7px 11px;font-weight:700;white-space:nowrap}.mail-information-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(320px,1.2fr);gap:22px;margin-top:22px}.mail-information-grid>section,.mail-draft{border:1px solid var(--line);border-radius:12px;padding:18px;background:rgba(20,32,38,.72)}.mail-information-grid h3,.mail-draft h3{margin:0 0 12px}.mail-information-grid dl{display:grid;gap:8px;margin:0}.mail-information-grid dl div{display:grid;grid-template-columns:90px 1fr;gap:12px}.mail-information-grid dt{color:var(--muted)}.mail-information-grid dd{margin:0;font-weight:650}.mail-summary{padding:12px;background:rgba(0,0,0,.14);border-radius:10px}.mail-missing{margin-top:14px}.mail-missing ul{margin:.5rem 0 0;padding-left:20px}.mail-full-body,.mail-draft pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.55;margin:0;max-height:520px;overflow:auto;color:var(--text)}.mail-draft{margin-top:20px;border-color:rgba(99,230,238,.2)}.mail-draft-title span{color:#f4d37a;background:rgba(244,211,122,.08);border-radius:999px;padding:6px 10px;font-weight:700}.mail-actions{justify-content:flex-end;margin-top:18px}.mail-actions button{border:0;border-radius:8px;padding:12px 18px;font-weight:800;cursor:pointer}.mail-approve{background:#2c9367;color:white}.mail-reject{background:transparent;color:#ff9d9d;border:1px solid rgba(255,157,157,.45)!important}.mail-command-pending,.action-banner,.mail-empty{margin-top:18px;padding:15px 18px;border-radius:10px;background:rgba(244,211,122,.08)}.action-banner{display:flex;gap:10px;margin:0 0 18px;background:rgba(99,230,238,.08)}.action-banner.success{background:rgba(44,147,103,.16)}.action-banner.error{background:rgba(200,75,75,.16)}.mail-empty{text-align:center;padding:40px}.mail-empty p{margin:.5rem 0 0}
@media(max-width:820px){.mail-information-grid{grid-template-columns:1fr}.mail-card-head,.mail-draft-title{display:block}.status-badge{display:inline-block;margin-top:10px}.mail-actions{display:grid;grid-template-columns:1fr}.mail-actions form,.mail-actions button{width:100%}.mail-review-card{padding:16px}.mail-information-grid dl div{grid-template-columns:80px 1fr}}
