:root{--bg: #fafafa;--panel: #fff;--ink: #18181b;--muted: #71717a;--faint: #a1a1aa;--line: #e4e4e7;--line-strong: #d4d4d8;--accent: #0f766e;--on-accent: #fff;--neg: #b91c1c;--head: #f4f4f5;--sel: rgba(15, 118, 110, .09);--zebra: rgba(0, 0, 0, .022);--bad: #fee2e2;--wash: rgba(15, 118, 110, .07);--derived: rgba(0, 0, 0, .045);--grid-max: 1040px}@media (prefers-color-scheme: dark){:root{--bg: #18181b;--panel: #1f1f23;--ink: #e4e4e7;--muted: #a1a1aa;--faint: #71717a;--line: #27272a;--line-strong: #3f3f46;--accent: #2dd4bf;--on-accent: #18181b;--neg: #f87171;--head: #242428;--sel: rgba(45, 212, 191, .13);--zebra: rgba(255, 255, 255, .025);--bad: #450a0a;--wash: rgba(45, 212, 191, .09);--derived: rgba(255, 255, 255, .05)}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:13px/1.35 -apple-system,BlinkMacSystemFont,SF Pro Text,Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.wrap{padding:8px 12px 40px;max-width:calc(var(--grid-max) * 2 + 10px)}h1{font-size:13px;font-weight:600;margin:0 0 2px}.sub{font-size:11px;color:var(--muted);margin:0 0 8px}.topbar{display:flex;align-items:center;gap:8px;padding-bottom:6px}.topbar h1{margin:0}.topbar .spacer{flex:1}.bookpick{max-width:220px;font-size:12px;padding:2px 4px;border:1px solid var(--line-strong);border-radius:4px;background:var(--panel);color:var(--ink)}.othersbook{font-size:11px;font-weight:600;color:#92400e;background:#d977061f;border:1px solid rgba(217,119,6,.35);border-radius:999px;padding:1px 8px;white-space:nowrap}.who{font-size:11px;color:var(--muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabs{display:flex;gap:0;border-bottom:1px solid var(--line-strong);margin-bottom:8px;align-items:stretch}.tabs button{font:inherit;font-size:12px;padding:5px 12px;border:0;background:none;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.tabs .spacer{flex:1}.scenario{display:flex;align-items:center;gap:6px;padding:0 0 4px 8px}.savestate{font-size:10px;color:var(--faint);min-width:46px;text-align:right;font-variant-numeric:tabular-nums}.savestate.on{color:var(--accent)}.bar{display:flex;gap:0;flex-wrap:wrap;border:1px solid var(--line);border-radius:4px;background:var(--panel);margin-bottom:8px;overflow:hidden}.stat{padding:5px 10px;border-right:1px solid var(--line);min-width:104px}.stat:last-child{border-right:0}.stat .k{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.stat .v{font-size:13px;font-variant-numeric:tabular-nums;margin-top:1px}.stat.warn .v{color:var(--neg)}.toolbar{display:flex;gap:14px;align-items:center;margin:0 0 8px;flex-wrap:wrap}.grp{display:flex;gap:5px;align-items:center}.grp .lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:4px;overflow:hidden}.seg button{font:inherit;font-size:11px;line-height:1.2;padding:3px 9px;border:0;background:var(--panel);color:var(--muted);cursor:pointer;border-right:1px solid var(--line)}.seg button:last-child{border-right:0}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.count{font-size:10px;color:var(--faint);font-variant-numeric:tabular-nums}.cols{display:flex;gap:10px;align-items:flex-start}.col{flex:1;min-width:0;max-width:var(--grid-max)}.coltitle{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 5px}body[data-layout=stack] .cols{flex-direction:column;align-items:stretch}body[data-layout=stack] .col{flex:none}body[data-layout=stack] .col+.col{margin-top:6px}body[data-view=mani] .col[data-d=mani-hidden],body[data-view=pedi] .col[data-d=pedi-hidden]{display:none}body[data-layout=stack] .bar,body[data-layout=stack] .warns,body:not([data-view=all]) .bar,body:not([data-view=all]) .warns{max-width:var(--grid-max)}.emp{background:var(--panel);border:1px solid var(--line-strong);border-top:2px solid var(--accent);border-radius:4px;margin-bottom:18px;overflow:hidden}.emph{display:flex;align-items:baseline;gap:8px;padding:5px 8px;background:var(--wash);border-bottom:1px solid var(--line-strong)}.emph b{font-size:12px;font-weight:600;color:var(--accent)}.emph .m{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.empname{font:inherit;font-size:12px;font-weight:600;color:var(--accent);background:transparent;border:1px solid transparent;border-radius:3px;padding:0 3px;margin-left:-3px;min-width:60px}.empname:hover{border-color:var(--line-strong)}.empname:focus{outline:none;border-color:var(--accent);background:var(--panel)}.empname.bad{border-color:var(--neg);background:var(--bad)}.knobs{background:var(--head);border-bottom:1px solid var(--line);padding:0 8px 3px}.knobs .grid table{width:auto}.knobs .grid th{position:static;background:transparent;border-bottom:1px solid var(--line)}.knobs .grid td{border-bottom:0}.grid{outline:none}.grid table{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}.grid th{font-weight:500;color:var(--muted);text-align:right;padding:3px 6px;border-bottom:1px solid var(--line-strong);white-space:nowrap;font-size:10px;position:sticky;top:0;z-index:1;background:var(--panel);vertical-align:bottom}.grid th.twoline,.grid th.twoline .sorth{white-space:pre-line;line-height:1.15}.grid th .sorth{font:inherit;font-size:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;white-space:nowrap}.grid td{padding:2px 6px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;position:relative;cursor:cell}.grid td.r{text-align:right}.grid tr:last-child td{border-bottom:0}.grid tbody tr:nth-child(2n) td{background-color:var(--zebra)}.grid tbody tr:hover td{background-color:var(--head)}.grid td.derived{cursor:default;color:var(--ink)}.grid:not(.ro) tbody td.derived{background-image:linear-gradient(var(--derived),var(--derived))}.grid tfoot td{border-top:1px solid var(--line-strong);border-bottom:0;padding:3px 6px;background-color:var(--head);font-weight:600;cursor:default}.grid tfoot td:first-child{font-weight:500;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.grid td.sel{background-color:var(--sel)!important}.grid:focus-within td.cur:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1.5px solid var(--accent);pointer-events:none}.grid td.bad{background-color:var(--bad)!important}.cellinput{font:inherit;font-size:11px;font-variant-numeric:tabular-nums;width:100%;border:0;padding:0;margin:0;background:transparent;color:var(--ink);outline:none;text-align:inherit}.held{opacity:.55}.neg{color:var(--neg)}.blank{color:var(--faint)}.pct{font-weight:600}.warns{background:var(--panel);border:1px solid var(--line);border-left:2px solid var(--neg);border-radius:4px;padding:6px 10px;font-size:11px;color:var(--muted);margin-bottom:8px}.warns b{color:var(--ink);font-weight:600;display:block;margin-bottom:3px;font-size:11px}.warns div{padding:1px 0}.note{font-size:11px;color:var(--muted);margin:14px 0 4px;max-width:70ch}.loading,.failed{font-size:12px;color:var(--muted);padding:20px 0}.failed b{color:var(--neg)}.grid tbody tr.fresh>td{box-shadow:inset 0 0 0 999px color-mix(in srgb,var(--accent) 9%,transparent);animation:fade-fresh 6s ease-out forwards}@keyframes fade-fresh{0%,60%{box-shadow:inset 0 0 0 999px color-mix(in srgb,var(--accent) 9%,transparent)}to{box-shadow:inset 0 0 0 999px transparent}}@media (prefers-reduced-motion: reduce){.grid tbody tr.fresh>td{animation:none}}.rowdel,.rowunlink{display:inline-flex;align-items:center;padding:0 3px;border:0;background:none;color:var(--faint);cursor:pointer;opacity:.5}.grid tbody tr:hover .rowdel,.grid tbody tr:hover .rowunlink{opacity:1}.rowdel:hover,.rowunlink:hover{color:var(--neg)}.ico{display:block}.empacts{margin-left:auto;display:inline-flex;gap:4px}.empact{font:inherit;font-size:10px;padding:1px 6px;border:1px solid transparent;border-radius:3px;background:none;color:var(--muted);cursor:pointer}.empact:hover{color:var(--ink);border-color:var(--line-strong)}.empact.neg:hover{color:var(--neg);border-color:var(--neg)}.newtech{border:1px solid var(--line-strong);border-radius:4px;padding:6px 8px;margin:0 0 10px;background:var(--panel);max-width:var(--grid-max)}.newtechrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:5px}.newtechrow:last-child{margin-bottom:0}.newtech label{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}.newtech input[type=text],.newtech input:not([type]){font:inherit;font-size:11px;padding:2px 5px;border:1px solid var(--line-strong);border-radius:3px;background:var(--bg);color:var(--ink)}.newtech .m{font-size:10px;color:var(--muted)}.addtech{font:inherit;font-size:11px;font-weight:600;padding:4px 12px;margin:0 0 10px;border:1px solid var(--accent);border-radius:4px;background:var(--accent);color:var(--on-accent);cursor:pointer}.addtech:hover{filter:brightness(1.1)}.newtech .addtech{margin:0}.newtech .addtech:disabled{opacity:.45;cursor:not-allowed;filter:none}.addrow{font:inherit;font-size:11px;padding:3px 8px;margin:4px 0 0;border:1px dashed var(--line-strong);border-radius:4px;background:none;color:var(--muted);cursor:pointer}.addrow:hover{color:var(--ink);border-color:var(--muted)}.blankrow{border-top:1px dashed var(--line-strong)}.blankrow:focus-within{border-top-color:var(--accent)}.blankrow input{font:inherit;font-size:11px;width:100%;padding:3px 6px;border:0;background:none;color:var(--ink);outline:none}.blankrow input::placeholder{color:var(--muted)}.emp>.addrow{display:block;width:100%;margin:0;padding:3px 8px;text-align:left;border:0;border-top:1px dashed var(--line-strong);border-radius:0}.addsvc{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:5px 8px;border-top:1px dashed var(--line-strong);background:var(--head)}.addsvc input{font:inherit;font-size:11px;flex:1 1 130px;min-width:0;padding:2px 5px;border:1px solid var(--line-strong);border-radius:3px;background:var(--panel);color:var(--ink)}.addsvc input:focus{outline:none;border-color:var(--accent)}.addsvc input.fig{flex:0 0 52px;font-variant-numeric:tabular-nums;text-align:right}.addsvc button{font:inherit;font-size:10px;padding:2px 8px;border:1px solid transparent;border-radius:3px;background:none;color:var(--muted);cursor:pointer}.addsvc button.go{color:var(--accent);border-color:var(--line-strong);background:var(--panel);font-weight:600}.addsvc button.go:hover:not(:disabled){border-color:var(--accent)}.addsvc button.go:disabled{color:var(--faint);cursor:not-allowed}.addsvc button.cancel:hover{color:var(--ink)}.addsvc .why{flex:1 0 100%;font-size:10px;color:var(--muted);margin:0}.addsvc .why.neg{color:var(--neg)}.addsvc .opts{flex:1 0 100%;display:flex;flex-wrap:wrap;gap:3px;max-height:74px;overflow-y:auto}.addsvc .opts .lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-self:center}.addsvc .opts button{color:var(--ink);border-color:var(--line-strong);background:var(--panel)}.addsvc .opts button:hover{color:var(--accent);border-color:var(--accent)}.applycomm{font:inherit;font-size:10px;padding:1px 6px;margin:3px 0 1px;border:1px solid var(--line-strong);border-radius:3px;background:var(--panel);color:var(--muted);cursor:pointer}.applycomm:hover{color:var(--ink);border-color:var(--muted)}.settings{display:flex;flex-wrap:wrap;gap:14px;padding:8px;align-items:center}.ratefield{display:inline-flex;align-items:baseline;border:1px solid var(--line-strong);border-radius:4px;background:var(--panel);padding:0 5px}.ratefield input{font:inherit;font-size:11px;font-variant-numeric:tabular-nums;width:52px;border:0;padding:3px 0;background:transparent;color:var(--ink);outline:none;text-align:right}.ratefield .suffix{font-size:10px;color:var(--muted);padding-left:2px}.check{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}.check input{margin:0}.costpanel{max-width:var(--grid-max);margin-bottom:10px}.disclose{display:flex;align-items:center;gap:8px;width:100%;font:inherit;text-align:left;padding:6px 10px;border:1px solid var(--line-strong);border-left:2px solid var(--accent);border-radius:4px;background:var(--panel);color:var(--ink);cursor:pointer}.disclose:hover{border-color:var(--accent);background:var(--wash)}.disclose .tw{color:var(--accent);flex:none;transition:transform .12s ease}.disclose.open .tw{transform:rotate(90deg)}.disclose .more{margin-left:auto;font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.04em;flex:none}.disclose:hover{border-color:var(--muted)}.disclose[aria-expanded=true]{margin-bottom:8px}.disclose .tw{font-size:9px;color:var(--muted)}.disclose b{font-size:12px;font-weight:600}.disclose .m{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.costrow{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.costrow>.costcard{flex:1 1 260px;min-width:0}.costcard{background:var(--panel);border:1px solid var(--line-strong);border-radius:4px;overflow:hidden;margin-bottom:8px}.costcardh{display:flex;align-items:baseline;gap:8px;padding:4px 8px;background:var(--head);border-bottom:1px solid var(--line-strong)}.costcardh b{font-size:11px;font-weight:600}.costcardh .m{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;text-align:right}.costcard .grid td:first-child{white-space:normal;overflow-wrap:break-word}.costcard .addrow{display:block;width:100%;margin:0;padding:3px 8px;text-align:left;border:0;border-top:1px dashed var(--line-strong);border-radius:0}.rowmove{font:inherit;font-size:10px;line-height:1;width:14px;padding:0;border:0;background:none;color:var(--faint);cursor:pointer;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid tbody tr:hover .rowmove,.rowmove:focus{opacity:1}.rowmove:hover{color:var(--accent)}.scrollx{overflow:auto;max-width:100%;max-height:calc(100vh - 140px)}.scrollx .grid th{vertical-align:bottom}.scrollx .grid td,.scrollx .grid th{border-right:1px solid var(--line)}.scrollx .grid td:last-child,.scrollx .grid th:last-child{border-right:0}.scrollx .grid th:first-child,.scrollx .grid td:first-child{border-right:1px solid var(--line-strong)}.scrollx .grid th:first-child,.scrollx .grid td:first-child{position:sticky;left:0;z-index:2;background:var(--panel)}.scrollx .grid th:first-child{z-index:3}.scrollx .grid tfoot td{position:sticky;bottom:0;z-index:2;background:var(--head)}.scrollx .grid tfoot td:first-child{z-index:3}.scrollx .grid tbody tr:nth-child(2n) td:first-child{background:linear-gradient(var(--zebra),var(--zebra)) var(--panel)}.scrollx .grid tbody tr:hover td:first-child{background:var(--head)}.scrollx .grid td:first-child.sel{background:linear-gradient(var(--sel),var(--sel)) var(--panel)!important}.scrollx .grid th.namehead{height:56px;padding:3px 4px;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.15}.qzero{color:var(--faint)}.variance{margin-bottom:8px}.vhead{display:flex;align-items:baseline;gap:8px;font-size:11px;margin-bottom:4px}.vhead b{font-size:11px;font-weight:600}.vhead .spacer{flex:1}.vhead .drift{color:var(--neg);font-size:10px}.vhead button{font:inherit;font-size:11px;padding:2px 8px;border:1px solid var(--line-strong);border-radius:4px;background:var(--panel);color:var(--muted);cursor:pointer}.vhead button:hover{color:var(--ink)}.vhead button.promote:hover{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.stat .d{font-size:10px;color:var(--accent);font-variant-numeric:tabular-nums}.stat .d.neg{color:var(--neg)}.export{font-size:11px;color:var(--muted);text-decoration:none;padding:2px 7px;border:1px solid var(--line-strong);border-radius:4px}.export:hover{color:var(--ink);border-color:var(--muted)}.signin{max-width:380px;margin:12vh auto 0;text-align:left}.signin h1{font-size:15px;margin-bottom:6px}.signin .sub{margin-bottom:14px}button.primary{font:inherit;font-size:12px;padding:5px 14px;border:1px solid var(--accent);border-radius:4px;background:var(--accent);color:var(--on-accent);cursor:pointer}.signout{font:inherit;font-size:10px;padding:2px 7px;border:1px solid var(--line-strong);border-radius:4px;background:none;color:var(--muted);cursor:pointer;white-space:nowrap}.signout:hover{color:var(--ink);border-color:var(--muted)}.modalback{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#00000059}.modal{background:var(--panel);border:1px solid var(--line-strong);border-top:2px solid var(--accent);border-radius:5px;padding:14px 16px 12px;max-width:400px;box-shadow:0 8px 28px #00000038}.modaltitle{font-size:13px;font-weight:600;margin:0 0 5px}.modaldetail{font-size:11px;color:var(--muted);margin:0 0 12px;max-width:46ch}.modalacts{display:flex;justify-content:flex-end;gap:6px}.modalcancel,.modalgo{font:inherit;font-size:11px;padding:4px 12px;border-radius:4px;cursor:pointer}.modalcancel{border:1px solid var(--line-strong);background:var(--panel);color:var(--muted)}.modalcancel:hover{color:var(--ink);border-color:var(--muted)}.modalgo{border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600}.modalgo.danger{border-color:var(--neg);background:var(--neg);color:#fff}.modalgo:hover{filter:brightness(1.1)}.empcheck{align-self:center;width:12px;height:12px;margin:0;accent-color:var(--accent);cursor:pointer;flex:none}.batchbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:5px;padding:4px 8px;margin:0 0 10px;max-width:var(--grid-max);background:var(--panel);border:1px solid var(--accent);border-radius:4px;box-shadow:0 2px 8px #0000001f}.batchbar .spacer{flex:1}.batchbar .cnt{font-size:11px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batchbar .empact:disabled{color:var(--faint);cursor:default;border-color:transparent}.modal.batch{max-width:620px;width:620px;max-height:calc(100vh - 60px);overflow:auto}.batchsec{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.batchhead{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px}.batchfields{display:flex;flex-wrap:wrap;gap:8px}.batchfield{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted)}.batchfield .lbl{white-space:nowrap}.batchfield input{font:inherit;font-size:11px;width:78px;padding:2px 5px;border:1px solid var(--line-strong);border-radius:3px;background:var(--panel);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.batchfield input:focus{outline:none;border-color:var(--accent)}.batchfield input.varies::placeholder{font-style:italic;color:var(--muted)}.batchfield input.clearing{border-color:var(--neg)}.batchfield input.clearing::placeholder{color:var(--neg)}.batchundo{font:inherit;font-size:12px;line-height:1;padding:1px 4px;border:1px solid transparent;border-radius:3px;background:none;color:var(--faint);cursor:pointer}.batchundo:hover{color:var(--ink);border-color:var(--line-strong)}.batchcarry{display:flex;align-items:flex-start;gap:5px;font-size:11px;color:var(--muted);margin-top:8px}.batchcarry input{accent-color:var(--accent);margin:1px 0 0;flex:none}.batchacts{display:flex;align-items:center;gap:8px;margin-top:8px}.batchacts .modalgo:disabled{border-color:var(--line-strong);background:var(--panel);color:var(--faint);font-weight:400;cursor:default}.batchwhy{font-size:10px;color:var(--muted);margin:6px 0 0}.batchacts .batchwhy{margin:0}.batchfilter{font:inherit;font-size:11px;width:100%;padding:3px 6px;border:1px solid var(--line-strong);border-radius:3px;background:var(--panel);color:var(--ink)}.batchfilter:focus{outline:none;border-color:var(--accent)}.batchscroll{max-height:46vh;overflow:auto;border:1px solid var(--line);border-radius:4px;margin-top:6px}.batchmatrix{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}.batchmatrix th,.batchmatrix td{padding:2px 8px;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap}.batchmatrix thead th{position:sticky;top:0;z-index:1;background:var(--head);font-weight:500;font-size:10px;color:var(--muted);border-bottom:1px solid var(--line-strong)}.batchmatrix .svcname{text-align:left;font-weight:400;color:var(--ink);width:100%}.batchmatrix td.on{color:var(--accent);font-weight:600}.batchmatrix td.off{color:var(--faint)}.batchmatrix tbody tr:hover td,.batchmatrix tbody tr:hover th{background:var(--zebra)}.batchmatrix .acts{text-align:right;white-space:nowrap}.batchmatrix .acts button{font:inherit;font-size:10px;line-height:1;padding:2px 5px;margin-left:3px;border:1px solid var(--line-strong);border-radius:3px;background:var(--panel);color:var(--muted);cursor:pointer;vertical-align:middle}.batchmatrix .acts button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.batchmatrix .acts button.neg:hover:not(:disabled){border-color:var(--neg);color:var(--neg)}.batchmatrix .acts button:disabled{color:var(--faint);cursor:default}.batchadd{margin-top:8px;padding:6px 8px;border:1px solid var(--line-strong);border-radius:4px}.batchadd input{flex:1;min-width:220px}.batchadd select{font:inherit;font-size:11px;padding:2px 4px;border:1px solid var(--line-strong);border-radius:3px;background:var(--panel);color:var(--ink)}.batchreport{font-size:11px;color:var(--ink);background:var(--wash);border-left:2px solid var(--accent);padding:4px 8px;margin:10px 0 0}.compare{border:1px solid var(--line-strong);border-top:2px solid var(--accent);border-radius:4px;padding:6px 8px 8px;margin:0 0 12px;background:var(--panel)}.comparehead{display:flex;align-items:baseline;gap:8px}.comparehead .batchhead{margin:0}.comparehead .empact{margin-left:auto}.compare .batchwhy{max-width:96ch;margin:0 0 8px}.cmp{border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}.cmp th,.cmp td{padding:2px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.cmp thead th{font-weight:500;font-size:10px;color:var(--muted);border-bottom:1px solid var(--line-strong)}.cmp thead .cmpgroup{color:var(--accent);font-weight:600;font-size:11px}.cmp .cmpgroup,.cmp .cmpfirst{border-left:1px solid var(--line-strong)}.cmp tbody th,.cmp tfoot th{text-align:left;font-weight:400;color:var(--muted)}.cmp .svcname{text-align:left;color:var(--ink);white-space:normal;min-width:140px}.cmp tfoot td,.cmp tfoot th{border-top:1px solid var(--line-strong);border-bottom:0;font-weight:600}.cmp .win{background:var(--wash);font-weight:600}.cmp tbody tr:hover td{background:var(--zebra)}.cmp tbody tr:hover .win{background:var(--wash)}.noticebar{display:flex;align-items:center;gap:7px;width:100%;max-width:var(--grid-max);font:inherit;font-size:11px;text-align:left;padding:5px 10px;margin:0 0 8px;border:1px solid var(--line-strong);border-left:2px solid var(--neg);border-radius:4px;background:var(--panel);color:var(--ink);cursor:pointer}.noticebar:hover{border-color:var(--neg);background:var(--bad)}.noticebar .ico{color:var(--neg);flex:none}.noticebar b{font-weight:600;white-space:nowrap}.noticebar .m{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.noticebar .more{margin-left:auto;font-size:10px;color:var(--neg);text-transform:uppercase;letter-spacing:.04em;flex:none}.modal.notices{max-width:620px;width:620px;max-height:calc(100vh - 60px);overflow:auto}.modal.notices .modaltitle{display:flex;align-items:center;gap:6px}.modal.notices .modaltitle .ico{color:var(--neg)}.noticegrp{margin-bottom:10px}.noticewho{font-size:11px;font-weight:600;color:var(--accent);margin:0 0 2px}.noticeline{font-size:11px;color:var(--muted);margin:0 0 2px;padding-left:10px;border-left:1px solid var(--line);max-width:72ch}.empwarn{display:inline-flex;align-items:center;gap:2px;font:inherit;font-size:10px;font-variant-numeric:tabular-nums;line-height:1;padding:1px 4px;border:1px solid transparent;border-radius:3px;background:none;color:var(--neg);cursor:pointer;align-self:center}.empwarn:hover{border-color:var(--neg);background:var(--bad)}.batchmatrix th.fig,.batchmatrix td.fig{text-align:right;width:70px}.figin{font:inherit;font-size:11px;width:100%;min-width:52px;padding:1px 4px;text-align:right;font-variant-numeric:tabular-nums;border:1px solid transparent;border-radius:3px;background:none;color:inherit}.figin:hover:not(:disabled){border-color:var(--line-strong);background:var(--panel)}.figin:focus{outline:none;border-color:var(--accent);background:var(--panel)}.figin.varies::placeholder{font-style:italic;color:var(--muted)}.modal.batch .modalacts{margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}.guide{margin-bottom:4px}.guide p{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 8px;max-width:92ch}.guide b{color:var(--ink);font-weight:600}.guide i{font-style:italic;color:var(--ink)}.cmp td.typeable{background-image:linear-gradient(var(--panel),var(--panel));padding:1px 4px}.compare .comparehead{gap:12px}.compare .comparehead .grp{margin-left:auto}.compare .comparehead .empact{margin-left:0}.helpq{font:inherit;font-size:10px;font-weight:600;line-height:1;width:14px;height:14px;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:var(--panel);color:var(--faint);cursor:pointer;flex:none;align-self:center}.helpq:hover{border-color:var(--accent);color:var(--accent)}.modal.explain{max-width:620px;width:620px;max-height:calc(100vh - 60px);overflow:auto}.modal.explain p{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 10px;max-width:78ch}.modal.explain b{color:var(--ink);font-weight:600}.modal.explain i{font-style:italic;color:var(--ink)}.modal.explain code{font-size:10px;color:var(--ink)}.payroll .emp,.payroll>.failed{max-width:var(--grid-max)}.payroll .periodcols{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}@media (min-width: 1680px){.payroll .periodcols{grid-template-columns:var(--grid-max)}}.payroll .periodmain{min-width:0}.payroll .acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px}.payroll .emp>.note{margin:6px 8px 8px}.payroll .emp>.failed{padding:6px 8px}.payroll .emp>.warns,.payroll .emp>.bar{margin:8px}.payroll .stat .d{color:var(--muted)}.payroll select,.payroll input[type=date]{font:inherit;font-size:11px;padding:2px 4px;border:1px solid var(--line-strong);border-radius:3px;background:var(--panel);color:var(--ink)}.payroll .grid select.paytype{width:100%;padding:0;border:0;background:transparent;cursor:pointer}.payroll .grid select.paytype:disabled{cursor:default;opacity:1}.payroll .grid .noted{color:var(--muted);text-decoration:underline dotted;cursor:help}.payroll button.primary:disabled{opacity:.45;cursor:not-allowed}.payroll .lineattr select:disabled{opacity:.5;cursor:not-allowed}.payroll a.addrow,.payroll .addrow{display:inline-block;margin:0;text-decoration:none}.payroll .addrow[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.payroll .emp.period>.scrollx .grid th,.payroll .emp.period>.scrollx .grid td{padding-left:4px;padding-right:4px}.payroll .drillname{font:inherit;padding:0;border:0;background:none;color:var(--accent);cursor:pointer;text-decoration:underline dotted}.payroll .grid tbody tr.fresh>td{animation:none}.payroll .emph .fold{display:flex;align-items:center;padding:0;border:0;background:none;color:var(--muted);cursor:pointer;flex:none}.payroll .emph .fold .tw{transition:transform .12s ease}.payroll .emph .fold .tw.open{transform:rotate(90deg)}.payroll .warnmark{display:inline-flex;color:var(--neg);margin-right:3px;vertical-align:-1px}.payroll .drillname[aria-expanded=true]{font-weight:600}.payroll .treeitem{padding-left:16px}.payroll .ticketlink{margin-left:4px;font-size:10px;color:var(--muted)}.payroll .grid tbody tr.ticketrow>td,.payroll .grid tbody tr.grouprow>td{background:var(--wash);font-weight:600}.payroll .grid tbody tr.ticketrow>td,.payroll .grid tbody tr.grouprow>td,.payroll .emp.review .grid tbody tr.alone>td{border-top:2px solid var(--line-strong)}.payroll .grid tbody tr.ticketrow .ticketlink,.payroll .grid tbody tr.ticketrow .m,.payroll .grid tbody tr.grouprow .m{font-weight:400}.payroll .emp.review .grid td .why{display:block;max-width:150px;white-space:normal;line-height:1.25}.payroll .emp.review .grid td .itemcell{display:flex;align-items:baseline;gap:4px;max-width:220px}.payroll .emp.review .grid td .treeitem{display:block;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payroll .emp.review .grid td .itemname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.payroll .emp.review .grid td .peoplecell{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payroll .emp.review .grid td .suggestcell{display:flex;flex-wrap:wrap;gap:4px;max-width:200px}.payroll .emp.fees .grid th,.payroll .emp.fees .grid td{padding-left:4px;padding-right:4px}.payroll .emp.fees .grid .lineattr select,.payroll .emp.fees .grid input:not([type=checkbox]){width:116px;box-sizing:border-box}.payroll .emp.fees .grid td .feecell{display:block;max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payroll .emp.fees .grid td .feecell.refilled{max-width:72px}.payroll .grid tbody tr.ignored>td{color:var(--muted)}.payroll .grid tbody tr.txnleft>td{color:var(--muted);text-decoration:line-through}.payroll .grid tbody tr.txnfee>td{color:var(--muted);font-style:italic}.payroll .grid tbody tr.txnfee>td .feetxt{display:block;max-width:320px;white-space:normal;line-height:1.25}.payroll .grid tbody tr.kindproduct>td{background:#71717a14}.payroll .grid td .kindtag{margin-left:4px;padding:0 4px;font-size:10px;border-radius:3px;background:var(--wash);color:var(--muted)}.payroll .emp.fees .grid td .feestrike{text-decoration:line-through}.payroll .emp.fees .grid td .feecharge{display:flex;flex-direction:column;gap:2px;align-items:flex-end}.payroll .emp.fees .grid .feecharge input{width:92px}.payroll .emp.review .grid td .suggestcell .empact{white-space:normal;max-width:200px;text-align:left;line-height:1.25}.modal.drill .ticketblock{border:1px solid var(--line);border-radius:4px;margin:6px 8px;overflow:hidden}.modal.drill .ticketblock.main{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.modal.drill>.note{margin:8px 8px 2px}.modal.drill .addrule{margin:8px 8px 0}.modal.drill .keepform{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 8px;border-top:1px solid var(--line);font-size:12px}.modal.drill .keepform input{flex:1 1 200px;min-width:160px}.payroll .samecustomer{font-size:10px;padding:0 6px;border-radius:8px;background:var(--accent);color:var(--on-accent)}.payroll .emp>.emph .grp{margin-left:auto}.payroll .review .empact:disabled{opacity:.5;cursor:not-allowed}.modal.drill{padding:0;max-width:none;width:min(600px,100vw - 32px);max-height:calc(100vh - 60px);overflow:auto}.modal.drill.lines,.modal.drill.people{width:min(1100px,100vw - 32px)}.modal.drill>.emph .empact{margin-left:auto}.modal.drill.rates .grid table{table-layout:fixed}.modal.drill.rates .grid tbody tr.ratedefault>td:first-child{font-weight:600}.modal.drill.rates .grid tbody tr.catrow>td{border-top:1px solid var(--line-strong)}.payroll .review .empact.ticketact{color:var(--ink);border-color:var(--line-strong);background:var(--panel);font-weight:400}.payroll .review .empact.ticketact:hover{color:var(--accent);border-color:var(--accent)}.payroll .emp.review .emp.reattribute{margin:14px 8px 8px}.payroll .periodmain>.emp{margin-bottom:28px}.payroll .periodmain>.emp.people{margin-bottom:14px}.payroll .emp.people>.emph .empact{margin-left:auto}.payroll .reattribute textarea{display:block;box-sizing:border-box;width:calc(100% - 16px);margin:8px 8px 0;font:inherit;font-size:12px;line-height:1.35;padding:6px 8px;border:1px solid var(--line-strong);border-radius:3px;background:var(--panel);color:var(--ink);resize:vertical}.payroll .reattribute textarea::placeholder{color:var(--muted)}.reporting{max-width:var(--grid-max)}.reporting .viewbar{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.reporting .viewbar .m,.reporting .emph .m{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.reporting .emph .grp{gap:4px}.reporting .emph .grp .lbl:empty{display:none}.reporting .emph .find{margin-left:auto;font:inherit;font-size:11px;width:230px;padding:2px 6px;border:1px solid var(--line-strong);border-radius:3px;background:var(--panel);color:var(--ink)}.reporting .emph .when{font:inherit;font-size:10px;padding:1px 4px;border:1px solid var(--line-strong);border-radius:3px;background:var(--panel);color:var(--ink)}.reporting .emph .find:focus,.reporting .emph .when:focus{outline:none;border-color:var(--accent)}.reporting .drillname{font:inherit;padding:0;border:0;background:none;color:var(--accent);cursor:pointer;text-decoration:underline dotted}.reporting .emph .drillname{font-size:11px;text-decoration:none}.reporting .framebar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.reporting .framebar .lbl{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.reporting .frame{font:inherit;font-size:10px;padding:2px 7px;border:1px solid var(--line-strong);border-radius:3px;background:var(--panel);color:var(--ink);cursor:pointer;font-variant-numeric:tabular-nums}.reporting .frame:hover{border-color:var(--accent)}.reporting .frame.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.modalback .reporting-none{display:none}.reporting .filterbar{display:flex;align-items:center;gap:6px;padding:4px 8px;border-bottom:1px solid var(--line);background:var(--zebra);flex-wrap:wrap}.reporting .filterbar .find{margin-left:0;flex:1;min-width:180px}.reporting .moneyin{font:inherit;font-size:10px;width:68px;padding:1px 4px;border:1px solid var(--line-strong);border-radius:3px;background:var(--panel);color:var(--ink)}.reporting .moneyin:focus{outline:none;border-color:var(--accent)}.reporting .chip{font:inherit;font-size:10px;padding:0 5px;border:1px solid var(--accent);border-radius:9px;background:var(--wash);color:var(--accent);cursor:pointer}.reporting .emph .pushright{margin-left:auto}.reporting .charts.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.reporting .empty{padding:14px 10px;font-size:12px;color:var(--muted);max-width:60ch;line-height:1.5}.reporting .neg{color:var(--neg)}.reporting .idbar{display:flex;flex-wrap:wrap;gap:4px 12px;padding:4px 8px;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted)}.reporting .idbar .warn,.reporting .tfoot .warn{color:var(--neg)}.reporting .timeline{padding:2px 0}.reporting .event{display:flex;gap:10px;padding:5px 8px;border-bottom:1px solid var(--line);font-size:11px}.reporting .event:last-child{border-bottom:0}.reporting .event:nth-child(2n){background:var(--zebra)}.reporting .event .when{flex:none;width:82px;display:flex;flex-direction:column;font-variant-numeric:tabular-nums}.reporting .event .when b{font-weight:600}.reporting .event .when .m{font-size:10px;color:var(--muted)}.reporting .event .what{flex:1;min-width:0}.reporting .tline{display:flex;align-items:baseline;gap:8px}.reporting .tline .svc{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reporting .tline .m,.reporting .tfoot .m{font-size:10px;color:var(--muted);flex:none}.reporting .tline .tag{border:1px solid var(--line-strong);border-radius:2px;padding:0 3px}.reporting .tline .amt,.reporting .tfoot .amt{flex:none;width:96px;text-align:right;font-variant-numeric:tabular-nums}.reporting .tfoot{display:flex;align-items:baseline;gap:8px;justify-content:flex-end;margin-top:2px;padding-top:2px;border-top:1px dotted var(--line-strong)}.reporting .tfoot .amt.total{font-weight:600}.reporting .event.miss .what{opacity:.95}.reporting .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));border-bottom:1px solid var(--line)}.reporting .tile{padding:6px 8px 7px;border-right:1px solid var(--line);border-top:1px solid var(--line)}.reporting .tile:first-child{border-top:0}.reporting .tlabel{font-size:10px;color:var(--muted)}.reporting .tvalue{font-size:16px;font-variant-numeric:tabular-nums;line-height:1.25}.reporting .tnote{font-size:10px;color:var(--faint);line-height:1.35}.reporting .reasons{padding:2px 0}.reporting .reason{display:flex;gap:10px;padding:5px 8px;border-bottom:1px solid var(--line);font-size:11px;line-height:1.5}.reporting .reason:last-child{border-bottom:0}.reporting .reason b{flex:none;width:92px;font-weight:600}.reporting .reason span{color:var(--muted);max-width:72ch}.reporting .charts{padding:8px;border-top:1px solid var(--line)}.reporting .charttitle{font-size:10px;line-height:1.6;color:var(--muted);margin-bottom:5px}.reporting .chartfoot{font-size:10px;color:var(--faint);margin-top:4px;font-variant-numeric:tabular-nums}.reporting .daybars{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:2px;align-items:end;height:118px;max-width:calc(var(--n) * 58px);min-width:min(100%,calc(var(--n) * 20px))}.reporting .daybar{height:100%;width:100%;max-width:46px;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-end}.reporting .daybar .fill{background:var(--accent);border-radius:3px 3px 0 0;min-height:1px}.reporting .daybar:hover .fill,.reporting .hbar:hover .fill{opacity:.78}.reporting .daybar .val{font-size:9px;color:var(--muted);text-align:center;margin-bottom:2px;font-variant-numeric:tabular-nums;white-space:nowrap}.reporting .daybar .tick{font-size:9px;color:var(--faint);text-align:center;margin-top:3px;font-variant-numeric:tabular-nums}.reporting .hbars{display:flex;flex-direction:column;gap:2px}.reporting .hbar{display:flex;align-items:center;gap:8px;font-size:10px}.reporting .hbar .hwho{flex:none;width:196px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reporting .hbar .track{flex:1;min-width:0}.reporting .hbar .fill{height:9px;background:var(--accent);border-radius:0 3px 3px 0;min-width:1px}.reporting .hbar .val{flex:none;width:74px;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
