/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--radius-md:.375rem;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base;@layer components{:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#f8f9fb;--border:#e2e5ea;--border-strong:#cdd2da;--text:#1c2330;--text-muted:#5f6b7c;--accent:#1f6feb;--accent-strong:#1858c4;--accent-soft:#e8f0fe;--ok:#18794e;--ok-soft:#e3f4ea;--bad:#c62a2f;--bad-soft:#fde8e8;--warn:#9a6100;--warn-soft:#fdf1dc;--sidebar:#172030;--sidebar-text:#c9d1dd;--sidebar-active:#26334a;--radius:10px;--shadow:0 1px 2px #1018280d, 0 1px 3px #1018280f;--shadow-lg:0 12px 32px #1018282e;--font:"Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--mono:"Cascadia Mono", "Consolas", ui-monospace, monospace;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#6250d6;--series-8:#e34948;--status-good:#0ca30c;--status-warning:#fab219;--status-serious:#ec835a;--status-critical:#d03b3b;--seq-1:#cde2fb;--seq-2:#9ec5f4;--seq-3:#6da7ec;--seq-4:#3987e5;--seq-5:#256abf;--seq-6:#184f95;--seq-7:#0d366b;--chart-grid:#e8eaee;--chart-axis:#c9ced6;--chart-label:#6b7585;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg:#0f141c;--surface:#161d28;--surface-2:#1b2331;--border:#273141;--border-strong:#354155;--text:#e6eaf0;--text-muted:#94a0b2;--accent:#4c8dff;--accent-strong:#6aa0ff;--accent-soft:#1b2b48;--ok:#4cc38a;--ok-soft:#13301f;--bad:#ff6b6b;--bad-soft:#3a1717;--warn:#f0b44c;--warn-soft:#3a2a0f;--sidebar:#0b1018;--sidebar-active:#1c2738;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--seq-1:#1c2a3f;--seq-2:#184f95;--seq-3:#256abf;--seq-4:#2a78d6;--seq-5:#5598e7;--seq-6:#86b6ef;--seq-7:#cde2fb;--chart-grid:#232c3a;--chart-axis:#354155;--chart-label:#94a0b2;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{font:14px/1.5 var(--font);background:var(--bg);color:var(--text);margin:0}h1,h2{margin:0;line-height:1.25}h1{font-size:22px;font-weight:650}h2{font-size:16px;font-weight:600}a{color:var(--accent)}code,.mono{font-family:var(--mono);font-size:.92em}.muted{color:var(--text-muted)}.small{font-size:12.5px}.big{letter-spacing:.08em;font-size:22px}.right{text-align:right;white-space:nowrap}.text-bad{color:var(--bad)}.boot{height:100%;color:var(--text-muted);place-items:center;display:grid}.shell{min-height:100%;display:flex}.sidebar{background:var(--sidebar);width:232px;color:var(--sidebar-text);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.brand{flex-direction:column;padding:20px 20px 16px;display:flex}.brand strong{color:#fff;font-size:20px}.brand span{opacity:.7;font-size:12px}.sidebar nav{flex:1;padding:4px 10px;overflow-y:auto}.nav-group{margin-bottom:14px}.nav-group-title{text-transform:uppercase;letter-spacing:.06em;opacity:.55;padding:6px 10px;font-size:11px}.nav-link{color:var(--sidebar-text);border-radius:6px;padding:7px 10px;text-decoration:none;display:block}.nav-link:hover{background:var(--sidebar-active);color:#fff}.nav-link.active{background:var(--sidebar-active);color:#fff;box-shadow:inset 3px 0 0 var(--accent)}.sidebar-footer{border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.whoami{flex-direction:column;min-width:0;display:flex}.whoami strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.whoami span{opacity:.7;font-size:12px}.sidebar-footer .btn-ghost{color:var(--sidebar-text);border-color:#ffffff26}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{display:none}.content{width:100%;max-width:1400px;padding:24px 28px 48px}@media(max-width:860px){.sidebar{z-index:40;transition:transform .2s;position:fixed;transform:translate(-100%)}.sidebar.is-open{box-shadow:var(--shadow-lg);transform:none}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:8px 12px;display:flex}.content{padding:16px}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:8px 0 18px;display:flex}.page-header p{margin:4px 0 0}.page-actions{gap:8px;display:flex}.content>.page-header:not(:first-child){margin-top:36px}.btn{font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-weight:550;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-ghost{color:var(--text);border-color:var(--border-strong);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{color:var(--bad);border-color:var(--bad);background:0 0}.btn-danger:hover:not(:disabled){background:var(--bad-soft)}.btn-sm{padding:3px 9px;font-size:12.5px}.print-group{display:inline-flex}.print-group .btn{border-top-right-radius:0;border-bottom-right-radius:0}.print-group select{border-top-left-radius:0;border-bottom-left-radius:0;width:auto;margin-left:-1px;font-weight:550}.btn-block{width:100%}.icon-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:20px;line-height:1}.icon-btn:hover{background:var(--surface-2);color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;width:100%;min-width:0;padding:7px 10px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input:disabled,select:disabled{background:var(--surface-2);color:var(--text-muted)}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent)}fieldset{border:0;min-width:0;margin:0;padding:0}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>span{color:var(--text-muted);font-size:12.5px;font-weight:600}.field-wide{grid-column:1/-1}.check{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.radio{cursor:pointer;align-items:flex-start;gap:10px;padding:8px 0;display:flex}.radio input{margin-top:3px}.input-row{gap:6px;display:flex}.grid-form{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));align-items:start;gap:14px 16px;display:grid}.cascade{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px 16px;display:grid}.form-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:18px;display:flex}.form-actions .muted{margin-right:auto}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.inline-form .field{flex:180px}.filters{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:end;gap:12px;margin-bottom:16px;display:grid}.filters-action{justify-content:flex-end;display:flex}.toolbar{justify-content:flex-end;margin-bottom:12px;display:flex}.rule-box{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px 14px}.rule-box legend{padding:0 6px;font-weight:600}.interval-row{grid-template-columns:1fr 110px 110px 36px;align-items:center;gap:8px;display:grid}.search-select,.search-select-control{position:relative}.search-select-control input{padding-right:30px}.search-select-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:2px 6px;font-size:18px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.search-select-list{z-index:60;background:var(--surface);border:1px solid var(--border-strong);max-height:280px;box-shadow:var(--shadow-lg);border-radius:6px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.search-select-list li{cursor:pointer;border-radius:4px;flex-direction:column;padding:7px 9px;display:flex}.search-select-list li small{color:var(--text-muted);font-size:12px}.search-select-list li.is-active{background:var(--accent-soft)}.search-select-list li.is-selected span{font-weight:600}.search-select-list li.muted{cursor:default}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 12px}th{color:var(--text-muted);background:var(--surface-2);white-space:nowrap;font-size:12px;font-weight:600}tbody tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--surface-2)}.pager{color:var(--text-muted);justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.empty{text-align:center;color:var(--text-muted);padding:28px}.badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-bad{background:var(--bad-soft);color:var(--bad)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-muted{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.stack{flex-direction:column;gap:14px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.row{flex-wrap:wrap;gap:18px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.content>.card+.card,section.card+section.card{margin-top:16px}.split{grid-template-columns:280px 1fr;align-items:start;gap:16px;display:grid}@media(max-width:860px){.split{grid-template-columns:1fr}}.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.list-item{border:0;border-bottom:1px solid var(--border);font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.list-item:last-child{border-bottom:0}.list-item:hover{background:var(--surface-2)}.list-item.is-active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:2px;margin-bottom:16px;display:flex;overflow:auto hidden}.tab{font:inherit;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px}.tab:hover{color:var(--text)}.tab.is-active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.callout{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.callout p{margin:2px 0 0}.callout .field{flex:280px}.activation{flex-direction:column;align-items:flex-end;display:flex}.key-box{background:var(--surface-2);border:1px solid var(--border);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:6px;padding:12px}.alert{border-radius:6px;padding:10px 12px}.alert-error{background:var(--bad-soft);color:var(--bad)}.modal-backdrop{z-index:50;background:#0a0f1973;justify-content:center;align-items:flex-start;padding:6vh 16px 16px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto}.modal{background:var(--surface);width:100%;max-width:620px;box-shadow:var(--shadow-lg);border-radius:10px}.modal-wide{max-width:980px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-body{padding:18px 20px 20px}.person-form{grid-template-columns:160px 1fr;gap:20px;display:grid}.person-form .form-actions{grid-column:1/-1}.photo-col{flex-direction:column;align-items:stretch;gap:10px;display:flex}@media(max-width:700px){.person-form{grid-template-columns:1fr}.photo-col{align-items:center}}.avatar{object-fit:cover;background:var(--surface-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.photo-col .avatar{border-radius:10px;align-self:center;width:140px!important;height:140px!important}.avatar-initials{background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:650}.photo-col .avatar-initials{font-size:36px}.product-pick{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.product-option{text-align:left;border:1px solid var(--border-strong);background:var(--surface);font:inherit;color:inherit;cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.product-option:hover{border-color:var(--accent)}.product-option.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.tree{padding:10px 14px}.tree-row{border-radius:6px;align-items:center;gap:8px;padding:5px 4px;display:flex}.tree-row:hover{background:var(--surface-2)}.tree-row:hover .tree-actions{opacity:1}.tree-toggle{cursor:pointer;width:24px;height:24px;color:var(--text-muted);background:0 0;border:0;border-radius:4px;font-size:13px}.tree-toggle:disabled{cursor:default}.tree-name{font-weight:550}.tree-name.is-inactive{color:var(--text-muted);text-decoration:line-through}.tree-actions{opacity:0;gap:4px;margin-left:auto;transition:opacity .15s;display:flex}.tree-children{border-left:1px solid var(--border);margin-left:22px;padding-left:6px}@media(hover:none){.tree-actions{opacity:1}}.stats{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:16px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;padding:14px 16px;display:flex}.stat-label{color:var(--text-muted);font-size:12.5px}.stat-value{font-variant-numeric:tabular-nums;font-size:26px;font-weight:650}.stat-note{color:var(--text-muted);font-size:12.5px}.stat-bad .stat-value{color:var(--bad)}.stat-warn .stat-note{color:var(--warn)}.feed{max-height:330px;margin:8px 0 0;padding:0;list-style:none;overflow:hidden auto}.feed li{border-bottom:1px solid var(--border);grid-template-columns:62px minmax(0,1fr);align-items:baseline;gap:2px 10px;padding:7px 0;display:grid}.feed li>span:nth-child(2){overflow-wrap:anywhere}.feed li>.badge{white-space:normal;grid-column:2;justify-self:start}.feed li:last-child{border-bottom:0}.text-warn{color:var(--warn)}.stat-btn{font:inherit;color:inherit;text-align:left;cursor:pointer}.stat-btn:hover{border-color:var(--border-strong)}.stat-btn.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.legend{color:var(--text-muted);flex-wrap:wrap;gap:6px 14px;margin-bottom:10px;display:flex}.legend span{border-radius:4px;padding:1px 6px}.timesheet table{font-size:12.5px}.timesheet th,.timesheet td{padding:6px}.timesheet.is-loading{opacity:.6}.ts-day{text-align:center;min-width:30px}.ts-day small{font-weight:400}.ts-day.is-weekend{background:var(--border)}.ts-day.is-holiday{background:var(--warn-soft);color:var(--warn)}.ts-cell{text-align:center;font-family:var(--mono);white-space:nowrap;font-size:11.5px}.ts-late{background:var(--warn-soft);color:var(--warn);font-weight:600}.ts-absent{background:var(--bad-soft);color:var(--bad);font-weight:700}.ts-leave{background:var(--accent-soft);color:var(--accent)}.ts-holiday{color:var(--warn)}.ts-off{color:var(--text-muted)}.ts-incomplete{color:var(--bad);-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.ts-extra{background:var(--ok-soft);color:var(--ok)}.sticky-col{background:var(--surface);z-index:1;min-width:190px;box-shadow:1px 0 0 var(--border);position:sticky;left:0}th.sticky-col{background:var(--surface-2);z-index:2}.person-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.person-head p{margin:2px 0 0}.person-totals{flex-wrap:wrap;gap:18px;margin-left:auto;font-size:13px;display:flex}.person-totals strong{font-variant-numeric:tabular-nums;font-size:18px}.shift-chip{text-align:center;color:#fff;background:var(--accent);min-width:38px;font-weight:600;font-family:var(--mono);border-radius:4px;padding:2px 8px;font-size:12px;display:inline-block}.day-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.live-page:fullscreen{background:var(--bg);padding:24px;overflow-y:auto}.live-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:0;padding:0;list-style:none}.live-item{border-bottom:1px solid var(--border);grid-template-columns:76px 40px minmax(160px,1.2fr) minmax(160px,1.2fr) auto;align-items:center;gap:12px;padding:8px 14px;animation:.25s ease-out live-in;display:grid}.live-item:last-child{border-bottom:0}.live-item.is-denied{background:var(--bad-soft)}.live-who,.live-where{flex-direction:column;min-width:0;display:flex}.live-who strong,.live-where span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.live-result{justify-content:flex-end;gap:6px;display:flex}.live-time{color:var(--text-muted)}@keyframes live-in{0%{background:var(--accent-soft)}}@media(max-width:760px){.live-item{grid-template-columns:64px 40px 1fr}.live-where,.live-result{grid-column:3;justify-content:flex-start}}@media(prefers-reduced-motion:reduce){.live-item{animation:none}}.auth{place-items:center;min-height:100%;padding:16px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--shadow-lg);border-radius:12px;flex-direction:column;gap:14px;padding:28px;display:flex}.auth-card h1{font-size:24px}.auth-card p{margin:-8px 0 4px}.toasts{z-index:80;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{box-shadow:var(--shadow-lg);background:var(--ok-soft);color:var(--ok);border:1px solid;border-radius:8px;padding:11px 14px;font-weight:550;animation:.18s ease-out toast-in}.toast-error{background:var(--bad-soft);color:var(--bad)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}.sidebar{transition:none}}.result-bar{flex-wrap:wrap;align-items:baseline;gap:6px 18px;min-height:22px;margin:0 0 10px;font-size:13.5px;display:flex}.result-bar strong{font-variant-numeric:tabular-nums}.result-ok strong{color:var(--ok)}.result-bad strong{color:var(--bad)}.multi-select-control{border:1px solid var(--border-strong);background:var(--surface);cursor:text;border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px;min-height:36px;padding:3px 30px 3px 4px;display:flex}.multi-select-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.multi-select-control input{background:0 0;flex:1;min-width:90px;box-shadow:none!important;border:0!important;padding:4px!important}.chip{background:var(--accent-soft);max-width:220px;color:var(--accent);border-radius:999px;align-items:center;gap:2px;padding:2px 4px 2px 8px;font-size:12.5px;display:inline-flex}.chip>:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip button{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 4px;font-size:15px;line-height:1}.chip button:hover{background:#00000014}.search-select-list input[type=checkbox]{vertical-align:-2px;pointer-events:none;margin:0 6px 0 0}.corrected-mark{color:var(--accent);cursor:help;font-weight:700}.corrected-dot{background:var(--accent);vertical-align:1px;border-radius:50%;width:8px;height:8px;display:inline-block}.ts-cell.is-corrected{position:relative}.ts-cell.is-corrected:after{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:2px;right:2px}.ts-cell.is-editable{padding:0}.ts-cell-btn{width:100%;min-height:28px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 2px}.ts-cell-btn:hover,.ts-cell-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}.correction-head{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.correction-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.correction-grid .card{padding:12px 14px}.correction-grid h3{margin:0 0 8px;font-weight:600}.kv{grid-template-columns:max-content 1fr;gap:4px 14px;margin:0;display:grid}.kv dt{color:var(--text-muted)}.kv dd{margin:0}.pass-list{gap:3px;max-height:160px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}fieldset.contents{border:0;margin:0;padding:0;display:contents}.form-actions .btn-danger{margin-right:auto}.perm-toolbar{z-index:2;background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0 8px;display:flex;position:sticky;top:-1px}.perm-toolbar input{flex:1;min-width:200px}.perm-module h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:6px 0 8px;font-size:13px}.perm-page{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;padding:10px 12px}.perm-page.is-off .perm-row{opacity:.5}.perm-page-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.perm-row{grid-template-columns:120px 1fr;align-items:start;gap:8px;margin-top:8px;display:grid}.perm-kind{color:var(--text-muted);padding-top:2px;font-size:12px}.perm-items{flex-wrap:wrap;gap:4px 16px;display:flex}.perm-item{font-size:13px}.perm-footer{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}@media(max-width:640px){.perm-row{grid-template-columns:1fr;gap:4px}}.log-insights{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:14px;display:grid}.log-insights .card{padding:12px 14px}.log-insights h3{margin:0 0 6px;font-weight:600}.log-insights ul{gap:2px;margin:0;padding-left:18px;display:grid}.log-detail td{background:var(--bg)}.log-stack{background:var(--surface);border:1px solid var(--border);max-height:260px;font-family:var(--mono);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:8px 0 0;padding:10px;font-size:11.5px;overflow:auto}.link-btn{color:var(--accent);cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.nowrap{white-space:nowrap}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stat-btn:disabled{cursor:default}.stat-btn:disabled:hover{border-color:var(--border)}.run-head{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.run-head .stats{margin:0}.sent-marks{flex-wrap:wrap;gap:4px;display:inline-flex}.chips-row{flex-wrap:wrap;gap:6px;display:flex}.chips-row .chip{gap:6px}.chips-row .chip strong{font-variant-numeric:tabular-nums}.slip-kv{grid-template-columns:max-content 1fr max-content 1fr}.slip-section{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:8px 0 4px;font-size:13px}.slip-table{width:100%}.slip-table td{padding:6px 8px}.slip-table td.right{font-variant-numeric:tabular-nums;width:140px}.formula-box{background:var(--surface-2);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:4px;margin-top:4px;padding:6px 8px}.formula-box code{font-size:12px}.formula-cell{max-width:520px}.formula-cell code{overflow-wrap:anywhere;font-size:12px}.formula-input{resize:vertical;width:100%;font-size:13px;line-height:1.5}.formula-editor{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:16px;display:grid}.formula-ref{border-left:1px solid var(--border);flex-direction:column;gap:8px;max-height:70vh;padding-left:16px;display:flex;overflow:auto}.formula-ref summary{cursor:pointer;padding:4px 0;font-size:13px;font-weight:600}.ref-list{flex-direction:column;gap:4px;margin:0 0 8px;padding:0;list-style:none;display:flex}.ref-list li{font-size:12px;line-height:1.35}.ref-list .link-btn{font-size:12px}tr.is-dim td{color:var(--text-muted)}.callout.is-block{display:block}.callout.is-block .input-row{max-width:560px;margin-top:8px}.callout.is-off{border-style:solid}tfoot th{background:var(--surface-2)}@media(max-width:900px){.formula-editor{grid-template-columns:1fr}.formula-ref{border-left:0;border-top:1px solid var(--border);max-height:none;padding-top:12px;padding-left:0}.slip-kv{grid-template-columns:max-content 1fr}}.stat-value.stat-money{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:17px}.unit-groups-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.unit-groups-level{align-items:center;gap:6px;display:inline-flex}.unit-groups-level select{width:auto;padding:4px 8px}.unit-groups-actions{gap:6px;margin-left:auto;display:inline-flex}.unit-group{margin-bottom:10px}.unit-group-head{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:12px;padding:8px 12px;display:flex}.unit-group.is-open .unit-group-head{box-shadow:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.unit-group.is-open .table-wrap{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.unit-group-toggle{min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:4px 0;display:flex}.unit-group-chev{width:12px;color:var(--text-muted);font-size:18px;line-height:1;transition:transform .15s;display:inline-block}.unit-group.is-open .unit-group-chev{transform:rotate(90deg)}.unit-group-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.unit-group-count{white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto}.unit-group-search{flex:0 220px;width:220px;padding:5px 9px}@media(max-width:640px){.unit-group-head{flex-wrap:wrap}.unit-group-search{flex:100%;width:100%}}@media(prefers-reduced-motion:reduce){.unit-group-chev{transition:none}}.devlog-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.devlog-settings{margin-bottom:16px}.devlog-settings-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.devlog-filter-end{flex-direction:column;justify-content:flex-end;gap:6px;padding-bottom:6px;display:flex}.devlog-list{background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);border-top:0;flex-direction:column;display:flex}.devlog-entry{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.devlog-entry.is-withdrawn{opacity:.6}.devlog-entry-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.devlog-title{flex:320px;font-size:15px;line-height:1.35}.devlog-badges{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.devlog-modules{flex-direction:column;gap:2px;display:flex}.devlog-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.devlog-kv{gap:6px 14px;font-size:13px}.devlog-note{background:var(--accent-soft);border-radius:6px;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.devlog-entry-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding-top:4px;display:flex}.devlog-sync{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.devlog-error{color:var(--bad);background:var(--bad-soft);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;padding:6px 10px}@media(max-width:640px){.devlog-kv{grid-template-columns:1fr}.devlog-kv dt{margin-top:4px}}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:2px;display:inline-flex}.seg button{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:3px 10px;font-size:12px;font-weight:550;transition:background .15s,color .15s}.seg button:hover{color:var(--text)}.seg button.is-active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #1018281f}.chart-table{border-collapse:collapse;width:100%;font-size:12.5px}.chart-table th{background:var(--surface-2);color:var(--text-muted);text-align:left;font-weight:600;position:sticky;top:0}.chart-table th,.chart-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px}.chart-table tr:last-child td{border-bottom:0}.charts-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.charts-grid>.span-12{grid-column:span 12}.charts-grid>.span-8{grid-column:span 8}.charts-grid>.span-7{grid-column:span 7}.charts-grid>.span-6{grid-column:span 6}.charts-grid>.span-5{grid-column:span 5}.charts-grid>.span-4{grid-column:span 4}@media(max-width:1100px){.charts-grid>.span-8,.charts-grid>.span-7,.charts-grid>.span-6,.charts-grid>.span-5,.charts-grid>.span-4{grid-column:span 12}}@media(prefers-reduced-motion:reduce){.seg button{transition:none}}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.static{position:static}.m-0{margin:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.list-item{display:list-item}.table{display:table}.min-w-0{min-width:0}.border-collapse{border-collapse:collapse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.overflow-auto{overflow:auto}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-line{border-color:var(--border)}.text-right{text-align:right}.text-\[12\.5px\]{font-size:12.5px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-bad{color:var(--bad)}.text-muted{color:var(--text-muted)}.text-warn{color:var(--warn)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
