:root{--steel-900: #12171F;--steel-800: #1B2230;--steel-700: #273041;--steel-600: #3A4557;--steel-400: #7C8798;--steel-300: #A7B1BF;--steel-200: #D4DAE3;--steel-100: #E9EDF2;--steel-050: #F5F7FA;--indigo: #3D5AFE;--indigo-dk: #2B41C4;--indigo-bg: #EDF0FF;--sodium: #E8820C;--sodium-bg: #FFF4E3;--ok: #1B8A5A;--ok-bg: #E6F4EC;--warn: #B7791F;--warn-bg: #FDF6E3;--bad: #C0392B;--bad-bg: #FBEAE8;--ink: var(--steel-900);--muted: var(--steel-400);--line: var(--steel-200);--paper: #FFFFFF;--canvas: var(--steel-050);--sans: "IBM Plex Sans", "IBM Plex Sans Devanagari", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--tap: 56px;--r: 6px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--sans);background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45}:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.shell{min-height:100%;display:flex;flex-direction:column}.topbar{background:var(--steel-900);color:var(--steel-100);padding:12px 16px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:20}.topbar .mark{font-weight:700;letter-spacing:-.02em;font-size:15px}.topbar .mark span{color:var(--steel-400);font-weight:400}.topbar .spacer{flex:1}.topbar .who{font-size:12px;color:var(--steel-400);font-family:var(--mono)}.topbar button{background:none;border:1px solid var(--steel-600);color:var(--steel-200);padding:6px 10px;border-radius:var(--r);font-size:12px;cursor:pointer;font-family:var(--sans)}.topbar button:hover{border-color:var(--steel-400)}.page{flex:1;padding:16px;max-width:1100px;width:100%;margin:0 auto}.page.narrow{max-width:640px}.page-head{margin-bottom:16px}.page-head h1{font-size:20px;font-weight:600;letter-spacing:-.02em}.page-head .sub{font-family:var(--mono);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);margin-bottom:14px}.panel>h2{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--line);font-family:var(--mono)}.panel-body{padding:14px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.metric{padding:14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.metric:last-child{border-right:none}.metric .label{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-family:var(--mono)}.metric .value{font-family:var(--mono);font-size:26px;font-weight:500;letter-spacing:-.03em;margin-top:4px;font-variant-numeric:tabular-nums}.metric .value.sm{font-size:19px}.metric .foot{font-size:12px;color:var(--muted);margin-top:2px}.pill{display:inline-block;font-family:var(--mono);font-size:11px;padding:2px 7px;border-radius:3px;text-transform:uppercase;letter-spacing:.06em}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.bad{background:var(--bad-bg);color:var(--bad)}.pill.mute{background:var(--steel-100);color:var(--steel-600)}.rows{display:flex;flex-direction:column}.row{display:flex;gap:12px;align-items:baseline;padding:11px 14px;border-bottom:1px solid var(--line);font-size:14px}.row:last-child{border-bottom:none}.row .sev{flex:none;width:62px}.row .cat{flex:none;width:88px;font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.row .detail{flex:1}.cutoff{background:var(--sodium-bg);border:1px solid #F5D3A0;border-left:4px solid var(--sodium);border-radius:var(--r);padding:12px 14px;display:flex;align-items:center;gap:14px;margin-bottom:14px}.cutoff .clock{font-family:var(--mono);font-size:28px;font-weight:600;color:var(--sodium);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.cutoff .txt{font-size:13px;line-height:1.35}.cutoff .txt strong{display:block;font-size:14px}.cutoff.locked{background:var(--steel-100);border-color:var(--line);border-left-color:var(--steel-400)}.cutoff.locked .clock{color:var(--steel-600)}.sheet{background:var(--paper);border:1px solid var(--steel-600);border-radius:var(--r);overflow:hidden}.sheet-head{background:var(--steel-900);color:var(--steel-100);padding:10px 14px;display:flex;align-items:center;gap:12px}.sheet-head .t{font-weight:600;font-size:15px}.sheet-head .n{font-family:var(--mono);font-size:12px;color:var(--steel-400);margin-left:auto}.rail{height:4px;background:var(--steel-700)}.rail>i{display:block;height:100%;background:var(--ok);transition:width .3s ease}.stop{border-bottom:2px solid var(--steel-600)}.stop:last-child{border-bottom:none}.stop-head{background:var(--steel-100);padding:9px 14px;display:flex;align-items:baseline;gap:10px}.stop-head .seq{font-family:var(--mono);font-weight:600;font-size:12px;background:var(--steel-900);color:#fff;padding:2px 6px;border-radius:3px}.stop-head .nm{font-weight:600;font-size:15px}.stop-head .ct{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--steel-600)}.stop-note{padding:7px 14px;font-size:12.5px;color:var(--steel-600);background:var(--steel-050);border-bottom:1px solid var(--line)}.drop{display:flex;align-items:center;gap:10px;padding:0 10px 0 14px;min-height:var(--tap);border-bottom:1px solid var(--line)}.drop:last-child{border-bottom:none}.drop.done{background:var(--ok-bg)}.drop.miss{background:var(--bad-bg)}.drop .flat{font-family:var(--mono);font-size:13px;font-weight:600;width:62px;flex:none;font-variant-numeric:tabular-nums}.drop .who2{flex:1;min-width:0}.drop .who2 b{display:block;font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop .who2 small{color:var(--muted);font-size:12px}.drop .qty{font-family:var(--mono);font-size:15px;font-weight:600;flex:none;font-variant-numeric:tabular-nums;text-align:right;min-width:46px}.btn{font-family:var(--sans);font-size:14px;font-weight:500;border-radius:var(--r);border:1px solid transparent;padding:0 14px;height:40px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--indigo);color:#fff}.btn-primary:hover:not(:disabled){background:var(--indigo-dk)}.btn-ghost{background:var(--paper);border-color:var(--line);color:var(--ink)}.btn-ghost:hover:not(:disabled){border-color:var(--steel-400)}.btn-ok{background:var(--ok);color:#fff}.btn-bad{background:var(--paper);border-color:#e4b4ae;color:var(--bad)}.btn-tap{height:var(--tap);font-size:15px;font-weight:600}.btn-block{width:100%}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal .dow{font-family:var(--mono);font-size:10px;text-align:center;color:var(--muted);text-transform:uppercase;padding-bottom:2px}.day{aspect-ratio:1;border:1px solid var(--line);border-radius:4px;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-family:var(--mono);padding:2px}.day:disabled{cursor:not-allowed;background:var(--steel-050)}.day .d{font-size:11px;color:var(--muted)}.day .q{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.day.has{background:var(--indigo-bg);border-color:#c3ccff}.day.has .q{color:var(--indigo-dk)}.day.none{background:var(--steel-100)}.day.none .q{color:var(--steel-400)}.day.extra{background:var(--ok-bg);border-color:#b7dfc8}.day.extra .q{color:var(--ok)}.day.paused{background:var(--warn-bg);border-color:#ebd9a8}.day.locked{opacity:.55}.field{margin-bottom:12px}.field label{display:block;font-size:11px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.field input,.field select{width:100%;height:44px;padding:0 11px;font-size:15px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);color:var(--ink);font-family:var(--sans)}.field input:focus{border-color:var(--indigo)}.login-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--steel-900)}.login-card{background:var(--paper);border-radius:10px;padding:26px;width:100%;max-width:360px}.login-card h1{font-size:20px;letter-spacing:-.02em;margin-bottom:3px}.login-card .tag{font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px}.msg{padding:10px 12px;border-radius:var(--r);font-size:13.5px;margin-bottom:12px}.msg.bad{background:var(--bad-bg);color:var(--bad)}.msg.ok{background:var(--ok-bg);color:var(--ok)}.empty{padding:34px 16px;text-align:center;color:var(--muted);font-size:14px}.empty b{display:block;color:var(--ink);font-weight:500;margin-bottom:3px}.spin{padding:34px;text-align:center;color:var(--muted);font-family:var(--mono);font-size:12px}.offline-bar{background:var(--sodium);color:#fff;padding:7px 14px;font-family:var(--mono);font-size:12px;text-align:center}.tabs{display:flex;gap:4px;margin-bottom:14px;flex-wrap:wrap}.tabs a{font-size:13px;padding:7px 12px;border-radius:var(--r);text-decoration:none;color:var(--steel-600);border:1px solid transparent}.tabs a.on{background:var(--paper);border-color:var(--line);color:var(--ink);font-weight:500}.money{font-family:var(--mono);font-variant-numeric:tabular-nums}@media (max-width: 520px){.page{padding:12px}.metric .value{font-size:22px}}
