:root{--paper: #f5f7fa;--surf: #ffffff;--surf2: #f0f3f7;--surf3: #e3e8ee;--line: #dde3ea;--line2: #edf0f4;--ink: #0e1216;--ink2: #4a5561;--ink3: #7b8794;--acc: #1b54d4;--acc-ink: #ffffff;--acc-soft: #e4ebfb;--acc-line: #a9c0f2;--ok: #0e7a50;--ok-soft: #dcf0e6;--warn: #8e5b00;--warn-soft: #f8edd6;--bad: #af2a20;--bad-soft: #fae1de;--sh: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);--sh-lg: 0 12px 32px -12px rgba(16, 24, 40, .18), 0 2px 6px rgba(16, 24, 40, .06);--r: 12px;--rail: #0f1728;--rail2: #18223a;--rail-ink: #c5cede;--rail-dim: #7d8aa3;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-neutral: #7b8794;--mono: ui-monospace, "Cascadia Mono", "SFMono-Regular", Consolas, Menlo, monospace;--sans: "Inter", "Inter var", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #0b0e12;--surf: #131920;--surf2: #1b222b;--surf3: #252e39;--line: #28323d;--line2: #1f2731;--ink: #e5eaf0;--ink2: #9aa7b5;--ink3: #6b7885;--acc: #5e92f7;--acc-ink: #04122e;--acc-soft: #14243f;--acc-line: #2b4b7e;--ok: #42c48c;--ok-soft: #0f2c20;--warn: #e0a749;--warn-soft: #32260f;--bad: #f07c6e;--bad-soft: #371a17;--sh: 0 1px 2px rgba(0, 0, 0, .45), 0 10px 28px -18px rgba(0, 0, 0, .85);--sh-lg: 0 16px 40px -14px rgba(0, 0, 0, .8);--rail: #080b10;--rail2: #121822;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-neutral: #8a96a3}}:root[data-theme=dark]{--paper: #0b0e12;--surf: #131920;--surf2: #1b222b;--surf3: #252e39;--line: #28323d;--line2: #1f2731;--ink: #e5eaf0;--ink2: #9aa7b5;--ink3: #6b7885;--acc: #5e92f7;--acc-ink: #04122e;--acc-soft: #14243f;--acc-line: #2b4b7e;--ok: #42c48c;--ok-soft: #0f2c20;--warn: #e0a749;--warn-soft: #32260f;--bad: #f07c6e;--bad-soft: #371a17;--sh: 0 1px 2px rgba(0, 0, 0, .45), 0 10px 28px -18px rgba(0, 0, 0, .85);--sh-lg: 0 16px 40px -14px rgba(0, 0, 0, .8);--rail: #080b10;--rail2: #121822;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-neutral: #8a96a3}*{box-sizing:border-box}html{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark}}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:13.5px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.018em}h2{font-size:20px}a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:6px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}::selection{background:var(--acc-soft)}*{scrollbar-width:thin;scrollbar-color:var(--surf3) transparent}.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.dim{color:var(--ink3)}.mut{color:var(--ink2)}.lab{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);font-weight:600}.app{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.rail{background:var(--rail);color:var(--rail-ink);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow-y:auto;scrollbar-color:var(--rail2) transparent}.brand{padding:18px 16px 14px;display:flex;gap:10px;align-items:center}.brand i{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#3f7bf0,#1b54d4 55%,#1238a0);color:#fff;display:grid;place-items:center;font-style:normal;font-weight:750;font-size:15px;flex:none;box-shadow:0 4px 12px -4px #1b54d4b3}.brand b{font-size:15px;font-weight:680;display:block;line-height:1.2;color:#fff;letter-spacing:-.01em}.brand span{font-size:11px;color:var(--rail-dim)}.navgroup{padding:16px 20px 6px;font-size:10.5px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--rail-dim)}.nav{display:flex;flex-direction:column;gap:2px;padding:0 10px}.nav a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;color:var(--rail-ink);font-size:13px;font-weight:520;text-decoration:none;transition:background .12s,color .12s}.nav a .ico{color:var(--rail-dim);flex:none;transition:color .12s}.nav a:hover{background:var(--rail2);color:#fff}.nav a:hover .ico{color:#fff}.nav a.on{background:#5e92f729;color:#fff;font-weight:620;box-shadow:inset 2px 0 #5e92f7}.nav a.on .ico{color:#8fb3fb}.railfoot{margin-top:auto;padding:12px;border-top:1px solid rgba(255,255,255,.06);display:flex;gap:10px;align-items:center}.railfoot .who{font-size:12.5px;display:block;color:#fff;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.railfoot .role{font-size:11px;color:var(--rail-dim);text-transform:capitalize}.railbtn{background:none;border:0;color:var(--rail-dim);padding:6px;border-radius:7px;cursor:pointer;display:grid;place-items:center}.railbtn:hover{background:var(--rail2);color:#fff}.av{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#5e92f7,#1b54d4);color:#fff;display:grid;place-items:center;font-size:11.5px;font-weight:700;flex:none}.main{min-width:0;display:flex;flex-direction:column}.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 82%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(10px);backdrop-filter:saturate(1.6) blur(10px);border-bottom:1px solid var(--line2);padding:10px 28px;display:flex;align-items:center;gap:12px;min-height:52px}.crumbs{display:flex;align-items:center;gap:8px;font-size:13px}.crumb{color:var(--ink3);font-weight:520}.crumb:after{content:"/";margin-left:8px;color:var(--line)}.top h1{font-size:13.5px;font-weight:620;line-height:1.25;letter-spacing:-.005em}.iconbtn{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;border:1px solid var(--line);background:var(--surf);color:var(--ink2);cursor:pointer}.iconbtn:hover{color:var(--ink);border-color:var(--ink3)}.content{padding:24px 28px 72px;display:flex;flex-direction:column;gap:20px;max-width:1480px;width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border-radius:9px;border:1px solid var(--line);background:var(--surf);font-size:13px;font-weight:580;cursor:pointer;white-space:nowrap;color:var(--ink);box-shadow:0 1px 1px #1018280a;transition:background .12s,border-color .12s,box-shadow .12s,transform .05s}.btn:hover{background:var(--surf2);border-color:var(--ink3);text-decoration:none}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.p{background:var(--acc);border-color:var(--acc);color:var(--acc-ink);box-shadow:0 1px 2px #1b54d440,inset 0 1px #ffffff24}.btn.p:hover{filter:brightness(1.08);background:var(--acc)}.btn.d{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,var(--line))}.btn.d:hover{background:var(--bad-soft)}.btn.s{height:28px;padding:0 10px;font-size:12px;border-radius:8px}.card{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}.ch{padding:14px 18px;border-bottom:1px solid var(--line2);display:flex;align-items:center;gap:10px;min-height:52px}.ch h3{font-size:14.5px;font-weight:650}.cb{padding:18px}.cf{padding:11px 18px;border-top:1px solid var(--line2);background:var(--surf2);font-size:12px;line-height:1.55;border-radius:0 0 var(--r) var(--r)}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid transparent;white-space:nowrap;line-height:1.5}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.wa{background:var(--warn-soft);color:var(--warn)}.pill.ba{background:var(--bad-soft);color:var(--bad)}.pill.ac{background:var(--acc-soft);color:var(--acc);border-color:var(--acc-line)}.pill.nu{background:var(--surf2);color:var(--ink2);border-color:var(--line)}.pill.ok:before,.pill.wa:before,.pill.ba:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.row{display:flex;gap:10px;align-items:center}.row.w{flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:12px}.sp{margin-left:auto}.g2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.sidebar{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}@media(max-width:1100px){.g2,.sidebar{grid-template-columns:minmax(0,1fr)}}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.tile{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:15px 17px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--sh);position:relative;overflow:hidden}.tile .lab{font-size:11.5px;letter-spacing:.02em;text-transform:none;font-weight:560;color:var(--ink2)}.tile .v{font-size:26px;font-weight:680;letter-spacing:-.03em;line-height:1.15;font-variant-numeric:tabular-nums}.tile .d{font-size:12px;color:var(--ink3);line-height:1.45}.tile.ok .v{color:var(--ok)}.tile.ba .v{color:var(--bad)}.tile.ok:after,.tile.ba:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.tile.ok:after{background:var(--ok)}.tile.ba:after{background:var(--bad)}table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}thead th{text-align:left;padding:9px 12px;background:var(--surf2);border-bottom:1px solid var(--line);font-size:11.5px;letter-spacing:.02em;color:var(--ink2);font-weight:600;white-space:nowrap;position:sticky;top:0;z-index:1}thead th:first-child{border-top-left-radius:9px}thead th:last-child{border-top-right-radius:9px}tbody td{padding:10px 12px;border-bottom:1px solid var(--line2);white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background .1s}tbody tr:hover{background:color-mix(in srgb,var(--acc-soft) 45%,transparent)}.tw{overflow-x:auto;border-radius:10px;border:1px solid var(--line2)}input.f,select.f,textarea.f{height:34px;padding:0 11px;border-radius:9px;border:1px solid var(--line);background:var(--surf);font-size:13px;color:var(--ink);transition:border-color .12s,box-shadow .12s}select.f{padding-right:8px}input.f::placeholder,textarea.f::placeholder{color:var(--ink3)}input.f:hover,select.f:hover,textarea.f:hover{border-color:var(--ink3)}input.f:focus,select.f:focus,textarea.f:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 22%,transparent)}input.f:disabled,select.f:disabled{background:var(--surf2);color:var(--ink3)}textarea.f{height:auto;padding:9px 11px;width:100%;min-height:90px;font-family:var(--mono);line-height:1.55;resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--acc);width:15px;height:15px}.crow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;background:var(--surf2);border:1px solid var(--line);border-radius:10px}.crow+.crow{margin-top:8px}.crow .j{font-family:var(--mono);font-size:10px;color:var(--acc);font-weight:700;width:46px}.crow .x{margin-left:auto;background:none;border:0;color:var(--ink3);cursor:pointer;padding:2px 6px;border-radius:6px}.crow .x:hover{background:var(--bad-soft);color:var(--bad)}.rule{border:1px solid var(--line);border-radius:11px;padding:4px;background:var(--surf)}.rule .crow{border:0;background:transparent;padding:6px 8px}.rule .crow+.crow{margin-top:0}.chk{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink2);white-space:nowrap}.chk input{accent-color:var(--acc)}.brk{display:flex;justify-content:space-between;padding:6px 0;font-size:12.5px;border-bottom:1px dashed var(--line2)}.brk:last-child{border:0}.saved{display:flex;flex-direction:column;max-height:440px;overflow-y:auto}.saved-item{padding:9px 0;border-bottom:1px dashed var(--line2)}.saved-item:last-child{border:0}.saved-name{display:block;width:100%;padding:0;border:0;background:none;text-align:left;font:inherit;font-size:13px;font-weight:600;line-height:1.35;color:var(--ink);cursor:pointer;overflow-wrap:anywhere}.saved-name:hover,.saved-item.on .saved-name{color:var(--acc)}.saved-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:5px;font-size:11.5px;color:var(--ink3)}.tl-item{display:grid;grid-template-columns:80px minmax(0,1fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--line2)}.tl-item:last-child{border:0}.tl-time{font-family:var(--mono);font-size:11px;color:var(--ink3)}.bub{border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:var(--surf2);font-size:13px;max-width:560px;line-height:1.5;margin-top:4px}.bub.in{background:var(--acc-soft);border-color:var(--acc-line)}.banner{padding:12px 16px;border-radius:var(--r);font-size:13px;display:flex;gap:10px;align-items:center;background:var(--acc-soft);color:var(--ink);border:1px solid var(--acc-line)}.banner.stack{flex-direction:column;align-items:stretch;gap:0}.banner.bad{background:var(--bad-soft);color:var(--bad);border:1px solid color-mix(in srgb,var(--bad) 40%,transparent);box-shadow:inset 3px 0 0 var(--bad)}.banner.warn{background:var(--warn-soft);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);box-shadow:inset 3px 0 0 var(--warn)}.center{min-height:100vh;display:grid;place-items:center}.empty{padding:44px 20px;text-align:center;color:var(--ink3);font-size:13.5px}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable:hover{color:var(--acc)}.viz svg{display:block;overflow:visible}.viz-grid{stroke:var(--line2);stroke-width:1}.viz-axis{fill:var(--ink3);font-size:10.5px;font-family:var(--sans);font-variant-numeric:tabular-nums}.viz-now{stroke:var(--ink3);stroke-width:1}.viz-past{fill:var(--surf2);opacity:.55}.viz-cross{stroke:var(--ink3);stroke-width:1}.viz-dot{stroke:var(--surf);stroke-width:2}.viz-tip{position:absolute;pointer-events:none;z-index:5;min-width:170px;background:var(--surf);border:1px solid var(--line);border-radius:10px;box-shadow:var(--sh-lg);padding:9px 11px;font-size:12px}.viz-tip-h{font-weight:650;margin-bottom:5px;color:var(--ink)}.viz-tip-r{display:flex;align-items:center;gap:7px;line-height:1.7;color:var(--ink2)}.viz-tip-r i{width:12px;height:3px;border-radius:2px;flex:none}.viz-tip-r b{color:var(--ink);font-variant-numeric:tabular-nums;min-width:34px}.viz-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--ink2);align-items:center}.viz-legend span{display:inline-flex;align-items:center;gap:6px}.viz-legend i{display:inline-block;flex:none}.viz-legend i.line{width:14px;height:3px;border-radius:2px}.viz-legend i.step{width:14px;height:8px;border:0;border-top:2px solid;border-right:2px solid;background:none!important}.viz-legend i.box{width:10px;height:10px;border-radius:3px}.viz-legend i.soft{opacity:.4}.viz-legend b{color:var(--ink);font-weight:650}.viz-stack{display:flex;height:14px;border-radius:7px;overflow:hidden;gap:2px;background:var(--surf)}.viz-stack>div{min-width:3px;transition:opacity .12s}.viz-meter{position:relative;height:12px;background:var(--surf2);border-radius:6px;display:flex;gap:2px;overflow:visible}.viz-meter .seg{height:100%}.viz-meter .seg:first-child{border-radius:6px 0 0 6px}.viz-meter .seg.soft{opacity:.4}.viz-meter .cap{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink);border-radius:1px}.ap-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0}.ap-hero>div{padding:22px 24px}.ap-hero>div+div{border-left:1px solid var(--line2)}@media(max-width:1100px){.ap-hero{grid-template-columns:1fr}.ap-hero>div+div{border-left:0;border-top:1px solid var(--line2)}}.ap-state{display:flex;align-items:center;gap:12px}.ap-state .dot{width:12px;height:12px;border-radius:50%;flex:none;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 18%,transparent);background:currentColor}.ap-state h2{font-size:22px}.ap-reason{font-size:14px;line-height:1.6;color:var(--ink2);margin:10px 0 0;max-width:640px}.ap-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;background:none;border:0;padding:0;font-weight:620;font-size:13px;color:var(--ink)}.ap-toggle .sw{width:42px;height:24px;border-radius:999px;background:var(--surf3);position:relative;transition:background .15s;flex:none}.ap-toggle .sw:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .15s}.ap-toggle.on .sw{background:var(--ok)}.ap-toggle.on .sw:after{transform:translate(18px)}.ap-toggle:disabled{opacity:.5;cursor:not-allowed}.ap-eq{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px;color:var(--ink2);margin-top:16px}.ap-eq .t{background:var(--surf2);border:1px solid var(--line2);border-radius:8px;padding:4px 9px}.ap-eq .t b{color:var(--ink);font-variant-numeric:tabular-nums}.ap-eq .op{color:var(--ink3);font-weight:600}.seg-ctl{display:inline-flex;background:var(--surf2);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px}.seg-ctl button{border:0;background:none;padding:5px 12px;border-radius:7px;font-size:12.5px;font-weight:580;color:var(--ink2);cursor:pointer}.seg-ctl button:hover{color:var(--ink)}.seg-ctl button.on{background:var(--surf);color:var(--ink);box-shadow:var(--sh)}.seg-ctl button:disabled{opacity:.5;cursor:not-allowed}.ap-cmp{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.ap-cmp .c{border:1px solid var(--line2);border-radius:10px;padding:12px 14px;background:var(--surf2)}.ap-cmp .c .n{font-size:22px;font-weight:680;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ap-cmp .c .vs{font-size:12px;color:var(--ink3);margin-top:2px}.ap-delta{display:inline-block;font-size:11px;font-weight:650;padding:1px 7px;border-radius:999px;margin-left:6px;vertical-align:3px}.ap-delta.good{background:var(--ok-soft);color:var(--ok)}.ap-delta.bad{background:var(--bad-soft);color:var(--bad)}.ap-rate{display:flex;align-items:center;gap:8px;min-width:150px}.ap-rate .bar{height:6px;border-radius:3px;background:var(--series-1);min-width:2px}.ap-sec{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;padding:20px 0;border-top:1px solid var(--line2)}.ap-sec:first-child{border-top:0;padding-top:4px}.ap-sec>.h h4{margin:0 0 4px;font-size:14px;font-weight:650}.ap-sec>.h p{margin:0;font-size:12.5px;color:var(--ink3);line-height:1.55}@media(max-width:1000px){.ap-sec{grid-template-columns:1fr;gap:10px}}.ap-field{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:16px;align-items:center;padding:10px 0}.ap-field+.ap-field{border-top:1px dashed var(--line2)}.ap-field .l b{display:block;font-size:13px;font-weight:600}.ap-field .l span{font-size:12px;color:var(--ink3);line-height:1.5;display:block;margin-top:2px}.ap-field .c{display:flex;align-items:center;gap:7px;justify-content:flex-end}.ap-field .c input.f{width:96px;text-align:right}.ap-field .c .u{font-size:12px;color:var(--ink3);min-width:34px}.ap-heat{border-collapse:separate;border-spacing:3px;font-size:11px;width:auto}.ap-heat th{background:none;border:0;padding:0 0 2px;font-size:10.5px;color:var(--ink3);font-weight:560;text-align:center;position:static}.ap-heat td{padding:0;border:0}.ap-heat td.day{padding-right:8px;font-weight:600;font-size:12px;color:var(--ink2)}.ap-heat tbody tr:hover{background:none}.ap-heat input{width:38px;height:30px;border-radius:7px;border:1px solid transparent;text-align:center;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;padding:0;color:var(--ink)}.ap-heat input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 22%,transparent)}.ap-savebar{position:sticky;bottom:16px;z-index:10;display:flex;align-items:center;gap:12px;background:var(--surf);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-lg);padding:10px 14px;margin-top:12px}.content select:not(.f),.content input[type=text]:not(.f),.content input[type=search]:not(.f),.content input[type=number]:not(.f):not(.ap-heat input),.content input[type=email]:not(.f),.content input[type=datetime-local]:not(.f),.content input[type=date]:not(.f){height:34px;padding:0 10px;border-radius:9px;border:1px solid var(--line);background:var(--surf);color:var(--ink);font-size:13px}.content select:not(.f):focus,.content input:not(.f):not([type=checkbox]):not([type=radio]):focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 22%,transparent)}
