@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-CMZtQduZ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-CGAr0uHJ.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CaVNZxsx.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-CFHvXkgd.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-C2S99t-D.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--surface-0: #eeece7;--surface-1: #fbfaf7;--surface-2: #f2f0ea;--surface-ink: #16150f;--ink-text: #f3f0e8;--ink-text-2: #b8b3a5;--ink-mark: #7a7365;--border: #e3e0d8;--text-primary: #16150f;--text-secondary: #4a4842;--text-muted: #6d6a62;--accent: #e6b325;--accent-ink: #16150f;--accent-warm: #c2452e;--series-1: #c8800d;--series-2: #893130;--series-3: #1794a0;--series-4: #6443cc;--series-5: #a31e8d;--zone-0: #d6a75a;--zone-1: #d08a1e;--zone-2: #bf7102;--zone-3: #ac5a00;--zone-4: #974400;--zone-5: #822f00;--periodo-1: #73b9bc;--periodo-2: #30a5a8;--periodo-3: #148b8d;--periodo-4: #027271;--periodo-5: #075957;--good: #0f7a34;--critical: #c0392b;--grid: #e6e3dc;--r-lg: 14px;--r-md: 9px;--r-pill: 999px;--shadow-card: 0 1px 2px rgba(40, 33, 18, .05), 0 6px 20px rgba(40, 33, 18, .05);--rail-w: 76px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 15px;--fs-lg: 18px;--fs-xl: 24px;--fs-2xl: 32px;--fs-3xl: 48px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--font: "Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--shadow-pop: 0 8px 28px rgba(40, 33, 18, .16), 0 1px 3px rgba(40, 33, 18, .08)}@media(prefers-color-scheme:dark){:root:where(:not([data-theme=light])){color-scheme:dark;--surface-0: #131210;--surface-1: #1c1a17;--surface-2: #24221e;--surface-ink: #241e14;--border: #2f2c27;--text-primary: #f4f1e9;--text-secondary: #c9c5ba;--text-muted: #948f83;--ink-text: #f7f3e8;--ink-text-2: #b4ac99;--accent-warm: #e8705f;--series-1: #bf860c;--series-2: #bd432f;--series-3: #18a0a1;--series-4: #7153dd;--series-5: #b3329d;--zone-0: #684600;--zone-1: #845400;--zone-2: #a46001;--zone-3: #c86a01;--zone-4: #de7e43;--zone-5: #ea9876;--periodo-1: #04585c;--periodo-2: #047376;--periodo-3: #038f91;--periodo-4: #1facaa;--periodo-5: #65c3c0;--good: #3fa85f;--critical: #e8705f;--grid: #2a2723;--shadow-card: 0 1px 2px rgba(0, 0, 0, .3);--shadow-pop: 0 10px 30px rgba(0, 0, 0, .5), 0 0 0 1px var(--border)}}:root[data-theme=dark]{color-scheme:dark;--surface-0: #131210;--surface-1: #1c1a17;--surface-2: #24221e;--surface-ink: #241e14;--border: #2f2c27;--text-primary: #f4f1e9;--text-secondary: #c9c5ba;--text-muted: #948f83;--ink-text: #f7f3e8;--ink-text-2: #b4ac99;--accent-warm: #e8705f;--series-1: #bf860c;--series-2: #bd432f;--series-3: #18a0a1;--series-4: #7153dd;--series-5: #b3329d;--zone-0: #684600;--zone-1: #845400;--zone-2: #a46001;--zone-3: #c86a01;--zone-4: #de7e43;--zone-5: #ea9876;--periodo-1: #04585c;--periodo-2: #047376;--periodo-3: #038f91;--periodo-4: #1facaa;--periodo-5: #65c3c0;--good: #3fa85f;--critical: #e8705f;--grid: #2a2723;--shadow-card: 0 1px 2px rgba(0, 0, 0, .3);--shadow-pop: 0 10px 30px rgba(0, 0, 0, .5), 0 0 0 1px var(--border)}*{box-sizing:border-box}body{margin:0;background:var(--surface-0);color:var(--text-primary);font:var(--fs-md)/1.5 var(--font);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}a{color:var(--text-primary)}.shell{min-height:100vh}.content{margin-left:calc(var(--rail-w) + 24px);max-width:1180px;padding:24px 24px 64px}.page-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:20px}.page-head h1{font-size:24px;margin:0;letter-spacing:-.02em}.page-head .sub{color:var(--text-muted);font-size:14px;margin:0}.page-head .right{margin-left:auto;display:flex;gap:8px;align-items:center}.card{background:var(--surface-1);border-radius:var(--r-lg);padding:18px 20px;margin-bottom:16px;box-shadow:var(--shadow-card)}.card h2{font-size:14px;margin:0 0 4px;letter-spacing:-.01em}.card .sub{color:var(--text-muted);font-size:13px;margin:0 0 14px}.card.tight{padding:14px 16px}.card.ink{background:var(--surface-ink);color:var(--ink-text)}.card.ink h2,.card.ink .value{color:var(--ink-text)}.card.ink .sub,.card.ink .label,.card.ink .muted{color:var(--ink-text-2)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.hero-split{display:grid;grid-template-columns:minmax(200px,1fr) minmax(240px,1.35fr);gap:20px;align-items:end;margin-bottom:18px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row .push{margin-left:auto}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px}.tiles.in-card{gap:18px;grid-template-columns:repeat(auto-fit,minmax(108px,1fr))}.tile{background:var(--surface-1);border-radius:var(--r-lg);padding:14px 16px;box-shadow:var(--shadow-card)}.tiles.in-card .tile{background:none;box-shadow:none;padding:0}.label{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:500}.value{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:2px;letter-spacing:-.02em;line-height:1.2}.value.big{font-size:46px;letter-spacing:-.035em}.card.ink .value.big{color:var(--accent)}.value.sm{font-size:15px;font-weight:500}.unit{font-size:13px;color:var(--text-secondary);font-weight:400}.card.ink .unit{color:var(--ink-text-2)}.delta{font-size:12px;font-variant-numeric:tabular-nums;margin-top:2px;color:var(--text-muted)}.delta.up{color:var(--good)}.delta.down{color:var(--accent-warm)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:right;padding:9px 10px;border-bottom:1px solid var(--border)}th:first-child,td:first-child,th.text,td.text{text-align:left}th{color:var(--text-muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}td{font-variant-numeric:tabular-nums}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-2)}td a{text-decoration:none;font-weight:500}td a:hover{text-decoration:underline}th.sort{padding:0}th.sort>button{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;background:none;border:none;border-radius:0;cursor:pointer;width:100%;padding:9px 10px;text-align:inherit;white-space:nowrap}th.sort>button:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary)}th.sort[aria-sort=ascending]>button,th.sort[aria-sort=descending]>button{color:var(--text-primary);font-weight:600}th.sort .arrow{font-size:9px;margin-left:3px}tr.tramo>td:first-child{box-shadow:inset 3px 0 0 var(--rail, transparent)}tr.tramo.hija>td:first-child{box-shadow:inset 2px 0 0 var(--rail, transparent);padding-left:22px;color:var(--text-muted)}.tabla-nota{color:var(--text-muted);font-size:13px;margin:12px 0 0}.tabla-nota button{margin-left:8px}button{font:inherit;font-size:14px;padding:7px 13px;border-radius:var(--r-md);cursor:pointer;border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary)}button:hover:not(:disabled){background:var(--surface-2)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button.primary:hover:not(:disabled){filter:brightness(.95);background:var(--accent)}button.ghost{background:none;border-color:transparent;color:var(--text-muted)}button.ghost:hover:not(:disabled){color:var(--text-primary);background:var(--surface-2)}button:disabled{opacity:.45;cursor:default}input,select{font:inherit;font-size:14px;padding:6px 10px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary)}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.seg{display:inline-flex;background:var(--surface-2);border-radius:var(--r-pill);padding:3px;gap:2px}.seg button{border:none;background:none;border-radius:var(--r-pill);padding:5px 12px;font-size:13px;color:var(--text-secondary)}.seg button:hover:not(:disabled){background:none;color:var(--text-primary)}.seg button.on{background:var(--surface-1);color:var(--text-primary);font-weight:600;box-shadow:var(--shadow-card)}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.filters label{color:var(--text-muted);font-size:13px}.filters .sep{width:1px;align-self:stretch;background:var(--border);margin:0 4px}.toolbar{background:var(--surface-1);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:10px 12px;margin-bottom:16px}.toolbar .filters:last-child{margin-bottom:0}.toolbar .filters+.filters{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.sync-progress{display:flex;align-items:center;gap:10px;margin:0 0 14px}.sync-progress .bar{flex:1;max-width:220px;height:6px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}.sync-progress .fill{height:100%;background:var(--accent);border-radius:var(--r-pill);transition:width .3s ease}.stack{display:flex;height:12px;border-radius:var(--r-pill);overflow:hidden;gap:2px;background:var(--surface-2)}.stack span{display:block}.stack.lg{height:20px}.legend.tight{gap:8px 14px;margin-bottom:0}.error{color:var(--critical);font-size:14px;margin-top:10px}.muted{color:var(--text-muted)}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary);margin-bottom:10px}.legend span{display:inline-flex;align-items:center;gap:6px}.swatch{width:9px;height:9px;border-radius:2px;display:inline-block;flex:none}.route-head{display:flex;align-items:flex-start;gap:12px}.route-head .right{margin-left:auto}.route{height:300px;background:var(--surface-2);border-radius:var(--r-md);overflow:hidden}.route svg{display:block}.route-foot{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-muted);margin-top:8px}.route-foot span{display:inline-flex;align-items:center;gap:6px}.route-foot i{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}.route-foot .mark-start{background:var(--surface-2);border:2px solid var(--series-1)}.route-foot .mark-end{background:var(--series-1)}.route-foot .mark-shadow{height:2px;border-radius:1px;background:var(--text-muted);opacity:.45;align-self:center}:root{--cat-1: #c8800d;--cat-2: #893130;--cat-3: #1794a0;--cat-4: #6b4cae;--cat-5: #cd568b;--cat-6: #6f8d2a;--cat-7: #3072c1;--cat-8: #68b457;--cat-otras: #9a968c}@media(prefers-color-scheme:dark){:root:where(:not([data-theme=light])){--cat-1: #bf860c;--cat-2: #bd432f;--cat-3: #18a0a1;--cat-4: #886acf;--cat-5: #d45c91;--cat-6: #749331;--cat-7: #4687d8;--cat-8: #5ba84a;--cat-otras: #6b675f}}:root[data-theme=dark]{--cat-1: #bf860c;--cat-2: #bd432f;--cat-3: #18a0a1;--cat-4: #886acf;--cat-5: #d45c91;--cat-6: #749331;--cat-7: #4687d8;--cat-8: #5ba84a;--cat-otras: #6b675f}.chips{display:inline-flex;gap:5px;flex-wrap:wrap;align-items:center}.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;line-height:1;padding:4px 9px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);white-space:nowrap}.card.ink .chip{background:none;border-color:#3a382f;color:var(--ink-text-2)}.chip.auto{opacity:.72;border-style:dashed}.chip.toggle{cursor:pointer;font:inherit;font-size:12px;padding:5px 10px}.chip.toggle.on{color:var(--text-primary);font-weight:600;background:var(--surface-2)}.chip.toggle:not(.on) .swatch{opacity:.35}.chip.toggle.not{border-style:dashed;text-decoration:line-through;opacity:.8}.chip.toggle.not .swatch{opacity:.2}.chip.toggle:disabled{opacity:.4;cursor:not-allowed}.lap-tag-edit{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;background:none;border:none;padding:2px 0;cursor:pointer;text-align:left}.lap-tag-edit:hover{background:none}.lap-tag-edit:hover .muted{color:var(--text-primary);text-decoration:underline}th.pick,td.pick{width:28px;padding-right:0;text-align:center}.filters.bulk{border:1px solid var(--accent);border-radius:var(--r-md);padding:8px 12px;background:var(--surface-1)}tr.tramo.editado>td:last-child{box-shadow:inset -3px 0 0 var(--accent)}tr.tramo.editado>td{background:color-mix(in srgb,var(--accent) 7%,transparent)}td select{padding:4px 6px;font-size:13px;max-width:130px}td input{padding:4px 6px;font-size:13px}.compare-dot{width:11px;height:11px;border-radius:50%;display:inline-block;flex:none}.compare-name{display:flex;flex-direction:column;min-width:0;line-height:1.3;text-decoration:none}.compare-name>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-name .muted{font-size:12px}a.compare-name:hover>:first-child{text-decoration:underline}.compare-sel{display:grid;gap:4px}.compare-sel-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto 40px;align-items:center;gap:10px;font-size:14px;padding:4px 0}.compare-ref{display:inline-flex;gap:6px;align-items:center;font-size:13px;cursor:pointer;padding:8px 0}.compare-sel-row button{width:40px;height:40px;padding:0;font-size:18px}.compare-pickrow{cursor:pointer}.compare-pickrow .compare-name{max-width:260px}.compare-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.compare-tile{box-shadow:none;background:var(--surface-2);border-top:3px solid;min-width:0}.compare-tile .label{text-transform:none;letter-spacing:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-tile-sub{font-size:12px;font-variant-numeric:tabular-nums}.compare-map{height:380px}.compare-play{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.compare-playbtn{width:40px;height:40px;padding:0;display:inline-grid;place-items:center;flex:none}.compare-play input[type=range]{flex:1;min-width:120px;padding:0;height:32px;accent-color:var(--accent)}.compare-clock{font-variant-numeric:tabular-nums;min-width:52px;font-size:14px;text-align:right}.compare-pos{display:grid;gap:4px;margin-top:12px;font-size:13px;color:var(--text-secondary)}.compare-pos-row{display:grid;grid-template-columns:11px minmax(0,1fr) auto 64px;gap:8px;align-items:center;font-variant-numeric:tabular-nums}.compare-pos-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-pos-row b{color:var(--text-primary);font-weight:600}.compare-pos-row>:last-child{text-align:right}.compare-splits th:first-child,.compare-splits td:first-child{position:sticky;left:0;z-index:1;background:var(--surface-1)}.compare-splits td{line-height:1.25}.compare-acc{display:block;font-size:12px}.compare-splits th{white-space:normal;min-width:68px;vertical-align:bottom}.compare-scrub .recharts-wrapper{touch-action:pan-y}.compare-pin{position:fixed;left:8px;right:8px;z-index:20;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:0 6px 24px #0000002e;padding:8px;pointer-events:none;animation:compare-pin-in .12s ease-out}.compare-pin.top{top:8px}.compare-pin.bottom{bottom:84px}.compare-pin .compare-map{height:150px}.compare-pin-foot{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin-top:6px;font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.compare-pin-foot span{display:inline-flex;align-items:center;gap:5px}.compare-pin-foot b{color:var(--text-primary);font-weight:600}.compare-pin-foot .compare-clock{min-width:0;font-size:12px;color:var(--text-primary)}.compare-pin-foot .compare-dot{width:9px;height:9px}@keyframes compare-pin-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.compare-pin{animation:none}}@media(max-width:760px){.hide-sm{display:none}.compare-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.compare-tile{padding:10px 12px}.compare-tile .value{font-size:22px}.compare-map{height:280px}.compare-play .seg{width:100%}.compare-play .seg button{flex:1}.compare-pickrow .compare-name{max-width:150px}.compare-splits th,.compare-splits td{padding-left:8px;padding-right:8px}}@media(max-width:760px){.content{margin-left:0;padding:12px 14px calc(96px + env(safe-area-inset-bottom))}.page-head h1{font-size:20px}.value.big{font-size:36px}.hero-split{grid-template-columns:1fr;gap:16px}.route{height:220px}.route-head{flex-wrap:wrap}.route-head .right{margin-left:0}}.page-head .back{font-size:13px;text-decoration:none}.page-head .back:hover{color:var(--text-primary)}.card .hero-title{font-size:22px;letter-spacing:-.02em;margin-bottom:2px}.card h3.sec{font-size:13px;margin:20px 0 4px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.seg{flex-wrap:wrap}th,td{white-space:nowrap}.modal-back{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:#14110980}.modal{background:var(--surface-1);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:18px 20px;width:min(560px,100%);max-height:85vh;overflow:auto}.modal-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.modal-head h2{font-size:14px;margin:0;letter-spacing:-.01em}.modal-head button{margin-left:auto;padding:4px 8px;line-height:1}.card.ink a{color:var(--ink-text);text-decoration:underline}.mt-1{margin-top:var(--sp-1)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}.mb-0{margin-bottom:0}.m-0{margin:0}.stack-2>*+*{margin-top:var(--sp-2)}.stack-3>*+*{margin-top:var(--sp-3)}.cluster{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.fs-sm{font-size:var(--fs-sm)}.fs-xs{font-size:var(--fs-xs)}.num{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}h1,h2,h3{font-weight:650}.page-head h1{font-size:var(--fs-xl)}.value.big{font-size:var(--fs-3xl);font-weight:650}button.icon-btn{padding:6px;line-height:0;display:inline-grid;place-items:center}.skel{display:block;border-radius:6px;background:var(--surface-2);background-image:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface-1) 70%,transparent),transparent);background-size:200% 100%;animation:skel 1.4s ease-in-out infinite}.card.ink .skel{background-color:#ffffff12;background-image:none}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skel{animation:none}}.state-error{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--critical);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:color-mix(in srgb,var(--critical) 8%,transparent)}.state-error .push{margin-left:auto}.state-empty{display:grid;gap:var(--sp-2);justify-items:start;padding:var(--sp-2) 0}.state-empty p{margin:0;font-size:var(--fs-sm);max-width:60ch}.callout{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-sm);line-height:1.45;background:var(--surface-2);color:var(--text-secondary)}.callout>svg{flex:none;margin-top:1px;color:var(--text-muted)}.callout.warn>svg{color:var(--accent)}.callout-body{flex:1;min-width:0}.callout-action{flex:none;display:flex;gap:var(--sp-2);align-self:center}.card.ink .callout{background:#ffffff0f;color:var(--ink-text-2)}.card.ink .callout button{background:transparent;color:var(--ink-text);border-color:#4a463b}.card.ink .callout button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}@media(max-width:760px){.callout{flex-wrap:wrap}.callout-action{width:100%;padding-left:30px}}.infotip{position:relative;display:inline-flex;vertical-align:-2px;margin-left:6px}.infotip-btn{border:none;background:none;padding:2px;border-radius:50%;color:var(--text-muted);line-height:0;cursor:pointer}.infotip-btn:hover:not(:disabled),.infotip-btn[aria-expanded=true]{background:var(--surface-2);color:var(--text-primary)}.card.ink .infotip-btn{color:var(--ink-text-2)}.card.ink .infotip-btn:hover,.card.ink .infotip-btn[aria-expanded=true]{background:#ffffff14;color:var(--ink-text)}.infotip-pop{position:absolute;z-index:30;top:calc(100% + 6px);left:-8px;width:min(320px,78vw);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--surface-1);color:var(--text-secondary);box-shadow:var(--shadow-pop);font-size:var(--fs-sm);font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none}.card-head{display:flex;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-3)}.card-head>:first-child{min-width:0;flex:1}.card-head .sub{margin-bottom:0}.card-head .right{flex:none}@media(max-width:760px){.card-head{flex-wrap:wrap}.card-head .right{margin-left:auto}}.tabs{display:flex;gap:var(--sp-1);margin:-6px 0 var(--sp-5);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tabs a{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;margin-bottom:-1px;text-decoration:none;color:var(--text-muted);font-size:var(--fs-md);font-weight:500;border-bottom:2px solid transparent;white-space:nowrap}.tabs a:hover{color:var(--text-primary)}.tabs a.on{color:var(--text-primary);border-bottom-color:var(--accent);font-weight:600}.badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.toasts{position:fixed;z-index:60;right:16px;bottom:16px;display:grid;gap:var(--sp-2);width:min(420px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:var(--sp-2);padding:10px 8px 10px 14px;border-radius:var(--r-md);font-size:var(--fs-sm);background:var(--surface-ink);color:var(--ink-text);box-shadow:var(--shadow-pop);animation:toast-in .18s ease-out}.toast>span{flex:1}.toast>svg{flex:none;color:var(--accent)}.toast.error>svg{color:var(--accent-warm)}.toast button.ghost{color:var(--ink-text-2);padding:4px 8px}.toast button.ghost:hover:not(:disabled){color:var(--ink-text);background:#ffffff14}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}@media(max-width:760px){.toasts{right:12px;left:12px;width:auto;bottom:calc(88px + env(safe-area-inset-bottom))}}.modal{box-shadow:var(--shadow-pop)}@media(max-width:760px){.modal-back.sheet{place-items:end stretch;padding:0}.modal-back.sheet .modal{width:100%;border-radius:18px 18px 0 0;max-height:88vh;padding-bottom:calc(18px + env(safe-area-inset-bottom))}}.boot{min-height:100vh;display:grid;place-items:center}.brand-mark{width:34px;height:34px;display:block;flex:none;background:url(/favicon.svg) center / contain no-repeat}.brand-mark.lg{width:56px;height:56px;animation:boot 1.2s ease-in-out infinite alternate}@keyframes boot{0%{opacity:.45}to{opacity:1}}@media(prefers-reduced-motion:reduce){.brand-mark.lg{animation:none}}.rail{position:fixed;left:12px;top:12px;bottom:12px;width:var(--rail-w);z-index:10;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 0 10px;background:var(--surface-1);border-radius:20px;box-shadow:var(--shadow-card)}.rail .brand{margin-bottom:14px;border-radius:10px}.rail .spacer{flex:1}.nav-item,.account-btn,.sync-btn{width:64px;padding:8px 0 6px;border-radius:13px;border:none;background:none;display:grid;justify-items:center;gap:3px;text-decoration:none;color:var(--text-muted);font-size:11px;font-weight:500;letter-spacing:0;line-height:1.1}.nav-item:hover,.account-btn:hover:not(:disabled),.sync-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary)}.nav-item>svg,.account-btn>svg{transition:transform .15s ease}.nav-item.active{color:var(--text-primary);font-weight:650}.nav-item>svg{width:44px;height:30px;padding:5px 12px;border-radius:10px;box-sizing:border-box}.nav-item.active>svg{background:var(--surface-ink);color:var(--accent)}.account-btn.active{color:var(--text-primary)}.rail-tools{display:grid;gap:2px;justify-items:center}.sync-btn{position:relative;font-variant-numeric:tabular-nums}.sync-btn:disabled{opacity:1;cursor:progress}.sync-icon{position:relative;width:30px;height:30px;display:grid;place-items:center}.sync-btn.busy{color:var(--text-primary)}.sync-btn.busy .sync-icon>svg:last-child{color:var(--accent);animation:spin 1.1s linear infinite}.sync-btn .ring{position:absolute;inset:0;transform:rotate(-90deg)}.sync-btn .ring circle{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;transition:stroke-dasharray .3s ease}.sync-btn .sync-text{max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.sync-btn.busy .sync-icon>svg:last-child{animation:none}}.account{position:relative}.menu{position:absolute;z-index:40;min-width:240px;padding:6px;background:var(--surface-1);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);top:calc(100% + 6px);right:0}.account.up .menu{top:auto;bottom:0;right:auto;left:calc(100% + 12px)}.menu a,.menu .menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:none;border-radius:var(--r-md);background:none;color:var(--text-primary);text-decoration:none;font-size:var(--fs-md);text-align:left}.menu a:hover,.menu .menu-item:hover:not(:disabled){background:var(--surface-2)}.menu-head{padding:8px 10px 6px;font-size:var(--fs-sm);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis}.menu-label{padding:6px 10px 4px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.menu-sep{height:1px;background:var(--border);margin:6px 4px}.menu-themes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:0 4px 4px}.menu-themes button{display:grid;justify-items:center;gap:4px;padding:8px 4px;font-size:12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid transparent;color:var(--text-secondary)}.menu-themes button.on{border-color:var(--accent);color:var(--text-primary);background:var(--surface-1);font-weight:600}.sync-strip{position:sticky;top:0;z-index:9;display:flex;align-items:center;gap:12px;margin:-12px -4px 14px;padding:10px 4px;font-size:var(--fs-sm);color:var(--text-secondary);background:color-mix(in srgb,var(--surface-0) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.sync-strip .bar{flex:0 0 180px;height:4px;border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}.sync-strip .fill{height:100%;background:var(--accent);border-radius:var(--r-pill);transition:width .3s ease}.sync-strip .fill[data-indeterminate]{width:30%;animation:indet 1.2s ease-in-out infinite}@keyframes indet{0%{transform:translate(-100%)}to{transform:translate(340%)}}@media(prefers-reduced-motion:reduce){.sync-strip .fill[data-indeterminate]{animation:none}}.topbar{display:none}@media(min-width:761px){.content{padding-top:28px}}@media(max-width:760px){.rail{inset:auto 0 0;width:auto;height:auto;border-radius:0;flex-direction:row;justify-content:space-around;align-items:stretch;gap:0;padding:4px 4px calc(4px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface-1) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 -1px 0 var(--border)}.rail .brand,.rail .spacer,.rail-tools{display:none}.rail .nav-item{flex:1;width:auto;min-height:52px;padding:5px 0 4px}.topbar{display:flex;align-items:center;gap:4px;position:sticky;top:0;z-index:10;padding:calc(6px + env(safe-area-inset-top)) 10px 6px 14px;background:color-mix(in srgb,var(--surface-0) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar .brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--text-primary)}.topbar .brand-mark{width:28px;height:28px}.topbar .brand-name{font-weight:700;letter-spacing:-.02em;font-size:var(--fs-lg)}.topbar .spacer{flex:1}.topbar .sync-btn,.topbar .account-btn{width:auto;min-width:44px;height:44px;padding:0 10px;display:flex;align-items:center;gap:6px;font-size:var(--fs-sm)}.topbar .sync-icon{width:26px;height:26px}.topbar .account-label{display:none}.sync-strip{margin:-4px -14px 12px;padding:8px 14px;top:calc(56px + env(safe-area-inset-top))}.sync-strip .bar{flex-basis:90px}}.login{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.login-card{width:min(820px,100%);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:var(--surface-1);border-radius:22px;box-shadow:var(--shadow-pop)}.login-brand{background:var(--surface-ink);color:var(--ink-text);padding:32px;display:grid;grid-template-rows:auto auto 1fr;gap:20px;min-height:420px}.login-brand .brand-mark{width:44px;height:44px}.login-name{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.03em}.login-brand p{margin:6px 0 0;color:var(--ink-text-2);max-width:30ch}.login-bars{display:flex;align-items:flex-end;gap:6px;height:120px;align-self:end}.login-bars span{flex:1;background:var(--ink-mark);border-radius:3px 3px 0 0}.login-bars span.now{background:var(--accent)}.login-form{padding:36px 32px;display:flex;flex-direction:column;justify-content:center}.login-form h1{font-size:var(--fs-xl);margin:0 0 20px;letter-spacing:-.02em}.login-form label{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:500;margin-bottom:6px}.login-form input{width:100%;padding:10px 12px;font-size:var(--fs-md);margin-bottom:14px}.login-form .pw{position:relative}.login-form .pw input{padding-right:84px}.login-form .pw button{position:absolute;right:4px;top:4px;font-size:var(--fs-sm);padding:6px 10px}button.primary.lg{margin-top:18px;padding:11px 16px;font-size:var(--fs-md)}@media(max-width:680px){.login{place-items:start stretch;padding:16px}.login-card{grid-template-columns:1fr}.login-brand{min-height:0;padding:24px;grid-template-rows:auto auto}.login-bars{display:none}.login-form{padding:24px}}.mb-4{margin-bottom:var(--sp-4)}@media(min-width:761px){.show-sm{display:none!important}}a.btn{display:inline-flex;align-items:center;gap:6px;font-size:14px;padding:7px 13px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);text-decoration:none;font-weight:500}a.btn:hover{background:var(--surface-2)}a.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}a.btn.primary:hover{filter:brightness(.95)}.card.ink a.btn:not(.primary){background:transparent;color:var(--ink-text);border-color:#4a463b;text-decoration:none}.card.ink a.btn.primary{color:var(--accent-ink);text-decoration:none}.link-more{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);text-decoration:none;padding:4px 0}.link-more:hover{color:var(--text-primary)}.gauge{margin-top:14px;max-width:360px}.gauge-track{position:relative;display:flex;gap:2px;height:6px}.gauge-track span{background:#ffffff1f;border-radius:2px}.gauge-track span.on{background:var(--accent)}.gauge-track i{position:absolute;top:-4px;width:3px;height:14px;margin-left:-1.5px;background:var(--ink-text);border-radius:2px;box-shadow:0 0 0 2px var(--surface-ink)}.gauge-labels{display:flex;gap:2px;margin-top:6px;font-size:10.5px;color:var(--ink-text-2)}.gauge-labels span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;opacity:.75}.gauge-labels span.on{color:var(--ink-text);opacity:1;font-weight:600}.gauge-labels span:not(.on){visibility:hidden}.gauge-labels span.on{overflow:visible}.act-list{display:grid;margin:0 -8px}.act-row{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:var(--r-md);color:var(--text-muted)}.act-row+.act-row{border-top:1px solid var(--border)}.act-row:hover{background:var(--surface-2)}.act-row.picked{background:color-mix(in srgb,var(--accent) 9%,transparent)}.act-row input[type=checkbox]{width:20px;height:20px;flex:none;accent-color:var(--accent)}.act-row-main{flex:1;min-width:0;display:grid;gap:4px;text-decoration:none;color:var(--text-primary)}.act-row-top{display:flex;gap:10px;align-items:baseline}.act-row-name{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.act-row-date{flex:none;font-size:var(--fs-xs);color:var(--text-muted)}.act-row-metrics{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:var(--fs-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums}.act-row-metrics b{color:var(--text-primary);font-weight:600}.act-row-tags .chip{font-size:11px;padding:3px 7px}.welcome{padding:28px}.welcome-title{font-size:var(--fs-xl)!important;letter-spacing:-.02em;margin-bottom:4px!important}.steps{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:4px}.steps li{display:flex;gap:14px;padding:12px;border-radius:var(--r-md);opacity:.6}.steps li.current{opacity:1;background:#ffffff0d}.steps li.done{opacity:.85}.steps li p{margin:2px 0 0;font-size:var(--fs-sm);color:var(--ink-text-2)}.step-dot{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-sm);font-weight:700;border:1.5px solid var(--ink-text-2);color:var(--ink-text)}.steps li.current .step-dot{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.steps li.done .step-dot{background:var(--good);border-color:var(--good);color:#fff}.sheet-filters .filters{flex-direction:column;align-items:stretch;gap:10px;padding:12px 0;border-top:1px solid var(--border);margin:0}.sheet-filters .filters:first-child{border-top:none;padding-top:0}.sheet-filters .filters .push{margin-left:0}.sheet-filters .filters>div,.sheet-filters .chips{display:flex;flex-wrap:wrap;gap:6px}.sheet-filters input,.sheet-filters select{min-height:40px}.sheet-foot{position:sticky;bottom:-18px;display:flex;gap:8px;justify-content:flex-end;margin:8px -20px -18px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--surface-1);border-top:1px solid var(--border)}.sheet-foot .primary{flex:1;padding:11px}.toolbar button.ghost .badge{margin-left:2px}.toolbar button.ghost{display:inline-flex;align-items:center;gap:6px}@media(max-width:760px){.toolbar .filters input[type=search]{width:100%!important;flex:1 1 100%;min-height:40px}.toolbar .filters label[for=type]{display:none}.act-row{padding:12px 8px}}.section-nav{position:sticky;top:0;z-index:8;display:flex;align-items:center;gap:4px;margin:0 -4px 16px;padding:8px 4px;background:color-mix(in srgb,var(--surface-0) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.section-nav-links{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1}.section-nav-links::-webkit-scrollbar{display:none}.section-nav a{flex:none;padding:6px 12px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);text-decoration:none;white-space:nowrap}.section-nav a:hover{background:var(--surface-2);color:var(--text-primary)}.section-nav a.on{background:var(--surface-ink);color:var(--accent)}[id]{scroll-margin-top:64px}@media(max-width:760px){.section-nav{top:calc(56px + env(safe-area-inset-top));margin:0 -14px 12px;padding:8px 14px}[id]{scroll-margin-top:120px}}.page-head .back{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);font-weight:500}.page-head .back svg{transform:rotate(180deg)}.hero-kicker{font-size:var(--fs-sm);color:var(--ink-text-2)}.card.ink h1.hero-title{font-size:var(--fs-xl);margin:2px 0 0;letter-spacing:-.02em;line-height:1.2;color:var(--ink-text)}.card.ink .tiles.in-card{margin-top:6px}.card.ink .lap-tag-edit{color:var(--ink-text);font:inherit}.card.ink .lap-tag-edit .muted{color:var(--ink-text-2)}.card.ink input{background:#ffffff0f;color:var(--ink-text);border-color:#4a463b}@media(max-width:760px){.hide-xs{display:none}.detail-head .right{margin-left:auto}}.section-nav-extra{margin-left:auto;flex:none;padding-left:12px}.section-nav-extra .seg{flex-wrap:nowrap;background:var(--surface-1);box-shadow:var(--shadow-card)}@media(max-width:760px){.section-nav{flex-direction:column;align-items:stretch}.section-nav-extra{order:-1;margin:0 0 4px;padding:0}.section-nav-extra .seg{width:100%}.section-nav-extra .seg button{flex:1}}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;background:var(--surface-2);color:var(--text-secondary);white-space:nowrap}.status-pill i{width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.status-pill.ok{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}.status-pill.ok i{background:var(--good)}.status-pill.warn{color:var(--text-primary);background:color-mix(in srgb,var(--accent) 18%,transparent)}.status-pill.warn i{background:var(--accent)}.fs-sm svg{vertical-align:-2px}@media(max-width:760px){.topbar .sync-btn .sync-text{max-width:none}.tiles.in-card{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px}.tiles.in-card .value{font-size:19px}}@media(max-width:760px){.card form .filters,form .card .filters{display:grid;grid-template-columns:1fr;gap:6px}.card form .filters>label,form .card .filters>label{margin-top:6px}.card form .filters input,.card form .filters select,form .card .filters input,form .card .filters select{width:100%!important;min-height:40px}.card form .filters>button,form .card .filters>button{margin-top:8px;padding:10px}form .card .filters:has(>span),.card form .filters:has(>span){grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}form .card .filters>span,.card form .filters>span{display:flex;align-items:center;gap:6px}}.act-row .rank{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--text-secondary);font-size:var(--fs-xs);font-weight:700;font-variant-numeric:tabular-nums}.check-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:12px}.check-item{border:1px solid var(--border);border-radius:var(--r-md);padding:12px;min-width:0}.check-item.dismissed{opacity:.55}.check-item .act-row-name{color:var(--text-primary);text-decoration:none}.check-compare{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0 10px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.check-compare dt{color:var(--text-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;padding-top:2px}.check-compare dd{margin:0;min-width:0}.check-foot{display:flex;gap:10px;align-items:center}.check-foot .chips{flex:1;min-width:0}.check-foot button{flex:none;min-height:40px}.check-item .row{flex-wrap:wrap}
