/* AXIS orbital layer (Nov 2026). Loaded after axis.css. Deep space, titanium glass, ion blue, one gold value per screen. */
:root{
  --bg:#03060D;--surface:#0A1222;--surface-2:#111C30;--glass:rgba(14,24,43,.58);--glass-hi:rgba(24,38,64,.72);
  --border:rgba(170,190,220,.13);--edge-hi:rgba(205,220,242,.30);--text:#EAF0F8;--text-muted:#94A3BA;--text-faint:#5F6C84;
  --blue:#4FB4FF;--ion-glow:rgba(79,180,255,.42);--on-blue:#031020;--gold:#F4B04A;--sol-glow:rgba(244,176,74,.5);
  --positive:#43D19A;--warning:#E8B04A;--danger:#F07272;
  --chart-1:#4FB4FF;--chart-2:#8C9BFF;--chart-3:#43D1C4;--chart-4:#C8D3E2;--chart-5:#E3A6C8;--chart-6:#7FA6C9;
  --heat-0:#101b2e;--heat-1:#14385a;--heat-2:#1d5f93;--heat-3:#2f8bd0;--heat-4:#4FB4FF;
  --star:rgba(220,232,255,.78);--gridline:rgba(120,150,200,.065);
  --blue-glow:0 0 0 3px rgba(79,180,255,.22),0 0 18px rgba(79,180,255,.3);
  --f-ui:"Geist",Inter,ui-sans-serif,system-ui,sans-serif;--f-label:Michroma,"Geist",ui-sans-serif,sans-serif;--f-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --radius:18px;--rail:104px;
}
@media (prefers-color-scheme:light){:root:not([data-theme=dark]){
  --bg:#E8EDF5;--surface:#FFFFFF;--surface-2:#EEF2F8;--glass:rgba(255,255,255,.66);--glass-hi:rgba(255,255,255,.9);
  --border:rgba(40,70,110,.13);--edge-hi:rgba(40,70,110,.26);--text:#0A1424;--text-muted:#4A5A72;--text-faint:#7B889C;
  --blue:#1668E3;--ion-glow:rgba(22,104,227,.22);--on-blue:#FFFFFF;--gold:#B8720F;--sol-glow:rgba(194,122,18,.3);
  --positive:#13895A;--warning:#A26E0C;--danger:#C23B3B;
  --chart-1:#1668E3;--chart-2:#5A57D6;--chart-3:#0E9A8C;--chart-4:#6B7A90;--chart-5:#B0568A;--chart-6:#4F7FA8;
  --heat-0:#e3e9f2;--heat-1:#c3d6f2;--heat-2:#8fb4ea;--heat-3:#4f8de0;--heat-4:#1668E3;
  --star:rgba(40,70,120,.26);--gridline:rgba(30,60,110,.06);--blue-glow:0 0 0 3px rgba(22,104,227,.2);
}}
:root[data-theme=light]{
  --bg:#E8EDF5;--surface:#FFFFFF;--surface-2:#EEF2F8;--glass:rgba(255,255,255,.66);--glass-hi:rgba(255,255,255,.9);
  --border:rgba(40,70,110,.13);--edge-hi:rgba(40,70,110,.26);--text:#0A1424;--text-muted:#4A5A72;--text-faint:#7B889C;
  --blue:#1668E3;--ion-glow:rgba(22,104,227,.22);--on-blue:#FFFFFF;--gold:#B8720F;--sol-glow:rgba(194,122,18,.3);
  --positive:#13895A;--warning:#A26E0C;--danger:#C23B3B;
  --chart-1:#1668E3;--chart-2:#5A57D6;--chart-3:#0E9A8C;--chart-4:#6B7A90;--chart-5:#B0568A;--chart-6:#4F7FA8;
  --heat-0:#e3e9f2;--heat-1:#c3d6f2;--heat-2:#8fb4ea;--heat-3:#4f8de0;--heat-4:#1668E3;
  --star:rgba(40,70,120,.26);--gridline:rgba(30,60,110,.06);--blue-glow:0 0 0 3px rgba(22,104,227,.2);
}
:root[data-theme=dark]{color-scheme:dark}

