.pk .card{margin-bottom:14px}.pk-prefix{letter-spacing:.06em;border:1px solid var(--border-2);background:var(--panel-2);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.pk-summary{border:1px solid var(--border-2);background:var(--panel);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:12px;padding:10px 14px;display:flex}.pk-summary.pk-ok{border-color:#7fbf8e80}.pk-summary.pk-ok b{color:var(--ok)}.pk-summary.pk-amber{border-color:#e8a33d8c}.pk-summary.pk-amber b{color:var(--amber)}.pk-summary.pk-red{border-color:var(--red-600);box-shadow:inset 4px 0 0 var(--red-500)}.pk-summary.pk-red b{color:var(--red-400)}.pk-ok{color:var(--ok);background:#7fbf8e1a;border:1px solid #7fbf8e73;border-radius:8px;margin-bottom:12px;padding:10px 14px}.pk-tabs{-webkit-overflow-scrolling:touch;margin-bottom:12px;overflow-x:auto}.pk-tabs .segmented{white-space:nowrap}.pk-check{cursor:pointer;align-items:center;gap:5px;margin-right:10px;font-size:13px;flex-direction:row!important;display:inline-flex!important}.pk-check input{width:auto}.pk-dot{vertical-align:-1px;background:var(--muted);border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.pk-dot.ok{background:var(--ok)}.pk-dot.amber{background:var(--amber)}.pk-dot.red{background:var(--red-400)}.pk-dot.neutral{border:2px dashed var(--muted);background:0 0;width:8px;height:8px}.pk-warn{color:var(--amber)}.pk-bad{color:var(--red-400)}.pk-sw{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.pk-unrouted{border:1px solid var(--red-600);color:var(--red-300);background:#b3131b1a;border-radius:8px;margin-bottom:10px;padding:8px 12px}:root[data-theme=light] .pk-unrouted{color:var(--red-600)}.pk-map{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.pk-colhead{fill:var(--muted);letter-spacing:.12em;font-size:11px;font-weight:700}.pk-edge{fill:none;stroke:var(--border-2);stroke-width:2.2px;opacity:.85;transition:opacity .2s,stroke-width .2s}.pk-edge.expo{stroke-dasharray:7 4}.pk-edge.runner{stroke-dasharray:2 4;stroke-linecap:round}.pk-edge.unrouted,.pk-edge.fallback{stroke:var(--red-400);stroke-dasharray:6 4}.pk-edge.off{stroke:var(--muted);stroke-dasharray:2 6;opacity:.45}.pk-edge.on{stroke-width:3.6px;opacity:1}.pk-edge.dim{opacity:.12}.pk-edge.pulse{stroke-width:3.6px;stroke-dasharray:10 6;animation:1s linear infinite pk-flow}@keyframes pk-flow{to{stroke-dashoffset:-32px}}.pk-node{cursor:pointer;outline:none}.pk-node rect:first-child{fill:var(--panel-2);stroke:var(--border-2);stroke-width:1px;transition:stroke .2s}.pk-node:hover rect:first-child,.pk-node:focus-visible rect:first-child{stroke:var(--red-400)}.pk-node.on rect:first-child{stroke:var(--text);stroke-width:2px}.pk-node.bad rect:first-child{stroke:var(--red-500);fill:#b3131b1f}.pk-node.dim{opacity:.3}.pk-node.off{opacity:.55}.pk-node.pulse rect:first-child{stroke:var(--ok);stroke-width:2.5px;animation:1s ease-in-out infinite alternate pk-glow}@keyframes pk-glow{0%{stroke-opacity:.4}to{stroke-opacity:1}}.pk-label{fill:var(--text);font-size:13px;font-weight:600}.pk-sub{fill:var(--muted);font-size:10.5px}.pk-sub.warn{fill:var(--amber)}.pk-status{fill:var(--text-2);font-size:10px}.pk-caret{fill:var(--text-2);cursor:pointer;font-size:12px}.pk-badge-svg{fill:var(--red-400);font-size:10.5px;font-weight:700}.pk-ghead text{fill:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:700}.pk-ghead .pk-gsub{text-transform:none;letter-spacing:0;font-weight:400}.pk-dot-svg{fill:var(--muted)}.pk-dot-svg.ok{fill:var(--ok)}.pk-dot-svg.amber{fill:var(--amber)}.pk-dot-svg.red{fill:var(--red-400)}.pk-dot-svg.neutral{fill:none;stroke:var(--muted);stroke-width:1.5px;stroke-dasharray:2 2}@media (prefers-reduced-motion:reduce){.pk-edge.pulse,.pk-node.pulse rect:first-child{animation:none}}.pk-legend{flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:10px;display:flex}.pk-l{border-top:2.5px solid var(--text-2);vertical-align:middle;width:26px;height:0;margin-right:4px;display:inline-block}.pk-l.expo{border-top-style:dashed}.pk-l.runner{border-top-style:dotted}.pk-l.unrouted{border-top:2.5px dashed var(--red-400)}.pk-detail{border:1px solid var(--border-2);background:var(--panel-2);border-radius:8px;gap:8px;margin-top:10px;padding:10px 14px;display:grid}.pk-map-phone{display:none}.pk-list{gap:8px;display:grid}.pk-lcat{border:1px solid var(--border);background:var(--panel-2);border-radius:8px}.pk-lcat summary{cursor:pointer;align-items:center;gap:6px;padding:10px 12px;font-weight:600;display:flex}.pk-lrow{border-top:1px solid var(--border);padding:8px 12px;font-size:13px}.pk-lrow.bad{box-shadow:inset 3px 0 0 var(--red-500)}.pk-lname{margin-bottom:2px;font-weight:600}.pk-lst{color:var(--text-2);margin-left:6px;line-height:1.7}.pk-ldev{white-space:nowrap;align-items:center;margin-right:10px;display:inline-flex}@media (width<=760px){.pk-map-desktop{display:none}.pk-map-phone{display:block}}.pk-devs{gap:10px;display:grid}.pk-dev{border:1px solid var(--border);background:var(--panel-2);border-radius:8px;gap:6px;padding:10px 12px;display:grid}.pk-dev.off{opacity:.65}.pk-dev-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pk-lines{color:var(--text-2);flex-wrap:wrap;gap:2px 14px;display:flex}.pk-form{border:1px solid var(--border-2);background:var(--panel-2);border-radius:8px;margin-bottom:12px;padding:12px}.pk-form h4{margin:0 0 4px}.pk-routes select{max-width:260px}.pk-num{width:64px}.pk-narrow{width:140px}.pk-chips{flex-wrap:wrap;gap:6px;display:flex}.pk-chips .chip.inh{opacity:.55;border-style:dashed}.pk-menu{gap:6px;display:grid}.pk-mcat{border:1px solid var(--border);border-radius:8px;padding:6px 10px}.pk-mrow{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0;display:flex}.pk-mitem{border-top:1px dashed var(--border);padding-left:22px}.pk-mname{all:unset;cursor:pointer;min-width:170px;font-weight:600}.pk-mitem .pk-mname{cursor:default;font-weight:500}.pk-multi{width:100%;min-height:140px}.pk-preview{gap:8px;margin-top:10px;display:grid}.pk-ticket{border:1px solid var(--border);background:var(--panel-2);border-radius:8px;padding:8px 12px}.pk-reason{flex-basis:100%}@media (width<=760px){.pk-routes{display:block;overflow-x:auto}.pk-mname{min-width:0}}.fp-page{max-width:1500px}.fp-page .input{background:var(--bg-2);color:var(--text);border:1px solid var(--border-2);font:inherit;border-radius:8px;width:100%;min-height:40px;padding:8px 10px}.fp-page .btn{min-height:36px}.fp-page .btn.small{min-height:34px;padding:6px 10px;font-size:13px}.fp-page .btn.danger{border-color:var(--red-600);color:var(--red-300)}.fp-note{border:1px solid var(--border-2);background:var(--panel);border-radius:8px;margin:0 0 12px;padding:10px 12px}.fp-note.red{border-color:var(--red-600);color:var(--red-300);background:#b3131b1f}.fp-note.amber{color:var(--amber);background:#e8a33d14;border-color:#e8a33d80}.fp-note.ok{color:var(--ok);background:#7fbf8e14;border-color:#7fbf8e73}.fp-note ul{margin:6px 0 0;padding-left:18px}.fp-tabs{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.fp-tab{background:var(--panel);color:var(--text-2);border:1px solid var(--border-2);font:inherit;cursor:pointer;border-radius:10px;min-height:44px;padding:9px 16px;font-weight:600}.fp-tab.on{background:var(--red-700);border-color:var(--red-500);color:#fff}.fp-tab.on .muted{color:var(--red-200)}.fp-tab.add{color:var(--muted);border-style:dashed}.fp-toolbar{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;padding:8px;display:flex}.fp-shape{align-items:center;gap:6px;display:inline-flex}.fp-shape .ic,.fp-toolbar .ic{fill:none;stroke:currentColor;stroke-width:1.8px}.fp-main{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:14px;display:grid}@media (width<=1100px){.fp-main{grid-template-columns:minmax(0,1fr) 250px}}@media (width<=820px){.fp-main{grid-template-columns:1fr}}.fp-stage{min-width:0}.fp-canvas-wrap{background:var(--bg-2);border:1px solid var(--border-2);border-radius:var(--radius);width:100%;max-height:calc(100dvh - 250px);overflow:hidden}.fp-canvas{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.fp-floor{fill:var(--fp-floor)}.fp-gridline{fill:none;stroke:var(--hairline-soft);stroke-width:1px}.fp-gridline.major{stroke:var(--hairline)}.fp-table>rect,.fp-table>ellipse,.fp-table>circle{fill:var(--fp-table);stroke:var(--fp-stroke);stroke-width:2px}.fp-table .fp-ring{fill:none;stroke:var(--fp-ring);stroke-width:1.5px;stroke-dasharray:3 3}.fp-table .fp-back{fill:none;stroke:var(--fp-back);stroke-width:5px;stroke-linecap:round}.fp-table .fp-name{fill:var(--text);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-weight:700}.fp-table .fp-seats{fill:var(--muted);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:10px}.fp-table.busy>rect,.fp-table.busy>ellipse,.fp-table.busy>circle{stroke:var(--amber)}.fp-table.bad>rect,.fp-table.bad>ellipse,.fp-table.bad>circle{stroke:var(--red-400);stroke-dasharray:5 3}.fp-table.sel>rect,.fp-table.sel>ellipse,.fp-table.sel>circle{fill:var(--fp-sel);stroke:var(--red-400);stroke-width:3px}.fp-handle{fill:var(--red-500);stroke:#fff;stroke-width:2px;cursor:nwse-resize}.fp-box{fill:#e04a4f1f;stroke:var(--red-400);stroke-dasharray:4 3;pointer-events:none}.fp-hint{margin-top:6px}.fp-empty{text-align:center;border:1px dashed var(--border-2);border-radius:var(--radius);padding:60px}.fp-side{flex-direction:column;gap:12px;display:flex}.fp-inspector,.fp-issues{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:14px;display:flex}.fp-issues ul{margin:0;padding-left:16px}.fp-issues li{color:var(--red-300);margin:4px 0}.fp-field{color:var(--text-2);flex-direction:column;gap:4px;font-size:12px;display:flex}.fp-check{align-items:center;gap:8px;min-height:32px;font-size:13px;display:flex}.fp-check input{width:20px;height:20px;accent-color:var(--red-500)}.fp-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fp-row2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.fp-stepper{align-items:center;gap:4px;display:flex}.fp-stepper input{text-align:center;background:var(--bg-2);width:100%;min-width:0;color:var(--text);border:1px solid var(--border-2);font:inherit;border-radius:8px;min-height:34px;padding:6px 4px}.fp-stepper .btn{min-width:34px}input[type=color]{border:1px solid var(--border-2);background:var(--bg-2);border-radius:6px;width:44px;height:34px;padding:2px}.linkish{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.ss-wrap{color:var(--text);flex-direction:column;gap:10px;min-width:0;display:flex}.ss-bar{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.ss-parts,.ss-rooms,.ss-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ss-chip{border:1px solid var(--border);background:var(--panel-2);min-height:40px;color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:999px;align-items:center;gap:6px;padding:0 14px;display:inline-flex;position:relative}.ss-chip.on{background:var(--red-600);border-color:var(--red-600);color:#fff}.ss-dot{background:var(--ok);border-radius:50%;width:7px;height:7px;display:inline-block}.ss-now{text-transform:uppercase;letter-spacing:.05em;background:var(--amber);color:#111;border-radius:6px;padding:1px 5px;font-size:10px}.ss-date{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.ss-date input,.ss-item select,.ss-item input,.ss-tpl-name{box-sizing:border-box;border:1px solid var(--border);background:var(--panel);min-height:40px;color:var(--text);font:inherit;border-radius:8px;padding:0 8px}.ss-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.ss-btn{border:1px solid var(--border-2);background:var(--panel-2);min-height:40px;color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:8px;padding:0 14px}.ss-btn.primary{background:var(--red-600);border-color:var(--red-600);color:#fff;font-weight:600}.ss-btn.ghost{border-color:var(--border);background:0 0}.ss-btn.small{min-height:34px;padding:0 10px}.ss-btn:disabled{opacity:.5;cursor:default}.ss-msg{border-radius:8px;margin:0;padding:8px 12px;font-size:14px}.ss-msg.ok{background:var(--tint-ok);color:var(--ok)}.ss-msg.err{background:var(--tint-red);color:var(--alert-text)}.ss-note{color:var(--muted);margin:0;font-size:13px}.ss-muted,.ss-hint{color:var(--muted);font-size:13px}.ss-main{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start;gap:12px;display:grid}.ss-canvas-col{flex-direction:column;gap:8px;min-width:0;display:flex}.ss-canvas{border:1px solid var(--border);background:var(--fp-floor);-webkit-user-select:none;user-select:none;border-radius:12px;width:100%;height:auto;max-height:72vh;display:block}.ss-canvas.mode-draw{touch-action:none;cursor:crosshair}.ss-canvas.mode-erase .ss-shape{cursor:pointer}.ss-gridline{fill:none;stroke:var(--hairline-soft);stroke-width:.05px}.ss-room{stroke:none}.ss-shape{fill-opacity:.16;stroke-width:.18px;stroke-opacity:.85;stroke-dasharray:.5 .3}.ss-shape.sel{fill-opacity:.26;stroke-dasharray:none;stroke-width:.25px}.ss-canvas.mode-erase .ss-shape:hover{fill-opacity:.4}.ss-live{fill:none;stroke-width:.3px;stroke-linecap:round;stroke-linejoin:round}.ss-table rect{fill:var(--fp-table);stroke:var(--fp-stroke);stroke-width:.12px}.ss-table.in rect{stroke-width:.3px}.ss-table.busy rect{stroke:var(--text);stroke-width:.25px}.ss-canvas.mode-tap .ss-table{cursor:pointer}.ss-tname{text-anchor:middle;fill:var(--text);pointer-events:none;font-weight:700}.ss-table.busy .ss-tname,.ss-table.busy .ss-tsub{fill:#fff;paint-order:stroke;stroke:#00000059;stroke-width:.06px}.ss-tsub{text-anchor:middle;fill:var(--text);pointer-events:none;font-weight:600}.ss-side{flex-direction:column;gap:10px;min-width:0;display:flex}.ss-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.ss-card h3{margin:0;font-size:15px}.ss-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.ss-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ss-item{border:1px solid #0000;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;display:flex}.ss-item.sel{border-color:var(--border-2);background:var(--panel-2)}.ss-item .ss-name{flex:90px;width:110px}.ss-item select{flex:130px}.ss-swatch{vertical-align:-2px;border-radius:4px;flex:none;width:14px;height:14px;margin-right:6px;display:inline-block}.ss-colors{flex-basis:100%;gap:4px;padding-left:20px;display:flex}.ss-color{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px;padding:0}.ss-color.on{border-color:var(--text);box-shadow:0 0 0 2px var(--panel)}.ss-spacer{flex:1}.ss-tpl-name{flex:160px}.ss-tpl-swatches{display:inline-flex}.ss-summary{border-collapse:collapse;width:100%;font-size:13px}.ss-summary th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:4px;font-weight:600}.ss-summary td{border-bottom:1px solid var(--hairline-soft);padding:6px 4px}.ss-register .ss-chip,.ss-register .ss-btn{min-height:48px}@media (width<=900px){.ss-main{grid-template-columns:minmax(0,1fr)}.ss-actions{margin-left:0}.ss-canvas{max-height:none}.ss-hint{flex-basis:100%}}.alo-page .alo-how{color:var(--text-2);background:var(--panel-2);border-color:var(--border-2);line-height:1.5}.alo-page .alo-how q{color:var(--text);font-weight:600}.alo-editor{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.alo-timer{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.alo-timer.on{border-color:var(--red-600)}.alo-timer .hint{color:var(--muted);font-size:12px}.alo-timer-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.alo-switch{cursor:pointer;align-items:center;gap:10px;min-width:0;display:flex;position:relative}.alo-switch input{opacity:0;cursor:pointer;width:44px;height:26px;margin:0;position:absolute}.alo-track{background:var(--border-2);border-radius:999px;flex:none;width:44px;height:26px;transition:background .15s;position:relative}.alo-track:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000059}.alo-switch input:checked+.alo-track{background:var(--red-500)}.alo-switch input:checked+.alo-track:after{transform:translate(18px)}.alo-switch input:focus-visible+.alo-track{outline:2px solid var(--red-300);outline-offset:2px}.alo-switch input:disabled+.alo-track{opacity:.5}.alo-label{flex-direction:column;gap:2px;min-width:0;display:flex}.alo-label small{color:var(--muted);font-size:12px}.alo-num{align-items:center;gap:6px;display:inline-flex}.alo-num input{text-align:right;width:72px}.alo-num input[aria-invalid=true]{border-color:var(--red-400)}.alo-chips{flex-wrap:wrap;gap:6px;display:flex}.alo-chips .chip{padding:3px 10px;font-size:12.5px}.alo-hold{border:1px dashed var(--border-2);border-radius:var(--radius);grid-column:1/-1;padding:10px 12px}.alo-roles{flex-direction:column;gap:12px;display:flex}.alo-role{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:12px;display:flex}.alo-role.custom{border-color:var(--border-2);background:color-mix(in srgb, var(--panel-2) 55%, transparent)}.alo-role-head{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.alo-dot{border-radius:50%;flex:none;width:12px;height:12px}.alo-role-name{flex-direction:column;min-width:110px;display:flex}.alo-role-name small{color:var(--muted);font-size:12px}.alo-summary{color:var(--text-2);flex:180px;font-weight:600}.alo-summary em{color:var(--muted);font-style:normal;font-weight:400}.alo-suggest{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.alo-actions{background:var(--bg);border-top:1px solid var(--border);z-index:2;padding:10px 0;position:sticky;bottom:0}@media (width<=640px){.alo-editor{grid-template-columns:1fr}.alo-timer-head{flex-direction:column}.alo-num input{width:96px}.alo-mode{width:100%}.alo-mode button{flex:1}.alo-summary{flex-basis:100%;order:3}}@media (hover:none),(pointer:coarse){.alo-chips .chip{min-height:40px;padding:6px 14px}}.me-page{max-width:1600px}.me-page .input{background:var(--bg-2);color:var(--text);border:1px solid var(--border-2);font:inherit;box-sizing:border-box;border-radius:8px;width:100%;min-height:38px;padding:7px 10px}.me-page select.input{padding-right:6px}.me-page .btn{min-height:36px}.me-page .btn.small{min-height:32px;padding:5px 10px;font-size:13px}.me-page .btn.danger{border-color:var(--red-600);color:var(--red-300)}.me-note{border:1px solid var(--border-2);background:var(--panel);border-radius:8px;margin:0 0 10px;padding:10px 12px}.me-note.red{border-color:var(--red-600);color:var(--red-300);background:#b3131b1f}.me-note.amber{color:var(--amber);background:#e8a33d14;border-color:#e8a33d80}.me-note.ok{color:var(--ok);background:#7fbf8e14;border-color:#7fbf8e73}.me-note ul{margin:4px 0 0;padding-left:18px}.me-amber{color:var(--amber)}.me-tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.me-tab{background:var(--panel);color:var(--text-2);border:1px solid var(--border-2);font:inherit;cursor:pointer;border-radius:10px;min-height:44px;padding:9px 16px;font-weight:600;position:relative}.me-tab.on{background:var(--red-700);border-color:var(--red-500);color:#fff}.me-live{vertical-align:middle;background:#7fdc8e;border-radius:50%;width:8px;height:8px;margin-left:8px;display:inline-block;box-shadow:0 0 0 3px #7fdc8e33}.me-items{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:12px;display:grid}.me-items.with-drawer{grid-template-columns:200px minmax(0,1fr) 400px}@media (width<=1250px){.me-items.with-drawer{grid-template-columns:170px minmax(0,1fr) 360px}}@media (width<=980px){.me-items,.me-items.with-drawer{grid-template-columns:1fr}}.me-rail{flex-direction:column;gap:4px;display:flex;position:sticky;top:8px}.me-rail-btn{text-align:left;background:var(--panel);color:var(--text-2);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:9px 10px;display:flex}.me-rail-btn .muted{margin-left:auto;font-size:12px}.me-rail-btn.on{border-color:var(--red-500);color:var(--text);background:var(--bg-2);font-weight:600}.me-rail-btn.off{opacity:.55}.me-dot{border-radius:3px;flex:none;width:12px;height:12px}.me-list{min-width:0}.me-toolbar{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:8px;display:flex}.me-toolbar .spacer,.me-rule-head .spacer{flex:1}.me-search{flex:1;min-width:200px}.me-page .me-search.input{width:auto}.me-table{border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}.me-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);padding:8px;font-size:11px}.me-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px}.me-table tbody tr{cursor:pointer}.me-table tbody tr:hover{background:var(--bg-2)}.me-table tr.sel{background:#b3131b24}.me-table tr.archived{opacity:.5}.me-table tr.drop td{border-top:2px solid var(--red-400)}.me-table .num{text-align:right;white-space:nowrap}.w-check{width:34px}.w-check input{width:18px;height:18px;accent-color:var(--red-500)}.w-drag{width:20px;color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;letter-spacing:-2px}.w-86{text-align:center;width:64px}.me-name{flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;display:flex}.me-bad{background:var(--red-600);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;margin-left:4px;font-size:12px;font-weight:700;display:inline-flex}.badge-hh{color:var(--violet);white-space:nowrap;background:#b9a8ff24;border:1px solid #b9a8ff80;border-radius:5px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.me-86{border:1px solid var(--border-2);min-width:48px;min-height:32px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:8px;font-weight:700}.me-86.on{background:var(--red-600);border-color:var(--red-500);color:#fff}.me-empty{text-align:center;border:1px dashed var(--border-2);border-radius:var(--radius);margin-top:8px;padding:30px}.me-hint{margin-top:6px}.me-bulk{border:1px solid var(--red-600);border-radius:var(--radius);background:#b3131b1a;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;display:flex}.me-bulk-grp{align-items:center;gap:6px;display:inline-flex}.me-page .me-num.input{text-align:right;width:72px}.me-page .me-inline.input{width:auto}.me-inline{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.me-drawer{background:var(--panel);border:1px solid var(--border-2);border-radius:var(--radius);flex-direction:column;gap:10px;max-height:calc(100dvh - 24px);padding:14px;display:flex;position:sticky;top:8px;overflow:auto}.me-drawer-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.me-drawer-head h3{margin:0;font-size:18px}.me-drawer-foot{border-top:1px solid var(--border);padding-top:10px}.me-sub{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-top:1px solid var(--border);margin-top:6px;padding-top:10px;font-size:11px}.me-field{color:var(--text-2);flex-direction:column;gap:4px;font-size:12px;display:flex}.me-row{align-items:center;gap:6px;display:flex}.me-row.wrap{flex-wrap:wrap;gap:10px}.me-row2{grid-template-columns:1fr 1fr;align-items:end;gap:8px;display:grid}.me-row3{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.me-sizes{border-collapse:collapse;width:100%}.me-sizes td{padding:3px 4px 3px 0}.me-radio{white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.me-money{background:var(--bg-2);border:1px solid var(--border-2);border-radius:8px;align-items:center;gap:2px;min-height:38px;padding:0 8px;display:inline-flex}.me-money input{width:72px;color:var(--text);font:inherit;text-align:right;background:0 0;border:0;outline:none}.me-money.bad{border-color:var(--red-500)}.me-pct{align-items:center;gap:4px;display:inline-flex}.me-hh-note{background:#b9a8ff14;border:1px solid #b9a8ff4d;border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;font-size:13px;display:flex}.me-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.me-chip{border:1px solid var(--border-2);background:var(--bg-2);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:13px;display:inline-flex}.me-groups{flex-direction:column;gap:4px;margin:0;padding-left:20px;display:flex}.me-groups li>span:first-child{min-width:0;display:inline-block}.me-groups li{display:list-item}.me-groups li .me-updown{float:right}.me-toggle{cursor:pointer;white-space:nowrap;align-items:center;gap:8px;min-height:32px;font-size:13px;display:inline-flex}.me-toggle input{opacity:0;width:1px;height:1px;position:absolute}.me-switch{background:var(--border-2);border-radius:999px;flex:none;width:36px;height:20px;transition:background .15s;position:relative}.me-switch:after{content:"";background:#ddd;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px}.me-toggle input:checked+.me-switch{background:var(--red-600)}.me-toggle input:checked+.me-switch:after{background:#fff;left:18px}.me-toggle input:focus-visible+.me-switch{outline:2px solid var(--red-400);outline-offset:2px}.me-days{flex-wrap:wrap;gap:4px;display:inline-flex}.me-day{border:1px solid var(--border-2);background:var(--bg-2);min-width:42px;min-height:34px;color:var(--text-2);font:inherit;cursor:pointer;border-radius:8px;padding:0 8px;font-size:13px}.me-day.wide{padding:0 12px}.me-day.on{background:var(--red-700);border-color:var(--red-500);color:#fff;font-weight:600}.me-cats{flex-direction:column;gap:6px;display:flex}.me-cat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.me-cat.drop{border-top:2px solid var(--red-400)}.me-cat.off{opacity:.6}.me-updown{gap:2px;display:inline-flex}.me-cat-swatch{border-radius:6px;flex:none;width:28px;height:28px}.me-page .me-cat-name.input{width:220px;font-weight:600}.me-palette{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.me-color{cursor:pointer;border:2px solid #0000;border-radius:5px;width:22px;height:22px;padding:0}.me-color.on{border-color:#fff}.me-count{min-width:64px}.me-page input[type=color]{border:1px solid var(--border-2);background:var(--bg-2);border-radius:6px;width:36px;height:28px;padding:2px}.me-mods{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:12px;display:grid}@media (width<=900px){.me-mods{grid-template-columns:1fr}}.me-mod-list{flex-direction:column;gap:4px;display:flex}.me-mod-row{text-align:left;background:var(--panel);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex}.me-mod-row.on{border-color:var(--red-500);background:var(--bg-2)}.me-mod-edit{background:var(--panel);border:1px solid var(--border-2);border-radius:var(--radius);flex-direction:column;gap:10px;padding:14px;display:flex}.me-mod-edit>div{flex-direction:column;gap:10px;display:flex}.me-seg{border:1px solid var(--border-2);border-radius:8px;display:inline-flex;overflow:hidden}.me-seg button{background:var(--bg-2);color:var(--text-2);font:inherit;cursor:pointer;border:0;min-height:36px;padding:8px 14px}.me-seg button.on{background:var(--red-700);color:#fff;font-weight:600}.me-opts tbody tr{cursor:default}.me-opts td:first-child{min-width:180px}.me-assign{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.me-page .me-assign .input{width:260px}.me-hh{flex-direction:column;gap:12px;display:flex}.me-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:14px;display:flex}.me-card h3{margin:0;font-size:16px}.me-rule{border-left:4px solid var(--violet)}.me-rule.off{border-left-color:var(--border-2);opacity:.75}.me-rule-head{align-items:center;gap:10px;display:flex}.me-page .me-rule-name.input{width:260px;font-size:16px;font-weight:700}.me-window{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.me-page .me-time.input{width:130px}.me-page .me-date.input{width:160px}.me-targets tbody tr{cursor:default}.me-targets td:first-child{min-width:200px}.me-import{flex-direction:column;gap:12px;max-width:900px;display:flex}.me-card p{margin:0}.me-page .me-paste.input{min-height:120px;font-family:ui-monospace,Menlo,monospace;font-size:12px}.me-preview{border:1px solid var(--border-2);background:var(--bg-2);border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.me-preview ul{margin:0;padding-left:18px}.me-page .linkish{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.tp-page{max-width:1500px}.tp-page input:not([type=checkbox]):not([type=radio]),.tp-page select{background:var(--bg-2);color:var(--text);border:1px solid var(--border-2);font:inherit;box-sizing:border-box;border-radius:8px;min-height:38px;padding:7px 10px}.tp-page input[aria-invalid=true]{border-color:var(--red-400)}.tp-field{color:var(--text-2);flex-direction:column;gap:4px;min-width:140px;font-size:13px;display:flex}.tp-field.grow{flex:260px}.tp-row{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:10px;display:flex}.tp-check{color:var(--text);align-items:center;gap:6px;min-height:38px;margin-right:14px;font-size:14px;display:inline-flex}.tp-check input{width:18px;height:18px;accent-color:var(--red-500)}.tp-fieldset{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;margin:0 0 10px;padding:6px 12px 8px;display:flex}.tp-fieldset legend{color:var(--muted);padding:0 4px;font-size:12px}.tp-sub{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);align-items:center;gap:8px;margin:10px 0 6px;font-size:12px;display:flex}.tp-inline{text-transform:none;min-height:28px!important;padding:2px 6px!important}.tp-chips{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.tp-chip{background:var(--panel-2);color:var(--text-2);border:1px solid var(--border-2);font:inherit;cursor:pointer;border-radius:999px;min-height:32px;padding:5px 12px;font-size:13px}.tp-chip.on{background:var(--red-700);border-color:var(--red-500);color:#fff}.tp-suffix,.tp-prefix{align-items:center;gap:4px;display:inline-flex}.tp-suffix input,.tp-prefix input{width:110px}.tp-suffix i,.tp-prefix i{color:var(--muted);font-style:normal}.tp-num{width:80px}.tp-list{gap:14px;display:grid}.tp-item.off{opacity:.72}.tp-members{border-collapse:collapse;width:100%;margin:6px 0 10px;font-size:14px}.tp-members th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 8px;font-size:12px;font-weight:600}.tp-members td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text);padding:6px 8px}.tp-members td input[type=checkbox]{width:18px;height:18px;accent-color:var(--red-500)}.tp-flags tr.flagged td{background:color-mix(in srgb, var(--amber) 12%, transparent)}.tp-who td:not(:first-child):not(:nth-child(2)),.tp-who th:not(:first-child):not(:nth-child(2)){text-align:right;font-variant-numeric:tabular-nums}.tp-table-wrap{overflow-x:auto}.tp-issues{color:var(--text-2);gap:4px;margin:8px 0;padding:0;font-size:13px;list-style:none;display:grid}.tp-toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.tp-savebar{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;padding:12px;display:flex}.tp-status{align-items:center;gap:6px;min-height:38px;display:inline-flex}.tp-msg{border-radius:8px;margin-bottom:10px;padding:10px 12px;font-size:14px}.tp-msg.ok{background:color-mix(in srgb, var(--ok) 15%, transparent);color:var(--text)}.tp-msg.red{background:color-mix(in srgb, var(--red-500) 16%, transparent);color:var(--text)}.tp-banner{border-radius:var(--radius);color:var(--text);border:1px solid var(--border-2);background:var(--panel-2);margin-bottom:12px;padding:12px 14px;font-size:14px}.tp-banner.preset,.tp-banner.demo{border-color:var(--amber);background:color-mix(in srgb, var(--amber) 12%, var(--panel))}.tp-banner div{color:var(--text-2);margin-top:4px}.tp-banner details{margin-top:6px}.tp-banner ul{color:var(--text-2);margin:6px 0 0;padding-left:18px}.tp-preset{color:var(--text-2);align-items:center;gap:8px;font-size:14px;display:inline-flex}.tp-split{grid-template-columns:minmax(0,1fr) minmax(300px,400px);align-items:start;gap:16px;display:grid}.tp-sticky{position:sticky;top:12px}.tp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.tp-grid>.card{min-width:0}@media (width<=1000px){.tp-split,.tp-grid{grid-template-columns:1fr}.tp-sticky{position:static}}.tp-chain{gap:10px;font-size:14px;display:grid}.tp-stage{border-left:3px solid var(--red-500);gap:6px;padding-left:10px;display:grid}.tp-stage-h{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.tp-step{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;gap:2px;padding:8px 10px;display:grid}.tp-step i{color:var(--red-400);font-style:normal}.tp-step.blank{border-style:dashed}.tp-cycle{background:color-mix(in srgb, var(--red-500) 18%, transparent);color:var(--text);border-radius:8px;padding:8px 10px}.tp-paths{color:var(--text-2);gap:2px;display:grid}.tp-ghost{border-bottom:1px solid var(--border);color:var(--text);align-items:center;padding-bottom:8px}.tp-preview{gap:12px;display:grid}.tp-warn{background:var(--tint-amber,#fff4d6);border:1px solid var(--amber,#d99a00);border-radius:8px;margin:6px 0;padding:8px 10px}.lb-page{max-width:1500px}.lb-page .input,.lb-page input:not([type=checkbox]):not([type=radio]),.lb-page select{background:var(--bg-2);color:var(--text);border:1px solid var(--border-2);font:inherit;box-sizing:border-box;border-radius:8px;min-height:38px;padding:7px 10px}.lb-tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.lb-tab{background:var(--panel);color:var(--text-2);border:1px solid var(--border-2);font:inherit;cursor:pointer;border-radius:10px;min-height:44px;padding:9px 16px;font-weight:600}.lb-tab.on{background:var(--red-700);border-color:var(--red-500);color:#fff}.lb-split{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;display:grid}.lb-split.with-drawer{grid-template-columns:minmax(0,1fr) 420px}@media (width<=1100px){.lb-split.with-drawer{grid-template-columns:1fr}}.lb-drawer{position:sticky;top:8px}.lb-form{flex-direction:column;gap:10px;display:flex}.lb-form label{color:var(--text-2);flex-direction:column;gap:4px;font-size:12px;display:flex}.lb-row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.lb-jobs{flex-direction:column;gap:6px;display:flex}.lb-job{border:1px solid var(--border);border-radius:8px;grid-template-columns:22px 1fr 110px;align-items:center;gap:8px;padding:6px 8px;display:grid}.lb-job input[type=text]{width:100%}.lb-dot{vertical-align:middle;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.lb-section{border-top:1px solid var(--border);margin-top:4px;padding-top:10px}.lb-msg{color:var(--ok);font-size:13px}.lb-err{color:var(--red-300);font-size:13px}.lb-perm{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:12px;display:grid}@media (width<=900px){.lb-perm{grid-template-columns:1fr}}.lb-rail{flex-direction:column;gap:4px;display:flex}.lb-rail button{text-align:left;background:var(--panel);color:var(--text-2);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:9px 10px;display:flex}.lb-rail button.on{border-color:var(--red-500);color:var(--text);background:var(--bg-2);font-weight:600}.lb-rail .muted{margin-left:auto;font-size:12px}.lb-groups{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.lb-group{border:1px solid var(--border);background:var(--panel);border-radius:10px;padding:10px 12px}.lb-group h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;font-size:12px}.lb-check{cursor:pointer;align-items:flex-start;gap:8px;padding:5px 0;display:flex}.lb-check input{width:16px;height:16px;accent-color:var(--red-500);margin-top:3px}.lb-check .hint{color:var(--muted);font-size:11.5px;display:block}.lb-emp-head td{background:var(--bg-2);font-weight:600}.lb-edit td{background:#b3131b0f}.lb-inline{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.lb-inline label{color:var(--text-2);flex-direction:column;gap:3px;font-size:12px;display:flex}.lb-toggle{cursor:pointer;align-items:center;gap:8px;display:flex}.lb-page table.table{border-collapse:collapse;width:100%;font-size:13px}.lb-page table.table th{text-align:left;background:var(--panel);border-bottom:1px solid var(--border-2);white-space:nowrap;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:8px 10px;font-size:11.5px;font-weight:600}.lb-page table.table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px}.lb-page table.table .num{text-align:right;font-variant-numeric:tabular-nums}.lb-page table.table tbody tr:hover td{background:var(--hover-tint)}.lb-form label.lb-toggle,label.lb-toggle{color:var(--text);flex-direction:row;align-items:center;font-size:13px}.lb-page .lb-check input[type=checkbox],.lb-page label.lb-toggle input[type=checkbox]{flex:none;width:16px;height:16px;min-height:0;margin:2px 0 0;padding:0}.lb-page .lb-check{align-items:flex-start;line-height:1.35}.lb-group h4{line-height:26px;display:flow-root}.lb-group h4 .btn{text-transform:none;letter-spacing:0;height:26px;min-height:0;padding:0 10px;font-size:11px}.sch-app{color:var(--text,#ecebe9);padding:16px 20px}.sch-app h1{margin:0 12px 0 0;font-size:20px}.sch-app h2{margin:8px 0 12px;font-size:17px}.sch-app h3{color:var(--muted,#8d8c94);text-transform:uppercase;letter-spacing:.04em;margin:18px 0 8px;font-size:14px}.sch-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.sch-tabs{gap:4px;margin-left:auto;display:flex}.sch-tab{color:var(--muted,#8d8c94);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 12px}.sch-tab-on{color:var(--text,#ecebe9);background:var(--panel-2,#1d1d22);border-color:var(--border,#2a2a31)}.sch-muted{color:var(--muted,#8d8c94)}.sch-small{font-size:12px}.sch-bad{color:var(--red-400,#e04a4f)}.sch-warn-text{color:var(--amber,#e8a33d)}.sch-spacer{flex:1}.sch-app select,.sch-app input,.sch-app textarea{background:var(--panel-2,#1d1d22);color:var(--text,#ecebe9);border:1px solid var(--border,#2a2a31);font:inherit;border-radius:6px;padding:5px 8px}.sch-btn{background:var(--panel-2,#1d1d22);color:var(--text,#ecebe9);border:1px solid var(--border,#2a2a31);cursor:pointer;font:inherit;border-radius:6px;padding:5px 12px}.sch-btn:disabled{opacity:.5;cursor:default}.sch-btn-primary{background:var(--red-600,#9b1118);color:#fff;border-color:var(--red-400,#e04a4f)}.sch-btn-danger{color:var(--red-400,#e04a4f)}.sch-link{color:var(--red-400,#e04a4f);cursor:pointer;background:0 0;border:0;margin-left:8px}.sch-icon-btn{color:var(--muted,#8d8c94);cursor:pointer;background:0 0;border:0;font-size:20px}.sch-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.sch-weeknav,.sch-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sch-status{background:var(--panel-2,#1d1d22);border:1px solid var(--border,#2a2a31);border-radius:10px;padding:2px 8px;font-size:12px}.sch-status-draft,.sch-status-pending{color:var(--amber,#e8a33d)}.sch-status-published,.sch-status-approved{color:var(--ok,#7fbf8e)}.sch-status-denied,.sch-status-cancelled{color:var(--muted,#8d8c94)}.sch-tag{border:1px solid var(--border,#2a2a31);color:var(--muted,#8d8c94);border-radius:8px;padding:1px 6px;font-size:11px}.sch-tag-amber{color:var(--amber,#e8a33d);border-color:var(--amber,#e8a33d)}.sch-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:12px;display:grid}.sch-stat{background:var(--panel,#16161a);border:1px solid var(--border,#2a2a31);border-radius:8px;padding:8px 10px}.sch-stat-label{color:var(--muted,#8d8c94);text-transform:uppercase;font-size:11px}.sch-stat-value{font-size:18px;font-weight:600}.sch-stat-sub{color:var(--muted,#8d8c94);font-size:12px}.sch-tone-ok .sch-stat-value{color:var(--ok,#7fbf8e)}.sch-tone-warn .sch-stat-value{color:var(--amber,#e8a33d)}.sch-tone-bad .sch-stat-value{color:var(--red-400,#e04a4f)}.sch-error{border:1px solid var(--red-400,#e04a4f);background:#e04a4f1f;border-radius:6px;margin:8px 0;padding:8px 12px}.sch-toast{background:var(--panel-2,#1d1d22);border:1px solid var(--ok,#7fbf8e);z-index:30;border-radius:8px;padding:10px 14px;position:fixed;bottom:20px;right:20px}.sch-loading{color:var(--muted,#8d8c94);padding:24px}.sch-grid-wrap{border:1px solid var(--border,#2a2a31);border-radius:8px;overflow-x:auto}.sch-grid{border-collapse:collapse;table-layout:fixed;width:100%;min-width:980px}.sch-grid th,.sch-grid td{border-bottom:1px solid var(--border,#2a2a31);border-right:1px solid var(--border,#2a2a31);vertical-align:top;padding:4px}.sch-grid thead th{background:var(--panel,#16161a);text-align:left;font-weight:500;position:sticky;top:0}.sch-grid-corner,.sch-grid-emp{text-align:left;width:190px}.sch-grid-total{text-align:right;width:76px;font-size:12px}.sch-today{box-shadow:inset 0 -2px 0 var(--red-400,#e04a4f)}.sch-grid-emp{font-weight:500;vertical-align:middle!important}.sch-emp-wrap{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.sch-row-open th,.sch-row-open td{background:#e8a33d0d}.sch-open-label{color:var(--amber,#e8a33d)}.sch-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.sch-emp-badges{gap:2px;display:inline-flex}.sch-cell{cursor:pointer;height:52px;min-height:48px;position:relative}.sch-cell:hover .sch-add{opacity:1}.sch-add{opacity:0;border:1px dashed var(--border,#2a2a31);color:var(--muted,#8d8c94);cursor:pointer;background:0 0;border-radius:4px;width:20px;height:20px;line-height:16px;position:absolute;bottom:2px;right:2px}.sch-drop-ok{outline:2px dashed var(--ok,#7fbf8e);outline-offset:-2px}.sch-drop-no{outline:2px dashed var(--red-400,#e04a4f);outline-offset:-2px}.sch-timeoff-approved{background:repeating-linear-gradient(45deg,#0000 0 6px,#8d8c941f 6px 12px)}.sch-timeoff-pending{background:repeating-linear-gradient(45deg,#0000 0 6px,#e8a33d14 6px 12px)}.sch-timeoff-label{color:var(--muted,#8d8c94);font-size:10px}.sch-chip{--chip-bg:var(--chip-d-bg,var(--panel-2,#1d1d22));--chip-fg:var(--chip-d-fg,var(--text,#ecebe9));--chip-bd:var(--chip-d-bd,var(--border,#2a2a31));text-align:left;background-color:var(--chip-bg);width:100%;color:var(--chip-fg);border:1px solid var(--chip-bd);border-left:4px solid var(--chip-c,var(--chip-bd));cursor:grab;font:inherit;border-radius:5px;margin-bottom:3px;padding:3px 6px;font-size:12px;display:block}:root[data-theme=light] .sch-chip{--chip-bg:var(--chip-l-bg,#f4f4f5);--chip-fg:var(--chip-l-fg,#1f1f23);--chip-bd:var(--chip-l-bd,#d4d4d8)}.sch-chip-time{font-weight:600;display:block}.sch-chip-job{color:inherit;font-size:11px;font-weight:500;display:block}.sch-chip.sch-chip-open{border:1.5px dashed var(--chip-fg);border-left:4px dashed var(--chip-c,var(--chip-fg));background-color:color-mix(in srgb, var(--chip-bg) 55%, transparent)}.sch-chip-draft,.sch-chip-changed{box-shadow:inset 0 0 0 1px var(--amber,#e8a33d)}.sch-chip-removed{opacity:.45;cursor:default;text-decoration:line-through}.sch-chip-sev-block{box-shadow:inset 0 0 0 1px var(--red-400,#e04a4f)}.sch-chip-badges{flex-wrap:wrap;gap:2px;margin-top:2px;display:flex}.sch-badge{white-space:nowrap;border:1px solid;border-radius:4px;padding:0 4px;font-size:10px}.sch-sev-block.sch-badge{color:var(--red-400,#e04a4f)}.sch-sev-warn.sch-badge{color:var(--amber,#e8a33d)}.sch-sev-info.sch-badge{color:var(--muted,#8d8c94)}.sch-acked{opacity:.6}.sch-labor-row th,.sch-labor-row td{background:var(--panel,#16161a);font-size:11px}.sch-bar{background:var(--border,#2a2a31);border-radius:3px;height:6px;margin:2px 0 4px;overflow:hidden}.sch-bar-fill{background:var(--ok,#7fbf8e);height:100%}.sch-tone-under .sch-bar-fill{background:var(--amber,#e8a33d)}.sch-tone-over .sch-bar-fill{background:var(--red-400,#e04a4f)}.sch-labor-nums{justify-content:space-between;display:flex}.sch-modal-backdrop{z-index:20;background:#0000008c;justify-content:center;align-items:flex-start;padding-top:8vh;display:flex;position:fixed;inset:0}.sch-modal{background:var(--panel,#16161a);border:1px solid var(--border,#2a2a31);border-radius:10px;flex-direction:column;width:min(480px,94vw);max-height:84vh;display:flex}.sch-modal-wide{width:min(760px,96vw)}.sch-modal-head,.sch-modal-foot{align-items:center;gap:8px;padding:10px 14px;display:flex}.sch-modal-head h2{flex:1;margin:0;font-size:16px}.sch-modal-body{padding:4px 14px 12px;overflow:auto}.sch-modal-foot{border-top:1px solid var(--border,#2a2a31)}.sch-form{flex-direction:column;gap:10px;display:flex}.sch-form label{color:var(--muted,#8d8c94);flex-direction:column;gap:4px;font-size:12px;display:flex}.sch-form-row{gap:8px;display:flex}.sch-form-row label{flex:1}.sch-check{align-items:center;gap:8px;margin:10px 0;display:flex}.sch-warnings{flex-direction:column;gap:4px;margin:4px 0;padding:0;font-size:13px;list-style:none;display:flex}.sch-diff{max-height:260px;margin:0;padding:0;font-size:13px;list-style:none;overflow:auto}.sch-diff li{border-bottom:1px solid var(--border,#2a2a31);padding:3px 0}.sch-diff-mark{width:16px;font-weight:700;display:inline-block}.sch-diff-added .sch-diff-mark,.sch-diff-added{color:var(--ok,#7fbf8e)}.sch-diff-removed .sch-diff-mark,.sch-diff-removed{color:var(--red-400,#e04a4f)}.sch-diff-changed .sch-diff-mark,.sch-diff-changed{color:var(--amber,#e8a33d)}.sch-diff li strong{color:var(--text,#ecebe9)}.sch-table{border-collapse:collapse;width:100%;font-size:13px}.sch-table th,.sch-table td{text-align:left;border-bottom:1px solid var(--border,#2a2a31);vertical-align:top;padding:5px 6px}.sch-row-sel td{background:var(--panel-2,#1d1d22)}.sch-card{background:var(--panel,#16161a);border:1px solid var(--border,#2a2a31);border-radius:8px;margin-bottom:8px;padding:10px 12px}.sch-card-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.sch-pill{border:1px solid var(--border,#2a2a31);border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.sch-pill input{display:none}.sch-pill-on{border-color:var(--red-400,#e04a4f)}.sch-pill.sch-tone-ok{color:var(--ok,#7fbf8e)}.sch-pill.sch-tone-under{color:var(--amber,#e8a33d)}.sch-pill.sch-tone-over{color:var(--red-400,#e04a4f)}.sch-chips-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.sch-av{font-size:11px}.sch-av-unavailable{color:var(--red-400,#e04a4f)}.sch-av-preferred{color:var(--ok,#7fbf8e)}.sch-hourly{align-items:flex-end;gap:4px;height:140px;padding:8px 0;display:flex}.sch-hour{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.sch-hour-bars{flex:1;width:100%;position:relative}.sch-hour-rec,.sch-hour-sch{border-radius:3px 3px 0 0;position:absolute;bottom:0}.sch-hour-rec{background:var(--border,#2a2a31);left:0;right:0}.sch-hour-sch{background:var(--ok,#7fbf8e);left:25%;right:25%}.sch-hour.sch-tone-under .sch-hour-sch{background:var(--amber,#e8a33d)}.sch-hour.sch-tone-over .sch-hour-sch{background:var(--red-400,#e04a4f)}.sch-hour-label{color:var(--muted,#8d8c94);font-size:10px}.sch-allwarn{margin-top:10px}.sch-list{padding-left:18px}.sch-grid-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%}.sch-grid-corner,.sch-grid-emp,.sch-labor-row th{z-index:2;background:var(--panel,#16161a);position:sticky;left:0}.sch-grid thead th.sch-grid-corner{z-index:3}.sch-row-open th.sch-grid-emp{background:var(--tint-amber)}.sch-chip{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.sch-chip-dragging{opacity:.55;outline:2px solid var(--red-400,#e04a4f)}.sch-touch-dragging{touch-action:none}.sch-touch-dragging .sch-cell{cursor:copy}.sch-touch-hint{display:none}.sch-table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.sch-hourly{overflow-x:auto}.sch-hour{min-width:18px}.sch-app{padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));padding-bottom:max(16px, env(safe-area-inset-bottom))}.sch-toast{bottom:max(20px, env(safe-area-inset-bottom))}@media (width<=1100px){.sch-grid{min-width:900px}.sch-grid-corner,.sch-grid-emp{width:150px}.sch-grid-total{width:68px}}@media (width<=900px){.sch-app{padding:12px 14px;padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}.sch-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;width:100%;margin-left:0;overflow-x:auto}.sch-tabs::-webkit-scrollbar{display:none}.sch-tab{white-space:nowrap;flex:1 0 auto}.sch-grid-corner,.sch-grid-emp{width:132px}.sch-emp-badges{display:none}.sch-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.sch-modal-backdrop{padding-top:4vh}.sch-modal{max-height:92dvh}.sch-form-row{flex-wrap:wrap}.sch-form-row label{min-width:120px}}@media (hover:none),(pointer:coarse){.sch-btn,.sch-tab,.sch-app select,.sch-app input:not([type=checkbox]):not([type=radio]){min-height:44px}.sch-btn{min-width:44px;padding:10px 16px}.sch-tab{padding:10px 16px}.sch-icon-btn{min-width:44px;min-height:44px;font-size:26px}.sch-link{min-height:44px;padding:0 10px}.sch-app input[type=checkbox],.sch-app input[type=radio]{width:22px;height:22px}.sch-check{min-height:44px}.sch-pill{min-height:44px;padding:8px 14px;font-size:13px}.sch-allwarn summary{align-items:center;min-height:44px;display:flex}.sch-app select,.sch-app input,.sch-app textarea{font-size:16px}.sch-modal-foot .sch-btn{min-width:88px}.sch-grid td.sch-cell{height:auto;min-height:64px;padding-bottom:46px}.sch-chip{cursor:pointer;min-height:48px;padding:8px;font-size:13px}.sch-add{opacity:.75;border:0;border-top:1px dashed var(--border,#2a2a31);border-radius:0;width:100%;height:42px;font-size:18px;position:absolute;bottom:0;left:0;right:0}.sch-touch-hint{display:inline}.sch-mouse-hint{display:none}.sch-table th,.sch-table td{padding:10px 8px}.sch-table .sch-btn{margin:2px 0}}.sch-grid tr.sch-group-row th{background:var(--surface-sunk,var(--panel,#16161a));color:var(--text,inherit);text-transform:none;letter-spacing:.02em;text-align:left;border-left:3px solid var(--group-c,var(--red,#b3131b));padding:6px 8px;font-weight:700}.sch-lean{border:1px solid var(--border,#2a2a31);background:var(--card,transparent);border-radius:8px;margin-top:10px;padding:6px 10px}.sch-lean summary{cursor:pointer;font-weight:600}.sch-lean-list{margin:6px 0;padding:0;list-style:none}.sch-lean-list li{border-bottom:1px solid var(--hairline-soft,var(--border,#2a2a31));justify-content:space-between;align-items:center;gap:8px;padding:5px 0;font-size:13px;display:flex}.sch-notice-draft{margin:8px 0}.sch-pre{white-space:pre-wrap;background:var(--surface-sunk,#7f7f7f14);border-radius:6px;margin:4px 0 8px;padding:6px 8px;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.sch-clock{max-width:760px}.sch-clock .sch-row{flex-wrap:wrap;align-items:center;gap:12px;margin:10px 0;display:flex}.sch-clock input[type=number]{width:90px}.sch-clock td input[type=number]{width:130px}.sch-chip-noshow{background-image:repeating-linear-gradient(135deg, transparent 0 6px, color-mix(in srgb, var(--chip-fg,#8d8c94) 16%, transparent) 6px 12px);border-left-style:double}.sch-chip.sch-chip-noshow .sch-noshow-tag{color:var(--chip-fg);border-color:currentColor}.sch-chip-noshow .sch-chip-time{text-decoration:line-through}.sch-noshow-tag{letter-spacing:.02em;color:var(--amber,#e8a33d);border:1px solid var(--amber,#e8a33d);text-transform:uppercase;vertical-align:middle;border-radius:6px;margin-left:6px;padding:0 5px;font-size:10px;font-weight:700;line-height:15px;display:inline-block}.sch-chip .sch-noshow-tag{margin-top:2px;margin-left:0}.sch-grid tr.sch-group-row th.sch-group-total{text-align:right;border-left:0;font-weight:700}.sch-group-row .sch-tag,.sch-group-row .sch-group-count{margin-left:8px;font-weight:500}.sch-tag-tipped{color:var(--ok,#7fbf8e);border-color:var(--ok,#7fbf8e)}.sch-tag-muted{margin-left:4px}.sch-groupby{align-items:center;gap:6px;display:inline-flex}.sch-groupby span{color:var(--muted,#8d8c94);font-size:12px}.sch-group-sub-narrow{display:none}@media (width<=700px){.sch-group-sub-narrow{margin-top:2px;font-weight:700;display:block}}.sch-swatch{vertical-align:-2px;border-radius:4px;width:14px;height:14px;margin-right:8px;display:inline-block;position:relative;box-shadow:0 0 0 1px #7f7f7f73}label.sch-swatch{cursor:pointer}.sch-swatch input[type=color]{opacity:0;cursor:pointer;box-sizing:border-box;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.sch-swatch-reset{font-size:11px;font-weight:500}@keyframes sch-pending-pulse{0%,to{outline-color:color-mix(in srgb, var(--amber,#e8a33d) 25%, transparent);outline-offset:0}50%{outline-color:var(--amber,#e8a33d);outline-offset:2px}}.sch-chip.sch-chip-pending{outline:2px solid var(--amber,#e8a33d);outline-offset:0;animation:2.4s ease-in-out infinite sch-pending-pulse}.sch-pending-tag{letter-spacing:.02em;background:var(--amber,#e8a33d);color:#1a1205;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;max-width:100%;margin-top:2px;padding:0 5px;font-size:10px;font-weight:700;line-height:15px;display:inline-block;overflow:hidden}:root[data-theme=light] .sch-pending-tag{color:#fff;background:#8a5a00}.sch-pending-tag:focus-visible{outline:2px solid var(--chip-fg);outline-offset:1px}@media (prefers-reduced-motion:reduce){.sch-chip.sch-chip-pending{outline-color:var(--amber,#e8a33d);animation:none}:root .sch-drag-ghost{transition:none}}.sch-chip-calledout .sch-chip-time{text-decoration:line-through}.sch-calledout-tag{text-transform:uppercase;letter-spacing:.02em;color:var(--chip-fg);border:1px solid;border-radius:6px;margin:2px 4px 0 0;padding:0 5px;font-size:10px;font-weight:700;line-height:15px;display:inline-block}.sch-ot-toast{z-index:40;background:var(--panel-2,#1d1d22);max-width:min(560px,100vw - 24px);color:var(--text,#ecebe9);border:1px solid var(--amber,#e8a33d);box-shadow:var(--shadow);border-left-width:4px;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex;position:fixed;bottom:76px;left:50%;transform:translate(-50%)}.sch-ot-toast.sch-ot-over{border-color:var(--red-400,#e04a4f)}.sch-dragging .sch-drop-target{background:color-mix(in srgb, var(--ok,#7fbf8e) 12%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ok,#7fbf8e) 55%, transparent)}.sch-dragging .sch-drop-blocked{opacity:.45;background:repeating-linear-gradient(135deg, transparent 0 6px, color-mix(in srgb, var(--muted,#888) 14%, transparent) 6px 12px);cursor:not-allowed}.sch-dragging .sch-drop-blocked>.sch-chip,.sch-dragging .sch-drop-blocked>.sch-add{pointer-events:none}.sch-dragging .sch-drop-ok{outline:2px solid var(--ok,#7fbf8e);outline-offset:-2px;background:color-mix(in srgb, var(--ok,#7fbf8e) 22%, transparent)}.sch-drop-why{letter-spacing:.02em;text-transform:uppercase;color:var(--text,inherit);opacity:.95;padding:2px 0;font-size:11px;font-weight:700}.sch-chip-ghost{opacity:.7;pointer-events:none;border-style:dashed!important}.sch-drag-ghost{z-index:60;pointer-events:none;opacity:.92;flex-direction:column;gap:2px;width:max-content;padding:6px 10px;font-size:13px;display:flex;position:fixed;transform:translate(-50%,-120%);box-shadow:0 8px 22px #00000059}.sch-undo-toast{align-items:center;gap:10px;display:flex}.ral-bell{background:var(--panel-2,#1d1d22);width:40px;height:40px;color:var(--text,#ecebe9);border:1px solid var(--border,#2a2a31);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:inline-flex;position:relative}.ral-bell:hover{border-color:var(--border-2,#6b6a74)}.ral-bell-on{color:var(--red-400,#e04a4f);border-color:var(--red-600,#9b1118)}.ral-bell-compact{width:34px;height:34px}.ral-badge{background:var(--red-500,#b3131b);color:#fff;text-align:center;min-width:19px;height:19px;box-shadow:0 0 0 2px var(--bg,#0b0b0d);border-radius:10px;padding:0 5px;font-size:11px;font-weight:700;line-height:19px;position:absolute;top:-6px;right:-6px}.ral-backdrop,.ral-drawer-back{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ral-drawer-back{justify-content:flex-end;align-items:stretch;padding:0}.ral-modal,.ral-drawer{background:var(--panel,#16161a);color:var(--text,#ecebe9);border:1px solid var(--border,#2a2a31);box-shadow:var(--shadow);font-size:14px}.ral-modal{border-radius:12px;width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto}.ral-drawer{border-width:0 0 0 1px;border-radius:0;width:min(440px,100%);height:100%;overflow:auto}.ral-modal-head{border-bottom:1px solid var(--border,#2a2a31);background:inherit;z-index:1;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex;position:sticky;top:0}.ral-modal-head h2{margin:0;font-size:17px}.ral-head-tools{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.ral-modal-body{padding:14px 16px}.ral-modal-foot{border-top:1px solid var(--border,#2a2a31);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.ral-x{color:var(--muted,#8d8c94);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:22px;line-height:1}.ral-btn{background:var(--panel-2,#1d1d22);color:var(--text,#ecebe9);border:1px solid var(--border-2,#3a3a42);cursor:pointer;font:inherit;border-radius:8px;min-height:38px;padding:8px 14px}.ral-btn:disabled{opacity:.5;cursor:default}.ral-primary{background:var(--red-600,#9b1118);border-color:var(--red-500,#b3131b);color:#fff}.ral-small{min-height:30px;padding:4px 10px}.ral-block{width:100%;min-height:44px;margin:8px 0;font-weight:600;display:block}.ral-link{color:var(--red-400,#e04a4f);cursor:pointer;font:inherit;background:0 0;border:0;padding:6px}.ral-link:disabled{opacity:.5;cursor:default}.ral-tab{color:var(--muted,#8d8c94);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 10px}.ral-tab.on{color:var(--text,#ecebe9);background:var(--panel-2,#1d1d22);border-color:var(--border,#2a2a31)}.ral-list{gap:8px;margin:0;padding:8px;list-style:none;display:grid}.ral-item{border:1px solid var(--border,#2a2a31);border-left:4px solid var(--border-2,#3a3a42);background:var(--panel-2,#1d1d22);border-radius:10px;padding:10px 12px}.ral-item.ral-sev-urgent{border-left-color:var(--red-500,#b3131b)}.ral-item.ral-sev-warn{border-left-color:var(--amber,#e8a33d)}.ral-item.ral-sev-info{border-left-color:var(--blue,#6fa8dc)}.ral-unread{background:var(--tint-red,#2a0a0d)}.ral-item-top{align-items:center;gap:8px;margin-bottom:4px;display:flex}.ral-when{margin-left:auto}.ral-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#8d8c94);font-size:11px;font-weight:700}.ral-kind-callout,.ral-kind-no_show{color:var(--red-400,#e04a4f)}.ral-kind-ot_projected,.ral-kind-ot_clock_in,.ral-kind-missed_clock_out{color:var(--amber,#e8a33d)}.ral-title{font-size:15px;display:block}.ral-body{color:var(--text-2,#c4c3c7);margin:4px 0 8px}.ral-muted{color:var(--muted,#8d8c94)}.ral-fine{color:var(--muted,#8d8c94);font-size:12px}.ral-pad{padding:8px 16px}.ral-sub{color:var(--text-2,#c4c3c7);margin:0 0 10px}.ral-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;display:flex}.ral-actions.ral-wrap{flex-wrap:wrap;justify-content:flex-start}.ral-row{flex-wrap:wrap;gap:8px;display:flex}.ral-field{color:var(--muted,#8d8c94);flex:1;gap:4px;min-width:140px;margin:8px 0;font-size:12px;display:grid}.ral-field input{background:var(--panel-2,#1d1d22);color:var(--text,#ecebe9);border:1px solid var(--border-2,#3a3a42);font:inherit;border-radius:8px;min-height:40px;padding:8px 10px;font-size:15px}.ral-check{align-items:center;gap:8px;margin:10px 0;display:flex}.ral-error{background:var(--tint-red,#2a0a0d);border:1px solid var(--red-400,#e04a4f);color:var(--alert-text,#ffb3b3);border-radius:8px;margin:8px 0;padding:8px 10px}.ral-ok{background:var(--tint-ok,#0d2a12);border:1px solid var(--ok,#7fbf8e);border-radius:8px;padding:10px 12px}.ral-fix{margin-top:8px}.ral-chip{border:1px solid;border-radius:9px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-block}.ral-warn,.ral-ot-near{color:var(--amber,#e8a33d)}.ral-ot-over{color:var(--red-400,#e04a4f)}.ral-names{margin:6px 0 10px;padding-left:18px}.ral-cands{gap:6px;margin:0;padding:0;list-style:none;display:grid}.ral-cands li{border:1px solid var(--border,#2a2a31);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.ral-cand-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.ral-dim{opacity:.55}.ral-sev-warn.ral-fine,.ral-fine.ral-sev-warn{color:var(--amber,#e8a33d)}.ral-fine.ral-sev-block{color:var(--red-400,#e04a4f)}.ral-confirm{border:1px solid var(--amber,#e8a33d);background:var(--tint-amber,#1b1813);border-radius:10px;padding:10px 12px}.ral-pop{border-left:4px solid var(--amber,#e8a33d);padding-left:10px}.ral-pop.ral-sev-urgent{border-left-color:var(--red-500,#b3131b)}.ral-toast{background:var(--panel-2,#1d1d22);max-width:min(560px,100vw - 24px);color:var(--text,#ecebe9);border:1px solid var(--ok,#7fbf8e);z-index:1100;box-shadow:var(--shadow);border-radius:10px;padding:10px 14px;position:fixed;bottom:76px;left:50%;transform:translate(-50%)}.ral-ot-toast{border-color:var(--amber,#e8a33d);align-items:center;gap:10px;display:flex}@media (width<=560px){.ral-backdrop{align-items:flex-end;padding:0}.ral-modal{border-radius:14px 14px 0 0;width:100%;max-height:92vh}.ral-drawer{border-width:0;width:100%}.ral-modal-foot{justify-content:stretch}.ral-modal-foot .ral-btn{flex:1}}.ral-sum-list{gap:6px;margin:0 0 6px;padding:0;list-style:none;display:grid}.ral-sum-item{border:1px solid var(--border,#2a2a31);border-left:4px solid var(--border-2,#3a3a42);background:var(--panel-2,#1d1d22);border-radius:10px}.ral-sum-item.ral-sev-urgent{border-left-color:var(--red-500,#b3131b)}.ral-sum-item.ral-sev-warn{border-left-color:var(--amber,#e8a33d)}.ral-sum-item.ral-sev-info{border-left-color:var(--blue,#6fa8dc)}.ral-sum-btn{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:1fr auto;gap:2px 8px;min-height:44px;padding:10px 12px;display:grid}.ral-sum-btn:disabled{cursor:default}.ral-sum-btn .ral-kind{grid-column:1}.ral-sum-btn .ral-when{grid-area:1/2}.ral-sum-btn .ral-title{grid-column:1/-1}.tc-body{margin-top:12px}.tc-chat{grid-template-columns:260px 1fr;align-items:start;gap:12px;display:grid}.tc-threads{flex-direction:column;gap:4px;display:flex}.tc-thread{text-align:left;background:var(--panel);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.tc-thread>span{flex-direction:column;min-width:0;display:flex}.tc-thread small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tc-thread.on{border-color:var(--red-500);background:var(--tint-red)}.tc-pinned{border:1px solid var(--red-700);background:var(--tint-red);border-radius:10px;flex-direction:column;gap:4px;margin-bottom:10px;padding:8px 10px;display:flex}.tc-msgs{flex-direction:column;gap:6px;max-height:60vh;display:flex;overflow:auto}.tc-msg{border:1px solid var(--border);background:var(--panel-2);border-radius:10px;padding:8px 10px}.tc-msg.announcement{border-color:var(--red-500);background:var(--tint-red)}.tc-msg.removed{background:0 0;border-style:dashed}.tc-msg-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tc-msg-body{white-space:pre-wrap;word-break:break-word;margin-top:4px}.tc-swapline{margin-top:4px;font-size:13px}.tc-system{text-align:center;color:var(--muted);padding:2px 0;font-size:12px}.tc-remove{gap:6px;margin-top:6px;display:flex}.tc-remove input,.tc-decide input:not([type]){background:var(--panel);color:var(--text);border:1px solid var(--border-2);font:inherit;border-radius:8px;flex:1;padding:6px 8px}.tc-compose{flex-direction:column;gap:6px;margin-top:10px;display:flex}.tc-compose textarea{background:var(--panel);color:var(--text);border:1px solid var(--border-2);font:inherit;resize:vertical;border-radius:8px;padding:8px}.tc-check{align-items:center;gap:6px;font-size:13px;display:inline-flex}.tc-cands{flex-direction:column;gap:6px;display:flex}.tc-cand{border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:8px;padding:8px;display:flex}.tc-cand.on{border-color:var(--red-500)}.tc-impact{flex-direction:column;gap:2px;display:flex}.tc-warn{color:var(--amber)}.tc-decide{flex-direction:column;gap:8px;margin-top:10px;display:flex}.tc-swap{margin-bottom:12px}.tc-tabs{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.tc-tabs .segmented button{white-space:nowrap}.tc-swap .card-head{flex-wrap:wrap}.tc-swap .card-head>div:first-child{flex:200px;min-width:0}@media (width<=720px){.tc-chat{grid-template-columns:1fr}.tc-threads{flex-direction:row;overflow-x:auto}.tc-thread{flex:none;max-width:70vw}.tc-msgs{max-height:none}.tc-tabs{max-width:calc(100vw - 32px)}.tc-swap .card-head{flex-direction:column;align-items:stretch;gap:6px}.tc-swap .card-head>div:first-child{flex:none}.tc-body .table-scroll table{min-width:640px}}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0b0d;--bg-2:#111114;--panel:#16161a;--panel-2:#1d1d22;--panel-3:#24242a;--border:#2a2a31;--border-2:#6b6a74;--text:#ecebe9;--text-2:#c4c3c7;--muted:#8d8c94;--red-900:#3d0508;--red-800:#5c080d;--red-700:#7a0d12;--red-600:#9b1118;--red-500:#b3131b;--red-400:#e04a4f;--red-300:#f08a8d;--red-200:#f3c6c7;--amber:#e8a33d;--ok:#7fbf8e;--ok-bright:#69f0ae;--blue:#6fa8dc;--violet:#b9a8ff;--alert-text:#ffb3b3;--surface-sunk:#0f0f11;--brand-glow:#160609;--topbar-glass:#0b0b0deb;--hairline:#ffffff1f;--hairline-soft:#ffffff0d;--hover-tint:#ffffff05;--stripe:#18090b;--stripe-gray:#19191d;--chart-ink:#f2f2f2;--tint-red:#2a0a0d;--tint-ok:#0d2a12;--tint-amber:#1b1813;--fp-floor:#121216;--fp-table:#2a2a31;--fp-stroke:#5a5a64;--fp-ring:#6b6b76;--fp-back:#7a7a86;--fp-sel:#3d1416;--card:#1a1b1e;--card-2:#222328;--green:#2e7d32;--yellow:#f9a825;--red:#c62828;--flash-a:#ff1744;--flash-b:#7f0000;--mod:#ef5350;--note:#90caf9;--allergy-bg:#ffeb3b}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f3f1;--bg-2:#ebe9e6;--panel:#fff;--panel-2:#f5f4f2;--panel-3:#ebeae7;--border:#d6d3cf;--border-2:#8b8781;--text:#121214;--text-2:#34333a;--muted:#5c5b63;--red-900:#f7e1e2;--red-800:#5c080d;--red-700:#7a0d12;--red-600:#9b1118;--red-500:#b3131b;--red-400:#a3121a;--red-300:#8f0f15;--red-200:#7a0d12;--amber:#8a5a00;--ok:#1e6b34;--ok-bright:#1b5e20;--blue:#1f5f99;--violet:#5b3fb8;--alert-text:#9b1118;--surface-sunk:#ebe9e6;--brand-glow:#f3dcdd;--topbar-glass:#f4f3f1eb;--hairline:#00000024;--hairline-soft:#0000000d;--hover-tint:#00000008;--stripe:#f6e6e7;--stripe-gray:#e6e4e0;--chart-ink:#1d1d22;--tint-red:#fbe4e5;--tint-ok:#e3f3e6;--tint-amber:#fbf1dd;--fp-floor:#f3f2ef;--fp-table:#fff;--fp-stroke:#8a8892;--fp-ring:#9a98a1;--fp-back:#5f5e66;--fp-sel:#f8dadb;--card:#fff;--card-2:#f1f0ee;--green:#2e7d32;--yellow:#b77800;--red:#c62828;--flash-a:#d50000;--flash-b:#ff8a80;--mod:#c62828;--note:#1565c0;--allergy-bg:#ffeb3b;--shadow:0 1px 0 #fff9 inset, 0 4px 16px #00000014}.rign-logo-on-light{display:none!important}:root[data-theme=light] .rign-logo-on-light{display:block!important}:root[data-theme=light] .rign-logo-on-dark{display:none!important}.rign-theme-toggle{border:1px solid var(--border-2);background:var(--panel-2);border-radius:999px;flex:none;display:inline-flex;overflow:hidden}.rign-theme-toggle button{font:inherit;min-height:36px;color:var(--text-2);cursor:pointer;background:0 0;border:0;padding:0 12px;font-size:13px;font-weight:600}.rign-theme-toggle button+button{border-left:1px solid var(--border-2)}.rign-theme-toggle button[aria-pressed=true]{background:var(--red-600);color:#fff}.rign-theme-toggle button:focus-visible{outline:2px solid var(--red-400);outline-offset:-2px}.rign-theme-toggle.compact button{min-height:30px;padding:0 9px;font-size:12px}.rign-theme-footer{padding:20px 12px calc(20px + env(safe-area-inset-bottom,0px));box-sizing:border-box;flex:none;justify-content:center;align-items:center;width:100%;margin-top:auto;display:flex}.rign-theme-footer .rign-theme-toggle{opacity:.8;transition:opacity .15s}.rign-theme-footer .rign-theme-toggle:hover,.rign-theme-footer .rign-theme-toggle:focus-within{opacity:1}.rign-theme-footer.bar{padding:3px 12px calc(3px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--bg-2);margin-top:0}.rign-theme-footer.bar .rign-theme-toggle button{min-height:26px;font-size:12px}:root{--bg:#0b0b0d;--bg-2:#111114;--panel:#16161a;--panel-2:#1d1d22;--border:#2a2a31;--border-2:#3a3a42;--text:#ecebe9;--text-2:#c4c3c7;--muted:#8d8c94;--red-900:#3d0508;--red-800:#5c080d;--red-700:#7a0d12;--red-600:#9b1118;--red-500:#b3131b;--red-400:#e04a4f;--red-300:#f08a8d;--amber:#e8a33d;--ok:#7fbf8e;--radius:10px;--shadow:0 1px 0 #ffffff08 inset, 0 6px 24px #00000059;color:var(--text);background:var(--bg);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}button,a,select,input,[role=button],summary{touch-action:manipulation;-webkit-tap-highlight-color:#b3131b40}a{color:var(--red-300)}code{background:var(--panel-2);border-radius:4px;padding:1px 5px;font-size:12px}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}h1{font-size:22px}h2{font-size:18px}h3{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;font-size:14px;font-weight:600}.muted{color:var(--muted)}.small{font-size:12px}.center{text-align:center}.right{text-align:right}.left{text-align:left}.spacer{flex:1}.layout{min-height:100dvh;display:flex}.leftnav{background:linear-gradient(180deg, var(--brand-glow) 0%, var(--bg-2) 40%);border-right:1px solid var(--border);overscroll-behavior:contain;flex:none;width:236px;height:100dvh;padding:16px 10px;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:.08em;align-items:center;gap:10px;padding:4px 8px 18px;font-size:17px;font-weight:800;display:flex}.brand b{color:var(--red-400);letter-spacing:.14em;align-self:flex-end;margin-bottom:1px;font-size:12px}.brand-logo{flex:none;width:auto;height:24px;display:block}.brand.big{justify-content:center}.brand.big .brand-logo{height:46px}.brand.big b{margin-bottom:3px;font-size:16px}.nav-section{margin-bottom:14px}.nav-heading{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:6px 10px;font-size:11px}.nav-item{color:var(--text-2);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;text-decoration:none;display:flex}.nav-item:hover{background:var(--panel-2);color:var(--text)}.nav-item.active{background:linear-gradient(90deg, var(--red-800), #5c080d40);color:#fff;box-shadow:inset 3px 0 0 var(--red-400)}.nav-icon{text-align:center;opacity:.85;width:18px}.nav-stub{text-transform:uppercase;color:var(--muted);border:1px solid var(--border-2);border-radius:4px;margin-left:auto;padding:0 4px;font-size:10px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{z-index:5;background:var(--topbar-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:10px 22px;position:sticky;top:0}.topbar-row{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.topbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}@media (width<=1500px){.user .small{display:none}}.topbar-row.sub{margin-top:8px}.content{width:100%;max-width:1480px;padding:22px}.boot{place-items:center;height:100vh;display:grid}select,input{background:var(--panel-2);color:var(--text);border:1px solid var(--border-2);font:inherit;border-radius:8px;padding:7px 10px}select:focus,input:focus,button:focus-visible{outline:2px solid var(--red-500);outline-offset:1px}.loc-switch{align-items:center;gap:8px;display:flex}.btn{background:var(--panel-2);color:var(--text);border:1px solid var(--border-2);font:inherit;cursor:pointer;border-radius:8px;padding:7px 12px}.btn:hover{border-color:var(--red-500)}.btn.primary{background:var(--red-600);border-color:var(--red-500);color:#fff;font-weight:600}.btn.primary:hover{background:var(--red-500)}.btn.ghost{background:0 0}.btn.small{padding:4px 8px;font-size:12px}.btn.icon{padding:4px 10px;font-size:16px;line-height:1}.btn:disabled{opacity:.5;cursor:not-allowed}.segmented{border:1px solid var(--border-2);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{color:var(--text-2);font:inherit;cursor:pointer;border:0;border-right:1px solid var(--border);background:0 0;padding:6px 12px}.segmented button:last-child{border-right:0}.segmented button.on{background:var(--red-700);color:#fff}.range-picker,.range-step,.range-custom{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.range-label{text-align:center;min-width:170px;font-weight:600}.daypart-filter{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-2);color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-size:12.5px}.chip.on{background:var(--red-800);border-color:var(--red-500);color:#fff}.user{align-items:center;gap:8px;display:flex}.avatar{background:var(--red-700);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.badge{letter-spacing:.03em;white-space:nowrap;border:1px solid #0000;border-radius:5px;margin-right:4px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-block}.badge-neutral{background:var(--panel-2);border-color:var(--border-2);color:var(--text-2)}.badge-red{border-color:var(--red-600);color:var(--red-300);background:#b3131b2e}.badge-amber{color:var(--amber);background:#e8a33d1f;border-color:#e8a33d80}.badge-ok{color:var(--ok);background:#7fbf8e1f;border-color:#7fbf8e73}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-head p{margin:4px 0 0}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.grid{gap:16px;margin-top:16px;display:grid}.grid-1{grid-template-columns:1fr}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.grid-1 .span-2,.grid-1 .span-3{grid-column:auto}@media (width<=1100px){.grid-2,.grid-3{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.leftnav{width:200px}}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 6px;display:flex}.card-head p{margin:4px 0 0}.card-actions{align-items:center;gap:8px;display:flex}.card-body{padding:8px 16px 16px}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.kpi{background:linear-gradient(160deg, var(--panel-2), var(--panel));border:1px solid var(--border);border-top:2px solid var(--red-600);border-radius:var(--radius);padding:14px 16px}.kpi-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11.5px}.kpi-value{letter-spacing:-.02em;margin-top:6px;font-size:26px;font-weight:700}.kpi-value.sm{font-size:20px}.kpi-delta{margin-top:4px;font-size:12.5px;font-weight:600}.kpi-delta .arrow{margin-right:4px;font-size:10px}.kpi-delta.good{color:var(--ok)}.kpi-delta.bad{color:var(--red-400)}.kpi-delta.flat{color:var(--muted)}.kpi-sub{margin-top:4px;font-size:12px}.state{text-align:center;color:var(--muted);border:1px dashed var(--border-2);border-radius:var(--radius);padding:40px}.state-error{color:var(--red-300)}.state.state-error{border-color:var(--red-700)}.spinner{border:2px solid var(--border-2);border-top-color:var(--red-400);vertical-align:-2px;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.notice{color:var(--amber);background:#e8a33d14;border:1px solid #e8a33d59;border-radius:8px;margin-bottom:14px;padding:10px 14px}.table-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.search{min-width:220px}.table-scroll{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:13px}table.data th{background:var(--panel);border-bottom:1px solid var(--border-2);white-space:nowrap;padding:0;font-weight:600;position:sticky;top:0}table.data th button{all:unset;cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;box-sizing:border-box;width:100%;padding:8px 10px;font-size:11.5px;display:block}table.data th.right button{text-align:right}table.data th.sorted button{color:var(--red-300)}table.data td{border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px}table.data.dense td{padding:6px 10px}table.data tbody tr:hover{background:#9b111814}table.data tr.flagged td:first-child{box-shadow:inset 3px 0 0 var(--red-500)}table.data tfoot td{border-top:1px solid var(--border-2);border-bottom:0;font-weight:700}.show-more{margin-top:8px}.rank{background:var(--panel-2);border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-grid}.rank-1{background:var(--red-500);color:#fff}.rank-2{background:var(--red-700);color:#fff}.rank-3{background:var(--red-800);color:#fff}table.flash{border-collapse:collapse;width:100%}table.flash td,table.flash th{border-bottom:1px solid var(--border);padding:6px 4px;font-size:13px}table.flash th{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:600}table.flash tr.strong td{color:#fff;border-bottom-color:var(--border-2);font-weight:700}table.flash tr.memo td{color:var(--muted);border-bottom:0;font-style:italic}.chart{width:100%;height:auto;display:block}.chart .grid-line{stroke:var(--border);stroke-width:1px}.chart .axis{fill:var(--muted);font-size:11px}.chart .axis.label{fill:var(--text-2);font-size:12px}.chart .axis.value{fill:var(--text);font-size:11.5px}.chart .bar rect:hover,.chart rect:hover{filter:brightness(1.25)}.chart .line-series{fill:none;stroke:var(--chart-ink);stroke-width:2px}.chart .line-dot{fill:var(--bg);stroke:var(--chart-ink);stroke-width:2px}.chart .target-line{stroke:var(--amber);stroke-dasharray:6 4;stroke-width:1.5px}.chart-empty{text-align:center;padding:40px}.donut-wrap{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.donut{flex:none;width:220px;height:220px}.donut-total{fill:var(--text);font-size:20px;font-weight:700}.donut-caption{fill:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.donut-empty{fill:none;stroke:var(--border-2);stroke-width:38px}.legend{color:var(--text-2);flex-wrap:wrap;gap:14px;margin:8px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.legend.vertical{flex-direction:column;flex:1;gap:8px;min-width:200px}.legend.vertical li,.legend li{align-items:center;gap:6px;display:flex}.swatch{border:1px solid #0000;border-radius:3px;width:12px;height:12px;display:inline-block}.swatch.line{border-style:solid;border-width:1.5px 0 0;border-radius:0;width:16px;height:0}.swatch.dashed{background:0 0;border-style:dashed;border-width:1.5px 0 0;border-radius:0;width:16px;height:0}.loc-tiles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.loc-tile{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.quick-links{flex-wrap:wrap;gap:8px;display:flex}.placeholder{border:1px dashed var(--red-700);border-radius:var(--radius);background:repeating-linear-gradient(135deg, var(--panel), var(--panel) 12px, var(--stripe) 12px, var(--stripe) 24px);max-width:760px;padding:40px}.placeholder-tag{background:var(--red-700);color:#fff;letter-spacing:.15em;border-radius:4px;margin-bottom:12px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-block}.placeholder p{color:var(--text-2)}.login{background:radial-gradient(1200px 600px at 20% -10%, var(--brand-glow) 0%, transparent 60%), var(--bg);place-items:center;min-height:100vh;display:grid}.login-card{background:var(--panel);border:1px solid var(--border);border-top:3px solid var(--red-500);width:360px;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:12px;padding:28px;display:flex}.login-card>p{text-align:center;margin:0 0 8px}.login-card label{color:var(--text-2);flex-direction:column;gap:6px;font-size:12px;display:flex}.stub-note{text-align:center;margin:4px 0 0}.menu-btn,.nav-close,.nav-backdrop{display:none}.chart-box{position:relative}.chart .hit{cursor:pointer}.chart .line-series,.chart .line-dot,.chart .target-line{pointer-events:none}.chart-readout{color:var(--text-2);background:var(--panel-2);border:1px solid var(--border-2);border-left:3px solid var(--red-500);border-radius:6px;margin-top:6px;padding:6px 10px;font-size:12.5px;display:inline-block}.chart-readout b{color:var(--text);margin-right:6px}.table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%}.content{padding-left:max(22px, env(safe-area-inset-left));padding-right:max(22px, env(safe-area-inset-right));padding-bottom:max(22px, env(safe-area-inset-bottom))}@media (width<=900px){.leftnav{z-index:40;width:min(300px,84vw);height:100dvh;padding-top:max(16px, env(safe-area-inset-top));visibility:hidden;transition:transform .22s,visibility 0s linear .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%);box-shadow:8px 0 32px #0000008c}.layout.nav-open .leftnav{visibility:visible;transition:transform .22s,visibility;transform:none}.nav-backdrop{z-index:35;opacity:0;pointer-events:none;background:#0000008c;transition:opacity .2s;display:block;position:fixed;inset:0}.layout.nav-open .nav-backdrop{opacity:1;pointer-events:auto}.menu-btn,.nav-close{justify-content:center;align-items:center;display:inline-flex}.nav-close{margin-left:auto}.topbar{padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top))}.content{padding:16px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}.range-label{min-width:0}.page-head{align-items:flex-start}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kpi-value{font-size:23px}.search{flex:200px;min-width:0}.donut-wrap{justify-content:center}.chart .axis{font-size:13px}.chart .axis.label,.chart .axis.value{font-size:13.5px}.login-card{width:min(360px,92vw)}.placeholder{padding:24px}}@media (prefers-reduced-motion:reduce){.leftnav,.nav-backdrop{transition:none!important}}@media (hover:none),(pointer:coarse){.btn,select,input,.segmented button{min-height:44px}.btn{padding:10px 14px}.btn.small{padding:8px 12px;font-size:13px}.btn.icon{min-width:44px;padding:8px 12px;font-size:18px}.segmented button{padding:10px 14px}.chip{min-height:44px;padding:8px 16px;font-size:13.5px}.daypart-filter{gap:8px}.nav-item{min-height:44px;padding:10px 12px;font-size:14.5px}.nav-section{margin-bottom:10px}table.data th button{padding:14px 10px}table.data td{padding:11px 10px}table.data.dense td{padding:9px 10px}table.data tbody tr:hover{background:0 0}.chart .bar rect:hover,.chart rect:hover{filter:none}.chart .selected rect:not(.hit){filter:brightness(1.15)}select,input{font-size:16px}input[type=date]{min-width:150px}.login-card input{min-height:48px}.loc-switch select{max-width:60vw}}.pair-form{flex-direction:column;gap:12px;max-width:420px;display:flex}.pair-form label{color:var(--text-2);flex-direction:column;gap:6px;font-size:12px;display:flex}.pair-form select,.pair-form input{min-height:40px}.pair-code{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.pair-code-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.pair-code-digits{letter-spacing:.12em;font-variant-numeric:tabular-nums;font-size:44px;font-weight:700}.pw-field{align-items:stretch;display:flex;position:relative}.pw-field input{box-sizing:border-box;flex:1;width:100%;min-height:44px;padding-right:52px}.pw-toggle{width:44px;height:44px;color:var(--muted);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.pw-toggle:hover{color:var(--text)}.pw-toggle[aria-pressed=true]{color:var(--red-400)}.pw-toggle:focus-visible{outline-offset:1px;color:var(--text);outline:2px solid #b3131b}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.notice-red{color:var(--red-300);background:#e5534b14;border-color:#e5534b73}.notice .btn{margin-left:8px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px 12px;margin:10px 0;display:grid}.form-grid label{flex-direction:column;gap:3px;display:flex}tr.row-total td{border-top:1px solid var(--line,var(--hairline))}.login{grid-template-rows:1fr auto}.av-status-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.av-form{gap:10px;display:grid}.av-form label{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.av-form input[type=range]{min-width:140px;accent-color:var(--red-500);flex:1}.av-form[aria-disabled=true]{opacity:.65}.av-settings{margin:0;padding-left:18px;line-height:1.8}.av-toggle{cursor:pointer}.av-tv-scroll{max-height:460px;overflow-y:auto}.av-tv-scroll thead th{background:var(--panel);text-align:left;position:sticky;top:0}.av-tabs{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.av-tabs-title{margin:0;font-size:22px}.av-app{flex-direction:column;gap:8px;display:flex}.av-app-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.av-app-actions{flex-wrap:wrap;gap:8px;display:flex}.av-app-actions .btn,.av-app-off .btn{align-items:center;text-decoration:none;display:inline-flex}.av-app-stage{border:1px solid var(--border-2);background:var(--panel);border-radius:12px;height:calc(100dvh - 170px);min-height:520px;position:relative;overflow:hidden}.av-app-frame{color-scheme:normal;background:0 0;border:0;width:100%;height:100%;display:block}.av-app-overlay{background:color-mix(in srgb, var(--bg,#0b0b0d) 82%, transparent);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.av-app-overlay .card{text-align:center;max-width:460px}.av-app-overlay .row-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.av-app-off{max-width:640px}@media (width<=900px){.av-tabs-title{font-size:19px}.av-app-bar>.muted{display:none}.av-app-stage{border-radius:10px;height:calc(100dvh - 150px);min-height:460px;margin:0 -8px}}.notset-warn{color:var(--amber);background:#e8a33d1a;border:1px solid #e8a33d80;border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:13px;line-height:1.45}.notset-warn strong{color:var(--amber)}.linklike{color:var(--accent,#60a5fa);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.form-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px;display:grid}.form-grid label{flex-direction:column;gap:4px;font-size:13px;display:flex}.form-grid input,.form-grid select{min-width:0}.form-grid .hint{color:var(--muted,#9ca3af);font-size:12px}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.twostep{text-align:left;flex-direction:column;gap:10px;display:flex}.twostep-title{margin:4px 0;font-size:1.1rem}.twostep-steps{margin:0;padding-left:1.2em}.twostep-qr{background:#fff;border-radius:8px;align-self:center;width:min(220px,70vw);padding:6px}.twostep-qr svg{width:100%;height:auto;display:block}.twostep-key{word-break:break-all;letter-spacing:.04em;font-size:.95rem}.twostep-links{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.twostep-codes{columns:2;margin:0;padding:0;font-size:.95rem;list-style:none}.twostep-codes li{padding:2px 0}.hub-note{color:var(--text-2);margin:0 0 12px}.hub-group{margin-top:8px}.hub-group-title{text-transform:none;letter-spacing:0;color:var(--text);margin:18px 0 0;font-size:18px;font-weight:650}.hub-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:12px;display:grid}a.hub-card{min-height:168px;color:inherit;background:var(--panel);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:6px;padding:20px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}a.hub-card:hover,a.hub-card:focus-visible{border-color:var(--red-500);outline:none;transform:translateY(-2px)}a.hub-card:focus-visible{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px var(--red-400)}.hub-kicker{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}a.hub-card h3{text-transform:none;letter-spacing:-.01em;color:var(--text);align-items:center;gap:10px;margin:0;font-size:20px;font-weight:700;display:flex}.hub-icon{background:var(--red-600);color:#fff;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-size:16px;display:grid}a.hub-card p{color:var(--text-2);margin:0;font-size:15px;line-height:1.45}.hub-go{color:var(--red-400);margin-top:auto;padding-top:10px;font-size:14px;font-weight:650}@media (width<=640px){.hub-grid{grid-template-columns:1fr}a.hub-card{min-height:0;padding:16px}}@media (hover:none),(pointer:coarse){a.hub-card{min-height:132px}}@media (prefers-reduced-motion:reduce){a.hub-card,button.hub-card{transition:none}a.hub-card:hover,a.hub-card:focus-visible,button.hub-card:hover,button.hub-card:focus-visible{transform:none}}button.hub-card{font:inherit;text-align:left;color:inherit;cursor:pointer;width:100%}.hub-lock{letter-spacing:.04em;text-transform:uppercase;color:var(--red-300);border:1px solid var(--red-700);border-radius:999px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:800}.hub-kicker{align-items:center;gap:8px;display:flex}.hub-who{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:10px 12px;display:flex}.hub-who-actions{gap:8px;display:flex}.hub-no-access{border:1px solid var(--red-700);color:var(--red-300);background:var(--tint-red);border-radius:10px;margin:0 0 12px;padding:10px 12px}.hub-standalone{background:var(--bg);flex-direction:column;min-height:100dvh;display:flex}.hub-top{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.hub-standalone .page{flex:1}.hub-modal{z-index:60;background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.hub-dialog{background:var(--panel);width:min(440px,100%);color:var(--text);border:1px solid var(--border);border-top:3px solid var(--red-500);box-shadow:var(--shadow);border-radius:14px;padding:20px}.hub-dialog h2{text-transform:none;letter-spacing:0;color:var(--text);margin-bottom:8px;font-size:20px}.hub-dialog p{color:var(--text-2);margin:0 0 12px}.hub-dialog label{color:var(--text-2);flex-direction:column;gap:6px;margin-bottom:10px;font-size:12px;display:flex}.hub-dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.hub-entry{max-width:560px}.hub-search{flex-wrap:wrap;align-items:flex-end;gap:8px;margin:12px 0;display:flex}.hub-search label{color:var(--text-2);flex-direction:column;flex:1;gap:6px;min-width:200px;font-size:12px;display:flex}.hub-matches{margin:8px 0 0;padding:0;list-style:none}.hub-matches li{margin:6px 0}.hub-matches a{font-weight:700}@media (width<=640px){.hub-who{align-items:flex-start}.hub-dialog-actions{flex-direction:column-reverse}.hub-dialog-actions .btn{width:100%;min-height:44px}}
