:root{--bg: #f4f4f5;--surface: #ffffff;--surface-2: #f4f4f5;--line: #e4e4e7;--fg: #18181b;--muted: #71717a;--ink: #18181b;--on-ink: #ffffff;--brand: #e5322d;--accent: #2563eb;--accent-soft: #e8efff;--ok: #15803d;--ok-soft: #dcfce7;--warn: #b45309;--warn-soft: #fef3c7;--bad: #dc2626;--bad-soft: #fee2e2;--load-0: #f4f4f5;--load-1: #c7d7fe;--load-2: #7ea3f7;--load-3: #2563eb;--font-display: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--radius: 12px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0f0f11;--surface: #18181b;--surface-2: #232327;--line: #2e2e33;--fg: #f4f4f5;--muted: #a1a1aa;--ink: #f4f4f5;--on-ink: #18181b;--brand: #f05a54;--accent: #6b9bff;--accent-soft: #1c2747;--ok: #4ade80;--ok-soft: #12301f;--warn: #fbbf24;--warn-soft: #3a2c0c;--bad: #f87171;--bad-soft: #3b1515;--load-0: #232327;--load-1: #233a75;--load-2: #3f66c9;--load-3: #6b9bff;color-scheme:dark}}:root[data-theme=dark]{--bg: #0f0f11;--surface: #18181b;--surface-2: #232327;--line: #2e2e33;--fg: #f4f4f5;--muted: #a1a1aa;--ink: #f4f4f5;--on-ink: #18181b;--brand: #f05a54;--accent: #6b9bff;--accent-soft: #1c2747;--ok: #4ade80;--ok-soft: #12301f;--warn: #fbbf24;--warn-soft: #3a2c0c;--bad: #f87171;--bad-soft: #3b1515;--load-0: #232327;--load-1: #233a75;--load-2: #3f66c9;--load-3: #6b9bff;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--fg);font:14px/1.5 var(--font-body);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{font-family:var(--font-display);font-weight:700;margin:0;text-wrap:balance;letter-spacing:-.02em}h1{font-size:1.85rem;line-height:1.2}h2{font-size:1.05rem;letter-spacing:-.01em}h3{font-size:.95rem;font-weight:600}.num,td.n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.84rem}th.n{font-family:var(--font-body)}td.n,th.n{text-align:right;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:.82rem}.pnum{font-family:var(--font-mono);font-size:.72rem;color:var(--muted);font-weight:400;margin-left:6px;letter-spacing:.02em;white-space:nowrap}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.side{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.side-head{padding:22px 24px 20px;border-bottom:1px solid var(--line);display:grid;gap:6px}.logo{display:block;width:158px;max-width:100%;height:auto}.product{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.nav{display:grid;gap:4px;padding:16px 12px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;padding:10px 12px;border-radius:10px;cursor:pointer;color:var(--fg);font-weight:500;text-align:left;white-space:nowrap}.nav-item:hover{background:var(--surface-2)}.nav-item[aria-current=page]{background:var(--ink);color:var(--on-ink);font-weight:600}.nav-item svg{flex:none;opacity:.85}.nav-item .count{margin-left:auto;display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:#fff;font-size:.7rem;font-weight:700}.nav-item[aria-current=page] .count{background:var(--on-ink);color:var(--ink)}.side-foot{margin-top:auto;padding:12px;border-top:1px solid var(--line);display:grid;gap:6px}.user-card{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);min-width:0}.avatar{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:.8rem}.user-text{display:grid;min-width:0;font-size:.8rem;line-height:1.35}.user-text b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.74rem}.live{width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none}.live.off{background:var(--bad)}.signout{justify-content:center;color:var(--muted)}.main{min-width:0}.page{max-width:1180px;margin:0 auto;padding-block:32px 56px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));display:grid;gap:20px}.page.page-wide{max-width:1560px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:8px}.page-head p{margin:6px 0 0;font-size:.95rem}.fy-switch{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden;font-size:.85rem;font-weight:600}.fy-switch span{padding:7px 12px;white-space:nowrap}.fy-switch em{font-style:normal;color:var(--muted);font-weight:500}.fy-switch button{border:0;background:none;padding:7px 12px;cursor:pointer;color:var(--muted);font-size:1rem;line-height:1}.fy-switch button:hover{background:var(--surface-2);color:var(--fg)}@media (max-width: 860px){.side-head .logo{width:120px}.shell{grid-template-columns:minmax(0,1fr)}.side{position:sticky;top:env(safe-area-inset-top,0px);height:auto;z-index:6;border-right:0;border-bottom:1px solid var(--line)}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--surface)}.side-head{flex-direction:row;display:flex;align-items:baseline;gap:10px;padding:14px max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px));border-bottom:0}.nav{display:flex;overflow-x:auto;padding:4px 12px 10px;gap:4px}.nav-item{width:auto;padding:7px 11px}.nav-item svg{display:none}.side-foot{display:none}.page{padding-block:20px 40px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}h1{font-size:1.5rem}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;box-shadow:0 1px 2px #00000008}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--line)}.panel-body{padding:16px 20px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;box-shadow:0 1px 2px #00000008;display:grid;gap:2px}.kpi .label{font-size:.68rem;letter-spacing:.08em!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.kpi .value{font-family:var(--font-display);font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums}.kpi .hint{font-size:.8rem;color:var(--muted)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}tr.click{cursor:pointer}tr.click:hover td{background:var(--surface-2)}.bar{position:relative;height:5px;background:var(--surface-2);border-radius:4px;min-width:90px;overflow:hidden}.bar>span{position:absolute;inset:0 auto 0 0;border-radius:4px;background:var(--accent)}.bar>i{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--fg);opacity:.45}.bar.ok>span{background:var(--ok)}.bar.warn>span{background:var(--warn)}.bar.bad>span{background:var(--bad)}.pill{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;font-size:.76rem;font-weight:600;white-space:nowrap;background:var(--surface-2);color:var(--muted)}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.accent{background:var(--accent-soft);color:var(--accent)}.dot{width:9px;height:9px;border-radius:3px;display:inline-block;flex:none}.btn{border:1px solid var(--line);background:var(--surface);padding:7px 14px;border-radius:8px;cursor:pointer;font-weight:500;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--on-ink);font-weight:600}.btn.primary:hover{opacity:.88}.btn svg{width:16px;height:16px;vertical-align:-3px;margin-right:6px}.btn.danger{color:var(--bad)}.btn.sm{padding:3px 9px;font-size:.82rem}.btn:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field{display:grid;gap:4px;min-width:0}.field>span{font-size:.78rem;font-weight:600;color:var(--muted)}.field input,.field select,.field textarea,.input{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 10px;width:100%;min-width:0}.field textarea{font-family:var(--font-mono);font-size:.78rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg button{border:0;background:var(--surface);padding:5px 10px;cursor:pointer;font-family:var(--font-mono);font-size:.85rem}.seg button+button{border-left:1px solid var(--line)}.seg button[aria-pressed=true]{background:var(--ink);color:var(--on-ink)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e1873;display:grid;place-items:center;padding:16px;z-index:20}.modal{background:var(--surface);border-radius:14px;border:1px solid var(--line);width:min(640px,100%);max-height:calc(100vh - 32px);overflow:auto}.modal .panel-head{position:sticky;top:0;background:var(--surface)}.modal-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line)}.plan{overflow-x:auto}.plan table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.plan th,.plan td{padding:0;border-bottom:1px solid var(--line)}.plan .who{position:sticky;left:0;background:var(--surface);z-index:2;padding:6px 12px;min-width:230px;max-width:230px;border-right:1px solid var(--line)}.plan .who.sub{padding-left:28px;font-size:.82rem}.plan .who .name{font-weight:600;display:flex;justify-content:space-between;gap:8px;align-items:center}.plan .who button{border:0;background:none;padding:0;cursor:pointer;text-align:left;font-weight:600;display:flex;gap:6px;align-items:center}.plan .mh{font-size:.7rem;padding:4px 0 2px 3px;text-transform:capitalize;letter-spacing:0;border-left:1px solid var(--line);color:var(--muted)}.plan .wk{width:22px;min-width:22px;height:34px;text-align:center;font-family:var(--font-mono);font-size:.7rem}.plan .wk.now{box-shadow:inset 2px 0 0 var(--fg)}.cell{display:grid;place-items:center;width:100%;height:100%;border-right:1px solid var(--bg)}.l0{background:var(--load-0);color:transparent}.l1{background:var(--load-1);color:var(--fg)}.l2{background:var(--load-2);color:#fff}.l3{background:var(--load-3);color:#fff}.lover{background:var(--bad);color:#fff;font-weight:600}.bar-cell{cursor:pointer;color:#fff;font-weight:500}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.8rem;color:var(--muted);align-items:center}.legend span{display:inline-flex;gap:6px;align-items:center}.legend .dot{width:14px;height:14px}.cand{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:12px 16px;border-bottom:1px solid var(--line);align-items:center}.cand:last-child{border-bottom:0}.cand .score{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--accent);min-width:2.4ch;text-align:right}.empty{padding:28px 16px;text-align:center;color:var(--muted)}.alert{display:flex;gap:10px;align-items:flex-start;padding:10px 16px;border-bottom:1px solid var(--line)}.alert:last-child{border-bottom:0}.note{background:var(--surface-2);border:1px solid var(--line);color:var(--fg);border-radius:10px;padding:10px 12px;font-size:.85rem}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.seg{justify-self:start}.plan .wk.now .cell{box-shadow:inset 2px 0 0 var(--fg)}.modal.wide{width:min(920px,100%)}.login{max-width:420px;margin:12vh auto;padding-inline:16px;display:grid;gap:12px;justify-items:start}.inbox-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:14px 16px;border-bottom:1px solid var(--line);align-items:center}.inbox-item:last-child{border-bottom:0}.ptile{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px}.ptile svg{width:18px;height:18px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .logo{filter:invert(1) hue-rotate(180deg)}}:root[data-theme=dark] .logo{filter:invert(1) hue-rotate(180deg)}.login .logo{width:200px}