@media screen{
/* ---- ground ---- */
body{font-family:var(--f-ui);letter-spacing:-.008em;background:var(--bg)}
#sky{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(1000px 560px at 78% -10%,var(--ion-glow),transparent 62%),
    radial-gradient(760px 460px at 110% 105%,color-mix(in srgb,var(--sol-glow) 38%,transparent),transparent 62%),
    linear-gradient(var(--gridline) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg,var(--gridline) 1px,transparent 1px) 0 0/48px 48px;
  -webkit-mask-image:radial-gradient(ellipse at 62% 18%,#000 28%,transparent 86%);mask-image:radial-gradient(ellipse at 62% 18%,#000 28%,transparent 86%)}
.shell,.auth-page{position:relative;z-index:1}
::selection{background:color-mix(in srgb,var(--blue) 35%,transparent)}

/* ---- type ---- */
h1,h2,h3{font-family:var(--f-ui)}
h1{font-weight:300;letter-spacing:-.045em}
h2{font-weight:400;letter-spacing:-.025em}
h3{font-weight:500}
.eyebrow,.workspace-kicker,.metric-caption,.inspector-kicker,.filter-label,th,.detail-list dt{font-family:var(--f-label);font-weight:400;letter-spacing:.24em;text-transform:uppercase}
.eyebrow{font-size:9px;color:var(--text-faint)}
th{font-size:8.5px;letter-spacing:.2em}
.detail-list dt{font-size:8.5px}
.badge,.cell-sub,.small,time,.page-footer,.table-footer,code{font-family:var(--f-mono)}
.badge{font-size:10px;letter-spacing:0}
.num,.matrix td,.fte-summary strong,.summary-total,.period-reading strong,.coverage-head>strong,.spectrum-values strong{font-variant-numeric:tabular-nums}

/* ---- glass ---- */
.panel,.filters,.measurement-banner,.app-spectrum,.source-app,.notice,.report-cover,.tabs,.bulk-bar{
  background:var(--glass);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);
  border:1px solid var(--border);border-radius:var(--radius);position:relative}
.panel::after,.app-spectrum::after,.source-app::after,.report-cover::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(140deg,var(--edge-hi),transparent 30%,transparent 70%,color-mix(in srgb,var(--blue) 26%,transparent));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.panel-head,.panel-bottom,.fte-summary,.form-section,.matrix tfoot th,.matrix tfoot td{border-color:var(--border)}
.panel-head{background:transparent}
.activity-panel:before,.source-app:before,.report-cover:before{display:none}
.period-inspector{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}

/* ---- rail ---- */
@media (min-width:741px){
  .sidebar{inset:14px auto 14px 14px;height:auto;width:76px;border-radius:20px;background:var(--glass);border:1px solid var(--border);
    backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);color:var(--text-muted)}
  .brand{height:96px;padding:14px 6px 10px}
  .brand-emblem{width:42px;height:42px;filter:drop-shadow(0 0 12px var(--ion-glow))}
  .rail-wordmark{font-size:9px;letter-spacing:.3em;color:var(--text);margin-left:4px}
  .sidebar nav{padding:6px 8px 10px;gap:2px}
  .nav-link{min-height:54px;font-size:10px;color:var(--text-faint);border:0;border-radius:12px;transition:color .16s,background .16s}
  .nav-link .icon{width:19px;height:19px}
  .nav-link:hover{background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text)}
  .nav-link[aria-current=page]{background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--text);border:0;box-shadow:none}
  .nav-link[aria-current=page]::before{content:"";position:absolute;left:-8px;top:13px;bottom:13px;width:3px;border-radius:3px;background:var(--blue);box-shadow:0 0 14px 2px var(--ion-glow)}
  .nav-count{background:var(--gold);color:#1a1205;font-family:var(--f-mono)}
  .sidebar-bottom{border-top:1px solid var(--border);min-height:70px}
  .avatar{border-color:var(--edge-hi);color:var(--text-muted);background:transparent;font-family:var(--f-mono)}
}
@media (max-width:740px){
  .sidebar{background:var(--surface);border-right:1px solid var(--border)}
  .nav-link{color:var(--text-muted)}.nav-link[aria-current=page]{background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--text);border-color:transparent}
}

