:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f5f3;--surface:#fff;--surface-2:#f0f0ed;--border:#e2e1dc;--border-strong:#c9c8c1;--text:#1a1a18;--text-2:#55544f;--text-3:#85847d;--accent:#1f6f5c;--accent-hover:#185a4a;--accent-soft:#e3f0ec;--accent-text:#fff;--danger:#b3261e;--danger-soft:#fbe9e7;--warn:#8a5a00;--warn-soft:#fdf3dc;--ok:#1d6b36;--ok-soft:#e4f3e8;--series-1:#2a78d6;--series-2:#eb6834;--grid:#e8e7e2;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000f;--radius:8px;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#131312;--surface:#1c1c1b;--surface-2:#252523;--border:#33332f;--border-strong:#4a4a45;--text:#f2f1ec;--text-2:#c3c2b7;--text-3:#8f8e86;--accent:#3fa58a;--accent-hover:#4fb89b;--accent-soft:#1d3530;--accent-text:#0d1f1a;--danger:#f2867e;--danger-soft:#3a1f1d;--warn:#e7b65a;--warn-soft:#362b17;--ok:#74c98e;--ok-soft:#1b3123;--series-1:#3987e5;--series-2:#d95926;--grid:#2c2c29;--shadow:0 1px 2px #0006, 0 4px 16px #0000004d}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:650}h2{margin:0 0 12px;font-size:16px;font-weight:600}h3{margin:0 0 8px;font-size:14px;font-weight:600}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.mono{font-family:var(--mono);font-size:12px}.neg{color:var(--danger)}.shell{grid-template-columns:220px 1fr;min-height:100%;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:2px;height:100vh;padding:14px 10px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:8px;padding:4px 8px 14px;font-size:16px;font-weight:700;display:flex}.brand-mark{background:var(--accent);width:26px;height:26px;color:var(--accent-text);border-radius:7px;place-items:center;font-size:14px;display:grid}.nav a{color:var(--text-2);border-radius:6px;align-items:center;gap:10px;padding:7px 10px;font-weight:500;display:flex}.nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav a.active{background:var(--accent-soft);color:var(--accent)}.nav .badge{margin-left:auto}.nav-section{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:14px 10px 4px;font-size:11px}.sidebar-foot{overflow-wrap:anywhere;border-top:1px solid var(--border);gap:6px;margin-top:auto;padding-top:10px;display:grid}.main{min-width:0}.topbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:5;align-items:center;gap:12px;padding:12px 28px;display:flex;position:sticky;top:0}.page{max-width:1280px;padding:24px 28px 64px}.page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.page-head .spacer{flex:1}.menu-btn,.narrow-only{display:none}@media (width<=860px){.shell{grid-template-columns:1fr}.sidebar{z-index:20;box-shadow:var(--shadow);transition:transform .15s;position:fixed;inset:0 30% 0 0;transform:translate(-100%)}.sidebar.open{transform:none}.menu-btn{display:inline-flex}.page{padding:16px}.topbar{padding:10px 16px}.topbar .wide-only{display:none}.topbar .narrow-only{display:inline}.topbar select{max-width:55vw}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.card.flush{padding:0;overflow:hidden}.grid{gap:16px;display:grid}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.tiles{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.tile .label{color:var(--text-2);font-size:12px}.tile .value{font-variant-numeric:tabular-nums;margin-top:2px;font-size:22px;font-weight:650}.tile .sub{color:var(--text-3);font-size:12px}button,.btn{font:inherit;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-weight:550;display:inline-flex}button:hover:not(:disabled){background:var(--surface-2)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.danger{color:var(--danger)}button.ghost{background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--surface-2)}button.small{padding:3px 9px;font-size:13px}button.link{color:var(--accent);background:0 0;border:0;padding:0;font-weight:500}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;min-width:0;padding:6px 9px}input.num{text-align:right}input.invalid{border-color:var(--danger);background:var(--danger-soft)}textarea{resize:vertical}label.field{color:var(--text-2);gap:4px;font-size:13px;font-weight:500;display:grid}label.field>input,label.field>select,label.field>textarea{color:var(--text);font-weight:400}label.check{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.end{justify-content:flex-end}.stack{gap:12px;display:grid}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:8px 12px}th{color:var(--text-2);background:var(--surface-2);font-size:12px;font-weight:600;position:sticky;top:0}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.num,td.num{text-align:right}tbody tr:hover{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}tr.clickable{cursor:pointer}tr.group td{background:var(--surface-2);font-size:13px;font-weight:600}tr.total td{border-top:1px solid var(--border-strong);font-weight:650}tr.grand td{border-top:2px solid var(--text);border-bottom:3px double var(--text);font-weight:700}td.indent{padding-left:28px}.empty{text-align:center;color:var(--text-2);padding:36px}.pill{background:var(--surface-2);color:var(--text-2);border-radius:99px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.danger{background:var(--danger-soft);color:var(--danger)}.pill.accent{background:var(--accent-soft);color:var(--accent)}.badge{background:var(--accent);color:var(--accent-text);border-radius:99px;padding:1px 7px;font-size:11px;font-weight:700}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;margin-bottom:16px;display:flex}.tabs button{color:var(--text-2);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:8px 14px}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.tabs button:hover:not(.active){color:var(--text);background:0 0}.alert{border-radius:6px;padding:10px 14px;font-size:13px}.alert.error{background:var(--danger-soft);color:var(--danger)}.alert.info{background:var(--accent-soft);color:var(--accent)}.alert.warn{background:var(--warn-soft);color:var(--warn)}.modal-back{z-index:50;background:#0006;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);box-shadow:var(--shadow);border-radius:10px;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto}.modal.wide{width:min(920px,100%)}.modal-head{border-bottom:1px solid var(--border);align-items:center;padding:16px 20px;display:flex}.modal-head h2{flex:1;margin:0}.modal-body{gap:14px;padding:20px;display:grid}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.toasts{z-index:60;gap:8px;display:grid;position:fixed;bottom:20px;right:20px}.toast{background:var(--text);color:var(--bg);box-shadow:var(--shadow);border-radius:8px;max-width:380px;padding:10px 16px}.toast.error{background:var(--danger);color:#fff}.auth{place-items:center;min-height:100%;padding:16px;display:grid}.auth .card{width:min(400px,100%);padding:28px}.lines td{padding:4px 6px}.lines input,.lines select{width:100%}.lines td.num input{min-width:100px}.lines .line-no{color:var(--text-3);text-align:center;width:28px}.diff{font-weight:650}.report{max-width:900px}.report-title{text-align:center;padding:18px 0 8px}.report-title .co{font-size:15px;font-weight:650}.report-title .name{font-size:18px;font-weight:650}.report-title .range{color:var(--text-2);font-size:13px}@media print{.sidebar,.topbar,.no-print,.tabs{display:none!important}.shell{display:block}.page{padding:0}.card{border:0}body{background:#fff}}.chart{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .tip{pointer-events:none;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);white-space:nowrap;border-radius:6px;padding:8px 10px;font-size:12px;position:absolute;transform:translate(-50%,-100%)}.legend{color:var(--text-2);gap:14px;font-size:12px;display:flex}.legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.recon-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.recon-summary .diff-zero .value{color:var(--ok)}.recon-summary .diff-nonzero .value{color:var(--danger)}.read-only .write-only,.read-only .page-head button:not(.keep),.read-only .page-head a.btn,.read-only td button,.read-only .lines button,.read-only .card .row.end button.primary{display:none!important}.report.wide th:first-child,.report.wide td:first-child{background:var(--surface);z-index:1;min-width:220px;position:sticky;left:0}.report.wide tr.group td:first-child{background:var(--surface-2)}.report.wide td.num,.report.wide th.num{min-width:96px}.report.wide th:first-child{background:var(--surface-2);z-index:2}input.search-select{cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--text-3) 50%), linear-gradient(135deg, var(--text-3) 50%, transparent 50%);text-overflow:ellipsis;background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px;width:100%;padding-right:26px}input.search-select:focus{cursor:text}.search-select-list{z-index:80;background:var(--surface);border:1px solid var(--border-strong);max-height:280px;box-shadow:var(--shadow);border-radius:8px;padding:4px 0;font-size:14px;position:fixed;overflow-y:auto}.search-select-group{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:8px 12px 4px;font-size:11px;font-weight:600}.search-select-option{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:6px 12px;overflow:hidden}.search-select-option.active{background:var(--accent-soft);color:var(--accent)}.search-select-option.selected{font-weight:600}.search-select-empty{color:var(--text-3);padding:10px 12px}th.col-head{padding:4px 6px;position:relative}.col-head-inner{align-items:center;gap:2px;display:inline-flex}th.num .col-head-inner{justify-content:flex-end;width:100%}.col-sort{font:inherit;color:inherit;background:0 0;border:0;border-radius:4px;align-items:center;gap:4px;padding:4px 6px;font-weight:600;display:inline-flex}.col-sort:hover:not(:disabled){background:var(--border)}.sort-mark{color:var(--text-3);font-size:10px}th[aria-sort] .sort-mark{color:var(--accent)}.col-filter{color:var(--text-3);background:0 0;border:0;border-radius:4px;padding:4px;display:inline-flex}.col-filter:hover:not(:disabled){background:var(--border);color:var(--text)}.col-filter.on{color:var(--accent);background:var(--accent-soft)}.col-filter-pop{z-index:70;background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow);color:var(--text);text-align:left;border-radius:8px;padding:10px;font-weight:400;position:fixed}.page.full{max-width:none}td.nowrap{white-space:nowrap}.review-table td.desc{min-width:180px;max-width:320px}.review-table .desc-text{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.review-table th.actions,.review-table td.actions{z-index:1;position:sticky;right:0;box-shadow:-8px 0 8px -8px #0000002e}.review-table td.actions{background:var(--surface)}.review-table th.actions{background:var(--surface-2)}.review-table th,.review-table td{padding-left:8px;padding-right:8px}.review-table td.desc{max-width:260px}.review-table td .search-select{min-width:0!important}.review-table td:has(>.search-select){min-width:120px}.review-table td.actions button.small{padding:3px 8px}.review-table tbody tr:hover td.actions{background:color-mix(in srgb, var(--surface-2) 60%, var(--surface))}fieldset.conditions{border:1px solid var(--border);border-radius:8px;gap:8px;margin:0;padding:10px 12px 12px;display:grid}fieldset.conditions legend{color:var(--text-2);padding:0 4px;font-size:13px;font-weight:500}.condition-row{grid-template-columns:84px 150px 1fr auto;align-items:center;gap:8px;display:grid}.condition-join{color:var(--accent);text-align:right;font-size:12px;font-weight:600}fieldset.conditions>button.small{justify-self:start}
