:root{--paper:#f6f5f0;--surface:#fbfaf6;--panel:#fdfcf8;--ink:#20241f;--ink-2:#8b8a80;--rule:#d8d6cc;--rule-soft:#e6e4db;--live:#0e5a4c;--live-soft:#e3efea;--input:#b07a12;--input-soft:#f6ecd6;--err:#b3402a;--err-soft:#f5e3de;--chs:#0e5a4c;--gvl:#2e6a80;--mp:#7a4e63;--oh:#8b8a80;--pos:#0e5a4c;--neg:#b3402a;--debit:#b3402a;--post:#b07a12;--fade:#d8d6cc;--uber:#20241f;--dd:#b3402a;--ez:#b07a12;--pd1:#2e6a80;--store:#0e5a4c}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:Archivo,system-ui,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}.wrap{max-width:1180px;margin:0 auto;padding:28px 20px 64px}.eyebrow{font-family:Archivo,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--ink-2)}h1{font-stretch:72%;font-size:clamp(30px,5vw,46px);letter-spacing:-.015em;line-height:1.02;margin:6px 0 0}h1,h2{font-family:Archivo,sans-serif;font-weight:800;text-transform:uppercase}h2{font-stretch:82%;letter-spacing:.1em;font-size:13px;margin:0}.num{font-family:IBM Plex Mono,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sub{color:var(--ink-2);font-size:13.5px;margin:10px 0 0;max-width:66ch}.masthead{border-bottom:3px solid var(--ink);padding-bottom:22px}.verdict{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));grid-gap:10px;gap:10px;margin-top:26px}.vcell{background:var(--surface);padding:14px 16px;border:1.5px solid var(--rule);border-radius:6px}.vlabel{font-family:Archivo,sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:10.5px;color:var(--ink-2)}.vlabel,.vnum{font-weight:600}.vnum{font-family:IBM Plex Mono,monospace;font-size:25px;letter-spacing:-.02em;margin-top:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vfoot{font-size:12px;color:var(--ink-2);margin-top:2px}.pos{color:var(--chs)}.neg{color:var(--debit)}section{margin-top:38px}.shead{display:flex;align-items:baseline;gap:12px;border-bottom:2px solid var(--ink);padding-bottom:7px;margin-bottom:16px}.shead .note{font-size:12px;color:var(--ink-2);margin-left:auto;text-align:right}.chartbox{background:var(--surface);border:1.5px solid var(--rule);border-radius:6px;padding:18px 10px 8px}svg{display:block;width:100%;height:auto}.legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:12px;font-size:12px;color:var(--ink-2);padding:0 8px 6px}.key{display:inline-block;width:11px;height:11px;margin-right:6px;vertical-align:-1px}.panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));grid-gap:14px;gap:14px}.panel{background:var(--surface);border:1.5px solid var(--rule);border-radius:6px}.ptitle{font-family:Archivo,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:11px;padding:10px 14px;border-bottom:1px solid var(--rule);background:var(--ink);color:var(--paper);display:flex;align-items:center;gap:8px;border-radius:5px 5px 0 0}.swatch{width:10px;height:10px;display:inline-block}.field{display:flex;align-items:center;gap:10px;padding:7px 14px;border-bottom:1px solid var(--rule-soft)}.field:last-child{border-bottom:0}.field label{flex:1 1;font-size:13px;line-height:1.25}.field input{width:96px;padding:5px 7px;text-align:right;font-family:IBM Plex Mono,monospace;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border:1.5px solid var(--rule);border-radius:6px;background:#fff;color:var(--ink);border-radius:5px}.field input[type=date]{width:132px;text-align:left}.field input:focus{outline:2px solid var(--input);outline-offset:1px}.unit{width:16px;font-size:12px;color:var(--ink-2);font-family:IBM Plex Mono,monospace}.tablebox{border:1.5px solid var(--rule);border-radius:6px;background:var(--surface);max-height:540px;overflow:auto}table{border-collapse:collapse;width:100%;font-family:IBM Plex Mono,monospace;font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}thead th{position:-webkit-sticky;position:sticky;top:0;background:var(--ink);color:var(--paper);font-family:Archivo,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.07em;font-size:10.5px;padding:8px 10px;text-align:right;white-space:nowrap;z-index:2}thead th:first-child{text-align:left}tbody td{padding:5px 10px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--rule-soft)}tbody td:first-child{text-align:left;color:var(--ink-2)}tbody tr.actual{background:var(--live-soft)}tbody tr.actual td:first-child:after{content:" ·act";color:var(--oh);font-size:10px}tbody tr.first-proj td{border-top:2px solid var(--ink)}tbody tr.open td{background:var(--input-soft)}tbody tr.low td{background:var(--err-soft);font-weight:600}tbody tr.open td:first-child:after{content:" ·open";color:var(--post);font-size:10px}tbody tr.low td:first-child:after{content:" ·low";color:var(--debit);font-size:10px}#normtbl tbody td:first-child{color:var(--ink)}#normtbl tbody tr.strip td{color:var(--ink-2);font-style:italic}#normtbl tbody tr.tot td{border-top:2px solid var(--ink);font-weight:600}.gapbar{display:inline-block;height:9px;background:var(--debit);vertical-align:0;margin-left:6px}.gapbar.ok{background:var(--chs)}.foot{margin-top:34px;border-top:1px solid var(--rule);padding-top:16px;font-size:12.5px;color:var(--ink-2);max-width:78ch}.foot b{color:var(--ink);font-weight:600}.foot p{margin:0 0 9px}.toggle{margin-left:auto;display:flex;border:1px solid var(--ink)}.toggle button{font-family:Archivo,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:11px;padding:8px 18px;border:0;background:var(--surface);color:var(--ink);cursor:pointer}.toggle button[aria-pressed=true]{background:var(--ink);color:var(--surface)}.periodpick{margin-left:12px}.periodpick select{font-family:IBM Plex Mono,monospace;font-size:12.5px;padding:7px 9px;border:1.5px solid var(--rule);border-radius:6px;background:#fff;color:var(--ink);border-radius:5px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));grid-gap:10px;gap:10px;background:transparent;border:0;margin-top:24px}.k{background:var(--surface);padding:14px 16px;border:1.5px solid var(--rule);border-radius:6px}.klabel{font-family:Archivo,sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:10.5px;color:var(--ink-2)}.klabel,.kval{font-weight:600}.kval{font-family:IBM Plex Mono,monospace;font-size:25px;letter-spacing:-.02em;margin-top:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kdelta{font-size:12px;margin-top:2px;font-family:IBM Plex Mono,monospace}.up{color:var(--pos)}.down{color:var(--neg)}.flat{color:var(--ink-2)}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}@media(max-width:840px){.grid2{grid-template-columns:1fr}}.box{background:var(--surface);border:1.5px solid var(--rule);border-radius:6px;padding:16px 12px 8px}tbody tr.partial td:first-child:after{content:" *";color:var(--neg)}tbody tr.sel td{background:var(--live-soft);font-weight:600}.topbar{padding-bottom:0}.tabs{margin-left:auto;display:flex;gap:0}.tabs button{font-family:Archivo,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:11.5px;padding:11px 22px;border-radius:6px;border:1.5px solid var(--rule);border-bottom:0;background:var(--paper);color:var(--ink-2);cursor:pointer;margin-bottom:-2px}.tabs button+button{border-left:0}.tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);border-color:var(--ink);border-bottom:3px solid var(--surface)}.tabintro{padding-bottom:22px;border-bottom:1px solid var(--rule)}.tabpanel[hidden]{display:none}.kpihead{align-items:flex-end;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--rule)}.dsbar,.kpihead{display:flex;flex-wrap:wrap}.dsbar{align-items:center;gap:10px}.dsbar select{font-family:IBM Plex Mono,monospace;font-size:12.5px;padding:8px 10px;border:1.5px solid var(--rule);border-radius:6px;background:#fff;color:var(--ink);border-radius:5px;min-width:230px}.fmtpick{display:flex;border:1px solid var(--ink)}.fmtpick button{font-family:Archivo,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;padding:8px 13px;border:0;background:var(--surface);color:var(--ink);cursor:pointer}.fmtpick button[aria-pressed=true]{background:var(--ink);color:var(--surface)}button.act{font-family:Archivo,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;padding:9px 15px;border:1px solid var(--ink);background:var(--surface);color:var(--ink);cursor:pointer}button.act:hover{background:var(--ink);color:var(--surface)}.dsmsg{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--pos)}.rawbox{margin-top:16px;border:1.5px solid var(--rule);border-radius:6px;background:var(--surface)}.rawlabel{font-family:Archivo,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:10.5px;color:var(--ink-2);padding:9px 12px;border-bottom:1px solid var(--rule-soft)}#rawout{width:100%;height:180px;border:0;background:transparent;resize:vertical;padding:11px 12px;font-family:IBM Plex Mono,monospace;font-size:11.5px;line-height:1.5;color:var(--ink);white-space:pre;overflow:auto}#rawout:focus{outline:2px solid var(--post);outline-offset:-2px}#checkbody td:first-child{color:var(--ink)}#checkbody td.ok{color:var(--pos);font-weight:600}#checkbody td.flag{color:var(--post);font-weight:600}#checkbody td.bad{color:var(--neg);font-weight:600}.topbar{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;border-bottom:3px solid var(--ink)}code{font-size:13px;background:var(--surface);padding:2px 5px;border:1px solid var(--rule-soft)}code,textarea{font-family:IBM Plex Mono,monospace}.banner{margin-top:18px;padding:11px 14px;background:var(--input-soft);border:1px solid var(--post);font-size:13px;line-height:1.5;color:var(--ink)}.banner b{font-family:Archivo,sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:10.5px;margin-right:6px}.banner a{color:var(--ink);text-underline-offset:2px}button.act.big{font-size:13px;padding:14px 26px;letter-spacing:.1em;background:var(--live);color:#fff;border-color:var(--live)}button.act.big:hover{background:#0b4a3f}button.act:disabled{opacity:.55;cursor:default}.headtools{margin-left:auto;align-self:center;padding-bottom:10px}.headtools+.tabs{margin-left:14px}