:root{--paper:#faf8f3;--paper-2:#f3efe6;--panel:#fff;--line:#e7e1d5;--line-strong:#d8d1c2;--ink:#1b1a16;--ink-2:#6c675c;--ink-3:#9a948663;--accent:#0e7c5a;--accent-press:#0b6147;--accent-soft:#e2efe8;--accent-ring:#0e7c5a33;--ok:#0e7c5a;--ok-soft:#e2efe8;--info:#3b5bdb;--info-soft:#e7ecfd;--warn:#b3791b;--warn-soft:#f7eed9;--danger:#b23b3b;--danger-soft:#f7e3e1;--muted:#7c7669;--muted-soft:#ece7dc;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-ui:"Hanken Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Menlo, monospace;--r-sm:6px;--r-md:10px;--r-lg:16px;--shadow-sm:0 1px 2px #1b1a160a, 0 1px 3px #1b1a160f;--shadow-md:0 4px 16px -4px #1b1a161a, 0 2px 6px #1b1a160d;--shadow-lg:0 18px 48px -12px #1b1a162e;--ease:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:radial-gradient(circle at 1px 1px,#1b1a1606 1px,#0000 0);background-size:22px 22px;margin:0;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:inherit}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.app{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--paper-2);border-right:1px solid var(--line);flex-direction:column;gap:22px;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.brand{align-items:baseline;gap:8px;padding:4px 8px 0;display:flex}.brand-mark{font-family:var(--font-display);letter-spacing:-.02em;font-size:22px;font-weight:600}.brand-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;display:inline-block}.brand-sub{color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.nav{flex-direction:column;gap:2px;display:flex}.nav-item{border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;transition:background .15s var(--ease), color .15s var(--ease);align-items:center;gap:10px;padding:9px 12px;font-weight:500;display:flex}.nav-item:hover{color:var(--ink);background:#1b1a160a}.nav-item.active{background:var(--accent-soft);color:var(--accent-press);font-weight:600}.nav-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-top:6px;padding:0 12px;font-size:10px}.sidebar-foot{flex-direction:column;gap:10px;margin-top:auto;display:flex}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;justify-content:space-between;align-items:center;gap:16px;padding:20px 32px;display:flex;position:sticky;top:0}.page-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:26px;font-weight:500}.page-sub{color:var(--ink-2);margin-top:2px;font-size:13px}.content{padding:28px 32px 64px}.switcher{text-align:left;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);cursor:pointer;width:100%;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.switcher:hover{border-color:var(--accent)}.switcher-name{font-weight:600}.switcher-meta{color:var(--ink-2);font-size:11px}.menu{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);overflow:hidden}.menu-item{width:100%;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;gap:8px;padding:10px 12px;display:flex}.menu-item:hover{background:var(--paper-2)}.btn{border-radius:var(--r-sm);cursor:pointer;transition:all .15s var(--ease);white-space:nowrap;border:1px solid #0000;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--accent-press);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-ghost{color:var(--ink);border-color:var(--line-strong);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--paper-2);border-color:var(--ink-2)}.btn-sm{padding:6px 11px;font-size:12px}.btn-danger{color:var(--danger);border-color:var(--danger-soft);background:0 0}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.field{flex-direction:column;gap:6px;display:flex}.label{color:var(--ink-2);letter-spacing:.01em;font-size:12px;font-weight:600}.input,.select{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--ink);transition:border .15s var(--ease), box-shadow .15s var(--ease);padding:9px 11px;font-family:inherit;font-size:13px}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.input::placeholder{color:var(--ink-3)}.select-sm{padding:6px 9px;font-size:12px}.input.is-missing,.select.is-missing{border-color:var(--danger);background:var(--danger-soft)}.input.is-missing:focus,.select.is-missing:focus{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.sections{flex-wrap:wrap;gap:14px;margin-bottom:20px;display:flex}.section-card{text-align:left;cursor:pointer;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);min-width:175px;max-width:320px;transition:border .15s var(--ease), box-shadow .15s var(--ease);flex:175px;padding:15px 18px}.section-card:hover{border-color:var(--line-strong)}.section-card.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.section-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-title{color:var(--ink);font-size:16px;font-weight:700}.section-count{background:var(--ink);color:var(--panel);border-radius:7px;padding:2px 9px;font-size:12px;font-weight:600;line-height:1.5}.section-total{color:var(--ink-2);margin-top:5px;font-size:13px}.month-summary{color:var(--ink-2);font-variant-numeric:tabular-nums;margin:-8px 0 18px;font-size:13px}.issue-queue{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.issue-task{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--panel);color:var(--ink-2);font:600 12.5px var(--font-ui);cursor:pointer;padding:8px 11px}.issue-task:hover,.issue-task.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-press)}.issue-task span{font-family:var(--font-mono);margin-left:6px;display:inline-block}.workflow-guide{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:18px 22px}.wf-steps{align-items:center;gap:0;display:flex}.wf-step{text-align:left;color:inherit;background:0 0;border:0;align-items:center;gap:11px;padding:2px 0;font-family:inherit;display:flex}.wf-step[data-clickable="1"]{cursor:pointer}.wf-badge{width:30px;height:30px;font-family:var(--font-mono);border:1.5px solid var(--line-strong);background:var(--paper-2);color:var(--ink-3);transition:all .15s var(--ease);border-radius:999px;flex:0 0 30px;place-items:center;font-size:14px;font-weight:500;display:grid}.wf-label{flex-direction:column;line-height:1.15;display:flex}.wf-name{color:var(--ink-3);font-size:14px;font-weight:600}.wf-when{color:var(--ink-3);font-size:11px;font-weight:500}.wf-conn{background:var(--line);flex:1;min-width:24px;height:1.5px;margin:0 14px}.wf-step.done .wf-badge{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.wf-step.done .wf-name{color:var(--ink-2)}.wf-conn.done{background:var(--accent)}.wf-step.current .wf-badge{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px var(--accent-ring)}.wf-step.current .wf-name{color:var(--ink)}.wf-step.current .wf-when{color:var(--accent)}.wf-guide-line{border-top:1px solid var(--line);align-items:baseline;gap:10px;margin-top:15px;padding-top:14px;display:flex}.wf-here{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:999px;flex:none;align-self:center;padding:3px 8px;font-size:10px;font-weight:700}.wf-instr{color:var(--ink);font-size:14.5px;line-height:1.45}.wf-instr b{font-weight:700}.wf-guide-line.done-all .wf-instr{color:var(--accent);font-weight:600}.btn.cue{animation:btn-cue 1.8s var(--ease) infinite}@keyframes btn-cue{0%{box-shadow:0 0 0 0 var(--accent-ring)}70%{box-shadow:0 0 0 9px #0000}to{box-shadow:0 0 #0000}}.acct-cell{align-items:center;gap:6px;min-width:0;max-width:150px;display:flex}.table-wrap.scroll-x{overflow-x:auto}.tbl .col-sticky{background:var(--panel);position:sticky;right:0;box-shadow:-10px 0 10px -10px #0000001f}.tbl tbody tr:hover .col-sticky{background:var(--paper)}.tbl thead .col-sticky{background:var(--paper-2,var(--panel))}.acct-cell .select{text-overflow:ellipsis;flex:auto;min-width:0}.acct-cell .btn{flex:none}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:20px 22px}.pill{letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.pill .dot{border-radius:50%;width:6px;height:6px}.pill-ok{background:var(--ok-soft);color:var(--ok)}.pill-ok .dot{background:var(--ok)}.pill-info{background:var(--info-soft);color:var(--info)}.pill-info .dot{background:var(--info)}.pill-warn{background:var(--warn-soft);color:var(--warn)}.pill-warn .dot{background:var(--warn)}.pill-danger{background:var(--danger-soft);color:var(--danger)}.pill-danger .dot{background:var(--danger)}.pill-muted{background:var(--muted-soft);color:var(--muted)}.pill-muted .dot{background:var(--muted)}.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}table.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl thead th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--line);background:var(--paper-2);padding:13px 16px;font-size:10.5px;font-weight:600}.tbl tbody td{border-bottom:1px solid var(--line);vertical-align:middle;padding:13px 16px}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background .12s var(--ease)}.tbl tbody tr:hover{background:var(--paper)}.tbl tbody tr.is-skipped{opacity:.55}.td-amount,.td-right{text-align:right}.cell-strong{font-weight:600}.cell-dim{color:var(--ink-2);font-size:12px}.clip{color:var(--line-strong);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;line-height:1}.clip.has{color:var(--accent)}.clip.expired{color:var(--danger)}.clip:hover:not(:disabled){opacity:.7}.clip:disabled{cursor:progress;opacity:.6}.clip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{width:100%;max-width:380px}.auth-head{text-align:center;margin-bottom:24px}.auth-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:30px;font-weight:500}.row{align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.spacer{flex:1}.stack{flex-direction:column;display:flex}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.muted-text{color:var(--ink-2)}.empty{text-align:center;color:var(--ink-2);padding:56px 20px}.toast{background:var(--ink);color:var(--paper);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:50;padding:11px 18px;font-size:13px;font-weight:500;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);text-align:center;color:var(--ink-2);cursor:pointer;transition:all .15s var(--ease);background:var(--panel);padding:30px}.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-press)}.kbd{font-family:var(--font-mono);background:var(--paper-2);border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:11px}.stat{flex-direction:column;gap:2px;display:flex}.stat-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.stat-label{color:var(--ink-2);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.months{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin-bottom:18px;padding-bottom:12px;display:flex}.month-tab{border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;transition:all .15s var(--ease);background:0 0;border:1px solid #0000;padding:7px 14px;font-size:13px;font-weight:600}.month-tab:hover{background:var(--paper-2);color:var(--ink)}.month-tab.active{background:var(--accent-soft);color:var(--accent-press)}.month-tab .count{font-family:var(--font-mono);opacity:.65;font-variant-numeric:tabular-nums;margin-left:6px;font-size:11px}.filters{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:5px;margin-bottom:14px;padding-bottom:12px;display:flex}.fchip{border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer;font-size:12.5px;font-weight:600;font-family:var(--font-ui);transition:all .15s var(--ease);background:0 0;border:1px solid #0000;padding:6px 12px}.fchip:hover{background:var(--paper-2);color:var(--ink)}.fchip.active{background:var(--accent-soft);color:var(--accent-press)}.fchip .n{font-family:var(--font-mono);opacity:.65;font-variant-numeric:tabular-nums;margin-left:5px;font-size:10.5px}.fchip.none{color:var(--warn)}.fchip.none.active{background:var(--warn-soft);color:var(--warn)}.bulk{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--r-md);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;display:flex}.bulk .count{color:var(--accent-press);font-size:13.5px;font-weight:700}.bulk select{font-family:var(--font-ui);border-radius:var(--r-sm);border:1px solid var(--accent);background:var(--panel);color:var(--ink);min-width:200px;padding:6px 10px;font-size:13px}.bulk .clear{color:var(--accent-press);cursor:pointer;font-size:12.5px;font-weight:600;font-family:var(--font-ui);background:0 0;border:none;margin-left:auto}.bulk-picker{flex-direction:column;gap:4px;min-width:220px;display:flex}.bulk-picker .input{background:var(--panel);width:100%;min-width:0}.bulk-picker select{width:100%}.modal-scrim{z-index:40;background:#1b1a1659;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border-radius:var(--r-lg);width:100%;max-width:480px;box-shadow:var(--shadow-lg)}.sync-modal{max-width:720px;max-height:90vh;overflow:auto}.sync-preview{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2);margin-top:16px;padding:13px;font-size:13px}.sync-preview-group{font-variant-numeric:tabular-nums;margin-top:5px}.sync-preview-list{border-top:1px solid var(--line);max-height:240px;margin-top:10px;overflow:auto}.sync-preview-list details{border-bottom:1px solid var(--line);padding:7px 0}.sync-preview-list>div{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:7px 0}.sync-preview-list summary{cursor:pointer;overflow-wrap:anywhere}.sync-preview-list pre{white-space:pre-wrap;max-height:180px;font-size:11px;overflow:auto}.sync-preview-error,.sync-error{color:var(--danger)}.sync-error{margin:8px 0 0}.import-preview{border:1px solid var(--accent);border-radius:var(--r-md);background:var(--accent-soft);margin-bottom:12px;padding:15px;font-size:13px}.import-preview-stats{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:12px;margin:12px 0;display:flex}.import-preview-stats span{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);padding:6px 9px}.import-preview p{margin:8px 0}.import-preview .upload-warnings{margin-top:12px}.upload-history-summary{color:var(--ink-2);flex-wrap:wrap;gap:18px;margin:9px 0 14px;font-size:12px;display:flex}.upload-history-summary summary{cursor:pointer}.upload-history-summary ul{margin:6px 0 0;padding-left:19px}.waiver-form{background:var(--warn-soft);border:1px solid var(--warn);border-radius:var(--r-md);flex-direction:column;gap:9px;margin:10px 0 13px;padding:13px;font-size:13px;display:flex}.waiver-form .input{background:var(--panel);max-width:560px}.upload-warnings{border:1px solid var(--warn);background:var(--warn-soft);color:var(--ink);border-radius:var(--r-md);margin-bottom:12px;padding:12px 14px;font-size:13px}.upload-warnings-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.upload-warnings-head button{color:var(--ink-2);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;padding:2px 6px;font-size:12px;font-weight:600}.upload-warnings-head button:hover{color:var(--ink);background:#0000000f}.upload-warnings ul{margin:0;padding-left:18px}.upload-warnings li{margin:3px 0;line-height:1.45}.dropzone-hint{color:var(--ink-2);opacity:.85;margin-top:6px;font-size:12px;display:inline-block}.import-bar{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex}.import-bar label{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.import-bar select{font-family:var(--font-ui);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--paper);cursor:pointer;min-width:168px;padding:7px 11px;font-size:14px;font-weight:600}.import-bar select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.import-bar .scope{color:var(--ink-2);font-size:12.5px;line-height:1.45}.slots{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=640px){.slots{grid-template-columns:1fr}}.slot{border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--panel);min-height:158px;transition:all .15s var(--ease);flex-direction:column;gap:9px;padding:16px 17px;display:flex}.slot-kind{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:700}.slot-state{align-items:baseline;gap:7px;font-size:14px;font-weight:600;display:flex}.slot-detail{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:12.5px;line-height:1.5}.slot-file{font-family:var(--font-mono);color:var(--ink-3);word-break:break-all;font-size:11px;line-height:1.4}.slot-actions{align-items:center;gap:8px;margin-top:auto;display:flex}.slot-btn{font-family:var(--font-ui);border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--panel);color:var(--ink-2);cursor:pointer;padding:5px 11px;font-size:12px;font-weight:600}.slot-btn:hover{color:var(--ink);border-color:var(--ink-3)}.slot-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.slot.filled{border-style:solid;border-color:var(--accent);background:var(--accent-soft)}.slot.filled .slot-kind,.slot.filled .slot-state{color:var(--accent-press)}.slot.waiting{border-color:var(--warn);background:var(--warn-soft);cursor:pointer}.slot.waiting .slot-kind,.slot.waiting .slot-state{color:var(--warn)}.slot.waiting:hover{border-color:var(--accent);background:var(--accent-soft)}.slot.waiting:hover .slot-kind,.slot.waiting:hover .slot-state{color:var(--accent-press)}.receipt-flag{white-space:normal;overflow-wrap:break-word;max-width:42ch;margin-top:3px;font-size:11px;line-height:1.4;display:block}.receipt-flag-danger{color:var(--danger)}.receipt-flag-warn{color:var(--warn)}.receipt-flag-unclear{color:var(--ink-2)}.receipt-ok{color:var(--ok);margin-top:3px;font-size:11px;line-height:1.4;display:inline-block}.receipt-unchecked{color:var(--ink-2);margin-top:3px;font-size:11px;font-weight:600;line-height:1.4;display:inline-block}.slots-foot{color:var(--ink-3);text-align:center;margin-top:2px;margin-bottom:12px;font-size:12px;line-height:1.5}.receipt-review-btn{border-radius:var(--r-sm);font-family:var(--font-ui);color:var(--ink-2);background:var(--panel);border:1px solid var(--line-strong);cursor:pointer;transition:all .15s var(--ease);align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.receipt-review-btn:hover{border-color:var(--accent);color:var(--accent-press);background:var(--accent-soft)}.receipt-review-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.receipt-review-btn.expired{border-color:var(--danger-soft);color:var(--danger)}.receipt-review-btn.expired:hover{background:var(--danger-soft);border-color:var(--danger)}.receipt-review-icon{font-size:12px;line-height:1}.rpanel-scrim{z-index:60;background:#1b1a1666;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.rpanel{background:var(--panel);border-radius:var(--r-lg);width:100%;max-width:1080px;max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.rpanel:focus{outline:none}.rpanel-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:14px;padding:16px 22px;display:flex}.rpanel-head-info{flex-direction:column;gap:2px;min-width:0;display:flex}.rpanel-position{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:700}.rpanel-nav{flex:none;align-items:center;gap:8px;display:flex}.rpanel-body{flex:auto;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0;display:grid;overflow:auto}.rpanel-left{border-right:1px solid var(--line);flex-direction:column;gap:12px;min-width:0;padding:18px 22px;display:flex}.rpanel-right{flex-direction:column;gap:16px;min-width:0;padding:18px 22px;display:flex}@media (width<=860px){.rpanel-body{grid-template-columns:1fr}.rpanel-left{border-right:none;border-bottom:1px solid var(--line)}}.rpanel-att-tabs{flex-wrap:wrap;gap:6px;display:flex}.rpanel-att-tab{border-radius:var(--r-sm);color:var(--ink-2);background:var(--paper-2);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-ui);border:1px solid #0000;padding:5px 11px}.rpanel-att-tab:hover{color:var(--ink)}.rpanel-att-tab.active{background:var(--accent-soft);color:var(--accent-press);border-color:var(--accent)}.rpanel-viewer{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);flex:auto;place-items:center;min-height:320px;display:grid;overflow:hidden}.rpanel-img{object-fit:contain;max-width:100%;max-height:60vh}.rpanel-frame{background:var(--panel);border:none;width:100%;height:60vh}.rpanel-loading,.rpanel-error{text-align:center;color:var(--ink-2);padding:24px;font-size:13px}.rpanel-error{color:var(--danger);font-weight:600}.rpanel-field{flex-direction:column;gap:3px;display:flex}.rpanel-verdict{border-top:1px solid var(--line);padding-top:8px}.rpanel-verdict .receipt-flag,.rpanel-verdict .receipt-ok,.rpanel-verdict .receipt-unchecked{margin-top:0;font-size:13px}.finance-app{grid-template-columns:190px minmax(0,1fr)}.finance-app .sidebar{background:#f0f5f1;border-color:#dce5df}.finance-app .brand-mark{font-family:"Atkinson Hyperlegible", var(--font-ui);letter-spacing:-.055em;font-weight:700}.finance-app .brand-sub{letter-spacing:.02em;text-transform:none}.finance-app .nav-label{display:none}.finance-app .nav-item.active{background:#dcece2}.finance-app .main{background:#f8faf9}.finance-app button:focus-visible,.finance-app input:focus-visible,.finance-app select:focus-visible,.finance-detail button:focus-visible,.finance-detail input:focus-visible,.finance-detail select:focus-visible{outline-offset:2px;outline:3px solid #7fbea5}.finance-topbar{min-height:64px;font-family:"Atkinson Hyperlegible", var(--font-ui);z-index:12;background:#fff;border-color:#dce5df;padding:8px 38px}.finance-company-switcher{width:auto;min-width:0;max-width:205px}.finance-company-switcher .switcher{width:auto;max-width:100%;box-shadow:none;background:0 0;border:0;gap:9px;padding:7px 0}.finance-company-switcher .switcher-meta{display:none}.finance-company-switcher .switcher-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.finance-company-switcher .menu{min-width:220px}.finance-top-actions{align-items:center;gap:14px;display:flex}.finance-screen-progress{color:#9c610b;font-size:12px}.finance-actions-menu{position:relative}.finance-actions-menu summary{cursor:pointer;white-space:nowrap;padding:8px 5px;font-weight:700;list-style:none}.finance-actions-menu summary::-webkit-details-marker{display:none}.finance-actions-menu summary span{color:#62716c;margin-left:3px}.finance-actions-popover{z-index:25;background:#fff;border:1px solid #dce5df;border-radius:7px;width:240px;padding:8px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px #122b1d24}.finance-actions-popover>span{color:#62716c;padding:8px 10px 3px;font-size:11px;font-weight:700;display:block}.finance-actions-popover button{text-align:left;width:100%;font:inherit;cursor:pointer;background:#fff;border:0;border-radius:4px;padding:9px 10px;font-size:13px;display:block}.finance-actions-popover button:hover:not(:disabled){background:#e9f3ee}.finance-actions-popover button:disabled{color:#9aa8a0;cursor:not-allowed}.finance-mobile-logout{display:none!important}.finance-sync-button{color:#116b55;background:#fff;border-color:#116b55}.finance-sync-button:hover:not(:disabled){background:#e9f3ee}.finance-content{width:min(100%,1320px);font-family:"Atkinson Hyperlegible", var(--font-ui);color:#1c2d29;margin:0 auto;padding:39px 40px 75px;font-size:15px}.finance-content .num,.finance-detail .num{font-family:"IBM Plex Mono", var(--font-mono);font-variant-numeric:tabular-nums}.finance-page-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:25px;display:flex}.finance-page-head h1{font:700 clamp(31px, 3vw, 42px)/1.1 "Atkinson Hyperlegible", var(--font-ui);letter-spacing:-.045em;margin:0}.finance-page-head p{color:#62716c;margin:8px 0 0;font-size:14px}.finance-page-head p span[aria-hidden]{margin:0 5px}.finance-month-picker select{color:#1c2d29;min-width:175px;font:700 14px "Atkinson Hyperlegible", var(--font-ui);cursor:pointer;background:#fff;border:1px solid #cbd9d0;border-radius:6px;padding:10px 12px}.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}.finance-next{background:#fff;border:1px solid #ebd6af;border-left:5px solid #b47a23;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:25px 29px;display:grid}.finance-next-label{color:#9c610b;font-size:12px;font-weight:700}.finance-next h2{letter-spacing:-.035em;margin:4px 0 6px;font-size:clamp(24px,2.4vw,31px);line-height:1.12}.finance-next p{color:#52645a;max-width:610px;margin:0}.finance-next-actions{justify-items:end;gap:9px;display:grid}.finance-next-actions .btn{background:#116b55;min-height:42px}.finance-next-actions .btn:hover:not(:disabled){background:#0b5744}.finance-link{color:#116b55;font:700 13px "Atkinson Hyperlegible", var(--font-ui);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.finance-link:disabled{color:#819088;cursor:not-allowed}.finance-then{color:#62716c;flex-wrap:wrap;align-items:center;gap:7px;margin:13px 0 36px 5px;font-size:13px;display:flex}.finance-then strong{color:#1c2d29}.finance-arrow{color:#91a49a;margin:0 9px 0 3px}.finance-queue{scroll-margin-top:90px}.finance-queue-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.finance-queue-head h2{letter-spacing:-.02em;margin:0;font-size:22px}.finance-queue-head p{color:#62716c;margin:3px 0 0;font-size:14px}.finance-queue-total{color:#62716c;white-space:nowrap;font-size:13px}.finance-status-tabs{scrollbar-width:thin;border-bottom:1px solid #dce5df;gap:28px;display:flex;overflow-x:auto}.finance-status-tabs button{color:#62716c;font:700 14px "Atkinson Hyperlegible", var(--font-ui);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:none;padding:11px 0 13px;position:relative}.finance-status-tabs button[aria-selected=true]{color:#116b55}.finance-status-tabs button[aria-selected=true]:after{content:"";background:#116b55;height:3px;position:absolute;bottom:0;left:0;right:0}.finance-status-tabs .num{margin-left:4px;font-size:12px}.finance-toolbar{justify-content:space-between;align-items:center;gap:14px;padding:14px 0 12px;display:flex}.finance-toolbar-left{flex-wrap:wrap;flex:1;align-items:center;gap:9px;min-width:0;display:flex}.finance-toolbar-left .finance-link{white-space:nowrap}.finance-toolbar-left .input{background:#fff;border-color:#cbd9d0;width:min(290px,100%);padding:9px 12px}.finance-toolbar .btn{background:#fff;border-color:#cbd9d0;padding:8px 12px}.finance-toolbar>span{color:#62716c;white-space:nowrap;font-size:12px}.finance-filter-panel{background:#fff;border:1px solid #dce5df;border-radius:7px;grid-template-columns:repeat(3,minmax(150px,1fr)) auto auto;align-items:end;gap:10px;margin:0 0 13px;padding:15px;display:grid}.finance-filter-panel label{color:#62716c;gap:5px;font-size:12px;font-weight:700;display:grid}.finance-filter-panel select{width:100%;min-width:0}.finance-filter-panel .btn{justify-content:center}.finance-bulk{background:#e9f3ee;border-color:#c4dbcc;border-radius:6px}.finance-table-wrap{box-shadow:none;border-color:#dce5df;border-radius:7px;overflow:hidden}.finance-table{font-size:14px}.finance-table thead th{color:#62716c;font:700 12px "Atkinson Hyperlegible", var(--font-ui);letter-spacing:0;text-transform:none;background:#f4f8f5;border-color:#dce5df;padding:11px 18px}.finance-table tbody td{border-color:#edf2ee;padding:15px 18px}.finance-table tbody tr.is-skipped{opacity:1}.finance-table .finance-select-cell{width:34px;padding-right:0}.finance-table input[type=checkbox]{accent-color:#116b55}.finance-transaction-cell{min-width:260px}.finance-transaction-cell .cell-strong{font-size:14px}.finance-transaction-cell .cell-dim{color:#62716c;line-height:1.4}.finance-transaction-cell .receipt-review-btn{color:#116b55;background:0 0;border:0;margin-top:5px;padding:2px 0;text-decoration:underline}.finance-status-cell{min-width:210px;max-width:360px}.finance-status{color:#9c610b;font-size:13px;font-weight:700}.finance-status-mapped,.finance-status-synced{color:#116b55}.finance-status-skipped{color:#62716c}.finance-status-failed{color:#b23b3b}.finance-status-cell small{color:#62716c;overflow-wrap:anywhere;margin-top:3px;line-height:1.35;display:block}.finance-status-cell:has(.finance-status-failed) small{color:#b23b3b}.finance-table .td-amount{white-space:nowrap;text-align:right}.finance-action-cell{white-space:nowrap}.finance-row-action{color:#116b55;font:700 14px "Atkinson Hyperlegible", var(--font-ui);cursor:pointer;background:0 0;border:0}.finance-row-action:hover{text-decoration:underline}.finance-table-footer{color:#62716c;border-top:1px solid #dce5df;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;font-size:12px;display:flex}.finance-empty{color:#62716c;background:#fff;border:1px solid #dce5df;border-radius:7px;padding:30px 24px}.finance-empty strong{color:#1c2d29}.finance-empty p{margin:3px 0 12px}.finance-files-scrim{z-index:45}.finance-files-modal{width:min(100%,900px);max-width:900px;max-height:calc(100vh - 40px);font-family:"Atkinson Hyperlegible", var(--font-ui);padding:24px;overflow:auto}.finance-modal-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.finance-modal-head h2{font:700 25px "Atkinson Hyperlegible", var(--font-ui);letter-spacing:-.03em;margin:0}.finance-modal-head p{color:#62716c;margin:3px 0 0}.finance-modal-close{color:#62716c;cursor:pointer;background:0 0;border:0;padding:0 5px;font-size:25px;line-height:1}.finance-files-modal .dropzone{margin-bottom:0!important}.finance-detail-scrim{z-index:48}.finance-detail{width:min(100%,620px);max-width:620px;max-height:calc(100vh - 36px);font-family:"Atkinson Hyperlegible", var(--font-ui);padding:26px;overflow:auto}.finance-detail:focus{outline:none}.finance-detail-meta{color:#62716c;flex-wrap:wrap;gap:6px 12px;padding:0 0 15px;font-size:12px;display:flex}.finance-detail-alert{color:#8d2828;background:#f7e3e1;border-left:3px solid #b23b3b;margin-bottom:14px;padding:11px 13px}.finance-detail-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.finance-field{align-content:start;gap:6px;margin:0 0 14px;display:grid}.finance-field label{font-weight:700}.finance-field small{color:#62716c}.finance-field-wide{grid-column:1/-1}.finance-detail .acct-cell{width:100%;max-width:none}.finance-detail .acct-cell .select,.finance-detail .acct-cell .input,.finance-field>.select{width:100%;min-width:0}.finance-detail-receipt{border-top:1px solid #dce5df;flex-wrap:wrap;align-items:center;gap:8px 14px;padding-top:14px;display:flex}.finance-detail-receipt .receipt-flag,.finance-detail-receipt .receipt-ok,.finance-detail-receipt .receipt-unchecked{margin-top:0}.finance-detail-extras{flex-wrap:wrap;align-items:flex-start;gap:14px;padding-top:17px;display:flex}.finance-manual-form{background:#f8faf9;border:1px solid #dce5df;border-radius:6px;gap:8px;width:100%;padding:13px;display:grid}.finance-manual-form label{font-weight:700}.finance-modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;display:flex}.finance-modal-actions .finance-link{margin-right:auto}@media (width<=900px){.finance-content{padding:29px 24px 60px}.finance-filter-panel{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media (width<=780px){.finance-app{display:block}.finance-app .sidebar{border-bottom:1px solid #dce5df;border-right:0;height:auto;padding:13px 18px;display:block;position:static}.finance-app .brand{padding:0}.finance-app .brand-sub,.finance-app .sidebar-foot{display:none}.finance-app .nav{scrollbar-width:none;flex-direction:row;gap:4px;margin-top:8px;display:flex;overflow-x:auto}.finance-app .nav::-webkit-scrollbar{display:none}.finance-app .nav-item{flex:none;padding:6px 9px;font-size:13px}.finance-topbar{min-height:50px;padding:5px 20px}.finance-mobile-logout{display:block!important}.finance-next{grid-template-columns:1fr}.finance-next-actions{justify-items:start}}@media (width<=570px){.finance-app .nav{flex-wrap:wrap;overflow:visible}.finance-topbar{gap:8px;padding:5px 14px}.finance-company-switcher{width:min(34vw,145px)}.finance-company-switcher .switcher-name{font-size:13px}.finance-top-actions{gap:5px}.finance-actions-menu summary{padding:8px 4px;font-size:13px}.finance-sync-button{padding:8px 9px;font-size:12px}.finance-screen-progress{display:none}.finance-content{padding:27px 20px 55px}.finance-page-head{display:block}.finance-month-picker select{margin-top:17px}.finance-next{padding:20px}.finance-then{margin-bottom:28px}.finance-queue-head{display:block}.finance-queue-total{display:none}.finance-toolbar{display:block}.finance-toolbar-left{width:100%}.finance-toolbar-left .input{flex:1 0 100%;width:100%}.finance-toolbar>span{margin-top:7px;display:block}.finance-filter-panel{grid-template-columns:1fr}.finance-table,.finance-table tbody,.finance-table tr,.finance-table td{width:100%;display:block}.finance-table thead{display:none}.finance-table tr{border-bottom:1px solid #edf2ee;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;padding:13px 16px;display:grid}.finance-table td{border:0!important;padding:2px 0!important}.finance-table .finance-select-cell{grid-area:1/1;width:auto}.finance-table .finance-transaction-cell{overflow-wrap:anywhere;grid-area:1/1;min-width:0;padding-left:22px!important}.finance-table tr:not(:has(.finance-select-cell)) .finance-transaction-cell{padding-left:0!important}.finance-table .finance-select-cell input{position:relative;top:2px}.finance-table .finance-status-cell{grid-area:2/1;min-width:0;padding-left:22px!important}.finance-table tr:not(:has(.finance-select-cell)) .finance-status-cell{padding-left:0!important}.finance-table .td-amount{grid-area:1/2}.finance-table .finance-action-cell{grid-area:2/2}.finance-table-footer{flex-direction:column;align-items:flex-start}.finance-detail{padding:20px}.finance-detail-fields{grid-template-columns:1fr}.finance-field-wide{grid-column:auto}}@media (prefers-reduced-motion:reduce){.finance-app .btn,.finance-app .nav-item{transition:none;animation:none}}
