.dropzone{text-align:center;background:var(--surface);border:2px dashed var(--border-strong);border-radius:var(--radius-card);justify-items:center;gap:8px;margin-bottom:24px;padding:32px 20px;display:grid}.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.dropzone h2,.dropzone p{margin:0}.dropzone ul{margin:4px 0 0;padding:0;font-size:13px;list-style:none}.sending,.uploads{gap:12px;margin:0 0 16px;padding:0;list-style:none;display:grid}.sending li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px;display:flex}.sending-name{overflow-wrap:anywhere;font-weight:600}.sending-refused .sending-message,.sending-error .sending-message{color:var(--danger)}.sending-copy,.sending-waiting,.sending-sending{color:var(--muted)}.upload{padding:16px var(--card-pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);grid-template-columns:minmax(0,2fr) auto minmax(0,2fr) auto;align-items:start;gap:8px 16px;display:grid}.upload.highlight{outline:2px solid var(--accent);outline-offset:-1px}.upload-what{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.upload-what .muted{font-size:13px}.upload-note{font-weight:600}.upload-result{overflow-wrap:anywhere;margin:0}.upload-details{grid-column:1/-1}.upload-details summary{cursor:pointer;color:var(--accent)}.upload-details dl{grid-template-columns:auto minmax(0,1fr);gap:2px 12px;margin:8px 0;display:grid}.upload-details dd{overflow-wrap:anywhere;margin:0}.upload-details ul,.upload-details ol{overflow-wrap:anywhere;padding-left:20px}.status{white-space:nowrap;background:var(--surface-sunk);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:600}.status-committed{color:var(--ok)}.status-rejected,.status-failed{color:var(--danger)}.status-pending,.status-queued,.status-processing,.status-duplicate{color:var(--muted)}@media (width<=640px){.upload{grid-template-columns:minmax(0,1fr)}.status{justify-self:start}}.spend-charts,.chart-figure,.series-legend{--series-1:#0a7f60;--series-2:#69a7f8;--series-3:#7f5694;--series-4:#987f2b;--series-5:#d875a5;--series-6:#92ac42;--series-7:#8d8bde;--series-8:#d88a36}@media (prefers-color-scheme:dark){.spend-charts,.chart-figure,.series-legend{--series-1:#369a7a;--series-2:#5491e0;--series-3:#7e5594;--series-4:#846b0f;--series-5:#a04373;--series-6:#819a2d;--series-7:#7976c7;--series-8:#bf7317}}.series-1{--c:var(--series-1)}.series-2{--c:var(--series-2)}.series-3{--c:var(--series-3)}.series-4{--c:var(--series-4)}.series-5{--c:var(--series-5)}.series-6{--c:var(--series-6)}.series-7{--c:var(--series-7)}.series-8{--c:var(--series-8)}.spend-charts{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;margin:16px 0;display:grid}.spend-charts>*{min-width:0}.spend-charts .series-legend{padding:14px var(--card-pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);grid-column:1/-1}@media (width<=720px){.spend-charts{grid-template-columns:minmax(0,1fr)}}.chart-figure{min-width:0;padding:var(--card-pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);margin:0}.chart-figure figcaption{margin-bottom:12px;font-weight:600}.chart-box{width:100%}.chart-box svg{max-width:100%;display:block}.chart-box svg:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.pie-box svg{margin:0 auto}.chart-figure .gridline{stroke:var(--border);stroke-width:1px}.chart-figure .tick{fill:var(--muted);font-size:11px;font-family:var(--font-mono)}.chart-figure .band{fill:var(--c);fill-opacity:.16;stroke:none}.chart-figure .line{fill:none;stroke:var(--c);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-figure .dot{fill:var(--c);stroke:var(--surface);stroke-width:2px}.chart-figure .crosshair{stroke:var(--muted);stroke-width:1px}.chart-figure .tooltip{pointer-events:none}.chart-figure .tooltip rect{fill:var(--surface);stroke:var(--border)}.chart-figure .tooltip text{fill:var(--text);font-size:12px}.chart-figure .slice{fill:var(--c);stroke:var(--surface);stroke-width:2px}.chart-figure .slice-ring{fill:none;stroke:var(--c)}.chart-figure .pie-total{fill:var(--text);font-size:14px;font-weight:500;font-family:var(--font-mono)}.chart-figure details{margin-top:4px}.series-legend{flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none;display:flex}.series-legend li{align-items:center;gap:6px;min-width:0;display:flex}.series-legend .name{overflow-wrap:anywhere}.series-legend .swatch{fill:var(--c)}.table-scroll{max-width:100%;overflow-x:auto}.period-shortcuts{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.period-shortcuts button{color:var(--text-2);background:0 0;border:0;border-radius:8px}.period-shortcuts button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.spend-display fieldset{border:0;align-items:center;gap:8px;margin:0;padding:0;display:inline-flex}.spend-display legend{float:left;margin-right:8px}.spend-total{margin:0}.spend-summary{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:16px;margin:16px 0;display:grid}.spend-stat{align-content:start;gap:6px;min-width:0;display:grid}.spend-stat p{margin:0}.spend-stat-label{color:var(--muted);font-size:13px}.spend-stat-value{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:clamp(16px,1.45vw,22px)}.spend-stat-hero{font-size:clamp(22px,2.3vw,30px);font-weight:500}.spend-stat-note{color:var(--muted);font-size:13px}@media (width<=720px){.spend-summary{grid-template-columns:minmax(0,1fr)}.spend-stat-hero{font-size:26px}}.spend-results[aria-busy=true]{opacity:.6}.spend-table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);margin:16px 0;position:relative;overflow-x:auto}.spend-table th,.spend-table td{padding:12px 16px}.spend-table tbody tr:last-child td{border-bottom:0}.spend-table .native-inline{display:none}@media (width<=560px){.spend-table .native{display:none}.spend-table .native-inline{font-size:.85em;display:block}}.review-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.review-head h1{margin:0}.review-head h1 .muted{letter-spacing:0;margin-top:6px;font-size:15px;font-weight:400;display:block}.queue{gap:16px;margin:16px 0 160px;display:grid}.group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:0;overflow:hidden}.group-head{align-items:center;gap:14px;padding:14px 20px;display:flex}.avatar{border-radius:var(--radius);width:36px;height:36px;color:var(--text);flex:none;place-items:center;font-size:14px;font-weight:600;display:grid}.tint-1{background:var(--tint-1)}.tint-2{background:var(--tint-2)}.tint-3{background:var(--tint-3)}.tint-4{background:var(--tint-4)}.tint-5{background:var(--tint-5)}.tint-6{background:var(--tint-6)}.group-title{flex:1;gap:2px;min-width:0;display:grid}.group-title .link{color:var(--text);text-align:left;overflow-wrap:anywhere;font-weight:600}.group-meta{color:var(--muted);font-size:13px}.group-total{text-align:right;justify-items:end;gap:2px;display:grid}.group-total .num{white-space:normal;font-size:16px;font-weight:500}.group-total .about{color:var(--muted);font-size:12px}.group-head[aria-selected=true],.queue:focus-visible .group-head[data-focused=true]{background:var(--selected)}.entry{border-top:1px solid var(--divider);cursor:pointer;grid-template-columns:18px 92px minmax(0,140px) minmax(0,1fr) auto auto;grid-template-areas:"check date holder desc amount details";align-items:center;gap:14px;padding:10px 20px 10px 70px;display:grid}.entry>input{grid-area:check;width:18px;height:18px;margin:0}.entry>.date{font-family:var(--font-mono);color:var(--muted);grid-area:date;font-size:13px}.entry>.cardholder{text-overflow:ellipsis;white-space:nowrap;grid-area:holder;font-size:14px;overflow:hidden}.entry>.desc{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);grid-area:desc;font-size:14px;overflow:hidden}.entry>.num{grid-area:amount;font-size:14px}.entry>.row-details{grid-area:details;font-size:13px}.entry[aria-selected=true]{background:var(--selected)}.group-head,.entry{position:relative}.group-head[data-focused=true]:before,.entry[data-focused=true]:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.queue:focus-visible .entry[data-focused=true]{background:var(--selected)}.section{gap:16px;display:grid}.section-title{margin:8px 0 0;font-size:18px}.dock{background:var(--bg);border-top:1px solid var(--border);gap:8px;padding:12px 0;display:grid;position:sticky;bottom:0}.legend{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.chip kbd{background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.legend-hint{color:var(--muted);padding:6px 10px}.banner{background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:14px 16px}.picker [cmdk-list]{max-height:240px;overflow:auto}.picker [cmdk-item]{cursor:pointer;border-radius:8px;padding:8px 10px}.picker [cmdk-item][data-selected=true]{background:var(--selected)}.picker [cmdk-input]{width:100%}.entry-panel{z-index:5;width:min(420px,100vw - 32px);max-height:70vh;position:fixed;top:24px;right:16px;overflow:auto}.entry-panel pre{white-space:pre-wrap;font-size:.85rem}.shortcuts{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 16px;display:grid}.shortcuts div{gap:8px;display:flex}.shortcuts dd{margin:0}kbd{border:1px solid var(--border-strong);background:var(--surface);border-bottom-width:2px;border-radius:4px;padding:0 4px;font-size:.85em}button.primary kbd{color:inherit;background:0 0;border-color:currentColor}.waiting{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:24px;display:grid;overflow:hidden}.waiting h2,.waiting p{margin:0}.waiting .table-wrap{margin:0 calc(-1 * var(--card-pad)) calc(-1 * var(--card-pad));position:relative;overflow-x:auto}.waiting table{border-collapse:collapse;width:100%}.waiting th{text-align:left;color:var(--muted);font-weight:500}.waiting th,.waiting td{border-bottom:1px solid var(--divider);padding:10px 12px}.waiting th:first-child,.waiting td:first-child{padding-left:var(--card-pad)}.waiting th:last-child,.waiting td:last-child{padding-right:var(--card-pad)}.waiting tbody tr:last-child td{border-bottom:0}.waiting th.num,.waiting td.num{text-align:right}.waiting td.date{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;font-size:13px}.waiting tr.selected{background:var(--selected)}.badge{font-weight:600}@media (width<=640px){.queue{grid-template-columns:minmax(0,1fr);margin-bottom:12px}.group-head{flex-wrap:wrap;gap:10px 12px;padding:12px 16px}.avatar{width:32px;height:32px}.group-total{text-align:left;flex-basis:100%;justify-items:start;padding-left:44px}.entry{grid-template-columns:18px minmax(0,1fr) auto;grid-template-areas:"check date amount""check desc details";gap:4px 12px;padding:10px 16px}.entry>.cardholder{display:none}.entry>.desc{white-space:normal;overflow-wrap:anywhere}.entry>.num{white-space:normal;text-align:right}.review{padding-bottom:240px}.dock{z-index:10;max-height:60vh;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card) var(--radius-card) 0 0;position:fixed;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -4px 16px #0000001f}.dock:not(:has(.picker,.banner)){display:none}.banner{padding:14px;box-shadow:0 2px 8px #0000001a}.banner .actions button{flex:1}.legend{display:none}.entry-panel{width:auto;left:16px;right:16px}}.settings-panel{position:relative;overflow-x:auto}.settings-panel>:first-child{margin-top:0}.settings-panel table{min-width:100%}.settings-panel tbody tr:last-child td{border-bottom:0}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root{--bg:#f7f5f0;--surface:#fff;--surface-sunk:#f0ece3;--border:#e6e2d8;--border-strong:#d9d4c7;--divider:#f0ece3;--text:#1f2328;--text-2:#3d4248;--muted:#5f6368;--control:#b9b3a6;--accent:#1f6f5c;--accent-hover:#164f42;--accent-soft:#e3efeb;--accent-text:#fff;--focus:#1f6f5c;--selected:#eef5f2;--danger:#b42318;--ok:#176c30;--shadow:0 1px 2px #1f23280a;--tint-1:#e8efe0;--tint-2:#f3e6d8;--tint-3:#dfe7f3;--tint-4:#f1e3ea;--tint-5:#e6e3f3;--tint-6:#f1ead3;--radius:10px;--radius-card:16px;--card-pad:20px;--gap:12px;--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;font-family:var(--font-sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-size:15px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#151714;--surface:#1d201c;--surface-sunk:#232722;--border:#2e322c;--border-strong:#3a3f38;--divider:#262a25;--text:#ecebe6;--text-2:#c9cbc4;--muted:#a2a69e;--control:#5d625a;--accent:#6fbfa4;--accent-hover:#8fd0b9;--accent-soft:#1f3a32;--accent-text:#10201b;--focus:#6fbfa4;--selected:#20352e;--danger:#ff7b6e;--ok:#5cc98a;--shadow:0 1px 2px #0000004d;--tint-1:#2a3326;--tint-2:#3a2f25;--tint-3:#26303d;--tint-4:#382a33;--tint-5:#2e2b3c;--tint-6:#36321f}}@media (width<=640px){:root{--card-pad:16px}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0}h1{letter-spacing:-.02em;margin:0 0 16px;font-size:28px;font-weight:600;line-height:1.2}h2{font-size:18px;font-weight:600;line-height:1.3}a{color:var(--accent)}a:hover{color:var(--accent-hover)}button,input,select,textarea{font:inherit;color:inherit}button{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;min-height:44px;padding:10px 16px;font-weight:500}button:hover:not(:disabled){border-color:var(--control)}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.link{min-height:0;color:var(--accent);font-weight:inherit;background:0 0;border:0;border-radius:4px;padding:0}button.danger{border-color:var(--danger);color:var(--danger)}button:disabled{opacity:.6;cursor:default}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input,select{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);padding:8px 12px}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}code,kbd{font-family:var(--font-mono)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:var(--card-pad)}.narrow{max-width:520px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.error{color:var(--danger)}.ok{color:var(--ok)}.muted{color:var(--muted)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--divider);text-align:left;padding:10px 12px}th{color:var(--muted);font-weight:500}form{gap:8px;display:grid}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;margin-bottom:16px;padding:4px;display:flex}.tabs [role=tab]{color:var(--text-2);background:0 0;border:0;border-radius:8px}.tabs [role=tab][data-state=active]{background:var(--accent-soft);color:var(--text);font-weight:600}.auth{gap:16px;max-width:420px;margin:15vh auto;padding:0 16px;display:grid}.range{margin:8px 0 16px}.drill{gap:4px;margin:4px 0;padding:0;list-style:none;display:grid}.error-banner{justify-content:space-between;align-items:baseline}.error-banner p,.inline-error{margin:0}.inline-error{padding:6px 12px}.shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);grid-template-rows:auto auto 1fr;grid-template-areas:"brand""nav""who";align-content:start;height:100vh;padding:28px 16px;display:grid;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.01em;grid-area:brand;padding:0 12px 20px;font-size:18px;font-weight:600}.sidebar nav{grid-area:nav}.nav-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.nav-item{border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:8px;padding:10px 12px;display:grid;position:relative}.nav-item>a{color:var(--text-2);grid-column:1;text-decoration:none}.nav-item>a:after{content:"";border-radius:inherit;position:absolute;inset:0}.nav-item>a:focus-visible{outline:none}.nav-item:has(>a:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.nav-item:hover{background:var(--surface-sunk)}.nav-item:has(>a[aria-current=page]){background:var(--accent-soft)}.nav-item>a[aria-current=page]{color:var(--text);font-weight:600}.nav-count{font-family:var(--font-mono);color:var(--muted);pointer-events:none;grid-area:1/2;font-size:13px}.nav-item:has(>a[aria-current=page]) .nav-count{color:var(--accent)}.nav-sub{color:var(--muted);pointer-events:none;grid-column:1/-1;font-size:12px}.who{color:var(--muted);flex-wrap:wrap;grid-area:who;align-self:end;align-items:center;gap:4px 12px;padding:12px;font-size:14px;display:flex}.content{min-width:0;padding:32px 40px 48px}.content>main{max-width:1000px}@media (width<=640px){.shell{grid-template-columns:minmax(0,1fr);min-height:0}.sidebar{border-right:0;border-bottom:1px solid var(--border);background:var(--bg);grid-template-rows:none;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand who""nav nav";gap:4px 12px;height:auto;padding:12px 16px 0;position:static;overflow:visible}.brand,.who{align-self:center;padding:0}.nav-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.nav-item{text-align:center;border-bottom:2px solid #0000;border-radius:0;grid-template-columns:minmax(0,1fr);justify-items:center;padding:10px 2px}.nav-item>a{overflow-wrap:anywhere}.nav-item:has(>a[aria-current=page]){border-bottom-color:var(--accent);background:0 0}.nav-count{grid-area:2/1;font-size:12px}.nav-sub{display:none}.content{padding:16px 16px 48px}}
