@font-face{font-family:DM Sans;src:url('./fonts/dmsans.ttf') format('truetype');font-weight:100 1000;font-display:swap}
@font-face{font-family:Space Grotesk;src:url('./fonts/spacegrotesk.ttf') format('truetype');font-weight:300 700;font-display:swap}

/* Ágora / Orbital — a quiet, dimensional space for campaign data. */
:root{
  color-scheme:dark;
  --paper:#090d16;--surface:#121925;--surface-raised:#192231;--navy:#0c111c;
  --ink:#f1f4fa;--muted:#a4afc1;--line:#2a3445;--control-line:#65748d;
  --accent:#94b9ff;--accent-rgb:148,185,255;--blue:var(--accent);--cyan:#76dfcf;
  --gold:#d6bd88;--good:#90e0b4;--warning:#f2ca83;--warning-bg:#302719;
  --chart-secondary:#b8a0e4;--focus:#f4d699;
  --ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);
  --press:160ms;--enter:220ms;--radius:18px;--side:226px;
  --shadow:0 8px 28px #00000026,inset 0 1px 0 #ffffff07;
}
*{box-sizing:border-box}
html{scroll-padding-top:24px;scrollbar-gutter:stable}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 'DM Sans','Segoe UI',sans-serif;min-height:100dvh}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 82% 0%,rgba(var(--accent-rgb),.07),transparent 45%)}
body[data-platform=tiktok]{--accent:#84e6d2;--accent-rgb:132,230,210}
body[data-platform=x]{--accent:#c4b2f5;--accent-rgb:196,178,245}
body[data-platform=google]{--accent:#b0c3d8;--accent-rgb:176,195,216}
button,select{font:inherit;color:inherit}
button,select,summary,.button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button,summary,select{cursor:pointer}
button{border:0;background:none}
button,.button{transition:transform var(--press) var(--ease-out)}
button:active,.button:active{transform:scale(.97)}
button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
a{color:var(--accent);text-underline-offset:4px}
h1,h2,h3,p{margin:0}
h1,h2,h3,.metric .value,.journey strong,.insight-number{font-family:'Space Grotesk','Segoe UI',sans-serif}
h1{font-size:clamp(30px,2.9vw,44px);font-weight:500;letter-spacing:-1.8px;line-height:1.15;text-wrap:balance}
h2{font-size:20px;font-weight:500;line-height:1.35;letter-spacing:-.5px;text-wrap:balance}
h3{font-size:16px;font-weight:500}
p{margin-top:10px}
small{font-size:12px}
select{appearance:none;border:1px solid var(--control-line);border-radius:9px;padding:10px 36px 10px 13px;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a4afc1' stroke-width='1.7'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;font-size:13px;min-height:44px;max-width:100%}
select option{background:var(--navy);color:var(--ink)}
.icon{width:20px;height:20px;flex:none;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);padding:32px 18px 22px;display:flex;flex-direction:column;background:linear-gradient(180deg,#111825,#0b101a 65%);border-right:1px solid var(--line);z-index:20;overflow-y:auto;scrollbar-width:thin}
.brand{display:flex;align-items:center;gap:13px;padding:0 10px;color:var(--gold)}
.brand-mark{width:32px;height:42px;flex:none}
.brand-word{font-family:Georgia,serif;font-size:27px;letter-spacing:3px;line-height:1}
.brand-word span{display:block;font:8px/1.4 'DM Sans',sans-serif;letter-spacing:2.8px;margin-top:8px;color:var(--muted)}
.workspace-label{margin:30px 10px 0;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}
.workspace-label::before{content:'';height:5px;width:5px;border-radius:50%;background:var(--gold)}
.side-caption{display:flex;justify-content:space-between;margin:36px 12px 12px;font-size:10px;font-weight:600;letter-spacing:1.8px;color:var(--muted)}
.side-caption span{font-variant-numeric:tabular-nums;color:var(--gold)}
.sidebar nav{display:grid;gap:8px}
.sidebar nav button{position:relative;display:flex;align-items:center;gap:12px;text-align:left;padding:13px 12px;border-radius:12px;color:var(--muted);font-size:13px;min-height:50px}
.sidebar nav button.active{background:linear-gradient(100deg,rgba(var(--accent-rgb),.15),rgba(var(--accent-rgb),.04));color:var(--ink);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.18)}
.sidebar nav button.active::before{content:'';position:absolute;left:-18px;top:17px;height:18px;width:3px;background:var(--accent);box-shadow:0 0 14px rgba(var(--accent-rgb),.6);border-radius:0 3px 3px 0}
.platform-icon{width:26px;height:26px;display:grid;place-items:center;flex:none}
.platform-icon img{width:21px;height:21px;filter:invert(1);opacity:.7}
.active .platform-icon img{opacity:1}
.source-dot{height:5px;width:5px;border-radius:50%;background:var(--muted);margin-left:auto}
.active .source-dot{background:var(--accent)}
.platform-count{margin-left:auto;font-size:11px;color:var(--muted)}
.side-note{padding:18px 14px;margin-top:30px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.side-note strong{display:block;font-weight:500;color:var(--ink);margin-bottom:6px}
.side-bottom{margin-top:auto;padding:26px 12px 0}
.edition{font-size:10px;letter-spacing:2px;color:var(--gold)}
.side-bottom p{font-size:13px;margin:6px 0 12px}
.side-bottom small{font-size:11px;line-height:1.7;color:var(--muted)}
main{margin-left:var(--side);padding:0 36px 30px;max-width:1850px}
.utility-bar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.utility-title{display:flex;align-items:center;gap:10px}
.utility-title .icon{width:16px;height:16px;color:var(--gold)}
.utility-controls{display:flex;align-items:center;gap:10px}
.utility-controls button{display:flex;gap:8px;align-items:center;border-radius:8px;min-height:44px;padding:8px 10px;color:var(--muted);font-size:12px}
.utility-controls .icon{width:17px;height:17px}
.utility-controls button[aria-pressed=true]{color:var(--accent)}
.top{position:relative;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:32px 0 28px;isolation:isolate}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.8px;color:var(--accent);margin-bottom:10px}
.hero-caption{font-size:14px;color:var(--muted);margin-top:12px}
.top-art{position:absolute;right:220px;top:0;width:230px;height:155px;z-index:-1;pointer-events:none;opacity:.25;mask-image:linear-gradient(90deg,transparent,#000 30%,#000 60%,transparent)}
.top-art svg{width:100%;height:100%;fill:none;stroke:var(--accent);stroke-width:.6}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;padding:12px 18px;border-radius:10px;text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}
.primary{background:var(--accent);color:var(--paper);box-shadow:0 3px 18px rgba(var(--accent-rgb),.12),inset 0 1px 0 #ffffff3d}
.primary .icon{width:17px;height:17px}
.filters{display:flex;align-items:center;gap:24px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(105deg,#1a2333,#131b29 55%,#151f2d);box-shadow:var(--shadow)}
.filters label{flex:1;min-width:0;display:grid;gap:6px;font-size:11px;color:var(--muted)}
.filters select{width:100%;font-size:13px;font-weight:500;background-color:#101722}
.period{flex:none}
.period span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}
.period strong{font-size:13px;font-weight:500}
.status,.state-tag{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #90e0b42b;color:var(--good);background:#90e0b40b;border-radius:8px;font-size:11px;line-height:1.5;white-space:normal;flex:none}
.status::before,.state-tag::before{content:'';width:5px;height:5px;background:currentColor;border-radius:50%;flex:none}
.state-tag.warning{background:var(--warning-bg);color:var(--warning);border-color:#f2ca8338}
.filters>.state-tag{max-width:230px}
.source-line{font-size:11px;line-height:1.7;color:var(--muted);margin:12px 3px 20px}
.source-line span{margin:0 7px}
.tabs{display:flex;gap:8px;position:relative;isolation:isolate;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:24px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.tabs button{flex:none;position:relative;min-height:42px;padding:10px 16px;border-radius:8px;font-size:13px;color:var(--muted);white-space:nowrap}
.tabs button.selected{color:var(--accent)}
.tab-indicator{position:absolute;left:0;top:0;height:42px;background:rgba(var(--accent-rgb),.09);pointer-events:none;z-index:-1;transition:clip-path 250ms var(--ease-in-out)}
.tabs button.selected::after{content:'';position:absolute;bottom:-9px;height:2px;left:16px;right:16px;background:var(--accent)}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
.metric{position:relative;min-width:0;padding:20px 20px 18px;background:linear-gradient(135deg,#1a2331,#121924);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.metric .label{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:24px;color:var(--muted);font-size:12px}
.metric .label .icon{width:17px;height:17px;color:var(--muted);opacity:.8}
.metric .value{font-size:clamp(26px,2.6vw,40px);font-weight:500;line-height:1.3;letter-spacing:-1.2px;margin:18px 0 9px;white-space:nowrap;font-variant-numeric:tabular-nums}
.metric .sub{font-size:11px;color:var(--muted);line-height:1.5;min-height:17px}
.metric:nth-child(2){border-color:rgba(var(--accent-rgb),.38);background:radial-gradient(ellipse at 100% 0%,rgba(var(--accent-rgb),.15),transparent 70%),linear-gradient(135deg,#1b2838,#15202d)}
.metric:nth-child(2)::before{content:'';position:absolute;top:0;left:24px;right:24px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.metric:nth-child(2) .value,.metric:nth-child(2) .label .icon{color:var(--accent)}
.metric .sparkline{position:absolute;right:14px;bottom:44px;width:70px;height:32px;opacity:.7}
.metric .sparkline polyline{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.insight{display:grid;grid-template-columns:46px 1fr 136px;align-items:center;gap:18px;padding:22px 24px;margin-bottom:24px;border-radius:var(--radius);background:linear-gradient(100deg,rgba(var(--accent-rgb),.075),rgba(var(--accent-rgb),.025));border:1px solid rgba(var(--accent-rgb),.19);position:relative}
.insight-label{font-size:0;color:var(--accent)}
.insight-label .icon{width:27px;height:27px}
.insight h2{font-size:18px}
.insight h2::before{content:'LECTURA EJECUTIVA';display:block;font:9px/1.5 'DM Sans',sans-serif;font-weight:600;letter-spacing:1.9px;color:var(--accent);margin-bottom:7px}
.insight p{font-size:13px;color:var(--muted);line-height:1.7;margin-top:7px;max-width:820px}
.insight p strong{font-weight:500;color:var(--ink)}
.insight-number{font-size:35px;letter-spacing:-1.5px;line-height:1.3;color:var(--accent);border-left:1px solid var(--line);padding-left:22px}
.insight-number span{display:block;font:10px/1.5 'DM Sans',sans-serif;letter-spacing:0;color:var(--muted);margin-top:5px}
.channel-insight{grid-template-columns:46px 1fr}
.card{min-width:0;padding:24px;background:linear-gradient(130deg,#151d2a,#121925 65%);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}
.card-head h2{font-size:18px}
.card-head p{font-size:12px;color:var(--muted);margin-top:6px}
.card-head select{max-width:220px;font-size:12px}
.card-head>label:not(.sr-only){display:grid;gap:6px;font-size:12px;color:var(--muted)}
.chart-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:22px}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.chart{position:relative;overflow-x:auto;scrollbar-width:thin;padding-bottom:5px}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart text{font:12px 'DM Sans',sans-serif;fill:var(--muted);font-variant-numeric:tabular-nums}
.chart .axis{stroke:var(--line);stroke-dasharray:3 5;stroke-width:1}
.chart .bar{cursor:pointer}
.chart .bar:focus{outline:2px solid var(--focus);outline-offset:3px}
.chart [data-day]:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-radius:6px}
.chart .value-label{fill:var(--ink);font-weight:500;font-size:12px}
.chart .date-label{white-space:nowrap}
.chart [data-day].is-selected .bar{fill:var(--accent)}
.chart .bar-hit{fill:transparent;cursor:pointer}
.chart .bar-guide{fill:var(--accent);opacity:0}
.chart [data-day].is-selected .bar-guide{opacity:.06}
.chart-detail{min-height:52px;background:#0c131f;border:1px solid #263244;border-radius:10px;font-size:12px;line-height:1.7;color:var(--muted);padding:13px 16px;margin-top:14px}
.chart-detail strong{color:var(--accent);font-weight:500}
.donut-block{display:flex;align-items:center;justify-content:center;position:relative;margin:0 auto 12px;width:142px;height:142px}
.donut-block svg{width:142px;height:142px;transform:rotate(-90deg);overflow:visible}
.donut-total{position:absolute;text-align:center;line-height:1.2;font-family:'Space Grotesk',sans-serif;font-size:28px;letter-spacing:-1px}
.donut-total span{display:block;font:9px/1.5 'DM Sans',sans-serif;letter-spacing:.9px;margin-top:5px;color:var(--muted);text-transform:uppercase}
.platform-row{padding:16px 0;border-bottom:1px solid var(--line)}
.platform-row:last-child{border:0;padding-bottom:0}
.platform-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:10px}
.platform-heading strong{font-weight:500;display:flex;gap:8px;align-items:center}
.platform-heading strong::before{content:'';height:6px;width:6px;border-radius:50%;background:var(--accent)}
.platform-row:last-child .platform-heading strong::before{background:var(--chart-secondary)}
.platform-heading span{font-size:12px;color:var(--muted)}
.track{display:block;height:5px;border-radius:4px;background:#253043;overflow:hidden}
.track i{display:block;height:100%;border-radius:4px;background:var(--accent)}
.platform-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-top:10px}
.platform-meta strong{font-weight:500;color:var(--ink)}
.note{font-size:12px;line-height:1.7;color:var(--muted);margin-top:18px}
.journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}
.journey>div{position:relative;display:flex;flex-direction:column;padding:18px 16px;background:#0f1622;border:1px solid var(--line);border-radius:12px;min-width:0}
.journey>div:not(:last-child)::after{content:'›';position:absolute;right:-10px;top:calc(50% - 10px);width:8px;line-height:20px;color:var(--muted);z-index:1}
.journey small{font-size:9px;letter-spacing:1.4px;color:var(--muted)}
.journey strong{font-size:27px;font-weight:500;line-height:1.3;margin:15px 0 8px;letter-spacing:-.8px;font-variant-numeric:tabular-nums}
.journey span{font-size:11px;color:var(--muted)}
.journey>.measured{border-color:rgba(var(--accent-rgb),.35);background:rgba(var(--accent-rgb),.055)}
.measured strong{color:var(--accent)}
.journey>.unmeasured{border-style:dashed}
.unmeasured strong{font-size:22px;color:var(--muted);margin-top:18px}
.section-intro{margin:30px 0 26px}
.section-intro h2{font-size:28px;letter-spacing:-1px}
.section-intro p{font-size:14px;color:var(--muted);max-width:850px}
.horizontal-row{display:grid;grid-template-columns:76px minmax(0,1fr) 104px;align-items:center;gap:14px;width:100%;min-height:48px;padding:8px 0;text-align:left;font-size:13px;margin:14px 0;color:var(--ink)}
.horizontal-row .track{height:16px;border-radius:4px}
.horizontal-row .bar-number{text-align:right;font-variant-numeric:tabular-nums;font-size:13px}
.focus h2{font-size:28px;color:var(--accent)}
.focus p{font-size:14px;color:var(--muted)}
.budget-list{margin-top:24px}
.budget-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.budget-item strong{font-weight:500;font-variant-numeric:tabular-nums}
.notice{border:1px solid #f2ca8338;border-left:3px solid var(--warning);border-radius:10px;background:var(--warning-bg);padding:16px 18px;margin-top:20px;font-size:14px;color:var(--warning)}
.notice p{color:#d3bea0;font-size:13px;line-height:1.7;margin-top:7px}
.operational-notice{margin:0 0 24px;padding:20px 24px}
.table-wrap{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#56677f #121925;border-radius:10px}
table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px;font-variant-numeric:tabular-nums}
thead{background:#1c2636}
th,td{padding:16px 14px;text-align:right}
th{font-size:11px;font-weight:500;color:var(--muted)}
td,tbody th{border-bottom:1px solid var(--line)}
tbody th{font-size:12px;color:var(--ink)}
th:first-child,td:first-child{text-align:left}
tbody tr:last-child th,tbody tr:last-child td{border:0}
.table-name{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:5px}
.ad-name,.entity-name{display:block;max-width:310px;min-width:140px;font-size:12px;white-space:normal;overflow-wrap:anywhere;line-height:1.65;color:var(--ink)}
.inline-controls{display:flex;gap:12px;flex-wrap:wrap}
.inline-controls label{display:grid;gap:5px;font-size:11px;color:var(--muted)}
.muted{color:var(--muted);font-size:13px}
summary{display:list-item;list-style-position:inside;min-height:44px;padding-top:15px;font-size:12px;color:var(--accent)}
details table{margin-top:10px}
dl{margin-bottom:0}
dt{font-size:13px;font-weight:500;margin-top:18px}
dd{font-size:14px;color:var(--muted);margin:5px 0 0;line-height:1.7}
ul{padding-left:20px;font-size:14px;color:var(--muted)}
li{margin:10px 0}
.action{display:grid;grid-template-columns:38px minmax(0,1fr) 220px;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}
.action:first-child{padding-top:4px}
.action:last-child{border:0;padding-bottom:4px}
.action-num{font-family:'Space Grotesk',sans-serif;font-size:22px;color:var(--accent)}
.action p{font-size:14px;color:var(--muted)}
.action-review{font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:20px}
.action-review strong{display:block;color:var(--accent);font-size:11px;font-weight:500;margin-bottom:8px}
.diagnostics{margin-top:0}
.diagnostics>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}
.diagnostics dt{font-size:13px;font-weight:400;margin:0;color:var(--muted)}
.diagnostics dd{font:500 19px 'Space Grotesk',sans-serif;color:var(--ink);text-align:right;margin:0;font-variant-numeric:tabular-nums}
.traffic-signal{display:flex;gap:8px;align-items:center;justify-content:space-between;border:1px solid rgba(var(--accent-rgb),.2);background:rgba(var(--accent-rgb),.045);padding:14px;border-radius:12px;margin:0 0 8px;font-size:11px;color:var(--accent)}
.traffic-signal .signal-node{display:grid;gap:6px;justify-items:center;text-align:center}
.traffic-signal>.icon{width:16px;color:var(--muted)}
.traffic-signal .signal-node .icon{width:24px;height:24px}
.source-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:22px;font-size:13px}
.empty{max-width:740px;margin:50px auto;text-align:center;background:linear-gradient(140deg,#1c2737,#101724);border:1px solid var(--line);border-radius:24px;padding:60px 45px;box-shadow:var(--shadow)}
.empty h2{font-size:29px;margin-top:24px}
.empty-symbol img{width:70px;height:70px;opacity:.65;filter:invert(1)}
.empty .button{margin-top:28px}
.empty p{color:var(--muted);font-size:14px}
footer{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:24px;margin-top:15px}
.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.skip{position:fixed;left:10px;top:-100px;padding:12px 18px;border-radius:8px;background:var(--ink);color:var(--paper);z-index:100}
.skip:focus{top:10px}
[hidden]{display:none!important}
noscript{display:block;padding:25px}

/* State changes stay responsive; the data itself never counts up or moves. */
.view,.channel-view,.empty{opacity:1;transform:translateY(0);transition:opacity var(--enter) var(--ease-out),transform var(--enter) var(--ease-out)}
@starting-style{.view,.channel-view,.empty{opacity:0;transform:translateY(6px)}}
.metric{opacity:1;transform:translateY(0);transition:opacity var(--enter) var(--ease-out),transform var(--enter) var(--ease-out)}
.metric:nth-child(2){transition-delay:30ms}.metric:nth-child(3){transition-delay:60ms}.metric:nth-child(4){transition-delay:80ms}
@starting-style{.metric{opacity:0;transform:translateY(8px)}}
.top-art{animation:architecture-in 700ms var(--ease-out) both}
@keyframes architecture-in{from{opacity:0;transform:translate(8px,-8px)}to{opacity:.25;transform:translate(0,0)}}
@media(hover:hover) and (pointer:fine){
  .sidebar nav button:hover{background:rgba(var(--accent-rgb),.09);color:var(--ink)}
  .utility-controls button:hover,.tabs button:hover{background:rgba(var(--accent-rgb),.07);color:var(--ink)}
  .primary:hover{background:color-mix(in srgb,var(--accent),white 12%)}
  .chart [data-day]:hover .bar-guide{opacity:.06}
  .chart [data-day]:hover .bar{fill:var(--accent)}
  .horizontal-row:hover{color:var(--accent)}
  tbody tr:hover{background:#ffffff04}
  a:hover{color:var(--ink)}
  .primary:hover{color:var(--paper)}
}
html[data-input=keyboard] *,html[data-motion=off] *{transition:none!important;animation:none!important}
html[data-input=keyboard] button:active,html[data-input=keyboard] .button:active,html[data-motion=off] button:active,html[data-motion=off] .button:active{transform:none}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-property:opacity!important;transition-duration:120ms!important;transition-delay:0ms!important}
  button:active,.button:active{transform:none}
  @starting-style{.view,.channel-view,.empty,.metric{transform:none}}
}
.presenting .sidebar{display:none}.presenting main{margin:0 auto;max-width:1500px}.presenting .utility-title::after{content:' / PRESENTACIÓN';color:var(--accent);margin-left:10px}

@media(min-width:701px) and (max-height:780px){.side-note{display:none}.side-caption{margin-top:28px}.side-bottom{padding-top:18px}}
@media(min-width:1600px){main{padding-right:52px;padding-left:52px}.metric{padding:24px}.chart-grid{grid-template-columns:minmax(0,1.8fr) minmax(330px,1fr)}}
@media(max-width:1200px){
  :root{--side:196px}main{padding:0 24px 28px}.sidebar{padding-left:14px;padding-right:14px}.sidebar nav button.active::before{left:-14px}
  .brand{padding:0 4px}.brand-word{font-size:24px}.brand-mark{width:28px}.filters{gap:16px;flex-wrap:wrap}.filters label{flex-basis:45%}
  .chart-grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:18px}.card{padding:20px}.card-head{flex-wrap:wrap}
  .metric{padding:18px 16px}.metric .value{font-size:27px}.metric .label{font-size:11px}.metric .label .icon{display:none}
  .metric .sparkline{width:50px}.insight{grid-template-columns:32px 1fr 112px;gap:16px}.insight-number{padding-left:16px;font-size:30px}
  .channel-insight{grid-template-columns:32px 1fr}.journey{gap:10px}.journey>div{padding:16px 12px}.journey strong{font-size:24px}.unmeasured strong{font-size:20px}
  .action{grid-template-columns:30px 1fr 180px;gap:16px}
}
@media(max-width:1000px){
  :root{--side:174px}.sidebar{padding:28px 12px 18px}.brand{gap:9px}.brand-word{font-size:21px;letter-spacing:2px}.brand-word span{letter-spacing:1.8px;font-size:7px}.brand-mark{width:25px}
  .sidebar nav button{gap:9px;padding:12px 10px;font-size:12px}.sidebar nav button.active::before{left:-12px}.workspace-label{font-size:11px}.side-note{padding:18px 10px}.side-caption{margin-left:10px;letter-spacing:1px;font-size:9px}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric .value{font-size:34px}.metric .label{font-size:12px}.metric .label .icon{display:block}
  .chart-grid{grid-template-columns:1fr}.top{flex-wrap:wrap;gap:20px}.top-art{right:0;top:20px}.top .button{min-height:44px}
  .chart-grid .card{margin-bottom:0}.chart-grid{margin-bottom:24px}.platform-card #platform-chart{display:grid;grid-template-columns:150px 1fr;gap:0 24px;align-items:center}.donut-block{grid-row:1/3;margin:0}
  .platform-row{padding:12px 0}.two-col{grid-template-columns:1fr;gap:0}.action{grid-template-columns:30px 1fr}.action-review{grid-column:2}
  .insight{grid-template-columns:28px 1fr}.insight-number{display:none}.utility-title>span{max-width:180px}.utility-controls button span{display:none}
  .journey{grid-template-columns:1fr 1fr}.journey>div:nth-child(2)::after{display:none}
}
@media(max-width:700px){
  html{scroll-padding-top:16px}.sidebar{position:static;width:auto;padding:22px 18px 0;border-right:0;border-bottom:1px solid var(--line);background:#101722}
  .brand{padding:0 4px}.brand-word{font-size:24px;letter-spacing:3px}.brand-word span{font-size:7px;letter-spacing:2.3px}.brand-mark{width:26px;height:34px}
  .workspace-label{position:absolute;right:22px;top:22px;max-width:120px;text-align:right;justify-content:flex-end;margin:0;font-size:10px}
  .workspace-label::before{display:none}.side-caption,.side-note,.side-bottom{display:none}
  .sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:22px;padding-bottom:12px}
  .sidebar nav button{display:flex;flex-direction:column;gap:7px;padding:12px 3px;font-size:10px;min-height:65px}.platform-icon,.platform-icon img{width:19px;height:19px}
  .source-dot,.platform-count,.sidebar nav button.active::before{display:none}
  main{margin:0;padding:0 16px 24px}.utility-bar{min-height:62px;gap:8px}.utility-title{font-size:10px;gap:7px}.utility-title>span{max-width:175px}.utility-title .icon{width:14px}.utility-controls{gap:4px}.utility-controls button{padding:10px;min-width:40px;min-height:44px}
  .top{padding:26px 0 24px;gap:20px}.top h1{font-size:33px;letter-spacing:-1.4px}.eyebrow{font-size:9px}.hero-caption{font-size:13px;max-width:275px}.top-art{width:130px;height:130px;top:24px;opacity:.18}.top .button{padding:11px 14px;font-size:12px}
  .filters{padding:16px;gap:15px}.filters label{flex-basis:100%}.filters select{font-size:12px}.period{flex:1;min-width:max-content}.period strong{font-size:12px}.filters>.state-tag{max-width:none;font-size:11px}.status{font-size:10px;padding:6px 8px}
  .source-line{font-size:10px;margin:12px 2px 18px}.source-line span{margin:0 4px}.tabs{gap:4px;margin-bottom:20px;padding-bottom:8px}.tabs button{font-size:12px;padding:10px 10px;min-height:44px}
  .metrics{gap:10px;margin-bottom:18px}.metric{padding:16px 13px;border-radius:14px}.metric .label{font-size:12px;min-height:36px;align-items:flex-start;line-height:1.5}.metric .label .icon{display:none}.metric .value{font-size:25px;letter-spacing:-1px;margin:11px 0 8px}.metric .sub{font-size:11px;min-height:33px}.metric .sparkline{width:44px;right:12px;bottom:48px}
  .insight{grid-template-columns:1fr;padding:20px;gap:0;margin-bottom:20px;border-radius:14px}.insight-label{display:none}.insight h2{font-size:18px}.insight p{font-size:13px}
  .card{padding:18px;border-radius:14px;margin-bottom:20px}.card h2{font-size:18px}.card-head{gap:14px;margin-bottom:18px}.card-head p{font-size:12px}.card-head select{font-size:12px;max-width:100%}
  .chart-grid{gap:18px;margin-bottom:20px}.chart{overflow-x:auto;scrollbar-width:thin;padding-bottom:5px}.chart svg{min-width:700px}.chart text,.chart .value-label{font-size:14px}.chart-detail{font-size:12px;padding:12px;min-height:66px}
  .platform-card #platform-chart{display:block}.donut-block{margin:0 auto 8px;width:130px;height:130px}.donut-block svg{width:130px;height:130px}.platform-heading{font-size:14px}.platform-meta{font-size:11px}
  .journey{gap:10px;margin-top:20px}.journey small{font-size:8px;letter-spacing:1px}.journey strong{font-size:23px}.journey span{font-size:10px}.journey>div{padding:15px 12px}.unmeasured strong{font-size:20px}
  .section-intro{margin:24px 0}.section-intro h2{font-size:25px}.section-intro p{font-size:14px}.horizontal-row{grid-template-columns:60px 1fr 80px;gap:8px;font-size:12px}.horizontal-row .bar-number{font-size:12px}
  .inline-controls{width:100%}.inline-controls label{flex:1;min-width:125px}.action{gap:12px}.action p{font-size:13px}.action-review{border:0;padding:8px 0 0}.action h3{font-size:16px}
  .source-links{display:grid;font-size:13px}.source-links a{padding:8px 0;min-height:40px}.operational-notice{padding:18px}.notice p{font-size:13px}.diagnostics dd{font-size:19px}
  .empty{margin:24px auto;padding:36px 22px}.empty h2{font-size:25px}footer{display:block;font-size:10px;padding-top:20px}footer span{display:block;margin-top:8px}.presenting .utility-title::after{display:none}
  select,.filters select,.card-head select,.inline-controls select{font-size:16px}
}
@media print{
  :root{color-scheme:light;--paper:#fff;--ink:#152234;--muted:#4d5b6e;--line:#d8dfe7;--accent:#235789;--surface:#fff;--navy:#fff;--warning:#7b4e12;--warning-bg:#fff5e4}
  .sidebar,.utility-bar,.tabs,.button,select,.top-art,footer,details{display:none!important}main{margin:0;padding:0}body::before{display:none}body{background:#fff;font-size:12px}
  *,*::before,*::after{animation:none!important;transition:none!important;box-shadow:none!important}.card,.metric,.filters,.insight,.journey>div,.chart-detail{background:#fff!important;border-color:#d8dfe7!important;break-inside:avoid}
  .view[hidden],.channel-view[hidden]{display:none!important}.top{padding:0 0 20px}.chart-grid,.two-col{display:block}.metrics{grid-template-columns:repeat(4,1fr)}.metric .value{font-size:23px}.card{padding:18px}.table-wrap{overflow:visible}table{white-space:normal;font-size:10px}th,td{padding:7px}.table-name{overflow-wrap:anywhere}.chart svg{min-width:0}.chart .bar{fill:#4576ab}.chart .value-label{fill:#152234}.donut-total span{color:#4d5b6e}
}

/* Distinguish completed reporting periods from the open day. */
.period-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:20px 0}
.period-comparison article{border-left:2px solid var(--accent);padding:6px 18px}
.period-comparison h3{font-size:13px;margin:0 0 14px}
.period-comparison strong{font-size:30px;font-variant-numeric:tabular-nums}
.period-comparison strong small{font-size:13px}
.period-comparison p,.period-comparison small{font-size:12px;line-height:1.6}
@media(max-width:760px){.period-comparison{grid-template-columns:1fr;gap:16px}}