/* ---- top bar ---- */
.topbar{background:color-mix(in srgb,var(--bg) 62%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.workspace-kicker{font-size:8.5px;color:var(--text-faint)}
.topbar-title strong{font-weight:400;letter-spacing:-.01em}
.global-filters .filter-label{font-size:8px;color:var(--text-faint)}
.mobile-masthead span:first-of-type{font-family:var(--f-label)}

/* ---- controls ---- */
input,select,textarea{background:color-mix(in srgb,var(--bg) 55%,transparent);border:1px solid var(--border);border-radius:10px;color:var(--text);font-family:var(--f-ui)}
input:focus,select:focus,textarea:focus,.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:none;border-color:var(--blue);box-shadow:var(--blue-glow)}
.btn{border-radius:10px;border:1px solid var(--border);background:var(--glass);color:var(--text);font-weight:500;transition:border-color .16s,box-shadow .16s,transform .16s}
.btn:hover{border-color:var(--edge-hi);text-decoration:none}
.btn-subtle{background:transparent}
.btn-primary{background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 92%,#fff),var(--blue));border-color:transparent;color:var(--on-blue);box-shadow:0 6px 22px -8px var(--ion-glow)}
.btn-primary:hover{filter:brightness(1.06);box-shadow:0 8px 28px -8px var(--ion-glow)}
.btn-danger{color:var(--danger)}
.tabs{border-radius:12px;padding:4px}
.tab{border-radius:9px}
.tab.active{background:var(--glass-hi);color:var(--text);box-shadow:0 0 0 1px var(--border)}
.segmented{background:color-mix(in srgb,var(--bg) 50%,transparent);border-color:var(--border);border-radius:11px}
.segmented button[aria-pressed=true]{background:var(--glass-hi);color:var(--text);box-shadow:0 0 0 1px var(--border)}
.badge{border-radius:999px;padding:3px 9px;background:color-mix(in srgb,var(--text) 5%,transparent)}
.badge-blue{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 40%,transparent)}
.badge-positive{color:var(--positive);border-color:color-mix(in srgb,var(--positive) 40%,transparent)}
.badge-warning{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 40%,transparent)}
.badge-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}
.notice{border-radius:14px}

/* ---- tables ---- */
th{background:transparent;color:var(--text-faint);border-bottom:1px solid var(--border)}
td{border-color:var(--border)}
tbody tr{transition:background .14s}
tbody tr:hover{background:color-mix(in srgb,var(--blue) 6%,transparent)}
.matrix td a{background:color-mix(in srgb,var(--text) 4%,transparent);border:1px solid var(--border);border-radius:9px;font-family:var(--f-mono);font-size:12px}
.matrix td a:hover{border-color:var(--blue);color:var(--blue);box-shadow:0 0 16px -4px var(--ion-glow)}
.matrix td.total{color:var(--blue)}
.matrix tfoot th,.matrix tfoot td,.matrix .total{background:color-mix(in srgb,var(--text) 3%,transparent)}
.matrix th:first-child{background:var(--surface)}

/* ---- page heading ---- */
.page-heading h1{font-size:36px;font-weight:300;letter-spacing:-.045em}
.page-heading p{color:var(--text-muted)}

/* ---- numbers that matter ---- */
.fte-summary strong{font-weight:200;font-size:36px;letter-spacing:-.045em}
.fte-summary>div:first-child strong,.spend-summary>div:first-child strong,.vendor-summary>div:first-child strong{color:var(--gold);text-shadow:0 0 30px var(--sol-glow)}
.fte-summary span{font-family:var(--f-label);font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint)}
.period-reading strong,.coverage-head>strong{font-weight:200}
.formula{color:var(--text-muted)}

/* ---- charts ---- */
.chart-text,.insight-axis{font-family:var(--f-mono)}
.coverage-track,.composition-track,.score-bar,.bar{background:color-mix(in srgb,var(--text) 8%,transparent)}
.coverage-track>span{background:var(--gold);box-shadow:0 0 12px var(--sol-glow)}
.composition-track>span{box-shadow:0 0 10px currentColor}
.score-bar i{box-shadow:0 0 10px var(--ion-glow)}

.insight-svg path[stroke][fill="none"],.app-trace path{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--blue) 45%,transparent))}
.insight-area{fill-opacity:.22}
.insight-grid line,.insight-grid{stroke:var(--border);stroke-dasharray:2 5}

/* ---- spectrum ---- */
.app-spectrum{border-radius:var(--radius);overflow:hidden}
.spectrum-app{border-color:var(--border)}
.spectrum-app:hover{background:color-mix(in srgb,var(--blue) 6%,transparent)}
.spectrum-values strong{font-weight:300;font-size:28px;letter-spacing:-.035em}
.series-dot{box-shadow:0 0 8px var(--series-color,var(--blue))}

/* ---- drawer & toast ---- */
.drawer-overlay{background:color-mix(in srgb,var(--bg) 55%,transparent);backdrop-filter:blur(3px)}
.drawer{background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-left:1px solid var(--edge-hi)}
.drawer-head{background:transparent}
.drawer-head h2{font-weight:300}
.toast{background:var(--glass-hi);border:1px solid var(--edge-hi);backdrop-filter:blur(16px);border-radius:12px}

