:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface:#fcfcfb;--surface-raised:#fff;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#6f6d68;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b1a;--accent:#2a78d6;--accent-ink:#fff;--wash:#0b0b0b0a;--compare:#a3a197;--good-text:#006300;--bad-text:#b3261e;--status-good:#0ca30c;--status-warning:#b47a00;--status-critical:#d03b3b;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--radius:10px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-raised:#222220;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#a3a197;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--accent:#3987e5;--wash:#ffffff0d;--compare:#6f6d68;--good-text:#0ca30c;--bad-text:#e66767;--status-warning:#fab219;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--surface-raised:#222220;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#a3a197;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--accent:#3987e5;--wash:#ffffff0d;--compare:#6f6d68;--good-text:#0ca30c;--bad-text:#e66767;--status-warning:#fab219;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181}*{box-sizing:border-box}html,body{margin:0}body{background:var(--page);color:var(--text-primary);font-size:14px;line-height:1.45}h1,h2,h3{margin:0;font-weight:600}.muted{color:var(--text-secondary)}.topbar{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 24px;display:flex;position:sticky;top:0}.brand{white-space:nowrap;font-size:15px;font-weight:700}.nav{flex-wrap:wrap;flex:1;gap:2px;display:flex}.nav a{color:var(--text-secondary);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-weight:500;text-decoration:none;display:inline-flex}.nav a:hover{background:var(--wash);color:var(--text-primary)}.nav a.active{background:var(--wash);color:var(--text-primary);box-shadow:inset 0 -2px 0 var(--accent)}.user{align-items:center;gap:8px;display:flex}.content{max-width:1280px;margin:0 auto;padding:24px}.page{flex-direction:column;gap:16px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.page-header h1{font-size:22px}.freshness-note{color:var(--text-muted);margin:0;font-size:12px}.page-body{flex-direction:column;gap:16px;transition:opacity .15s;display:flex}.page-body.refetching{opacity:.6}.phase-note{color:var(--text-muted);margin:16px 0 0;font-size:13px}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field-label{color:var(--text-secondary);font-size:12px;font-weight:500}.field-inline{flex-direction:row;align-items:center;gap:8px}select,input[type=date],input[type=search]{font:inherit;color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;min-height:34px;padding:6px 10px}select:focus-visible,input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.range-hint{color:var(--text-muted);padding-bottom:9px;font-size:12px}.button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface-raised);min-height:34px;color:var(--text-primary);border-radius:8px;padding:6px 12px;font-weight:500}.button:hover{background:var(--wash)}.button-primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.button-primary:hover{background:var(--accent);filter:brightness(1.08)}.button-ghost{background:0 0;border-color:#0000}.tiles{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.tile,.card,.table-card,.signin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.tile{flex-direction:column;gap:4px;padding:14px 16px;display:flex}.tile-label{color:var(--text-secondary);align-items:center;gap:6px;font-weight:500;display:flex}.tile-value{letter-spacing:-.01em;font-size:26px;font-weight:600}.tile-hero{grid-column:span 2}.tile-hero .tile-value{font-size:48px;line-height:1.1}.tile-delta{font-size:12px}.delta-up{color:var(--good-text)}.delta-down{color:var(--bad-text)}.delta-flat{color:var(--text-secondary)}.swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.card{padding:16px}.card-title{font-size:15px}.card-subtitle{color:var(--text-muted);margin:2px 0 12px;font-size:12px}.chart{margin:0}.chart-plot{height:320px}.legend{color:var(--text-secondary);flex-wrap:wrap;gap:14px;margin-bottom:8px;font-size:12px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.line-key{border-radius:1px;flex:none;width:14px;height:2px;display:inline-block}.chart-tooltip{background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;min-width:170px;padding:8px 10px;font-size:12px;box-shadow:0 4px 16px #0000001f}.chart-tooltip-title{color:var(--text-secondary);margin-bottom:4px}.chart-tooltip-row{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:flex}.recharts-surface:focus{outline:none}.table-card{overflow:hidden}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.table-title{font-size:15px}.table-actions{gap:8px;margin-left:auto;display:flex}.table-scroll{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{border-top:1px solid var(--grid);text-align:left;white-space:nowrap;padding:8px 16px}th{color:var(--text-secondary);padding:0;font-size:12px;font-weight:500}th.num,td.num{text-align:right}.th-button{font:inherit;color:inherit;cursor:pointer;width:100%;text-align:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:8px 16px;display:inline-flex}th.num .th-button{justify-content:flex-end}.th-button:hover{color:var(--text-primary)}.sort-mark{width:10px;display:inline-block}tbody tr:hover{background:var(--wash)}.cell-line{align-items:center;gap:8px;display:inline-flex}.empty{color:var(--text-muted);text-align:center;padding:24px}.page-section{flex-direction:column;gap:16px;margin-top:28px;display:flex}.section-title{font-size:18px}.tile-small .tile-value{font-size:22px}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.segmented{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:2px;padding:2px;display:inline-flex}.segmented button{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 10px;font-size:13px}.segmented button:hover{background:var(--wash);color:var(--text-primary)}.segmented button[aria-selected=true]{background:var(--surface-raised);color:var(--text-primary);box-shadow:0 0 0 1px var(--border);font-weight:500}.refetching{opacity:.6;transition:opacity .15s}.inventory{flex-direction:column;gap:12px;margin-top:12px;display:flex}.inventory-header{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.checkbox{color:var(--text-secondary);align-items:center;gap:6px;display:inline-flex}.inventory-header .checkbox{margin-left:auto}.low-stock{color:var(--bad-text);font-weight:600}.nav-button{font:inherit;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:6px 10px;font-weight:500}.nav-button:hover,.nav-button[aria-expanded=true]{background:var(--wash);color:var(--text-primary)}.nav-button.active{color:var(--text-primary);box-shadow:inset 0 -2px 0 var(--accent)}.menu{position:relative}.menu-panel{z-index:20;background:var(--surface-raised);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;min-width:240px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #00000024}.menu-panel a{color:var(--text-primary);border-radius:6px;padding:7px 10px;text-decoration:none}.menu-panel a:hover,.menu-panel a.active{background:var(--wash)}.menu-heading{color:var(--text-muted);border-top:1px solid var(--grid);margin-top:4px;padding:8px 10px 4px;font-size:12px}.tile-link{color:inherit;text-decoration:none;transition:border-color .12s,background .12s}.tile-link:hover{border-color:var(--axis);background:var(--surface-raised)}.dialog{border:1px solid var(--border);background:var(--surface-raised);width:min(440px,100vw - 32px);color:var(--text-primary);border-radius:12px;padding:20px}.dialog::backdrop{background:#00000059}.dialog h2{margin-bottom:4px;font-size:17px}.dialog p{margin:0 0 12px;font-size:13px}.customize-list{flex-direction:column;margin:0 0 12px;padding:0;list-style:none;display:flex}.customize-list li{border-top:1px solid var(--grid);justify-content:space-between;align-items:center;padding:4px 0;display:flex}.customize-list .checkbox{color:var(--text-primary);margin:0}.customize-move .button{min-height:28px;padding:2px 8px}.dialog-actions{align-items:center;gap:8px;display:flex}.spacer{flex:1}.button:disabled{opacity:.5;cursor:default}.badge{background:var(--wash);color:var(--text-secondary);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.badge-none{color:var(--bad-text)}.badge-pending{color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--accent)}.select-warning{box-shadow:inset 0 0 0 1px var(--status-critical)}.notice{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:10px 12px}.notice-warning{border-color:var(--status-warning)}.notice-good{border-color:var(--status-good)}.notice code{background:var(--wash);border-radius:4px;padding:1px 4px;font-size:12px}.placeholder-card{color:var(--text-secondary)}.health{align-items:center;gap:6px;font-weight:500;display:inline-flex}.health-good span{color:var(--status-good)}.health-warning span{color:var(--status-warning)}.health-critical span{color:var(--status-critical)}.health-pending{color:var(--text-muted)}.error-banner{border:1px solid var(--status-critical);color:var(--text-primary);background:var(--wash);border-radius:8px;padding:10px 12px}.loading{text-align:center;color:var(--text-muted);padding:48px}.signin{place-items:center;min-height:100vh;padding:16px;display:grid}.signin-card{text-align:center;flex-direction:column;gap:14px;width:100%;max-width:380px;padding:32px;display:flex}@media (width<=720px){.topbar{padding:10px 16px}.content{padding:16px}.user-email{display:none}.nav{flex-wrap:nowrap;flex-basis:100%;order:3;overflow-x:auto}.tile-hero{grid-column:1/-1}.tile-hero .tile-value{font-size:40px}.tile-value{font-size:22px}.chart-plot{height:260px}.field,.field select,.field input{width:100%}.filter-bar{grid-template-columns:1fr 1fr;display:grid}}.row-link{cursor:pointer}.row-link:hover td,.row-link:focus-visible td{background:var(--wash)}.chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{border:1px solid var(--border);background:var(--surface-raised);border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 10px;font-size:13px;display:inline-flex}.chip button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:2px 4px;font-size:14px;line-height:1}.chip button:hover{background:var(--wash);color:var(--text-primary)}.chip-label{color:var(--text-secondary)}.filter-picker{flex-direction:column;gap:10px;display:flex}.filter-values{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px;max-height:280px;display:grid;overflow:auto}.filter-values label{align-items:center;gap:6px;font-size:13px;display:flex}.filter-values .muted{margin-left:auto}.link-button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.hint{color:var(--text-muted);font-size:12px}.family-map{background:var(--wash);z-index:0;border-radius:8px;height:460px;position:relative;overflow:hidden}@media (width<=600px){.family-map{height:360px}}.map-tiles{filter:grayscale()brightness(1.05)contrast(.9)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .map-tiles{filter:grayscale()invert()brightness(.9)contrast(.9)}}:root[data-theme=dark] .map-tiles{filter:grayscale()invert()brightness(.9)contrast(.9)}
