: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}.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)}.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)}.rowdel,.rowunlink{display:inline-flex;align-items:center;padding:0 3px;border:0;background:none;color:var(--faint);cursor:pointer;opacity:0}.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 button{border-color:var(--line);background:var(--panel)}.addsvc .opts button:hover{color:var(--ink);border-color:var(--muted)}.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:baseline;gap:8px;width:100%;font:inherit;text-align:left;padding:4px 8px;border:1px solid var(--line-strong);border-radius:4px;background:var(--panel);color:var(--ink);cursor:pointer}.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 transparent;border-radius:4px;background:none;color:var(--faint);cursor:pointer;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signout:hover{color:var(--ink);border-color:var(--line-strong)}.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)}