/* ---- overview hero ---- */
.orbital-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:16px;padding:34px 40px 30px;margin-bottom:18px;overflow:hidden}
.hero-eyebrow{display:flex;align-items:center;gap:10px;font:400 9.5px/1 var(--f-label);letter-spacing:.3em;color:var(--text-faint);text-transform:uppercase}
.hero-eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--positive);box-shadow:0 0 10px var(--positive)}
.hero-eyebrow.is-degraded i{background:var(--warning);box-shadow:0 0 10px var(--warning)}
.orbital-hero h1{margin:22px 0 0;font-weight:200;font-size:clamp(40px,5vw,74px);line-height:.98;letter-spacing:-.05em;text-wrap:balance}
.orbital-hero .hero-fte{font-weight:300;color:var(--gold);text-shadow:0 0 40px var(--sol-glow);font-variant-numeric:tabular-nums}
.orbital-hero .hero-unit{font:400 .25em var(--f-label);letter-spacing:.24em;color:var(--gold);vertical-align:.95em;margin-left:.3em}
.orbital-hero .hero-lede{margin:18px 0 0;color:var(--text-muted);font-size:15px;max-width:48ch;line-height:1.6}
.hero-facts{margin:26px 0 0;display:flex;gap:30px;flex-wrap:wrap}
.hero-facts div{display:grid;gap:7px}
.hero-facts strong{font:300 26px/1 var(--f-ui);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text)}
.hero-facts strong small{font-size:14px;color:var(--text-muted);margin-left:2px}
.hero-facts span{font:400 8.5px/1 var(--f-label);letter-spacing:.22em;color:var(--text-faint);text-transform:uppercase}
.hero-facts em{font:500 11px var(--f-mono);font-style:normal;color:var(--positive)}
.hero-facts em.down{color:var(--text-muted)}
.hero-links{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap}
.share-dial{position:relative;width:100%;max-width:430px;aspect-ratio:1/1;justify-self:center}
.share-dial svg{width:100%;height:100%;overflow:visible}
.dial-ticks{transform-origin:240px 240px;animation:dial-sweep 140s linear infinite}
@keyframes dial-sweep{to{transform:rotate(360deg)}}
.dial-tick{stroke:var(--border);stroke-width:1}.dial-tick.major{stroke:var(--text-faint);stroke-width:1.4}
.dial-track{fill:none;stroke:color-mix(in srgb,var(--text) 8%,transparent);stroke-width:12;stroke-linecap:round}
.dial-arc{fill:none;stroke-width:12;stroke-linecap:round;filter:drop-shadow(0 0 6px currentColor)}
.dial-value{font:200 44px var(--f-ui);fill:var(--text);letter-spacing:-.04em}
.dial-key{font:400 8.5px var(--f-label);fill:var(--text-faint);letter-spacing:.3em}
.dial-legend{position:absolute;left:50%;bottom:8%;transform:translateX(-50%);list-style:none;margin:0;padding:0;display:grid;gap:7px;font:500 11px var(--f-mono);color:var(--text-muted)}
.dial-legend a{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center;min-width:150px;color:inherit;text-decoration:none}
.dial-legend a:hover{color:var(--text)}
.dial-legend i{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
.dial-legend b{color:var(--text);font-weight:500}
.overview-page .studio-context{margin-top:0}
@media (max-width:1100px){.orbital-hero{grid-template-columns:1fr;padding:28px}.share-dial{max-width:360px}}
@media (max-width:740px){.orbital-hero{padding:22px 18px;gap:6px}.hero-facts{gap:18px}.share-dial{max-width:320px}.page-heading h1{font-size:28px}}

/* ---- auth ---- */
.auth-brand{background:radial-gradient(ellipse at center,rgba(33,106,151,.22),transparent 65%),rgba(3,6,13,.72)}
.auth-main{background:transparent}
.auth-box{background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--border);border-radius:20px;padding:36px}
.auth-logo{filter:drop-shadow(0 0 40px var(--ion-glow))}
}
@media (prefers-reduced-motion:reduce){.dial-ticks{animation:none}.btn,.nav-link,tbody tr{transition:none}}
.auth-box h1{margin:0 0 28px;font-size:30px}.auth-box h1+p{margin:-18px 0 28px;font-family:var(--f-mono);font-size:12px}
