@font-face{font-family:Iosevka;src:url(fonts/iosevka-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Iosevka;src:url(fonts/iosevka-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Iosevka;src:url(fonts/iosevka-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:B612;src:url(fonts/b612-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:B612;src:url(fonts/b612-700.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --ink:#0B0D10;--slate:#1C2127;--slate-2:#262C33;--steel:#5A6169;--steel-d:#A3ABB3;
  --rule:#C9CDD2;--rule-d:#2E353D;--panel:#E6E8EB;--surface:#FFF;--alert:#FFD400;--alert-deep:#E6BF00;
  --data:Iosevka,ui-monospace,SFMono-Regular,Menlo,monospace;
  --body:B612,Iosevka,system-ui,sans-serif;
  --r:3px;--r-lg:6px;
  --lift:0 2px 4px rgba(11,13,16,.08),0 8px 24px rgba(11,13,16,.08);
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{font:400 .9375rem/1.5 var(--body);background:var(--panel);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100dvh;display:flex;flex-direction:column}
button,input{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
ul,ol{list-style:none}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-weight:500}
a{color:inherit}
svg{display:block}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.board :focus-visible,.closing :focus-visible{outline-color:#fff}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 14px;z-index:60;border-radius:var(--r)}
.skip:focus{top:8px}
.noscript{padding:24px;font-weight:700}

/* type */
h1,h2,h3,.label,.kicker,.clock,.demo-line,.brand,.tag{font-family:var(--data)}
h1{font-size:2rem;font-weight:500;line-height:1.12;letter-spacing:-.01em;text-wrap:balance}
h2{font-size:1.25rem;font-weight:500;line-height:1.2}
h3{font-size:1.0625rem;font-weight:500;line-height:1.25}
.display{font-size:clamp(2.6rem,5.4vw,4.75rem);line-height:1.04;letter-spacing:-.02em;word-spacing:-.25em}
.label,.kicker,th{font-family:var(--data);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.label,th{color:var(--steel)}
.sub{color:var(--steel);margin-top:6px;max-width:68ch}
.footnote{font-size:.8125rem;color:var(--steel);margin-top:16px;max-width:75ch}
.mono{font-family:var(--data);font-weight:500;font-variant-numeric:tabular-nums}
.top-gap{margin-top:16px}

/* header */
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:32px;padding:0 24px;height:60px;background:var(--surface);border-bottom:1px solid var(--ink)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;letter-spacing:.14em;font-size:.875rem;white-space:nowrap}
.mark{width:22px;height:22px;fill:var(--ink);flex:none}
.brand-name{text-transform:uppercase}
.nav{display:flex;align-items:stretch;height:100%;gap:4px}
.nav a{display:flex;align-items:center;padding:0 12px;text-decoration:none;font:500 .8125rem var(--data);letter-spacing:.06em;text-transform:uppercase;color:var(--steel);border-bottom:3px solid transparent;border-top:3px solid transparent;transition:color .15s}
.nav a:hover{color:var(--ink)}
.nav a.on{color:var(--ink);border-bottom-color:var(--ink)}
.nav svg{display:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linejoin:round;stroke-linecap:round}
.top-meta{margin-left:auto;display:flex;align-items:center;gap:14px}
.clock{font-size:.8125rem;font-weight:500;letter-spacing:.04em;white-space:nowrap}
.demo-line{background:var(--ink);color:var(--steel-d);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:6px 24px}
.pause-banner{background:var(--alert);color:var(--ink);font:500 .8125rem var(--data);text-align:center;padding:8px}
.paused main{filter:grayscale(1);opacity:.55}

/* shell */
main{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:32px 24px 56px;outline:0}
.view{display:none}
.view.on{display:block}
.view-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 32px;flex-wrap:wrap;margin-bottom:24px}
.foot{padding:16px 24px 20px;font-size:.8125rem;color:var(--steel);border-top:1px solid var(--rule)}
.foot a{font-weight:700;color:var(--ink)}
.block{margin-top:48px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--r);text-decoration:none;text-align:center;font:500 .8125rem var(--data);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);transition:background .15s,color .15s}
.btn:hover{background:var(--ink);color:#fff}
.btn.pri{background:var(--ink);color:#fff}
.btn.pri:hover{background:var(--slate-2)}
.btn.attention{background:var(--alert);border-color:var(--ink);color:var(--ink)}
.btn.attention:hover{background:var(--alert-deep);color:var(--ink)}
.btn.sm{min-height:32px;padding:4px 10px;font-size:.75rem}
.btn.lg{min-height:48px;padding:12px 20px;font-size:.875rem}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn:disabled:hover{background:var(--surface);color:var(--ink)}
.btn.attention:disabled:hover{background:var(--alert)}
.btn-d{min-height:36px;padding:6px 12px;border:1px solid var(--steel-d);border-radius:var(--r);color:#fff;font:500 .75rem var(--data);letter-spacing:.06em;text-transform:uppercase;transition:background .15s,color .15s}
.btn-d:hover:not(:disabled){background:#fff;color:var(--ink)}
.btn-d:disabled{opacity:.5;cursor:not-allowed}
.link-d{min-height:36px;padding:6px 4px;color:var(--steel-d);font:500 .75rem var(--data);letter-spacing:.04em;text-decoration:underline;text-underline-offset:3px}
.link-d:hover{color:#fff}
.tabs{display:inline-flex;border:1.5px solid var(--ink);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.tabs button{min-height:40px;padding:6px 14px;font:500 .8125rem var(--data);letter-spacing:.04em;transition:background .15s}
.tabs button:hover:not(.on){background:var(--panel)}
.tabs button.on{background:var(--ink);color:#fff}
.tabs button:focus-visible{outline-offset:-4px}
.tabs button.on:focus-visible{outline-color:#fff}

/* board */
.board{container-type:inline-size;background:var(--ink);color:#fff;border-radius:var(--r-lg);overflow:hidden}
.board-head{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;padding:14px 16px}
.board-head h2{font-size:.875rem;letter-spacing:.08em;text-transform:uppercase}
.board-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.board-foot{padding:12px 16px;font-size:.8125rem;color:var(--steel-d)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule-d)}
.kpis>div{padding:12px 16px;border-left:1px solid var(--rule-d)}
.kpis>div:first-child{border-left:0}
.kpis dt{font:500 .75rem var(--data);letter-spacing:.08em;text-transform:uppercase;color:var(--steel-d)}
.kpis dd{font:500 2rem/1.15 var(--data);font-variant-numeric:tabular-nums;margin-top:2px}
.kpis p{font-size:.75rem;line-height:1.35;color:var(--steel-d);margin-top:2px}
.filters{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--rule-d)}
.chips{display:flex;flex-wrap:wrap;gap:4px}
.chip{min-height:32px;padding:4px 10px;border-radius:var(--r);font:500 .75rem var(--data);letter-spacing:.03em;color:var(--steel-d);transition:color .15s,background .15s}
.chip:hover{color:#fff;background:var(--slate)}
.chip.on{background:#fff;color:var(--ink)}
.search input{width:220px;min-height:36px;padding:6px 10px;background:var(--slate);border:1px solid var(--rule-d);border-radius:var(--r);font:500 .8125rem var(--data);color:#fff}
.search input::placeholder{color:var(--steel-d)}
.search input:focus{outline:2px solid #fff;outline-offset:1px}
.search.light input{width:100%;background:var(--surface);border-color:var(--ink);color:var(--ink)}
.search.light input::placeholder{color:var(--steel)}
.search.light input:focus{outline-color:var(--ink)}

.rows th{padding:8px 16px;color:var(--steel-d);border-top:1px solid var(--rule-d);border-bottom:1px solid var(--rule-d);white-space:nowrap}
.rows td{padding:10px 16px;border-bottom:1px solid var(--rule-d);font:500 .875rem/1.25 var(--data);font-variant-numeric:tabular-nums;vertical-align:middle}
.rows tbody tr{position:relative;background:var(--ink)}
.live tbody tr{cursor:pointer}
.live tbody tr:hover td{background:var(--slate)}
.rows tr.sel td,.rows tr.sel:hover td{background:var(--slate-2);box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #fff}
.rows tr.lit td,.rows tr.lit:hover td{background:var(--alert);color:var(--ink)}
.rows small{display:block;font:400 .75rem/1.3 var(--data);color:var(--steel-d);white-space:nowrap}
.rows tr.lit small{color:var(--ink)}
.rows .delay{color:var(--alert);font-weight:500}
.rows tr.lit .delay{color:var(--ink);font-weight:700}
.win{font-weight:700;font-size:.9375rem}
.fl{display:block;padding:0;text-align:left;font-weight:500;white-space:nowrap}
.fl:focus-visible{outline-offset:4px}
tr.lit .fl:focus-visible{outline-color:var(--ink)}
.plate{display:inline-block;padding:1px 6px;border:1px solid currentColor;border-radius:var(--r);font:700 .8125rem/1.35 var(--data);letter-spacing:.04em;white-space:nowrap}
.empty{text-align:center;color:var(--steel-d);padding:32px 16px!important}
.unset{color:var(--alert)}
tr.lit .unset{color:var(--ink);font-weight:700}

/* status */
.st{display:inline-block;font:500 .75rem/1.3 var(--data);letter-spacing:.03em;white-space:nowrap;text-transform:uppercase}
.st.n{color:var(--steel-d)}
.st.a{color:var(--alert)}
.st.A{background:var(--alert);color:var(--ink);padding:2px 6px;border-radius:var(--r);font-weight:700}
.st.v{background:#fff;color:var(--ink);padding:2px 6px;border-radius:var(--r);font-weight:700}
tr.lit .st{color:var(--ink);background:none;padding:0;font-weight:700}
.light-st .st.n,.pass-card .st.n{color:var(--ink);border:1px solid var(--ink);padding:1px 6px;border-radius:var(--r)}
.light-st .st.a,.light-st .st.A,.pass-card .st.a,.pass-card .st.A{background:var(--alert);color:var(--ink);padding:2px 7px;border-radius:var(--r);font-weight:700}
.light-st .st.v,.pass-card .st.v{background:var(--ink);color:#fff;padding:2px 7px;border-radius:var(--r)}

@container (max-width:1060px){.c-est,.c-tipo{display:none}}
@container (max-width:800px){.c-lleg,.c-veh{display:none}}
@container (max-width:600px){.c-cli{display:none}.rows th,.rows td{padding-left:10px;padding-right:6px}.rows th:first-child,.rows td:first-child{padding-left:12px}}
@container (max-width:600px){.kpis{grid-template-columns:1fr 1fr}.kpis>div:nth-child(3){border-left:0}.kpis>div:nth-child(n+3){border-top:1px solid var(--rule-d)}.kpis dd{font-size:1.625rem}}
@container (max-width:520px){.kpis p{display:none}.kpis>div{padding:8px 12px}.search,.search input{width:100%}.chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:0 16px;width:calc(100% + 32px);scrollbar-width:none}.chip{white-space:nowrap;flex:none;min-height:36px}}

/* pass */
.pass-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--lift)}
.pad{padding:20px}
.sheet{background:var(--surface);border-radius:var(--r-lg)}
.pass-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--rule);font:500 .875rem var(--data)}
.route{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:12px;padding:16px 20px 12px}
.route>div:last-child{text-align:right}
.ap{display:block;font:500 3rem/1 var(--data);letter-spacing:.02em}
.route small{display:block;margin-top:6px;font:400 .8125rem var(--data);color:var(--steel)}
.route s{color:var(--steel)}
.route .moved{font-weight:700;color:var(--ink);background:var(--alert);padding:0 4px}
.plane{width:26px;height:26px;fill:var(--ink);margin-top:11px}
.who{padding:0 20px 14px;border-bottom:1px solid var(--rule)}
.who h2{outline:0}
.who p{color:var(--steel);font-size:.875rem;margin-top:2px}
.who .plate{color:var(--ink);margin-left:4px}
.segs{display:grid;grid-template-columns:repeat(3,1fr)}
.segs>div{padding:10px 12px 10px 20px;border-bottom:1px solid var(--rule);border-left:1px solid var(--rule);min-width:0}
.segs>div:nth-child(3n+1){border-left:0}
.segs b{display:block;font:500 .9375rem/1.25 var(--data);margin-top:2px;font-variant-numeric:tabular-nums}
.scan{padding:14px 20px 12px;position:relative}
.scan svg{width:100%;height:56px}
.tear{height:0;border-top:2px dashed var(--rule);margin:0 12px;position:relative}
.tear::before,.tear::after{content:"";position:absolute;top:-9px;width:16px;height:16px;border-radius:50%;background:var(--panel)}
.tear::before{left:-20px}.tear::after{right:-20px}
.pass-actions{display:flex;flex-wrap:wrap;gap:8px;padding:14px 20px 18px}
.pass-actions .btn{flex:1 1 auto}
.back{display:none;margin-top:8px;padding:8px 4px;font:500 .8125rem var(--data);text-decoration:underline;text-underline-offset:3px}

.reco{margin-top:16px;border-radius:var(--r-lg);overflow:hidden;background:var(--surface);box-shadow:var(--lift)}
.reco-h{padding:10px 20px;background:var(--alert);font:700 .75rem var(--data);letter-spacing:.08em;text-transform:uppercase}
.reco-h.calm{background:var(--ink);color:#fff}
.reco-b{padding:16px 20px 20px}
.msg{max-width:60ch}
.shift{display:flex;align-items:flex-end;gap:14px;margin:14px 0;flex-wrap:wrap}
.shift b{display:block;font:500 1.625rem/1.1 var(--data);font-variant-numeric:tabular-nums}
.shift .was{color:var(--steel);text-decoration:line-through}
.shift .arrow{font:500 1.25rem var(--data);color:var(--steel);padding-bottom:1px}
.actions{display:flex;flex-wrap:wrap;gap:8px}
.actions .btn{flex:1 1 auto}
.inline-panel{margin-top:14px;padding-top:14px;border-top:1px solid var(--rule)}
.inline-panel h3{margin-bottom:4px}
.inline-panel>p{color:var(--steel);font-size:.875rem}
.sim-note{font-size:.8125rem;color:var(--ink);margin-top:10px}
.sim-note::before{content:"Simulación. ";font-weight:700}
.wa{margin:12px 0;padding:12px 14px;border:1px solid var(--ink);border-radius:var(--r-lg) var(--r-lg) var(--r-lg) 0;font-size:.875rem}
.wa small{display:block;margin-top:6px;font:500 .75rem var(--data);letter-spacing:.06em;text-transform:uppercase;color:var(--steel)}
.opts{display:grid;gap:6px;margin-top:12px}
.opts label{display:flex;gap:10px;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--rule);border-radius:var(--r);font:500 .875rem var(--data);cursor:pointer}
.opts label:has(:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
input[type=radio],input[type=checkbox],input[type=range]{accent-color:var(--ink)}
input[type=time]{min-height:40px;padding:6px 10px;margin-top:8px;border:1.5px solid var(--ink);border-radius:var(--r);background:var(--surface);font:500 .9375rem var(--data)}
.row-end{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}
.decided{margin-top:12px;padding:10px 12px;background:var(--ink);color:#fff;font:500 .8125rem var(--data)}

/* ops layout */
.ops{display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-template-areas:"board pass" "log pass";grid-template-rows:auto 1fr;gap:16px}
.ops-board{grid-area:board}.ops-pass{grid-area:pass}.ops-log{grid-area:log}
.ops-log{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:start}
.tl{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;padding:8px 0}
.tl::before{content:"";position:absolute;left:11px;top:32px;bottom:-8px;width:2px;background:var(--rule)}
.tl:last-child::before{display:none}
.tl.done::before{background:var(--ink)}
.dot{width:24px;height:24px;display:grid;place-items:center;border:1.5px solid var(--rule);border-radius:var(--r);background:var(--surface);color:var(--steel);font:700 .75rem var(--data);position:relative}
.tl.done .dot{background:var(--ink);border-color:var(--ink);color:#fff}
.tl.alert .dot,.tl.now .dot{background:var(--alert);border-color:var(--ink);color:var(--ink)}
.tl b{display:block;font:500 .875rem/1.3 var(--data)}
.tl p{font-size:.8125rem;line-height:1.4;color:var(--steel);margin-top:1px}
.when{font:400 .75rem var(--data);color:var(--steel);white-space:nowrap}
.human{font:700 .75rem var(--data);letter-spacing:.06em;background:var(--ink);color:#fff;padding:1px 5px;border-radius:var(--r)}
.audit{margin-top:8px}
.audit li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;padding:8px 0;border-bottom:1px solid var(--rule);font-size:.8125rem;line-height:1.4}
.audit li:last-child{border-bottom:0}
.audit span{font:500 .75rem/1.5 var(--data);color:var(--steel)}
.audit .op{font-weight:700}

/* intro */
.intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:start;padding:16px 0 8px}
.kicker{margin-bottom:16px;color:var(--steel)}
.lead{font-size:1.0625rem;margin-top:20px;max-width:58ch}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.notice{display:grid;grid-template-columns:48px minmax(0,1fr) 36px;align-items:stretch;margin-top:12px;background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;font:500 .875rem/1.35 var(--data);transition:background .15s}
.notice:hover{background:var(--panel)}
.notice.wait{visibility:hidden}
.notice-mark{display:grid;place-items:center;background:var(--alert);font-weight:700;font-size:1.25rem;border-right:1.5px solid var(--ink)}
.notice-text{padding:12px 14px}
.notice-go{display:grid;place-items:center;font-size:1.0625rem}
.voices{margin-top:32px;background:var(--surface);border-radius:var(--r-lg);overflow:hidden}
.voices-h{padding:14px 20px;background:var(--ink);color:#fff;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase}
.voices-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.voice{padding:20px;border-bottom:1px solid var(--rule)}
.voice:last-child{border-bottom:0}
.voice q,.voice>b{display:block;font:500 1.25rem/1.3 var(--data);quotes:"“" "”";max-width:44ch}
.voice footer{margin-top:8px;font:400 .8125rem var(--data);color:var(--steel)}
.answer{padding:20px;border-left:2px dashed var(--rule)}
.answer p:last-child{margin-top:6px;max-width:58ch}
.voices-source{padding:10px 20px;border-top:1px solid var(--rule);font-size:.8125rem;color:var(--steel)}
.statement{margin:48px 0;font:500 clamp(1.25rem,2.6vw,2rem)/1.25 var(--data);letter-spacing:-.005em;max-width:32em;text-wrap:balance}
.versus th{padding:14px 20px;background:var(--ink);color:#fff}
.versus th:first-child{border-top-left-radius:var(--r-lg)}
.versus th:last-child{border-top-right-radius:var(--r-lg)}
.versus td{padding:14px 20px;vertical-align:top;width:50%;border-top:1px solid var(--rule)}
.versus td:first-child{color:var(--steel)}
.versus td+td,.versus th+th{border-left:1px solid var(--rule)}
.versus td+td{font-weight:700}
.segments{display:grid;margin-top:16px;background:var(--surface);border-radius:var(--r-lg);overflow:hidden}
.segments.three{grid-template-columns:repeat(3,1fr)}
.segments li{padding:20px;border-left:2px dashed var(--rule)}
.segments li:first-child{border-left:0}
.segments li>p:not(.label):not(.risk-note){color:var(--steel);margin-top:6px;font-size:.875rem}
.segments h3{font-size:1.25rem}
.segments .label+h3{margin-top:4px}
.risk-note{margin-top:12px;font:500 .8125rem var(--data)}

/* config */
.cfg{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}
.cfg-head{display:flex;justify-content:space-between;gap:12px 24px;align-items:flex-start;flex-wrap:wrap;margin-bottom:8px}
.slider{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,180px) 62px;gap:12px;align-items:center;min-height:44px;padding:6px 0;border-bottom:1px solid var(--rule);font-size:.875rem}
.slider.dim{opacity:.45}
.slider input{width:100%;min-height:24px}
.slider output{font:500 .875rem var(--data);text-align:right;font-variant-numeric:tabular-nums}
.cfg-inputs{display:flex;gap:12px 24px;align-items:center;flex-wrap:wrap;margin-top:16px;font-size:.875rem}
.cfg-inputs label{display:flex;gap:8px;align-items:center}
.cfg-inputs input[type=time]{margin:0}
.cfg-inputs .check{min-height:44px}
.big-window{font:500 clamp(2.25rem,4vw,3.25rem)/1.1 var(--data);font-variant-numeric:tabular-nums;margin-top:2px}
.bar{display:flex;gap:2px;height:32px;margin-top:16px}
.bar div{background:var(--ink);display:grid;place-items:center;color:#fff;font:500 .75rem var(--data);min-width:0;overflow:hidden}
.bar div:nth-child(even){background:var(--steel)}
.bar div.margin{background:repeating-linear-gradient(135deg,var(--ink) 0 2px,var(--surface) 2px 6px);color:transparent;box-shadow:inset 0 0 0 1px var(--ink)}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;font:400 .8125rem var(--data)}
.legend .total{font-weight:700;margin-left:auto}
.formula{margin-top:16px;padding:12px;border:1px solid var(--rule);font:400 .8125rem/1.6 var(--data)}

/* history */
.hist{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}
.clients{overflow:hidden}
.clients .search{display:block;padding:12px}
.ci{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;width:100%;padding:12px;border-top:1px solid var(--rule);text-align:left;transition:background .15s}
.ci:hover{background:var(--panel)}
.ci.on{background:var(--ink);color:#fff}
.ci b{font:500 .9375rem var(--data)}
.ci small{grid-column:1;font:400 .8125rem var(--data);color:var(--steel)}
.ci.on small{color:var(--steel-d)}
.ci i{grid-column:2;grid-row:1/3;align-self:center;font:500 .75rem var(--data);letter-spacing:.04em;text-transform:uppercase;font-style:normal}
.prof-head{display:flex;gap:16px 24px;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;padding:20px}
.prof-plate{font:500 2.5rem/1 var(--data);letter-spacing:.02em}
.prof-head h2{margin-top:8px}
.punch{display:flex;align-items:center;gap:6px;margin-top:10px;font:400 .8125rem var(--data);color:var(--steel)}
.punch i{width:12px;height:12px;border:1.5px solid var(--ink);border-radius:50%}
.punch i.f{background:var(--ink)}
.punch span{margin-left:6px}
.segs.four{grid-template-columns:repeat(4,1fr)}
.segs.four>div{border-top:1px solid var(--rule);border-bottom:0;border-left:1px solid var(--rule)}
.segs.four>div:nth-child(3n+1){border-left:1px solid var(--rule)}
.segs.four>div:first-child{border-left:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;padding:16px 20px 20px;border-top:1px solid var(--rule)}
.split h3{font-size:.9375rem;margin-bottom:6px}
.tags{display:flex;flex-wrap:wrap;gap:4px}
.tags span{padding:2px 8px;border:1px solid var(--rule);border-radius:var(--r);font-size:.8125rem}
.tags .flagged{background:var(--alert);border-color:var(--ink)}
.prof-block{margin-top:16px}
.prof-block-h{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding:20px 20px 12px}
.prof-block-h .plate{font-size:1.0625rem}
.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.ph{background:var(--surface);min-width:0}
.ph .img{position:relative;height:128px;display:grid;place-items:center;background:var(--panel);padding:18px 10px 6px}
.ph .img svg{width:100%;height:100%}
.ph .badge{position:absolute;top:0;left:0;background:var(--ink);color:#fff;padding:2px 7px;font:500 .75rem var(--data);letter-spacing:.06em}
.ph .meta{padding:8px 12px 10px;font-size:.75rem;color:var(--steel)}
.ph .meta b{display:block;color:var(--ink);font:500 .8125rem var(--data)}
.ph.flag .img{box-shadow:inset 0 0 0 3px var(--alert)}
.pend{display:inline-block;background:var(--alert);color:var(--ink);padding:1px 5px;margin-top:4px;font:500 .75rem var(--data)}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border-top:1px solid var(--rule)}
.compare .ph .img{height:170px}
.compare .ph:first-child{border-bottom-left-radius:var(--r-lg)}
.visits{overflow-x:auto}
.visits th{padding:10px 20px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);white-space:nowrap}
.visits td{padding:10px 20px;border-bottom:1px solid var(--rule);font:500 .8125rem var(--data);white-space:nowrap}
.visits tr:last-child td{border-bottom:0}
.future{margin-top:32px;padding:24px 20px;border:1.5px dashed var(--steel);border-radius:var(--r-lg)}
.tag{display:inline-block;margin-bottom:10px;padding:2px 8px;background:var(--ink);color:#fff;font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.flow{display:grid;grid-template-columns:repeat(6,1fr);margin-top:16px;background:var(--surface);border-radius:var(--r-lg);counter-reset:f}
.flow li{counter-increment:f;padding:14px;border-left:1px solid var(--rule);min-width:0}
.flow li:first-child{border-left:0}
.flow li::before{content:counter(f);display:block;font:500 .75rem var(--data);color:var(--steel);margin-bottom:6px}
.flow b{display:block;font:500 .875rem/1.25 var(--data)}
.flow span{display:block;font-size:.75rem;color:var(--steel);margin-top:3px}

/* value */
.benefits{display:grid;grid-template-columns:1fr 1fr 1fr}
.benefits li{padding:18px 20px;border-left:1px solid var(--rule);border-top:1px solid var(--rule)}
.benefits li:nth-child(3n+1){border-left:0}
.benefits li:nth-child(-n+3){border-top:0}
.benefits li p{font-size:.875rem;color:var(--steel);margin-top:4px}
.benefits li.wide{grid-column:1/-1;border-left:0;background:var(--ink);color:#fff;border-radius:0 0 var(--r-lg) var(--r-lg)}
.benefits li.wide p{color:var(--steel-d);max-width:80ch}
.value-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:48px}
.roi-in{margin-top:12px}
.roi-in .slider{grid-template-columns:minmax(0,1fr) minmax(100px,140px) 62px}
.roi-out{display:grid;grid-template-columns:repeat(3,1fr);margin:16px -20px 0;background:var(--ink);color:#fff}
.roi-out>div{padding:14px 16px 14px 20px;border-left:1px solid var(--rule-d);min-width:0}
.roi-out>div:first-child{border-left:0}
.roi-out dt{font:500 .75rem/1.25 var(--data);letter-spacing:.04em;color:var(--steel-d)}
.roi-out dd{font:500 2rem/1.15 var(--data);font-variant-numeric:tabular-nums;margin-top:4px}
.hbars{margin-top:12px}
.hrow{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 52px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--rule);font-size:.8125rem;line-height:1.3}
.track{height:8px;background:var(--panel)}
.track div{height:100%;background:var(--ink)}
.hrow b{font:500 .875rem var(--data);text-align:right;font-variant-numeric:tabular-nums}
.kpi-main{margin-top:16px}
.kpi-main b{display:block;font:500 1.0625rem/1.25 var(--data);margin-top:2px}
.closing{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;margin-top:48px;padding:28px 24px;background:var(--ink);color:#fff;border-radius:var(--r-lg)}
.closing h2{font-size:1.625rem;max-width:30ch;text-wrap:balance}
.closing p{color:var(--steel-d);margin-top:8px;max-width:62ch}

/* toast */
.toast{position:fixed;left:50%;bottom:24px;z-index:50;max-width:calc(100vw - 32px);padding:10px 16px;background:var(--ink);color:#fff;border:1px solid var(--steel-d);border-radius:var(--r);font:500 .8125rem var(--data);transform:translate(-50%,16px);opacity:0;pointer-events:none;transition:transform .25s var(--ease),opacity .2s}
.toast.on{transform:translate(-50%,0);opacity:1}

/* responsive */
@container (max-width:340px){.c-pl{display:none}}
@media(min-width:1101px) and (min-height:860px){.ops-pass{position:sticky;top:76px;align-self:start}}
@media(max-width:1280px){
  .ops{grid-template-columns:minmax(0,1fr) 360px}
  .ops-log{grid-template-columns:1fr}
}
@media(max-width:900px){.clock{display:none}}
@media(max-width:1100px){
  .ops{grid-template-columns:minmax(0,1fr);grid-template-areas:"board" "pass" "log";grid-template-rows:none}
  .ops-pass{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
  .ops-pass .reco{margin-top:0}
  .ops-pass .back{grid-column:1/-1}
  .ops-log{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
  .back{display:inline-block}
  .intro{grid-template-columns:1fr;gap:28px}
  .cfg,.hist,.value-grid{grid-template-columns:minmax(0,1fr)}
  .flow{grid-template-columns:repeat(3,1fr)}
  .flow li:nth-child(4){border-left:0}
  .flow li:nth-child(n+4){border-top:1px solid var(--rule)}
  .clients{display:grid;grid-template-rows:auto 1fr}
  #clist{max-height:280px;overflow-y:auto}
}
@media(max-width:760px){
  html{scroll-padding-top:60px}
  .top{height:52px;padding:0 14px;gap:12px}
  .brand{font-size:.8125rem;letter-spacing:.1em}
  .clock{font-size:.75rem}
  .nav{position:fixed;left:0;right:0;bottom:0;z-index:40;height:auto;gap:0;background:var(--surface);border-top:1px solid var(--ink);padding-bottom:env(safe-area-inset-bottom)}
  .nav a{flex:1;flex-direction:column;justify-content:center;gap:3px;min-height:56px;padding:6px 2px;font-size:.75rem;letter-spacing:.03em;text-transform:none;border-top-width:3px;border-bottom:0}
  .nav a.on{border-top-color:var(--ink);border-bottom-color:transparent}
  .nav svg{display:block}
  .demo-line{padding:5px 14px;letter-spacing:0}
  main{padding:20px 14px 24px}
  .foot{padding:14px 14px calc(76px + env(safe-area-inset-bottom))}
  h1{font-size:1.625rem}
  .display{font-size:2.5rem}
  .cta .btn{flex:1 1 100%}
  .tabs{display:flex;width:100%}
  .tabs button{flex:1;min-height:44px}
  .statement{margin:32px 0}
  .voices-grid{grid-template-columns:minmax(0,1fr)}
  .answer{border-left:0;border-top:2px dashed var(--rule)}
  .segments.three,.ops-pass{grid-template-columns:minmax(0,1fr)}
  .segments li{border-left:0;border-top:2px dashed var(--rule)}
  .segments li:first-child{border-top:0}
  .ops-pass .reco{margin-top:0}
  .ops-log{grid-template-columns:minmax(0,1fr)}
  .ap{font-size:2.5rem}
  .versus thead{display:none}
  .versus tr{display:block;padding:12px 16px;border-top:1px solid var(--rule)}
  .versus tr:first-child{border-top:0}
  .versus td{display:block;width:auto;padding:0;border:0!important}
  .versus td+td{margin-top:6px}
  .versus td:first-child::before{content:"Hoy: ";font-weight:700;color:var(--ink)}
  .versus td+td::before{content:"Con este sistema: "}
  .segs.four{grid-template-columns:1fr 1fr}
  .segs.four>div:nth-child(odd){border-left:0}
  .split,.compare{grid-template-columns:minmax(0,1fr)}
  .visits th:nth-child(3),.visits td:nth-child(3),.visits th:nth-child(4),.visits td:nth-child(4){display:none}
  .visits th,.visits td{padding-left:14px;padding-right:8px}
  .photos{grid-template-columns:repeat(2,1fr)}
  .flow{grid-template-columns:repeat(2,1fr)}
  .flow li:nth-child(odd){border-left:0}
  .flow li:nth-child(even){border-left:1px solid var(--rule)}
  .flow li:nth-child(n+3){border-top:1px solid var(--rule)}
  .benefits{grid-template-columns:minmax(0,1fr)}
  .benefits li,.benefits li:nth-child(n){border-left:0;border-top:1px solid var(--rule)}
  .benefits li:first-child{border-top:0}
  .slider,.roi-in .slider{grid-template-columns:minmax(0,1fr) 60px;gap:2px 10px;padding:10px 0}
  .slider label{grid-column:1/-1}
  .roi-out{grid-template-columns:minmax(0,1fr)}
  .roi-out>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-left:0;border-top:1px solid var(--rule-d)}
  .roi-out>div:first-child{border-top:0}
  .roi-out dd{margin-top:0;font-size:1.625rem}
  .hrow{grid-template-columns:minmax(0,1fr) 56px}
  .hrow .track{grid-column:1/-1;grid-row:2}
  .closing h2{font-size:1.25rem}
  .closing .btn{width:100%}
  .btn{min-height:44px}
  .btn.sm{min-height:36px}
  .toast{bottom:calc(72px + env(safe-area-inset-bottom));width:max-content}
  .pass-actions .btn,.actions .btn{flex:1 1 40%}
}
@media(max-width:400px){
  .clock{display:none}
  .segs{grid-template-columns:1fr 1fr}
  .segs>div,.segs>div:nth-child(3n+1){border-left:1px solid var(--rule)}
  .segs>div:nth-child(odd){border-left:0;padding-left:20px}
  .segs.four>div:nth-child(3n+1){border-left:1px solid var(--rule)}
  .segs.four>div:nth-child(odd){border-left:0}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
@media print{
  .top,.demo-line,.toast,.nav,.board-tools,.filters{display:none}
}
