@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;max-width:100%;display:inline-block;position:relative}.ReactCrop *,.ReactCrop :before,.ReactCrop :after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{max-width:100%;max-height:inherit;display:block}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px);position:absolute;inset:0}.ReactCrop__crop-selection{cursor:move;position:absolute;top:0;left:0;transform:translate(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";border:1px solid var(--rc-border-color);opacity:.3;position:absolute;inset:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){color:#fff;background-image:linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;animation:1s linear infinite marching-ants}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";background-color:#fff6;display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6667%}.ReactCrop__drag-handle{width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color);position:absolute}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;top:0;left:0;transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;top:0;left:50%;transform:translate(-50%,-50%)}.ReactCrop .ord-ne{cursor:ne-resize;top:0;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-se{cursor:se-resize;bottom:0;right:0;transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;bottom:0;left:50%;transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;bottom:0;left:0;transform:translate(-50%,50%)}.ReactCrop .ord-w{cursor:w-resize;top:50%;left:0;transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{width:100%;height:var(--rc-drag-bar-size);top:0;left:0;transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{width:var(--rc-drag-bar-size);height:100%;top:0;right:0;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{width:100%;height:var(--rc-drag-bar-size);bottom:0;left:0;transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{width:var(--rc-drag-bar-size);height:100%;top:0;left:0;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}
:root{--ink:#17352f;--muted:#6d7772;--paper:#f2efe7;--surface:#fffdf8;--line:#d8d2c6;--orange:#e45b3e;--yellow:#f0c75e;--shadow:0 24px 60px #17352f1a}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;margin:0}body{color:var(--ink);font-family:DM Sans,system-ui,sans-serif}button,input{font:inherit}button,label{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.58}img{max-width:100%;display:block}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.center{place-items:center;min-height:100vh;display:grid}.spinner{border:3px solid #d5d0c5;border-top-color:var(--orange);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.eyebrow{color:#b6442d;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font:500 11px DM Mono,monospace}.eyebrow.light{color:var(--yellow)}.brand-mark{color:#f7ebcd;background:var(--ink);border-radius:11px 11px 11px 3px;place-items:center;width:34px;height:34px;font:700 18px Georgia,serif;display:grid}.brand-mark.large{border-radius:18px 18px 18px 5px;width:58px;height:58px;margin:0 auto 26px;font-size:28px}.login-page{background:var(--ink);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{text-align:center;background:var(--surface);border-radius:6px 48px;width:min(540px,100%);padding:50px;box-shadow:0 35px 100px #00000047}.login-card h1{letter-spacing:-.06em;margin:10px 0 18px;font-size:clamp(42px,8vw,60px);line-height:.95}.login-card>p:not(.eyebrow):not(.message){color:var(--muted);line-height:1.65}.login-card small{color:var(--muted);margin-top:12px;display:block}.login-button{color:#fff;background:var(--orange);cursor:pointer;border:0;border-radius:8px 18px;width:100%;min-height:54px;margin-top:22px;font-weight:700}.topbar{z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f2efe7e6;border-bottom:1px solid #17352f1f;justify-content:space-between;align-items:center;height:72px;padding:0 max(24px,50vw - 560px);display:flex;position:sticky;top:0}.brand{letter-spacing:-.04em;align-items:center;gap:10px;font-size:20px;font-weight:700;display:flex}.text-button,.delete-button,.danger-button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.text-button:hover{color:var(--orange)}.page{width:min(1120px,100% - 40px);margin:0 auto;padding:64px 0 100px}.settings-button{min-height:38px;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:700;display:flex}.settings-button:hover{color:var(--orange);border-color:#c9b5a9}.upload-card{color:#f8f2e5;background:var(--ink);min-height:250px;box-shadow:var(--shadow);border-radius:6px 44px;grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:end;gap:42px;padding:40px;display:grid;position:relative;overflow:hidden}.upload-card:after{content:"";border:40px solid #f0c75e21;border-radius:50%;width:220px;height:220px;position:absolute;top:-80px;right:-55px}.upload-copy{z-index:1;max-width:610px;position:relative}.upload-copy h1{letter-spacing:-.055em;margin:0 0 12px;font-size:clamp(36px,5vw,58px);line-height:.98}.upload-copy>p:last-child{color:#f8f2e5a6;line-height:1.55}.upload-actions{z-index:2;flex-direction:column;gap:10px;display:flex;position:relative}.upload-button{min-height:62px;color:var(--ink);background:var(--yellow);cursor:pointer;border-radius:5px 18px;justify-content:center;align-items:center;gap:11px;font-weight:700;transition:transform .2s;display:flex}.upload-button:hover{transform:translateY(-2px)}.upload-button.disabled,.upload-secondary.disabled{opacity:.7;pointer-events:none}.upload-button span{border:2px solid var(--ink);border-radius:7px;place-items:center;width:25px;height:25px;display:grid}.upload-secondary{color:#f8f2e5d1;cursor:pointer;border:1px solid #f8f2e53d;border-radius:8px 14px;place-items:center;min-height:44px;font-size:13px;font-weight:700;display:grid}.upload-secondary:hover{color:#fff;border-color:#f8f2e580}.progress{background:#ffffff26;height:3px;position:absolute;bottom:18px;left:40px;right:40px}.progress span{background:var(--yellow);height:100%;transition:width .2s;display:block}.email-receipt-card{color:#f8f2e5;background:#285442;border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:center;gap:30px;margin-bottom:18px;padding:28px 34px;display:grid}.email-receipt-card h2{letter-spacing:-.04em;margin:0 0 8px;font-size:clamp(24px,3vw,32px)}.email-receipt-card p:last-child{color:#f8f2e5b3;margin:0;line-height:1.5}.email-receipt-card>button{min-width:0;min-height:56px;color:var(--ink);background:var(--surface);cursor:pointer;border:0;border-radius:8px 16px;justify-content:space-between;align-items:center;gap:15px;padding:0 18px;display:flex}.email-receipt-card>button span{text-overflow:ellipsis;font:500 13px DM Mono,monospace;overflow:hidden}.email-receipt-card>button strong{color:var(--orange);font-size:12px}.settings-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f1f1b9e;justify-content:flex-end;padding-left:24px;display:flex;position:fixed;inset:0}.settings-drawer{background:var(--paper);width:min(680px,100%);height:100%;padding:28px;overflow-y:auto;box-shadow:-28px 0 80px #0000003d}.settings-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.settings-heading h2{letter-spacing:-.05em;margin:0;font-size:38px}.settings-email{background:var(--surface);border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:18px 20px;display:flex}.settings-email>div{flex-direction:column;gap:3px;min-width:0;display:flex}.settings-email span{color:var(--muted);text-overflow:ellipsis;font:500 12px DM Mono,monospace;overflow:hidden}.settings-signout{color:#b44832;cursor:pointer;background:0 0;border:1px solid #d9b8af;border-radius:10px;width:100%;min-height:46px;margin-top:14px;font-weight:700}.freeagent-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:18px;padding:28px 34px;box-shadow:0 10px 35px #17352f0d}.freeagent-card.connected{border-color:#b8cfbe}.freeagent-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.freeagent-heading h2{letter-spacing:-.04em;margin:0 0 8px;font-size:clamp(25px,3vw,34px)}.freeagent-heading p:last-child{max-width:680px;color:var(--muted);margin:0;line-height:1.5}.connection-pill{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#ece8df;border-radius:999px;flex:none;padding:6px 9px;font:500 9px DM Mono,monospace}.connection-pill.connected{color:#285442;background:#dce9dc}.freeagent-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 0;padding:16px 0;display:grid}.freeagent-details div{min-width:0}.freeagent-details dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font:500 9px DM Mono,monospace}.freeagent-details dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.freeagent-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;display:flex}.freeagent-actions .delete-button{margin-left:6px}.freeagent-banking-loading{color:var(--muted);border-top:1px solid var(--line);margin:22px 0 0;padding:20px 0 0}.freeagent-banking{border-top:1px solid var(--line);margin-top:22px;padding-top:24px}.freeagent-banking.compact{padding-top:18px}.banking-summary{justify-content:space-between;align-items:center;gap:22px;display:flex}.banking-summary h3{letter-spacing:-.03em;margin:0 0 4px;font-size:19px}.banking-summary p:last-child{color:var(--muted);margin:0;font-size:11px}.banking-summary-actions{flex:none;gap:8px;display:flex}.banking-summary-actions button{min-height:40px;padding:0 14px}.freeagent-banking-heading,.transaction-browser-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.freeagent-banking-heading-actions{align-items:center;gap:12px;display:flex}.freeagent-banking-heading-actions .text-button{font-size:11px}.freeagent-banking-heading h3,.transaction-browser-heading h3{letter-spacing:-.035em;margin:0 0 6px;font-size:23px}.freeagent-banking-heading p:last-child{max-width:650px;color:var(--muted);margin:0;font-size:13px;line-height:1.5}.bank-account-picker{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 0;padding:0;display:grid}.bank-account-picker label{border:1px solid var(--line);cursor:pointer;background:#f4f1ea;border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:13px 14px;display:grid}.bank-account-picker label.selected{background:#edf4ed;border-color:#a9c5af}.bank-account-picker input{accent-color:#285442;width:17px;height:17px}.bank-account-picker span{flex-direction:column;min-width:0;display:flex}.bank-account-picker strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.bank-account-picker small{color:var(--muted);margin-top:3px;font-size:10px}.bank-account-picker b{color:var(--muted);font:500 10px DM Mono,monospace}.bank-account-note{color:var(--muted);margin:10px 0 0;font-size:11px}.banking-actions{justify-content:flex-end;align-items:center;gap:9px;margin-top:16px;display:flex}.banking-actions>span{color:var(--muted);margin-right:auto;font-size:11px}.banking-actions button{min-height:42px;padding:0 15px}.transaction-browser{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.transaction-browser-heading{align-items:center}.transaction-browser-heading h3{margin-bottom:0}.transaction-filters{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:8px;margin:16px 0;display:grid}.transaction-filters label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font:500 8px DM Mono,monospace}.transaction-filters select,.transaction-filters input{width:100%;min-height:39px;color:var(--ink);border:1px solid var(--line);font:inherit;text-transform:none;background:#fff;border-radius:7px;margin-top:5px;padding:0 9px;font-size:11px;display:block}.transaction-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.transaction-list article{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:13px 15px;display:grid}.transaction-list article:last-child{border-bottom:0}.transaction-list article>div:first-child{flex-direction:column;min-width:0;display:flex}.transaction-list article>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.transaction-list article small{color:var(--muted);margin-top:4px;font-size:10px}.transaction-amount{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.transaction-amount>strong{font:500 12px DM Mono,monospace}.transaction-status{color:#285442;letter-spacing:.06em;text-transform:uppercase;font:500 8px DM Mono,monospace}.transaction-status.unexplained{color:#a5522f}.transaction-empty{color:var(--muted);text-align:center;background:#f4f1ea;border-radius:10px;margin:0;padding:30px 18px;font-size:12px}.out-of-pocket-note{color:#f8f2e5;background:#285442;border-radius:9px 16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;margin-top:18px;padding:16px;display:grid}.out-of-pocket-note>span{width:34px;height:34px;color:var(--ink);background:var(--yellow);border-radius:50%;place-items:center;font-size:17px;display:grid}.out-of-pocket-note strong{font-size:13px}.out-of-pocket-note p{color:#f8f2e5b8;margin:4px 0 0;font-size:11px;line-height:1.45}.out-of-pocket-note em{color:#285442;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#dce9dc;border-radius:999px;padding:5px 7px;font:500 8px DM Mono,monospace}.message{color:#285442;background:#dce9dc;border:1px solid #bed3c1;border-radius:9px;margin:18px 0 0;padding:12px 15px}.message.error{color:#7e2c1c;background:#f5dcd5;border-color:#e5b7aa}.library{margin-top:34px}.library-heading{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.library-heading h2{letter-spacing:-.045em;margin:0;font-size:32px}.count{background:#dfdbd1;border-radius:999px;place-items:center;min-width:34px;height:34px;padding:0 10px;font:500 12px DM Mono,monospace;display:grid}.receipt-filters{gap:8px;margin:0 0 20px;padding-bottom:5px;display:flex;overflow-x:auto}.receipt-filters button{min-height:38px;color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;flex:none;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:700;display:flex}.receipt-filters button.active{color:#f8f2e5;background:var(--ink);border-color:var(--ink)}.receipt-filters button span{min-width:19px;height:19px;color:inherit;background:#6d777221;border-radius:999px;place-items:center;padding:0 5px;font:500 9px DM Mono,monospace;display:grid}.receipt-filters button.active span{background:#ffffff24}.receipt-filters .all-receipts{color:var(--muted);text-underline-offset:4px;border-color:#0000;margin-left:auto;-webkit-text-decoration:underline #6d777259;text-decoration:underline #6d777259}.receipt-filters .all-receipts:hover{color:var(--ink)}.loading{place-items:center;min-height:200px;display:grid}.empty{text-align:center;border:1px dashed #c8c1b5;border-radius:18px;padding:75px 24px}.empty span{color:var(--orange);font:12px DM Mono,monospace}.empty h3{margin:12px 0 7px;font-size:26px}.empty p{color:var(--muted);margin:0}.receipt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.receipt-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 10px 35px #17352f0d}.receipt-preview{width:100%;height:240px;color:var(--muted);cursor:zoom-in;background:#e1ddd3;border:0;place-items:center;padding:0;display:grid;overflow:hidden}.receipt-preview img{object-fit:cover;width:100%;height:100%}.receipt-preview span{font-size:13px}.receipt-info{flex-direction:column;gap:6px;min-width:0;padding:16px 16px 10px;display:flex}.receipt-info strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.receipt-info small{color:var(--muted)}.status-pill{color:#6b5640;letter-spacing:.08em;text-transform:uppercase;background:#ece3d0;border-radius:999px;align-self:flex-start;padding:4px 7px;font:500 9px DM Mono,monospace}.status-pill.verified{color:#285442;background:#dce9dc}.status-pill.needs_review,.status-pill.ready_to_verify{color:#7e4625;background:#f8e8d1}.status-pill.ready_to_match{color:#285442;background:#dce9dc}.status-pill.proposed{color:#345b75;background:#dce9ef}.status-pill.sent{color:#285442;background:#d4e8d8}.status-pill.extracting{color:#345b75;background:#dce9ef}.status-pill.problems{color:#8b2f21;background:#f5dcd5}.receipt-values{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;margin:5px 0 3px;padding:12px 0;display:grid}.receipt-values div{min-width:0}.receipt-values .receipt-value-date{grid-column:span 2}.receipt-values .receipt-value-description,.receipt-values .receipt-value-gbp{grid-column:1/-1}.receipt-values .receipt-value-description dd{font-family:inherit}.receipt-values dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font:500 8px DM Mono,monospace}.receipt-values dd{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font:500 12px DM Mono,monospace;overflow:hidden}.email-origin{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.match-summary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:#345b75!important}.receipt-card-actions{justify-content:space-between;align-items:center;gap:10px;padding:4px 16px 16px;display:flex}.receipt-card-actions .delete-button{padding:0}.background-note{color:var(--muted);font-size:11px}.delete-button{color:#b44832;font-size:12px}.review-button{min-height:34px;color:var(--ink);background:var(--yellow);cursor:pointer;border:0;border-radius:6px 11px;padding:0 12px;font-size:12px;font-weight:700}.pdf-placeholder{flex-direction:column;align-items:center;gap:8px;display:flex}.pdf-placeholder strong{color:#fff;background:var(--orange);border-radius:4px 12px 4px 4px;place-items:center;width:52px;height:62px;font:700 12px DM Mono,monospace;display:grid}.viewer-backdrop{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f1f1bc7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.viewer{background:var(--surface);border-radius:16px;grid-template-rows:auto minmax(0,1fr) auto;width:min(900px,100%);height:min(880px,100%);display:grid;overflow:hidden;box-shadow:0 40px 110px #0006}.viewer-bar,.viewer-footer{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:17px 20px;display:flex}.viewer-bar strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viewer-image{min-height:0;color:var(--muted);background:#dedad0;place-items:center;padding:24px;display:grid;overflow:auto}.viewer-image img{object-fit:contain;max-width:100%;max-height:100%;box-shadow:0 15px 45px #0000002e}.viewer-pdf{background:#fff;border:0;width:100%;height:100%;min-height:500px}.verification-image .viewer-pdf,.matching-image .viewer-pdf{min-height:100%}.viewer-footer{border-top:1px solid var(--line);color:var(--muted);border-bottom:0;font-size:13px}.danger-button{color:#b44832}.viewer-controls{align-items:center;gap:18px;display:flex}.review-backdrop{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1f1be0;place-items:center;padding:22px;display:grid;position:fixed;inset:0;overflow:auto}.review-dialog{background:var(--surface);border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;width:min(1120px,100%);max-height:min(920px,100vh - 44px);display:grid;overflow:hidden;box-shadow:0 40px 120px #0000007a}.document-review-dialog{width:min(980px,100%)}.document-review-workspace{grid-template-columns:minmax(0,1fr) 300px;min-height:0;display:grid;overflow:hidden}.document-page{background:#d9d5ca;place-items:center;min-width:0;min-height:520px;padding:22px;display:grid;overflow:auto}.document-page[aria-busy=true]{opacity:.72}.document-page img{width:auto;max-height:650px;box-shadow:0 15px 45px #00000029}.document-review-summary{border-left:1px solid var(--line);padding:30px;overflow:auto}.document-review-summary h3{letter-spacing:-.035em;margin:0 0 12px;font-size:24px}.document-review-summary>p:not(.eyebrow){color:var(--muted);line-height:1.55}.review-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 26px;display:flex}.review-header h2{letter-spacing:-.045em;margin:0;font-size:clamp(25px,4vw,34px)}.review-header>div>p:last-child{overflow-wrap:anywhere;color:var(--muted);margin:7px 0 0;font-size:12px}.crop-workspace,.review-result{grid-template-columns:minmax(0,1fr) 300px;min-height:0;display:grid;overflow:hidden}.crop-stage,.processed-preview{background:#d9d5ca;place-items:center;min-width:0;min-height:420px;padding:22px;display:grid;overflow:auto}.crop-stage[aria-busy=true]{opacity:.7}.crop-stage .ReactCrop,.crop-stage .ReactCrop__child-wrapper{max-height:590px}.crop-stage .ReactCrop__child-wrapper img{width:auto;max-height:590px}.crop-stage .ReactCrop__crop-selection{--rc-border-color:#f0c75e;--rc-focus-color:#e45b3e}.review-loading{color:var(--muted);flex-direction:column;align-items:center;gap:15px;display:flex}.crop-help,.quality-panel{border-left:1px solid var(--line);padding:30px;overflow:auto}.crop-help h3,.quality-panel h3{letter-spacing:-.035em;margin:0 0 12px;font-size:24px}.crop-help>p:not(.eyebrow),.quality-panel>p:not(.eyebrow){color:var(--muted);line-height:1.55}.rotate-controls{grid-template-columns:1fr 1fr;gap:8px;margin-top:24px;display:grid}.rotate-controls button,.reset-crop-button{min-height:44px;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#ece8df;border-radius:8px;padding:9px;font-weight:700}.reset-crop-button{background:0 0;width:100%;margin-top:8px}.page-controls{background:#ece8df;border-radius:10px;margin-top:22px;padding:14px}.page-controls>label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px;font:500 10px DM Mono,monospace;display:block}.page-controls>div{grid-template-columns:38px minmax(0,1fr) 38px;gap:6px;display:grid}.page-controls button,.page-controls select{min-width:0;min-height:40px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:7px;font-weight:700}.page-controls select{padding:0 8px}.review-result{grid-template-columns:minmax(0,1fr) 360px}.processed-preview img{object-fit:contain;max-width:100%;max-height:590px;box-shadow:0 16px 48px #0003}.quality-warnings{margin:20px 0;padding:0;list-style:none}.quality-warnings li{color:#7e4625;background:#f8e8d1;border-radius:8px;margin:0 0 9px;padding:11px 12px 11px 35px;font-size:13px;line-height:1.4;position:relative}.quality-warnings li:before{content:"!";font:700 13px DM Mono,monospace;position:absolute;top:10px;left:13px}.image-facts{margin:24px 0 0}.image-facts div{border-top:1px solid var(--line);justify-content:space-between;gap:14px;padding:10px 0;font-size:12px;display:flex}.image-facts dt{color:var(--muted)}.image-facts dd{margin:0;font-family:DM Mono,monospace}.review-message{border-width:1px 0 0;border-radius:0;margin:0}.review-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:16px 26px;display:flex}.primary-button,.secondary-button{cursor:pointer;border-radius:7px 14px;min-height:48px;padding:0 22px;font-weight:700}.primary-button{color:var(--ink);background:var(--yellow);border:0}.secondary-button{color:var(--ink);border:1px solid var(--line);background:0 0}.verification-backdrop{z-index:45;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1f1be0;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.verification-dialog{background:var(--surface);border-radius:18px;grid-template-rows:auto minmax(0,1fr);width:min(1120px,100%);max-height:min(920px,100vh - 44px);display:grid;overflow:hidden;box-shadow:0 40px 120px #0000007a}.verification-workspace{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);min-height:0;display:grid;overflow:hidden}.verification-image{min-width:0;min-height:560px;color:var(--muted);background:#d9d5ca;place-items:center;padding:24px;display:grid;overflow:auto}.verification-image img{object-fit:contain;max-width:100%;max-height:680px;box-shadow:0 16px 48px #0003}.verification-form{border-left:1px solid var(--line);padding:28px;overflow:auto}.verification-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.verification-field{margin-bottom:14px;display:block}.verification-field>span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;margin:0 0 7px;font:500 10px DM Mono,monospace;display:flex}.verification-field em{color:#7e4625;background:#f8e8d1;border-radius:999px;padding:3px 6px;font-size:8px;font-style:normal}.verification-field input{width:100%;min-height:46px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;padding:0 12px}.verification-field input:focus{border-color:#6e8f82;box-shadow:0 0 0 3px #2854421f}.verification-field.uncertain input{background:#fffaf1;border-color:#d8a875}.extraction-warnings{color:#7e4625;background:#f8e8d1;border-radius:9px;margin:8px 0 14px;padding:13px 15px;font-size:12px;line-height:1.45}.extraction-warnings ul{margin:7px 0 0;padding-left:18px}.extraction-meta{color:var(--muted);margin:14px 0;font-size:11px;line-height:1.5}.foreign-settlement-note{color:var(--muted);margin:-5px 0 16px;font-size:11px;line-height:1.5}.foreign-match-assist{background:#edf4ed;border:1px solid #c9d8cc;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin:-3px 0 14px;padding:13px 14px;display:flex}.foreign-match-assist strong{font-size:12px}.foreign-match-assist p{color:var(--muted);margin:3px 0 0;font-size:10px;line-height:1.45}.foreign-match-assist button{flex:none;min-height:40px;padding:0 14px;font-size:11px}.foreign-suggestions{background:#f0ede6;border-radius:10px;margin:0 0 15px;padding:13px}.foreign-suggestions-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.foreign-suggestions-heading strong{font-size:12px}.foreign-suggestions-heading small{color:var(--muted);font-size:8px}.foreign-suggestion-list{gap:7px;margin-top:10px;display:grid}.foreign-suggestion-list>button{width:100%;color:var(--ink);text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.foreign-suggestion-list>button.selected{background:#edf4ed;border-color:#8fb09a;box-shadow:0 0 0 2px #28544214}.foreign-suggestion-list>button>span{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.foreign-suggestion-list>button>span:last-child{align-items:flex-end;gap:6px}.foreign-suggestion-list strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.foreign-suggestion-list small{color:var(--muted);margin-top:3px;font-size:8px}.foreign-suggestion-list span:first-child>em{color:#4e625a;text-transform:uppercase;margin-top:7px;font:500 7px/1.45 DM Mono,monospace}.foreign-suggestions>p{color:var(--muted);margin:10px 0 0;font-size:10px;line-height:1.5}.foreign-suggestions .foreign-selection-confirmed{color:#285442;font-weight:700}.verification-actions{justify-content:flex-end;gap:9px;margin-top:18px;display:flex}.matching-backdrop{z-index:46;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1f1be6;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.matching-dialog{background:var(--surface);border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;width:min(1180px,100%);max-height:min(940px,100vh - 44px);display:grid;overflow:hidden;box-shadow:0 40px 120px #00000080}.matching-workspace{grid-template-columns:minmax(300px,.72fr) minmax(500px,1.28fr);min-height:0;display:grid;overflow:hidden}.matching-receipt{border-right:1px solid var(--line);background:#d9d5ca;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.matching-image{min-height:300px;color:var(--muted);place-items:center;padding:20px;display:grid;overflow:auto}.matching-image img{object-fit:contain;max-width:100%;max-height:520px;box-shadow:0 16px 48px #0000002e}.matching-receipt-summary{background:var(--surface);border-top:1px solid var(--line);padding:21px 24px}.matching-receipt-summary h3{letter-spacing:-.035em;margin:0;font-size:23px}.matching-receipt-summary>p:not(.eyebrow){color:var(--muted);margin:5px 0 14px;font-size:12px}.matching-receipt-summary dl{grid-template-columns:1fr 1fr;gap:9px 16px;margin:0;display:grid}.matching-receipt-summary dl div{min-width:0}.matching-receipt-summary dt,.expense-preview dt{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font:500 8px DM Mono,monospace}.matching-receipt-summary dd{text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font:500 11px DM Mono,monospace;overflow:hidden}.matching-panel{min-width:0;padding:25px 28px 32px;overflow:auto}.matching-loading{min-height:350px;color:var(--muted);align-content:center;place-items:center;display:grid}.proposal-existing{color:#345b75;background:#dce9ef;border-radius:8px;margin:0 0 15px;padding:10px 12px;font-size:11px;line-height:1.45}.attachment-loading{color:var(--muted);margin:0 0 15px;font-size:11px}.attachment-panel{background:#fffaf0;border:1px solid #dfc98f;border-radius:13px;margin:0 0 20px;padding:20px;box-shadow:0 9px 28px #49371212}.attachment-panel.sent{background:#edf4ed;border-color:#a9c2af}.attachment-panel.blocked{background:#f8e8e1;border-color:#dfb9aa}.attachment-panel-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.attachment-panel-heading h3{letter-spacing:-.04em;margin:0;font-size:24px}.attachment-panel-heading>span{color:#5b4b23;letter-spacing:.04em;text-transform:uppercase;background:#f2dda1;border-radius:999px;flex:none;padding:6px 9px;font:600 8px DM Mono,monospace}.attachment-panel.sent .attachment-panel-heading>span{color:#fff;background:#285442;place-items:center;width:30px;height:30px;padding:0;font-size:14px;display:grid}.attachment-preview-values{border-top:1px solid #5c4b262e;grid-template-columns:1fr 1fr;gap:0;margin:17px 0 0;display:grid}.attachment-preview-values div{border-bottom:1px solid #5c4b261f;min-width:0;padding:10px 10px 8px 0}.attachment-preview-values dt{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font:500 8px DM Mono,monospace}.attachment-preview-values dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:11px}.attachment-assurance{color:var(--muted);margin:14px 0 0;font-size:10px;line-height:1.55}.attachment-blockers{color:#843d2d;background:#ffffff85;border-radius:8px;margin:14px 0 0;padding:12px 12px 12px 29px;font-size:11px;line-height:1.5}.attachment-confirm-button{color:#17352f;background:var(--yellow);cursor:pointer;border:0;border-radius:9px;width:100%;min-height:46px;margin-top:16px;font-weight:800}.attachment-confirm-button:disabled{cursor:wait;opacity:.65}.matching-modes{background:#e8e4da;border-radius:10px;grid-template-columns:1fr 1.25fr 1fr;gap:6px;padding:5px;display:grid}.matching-modes button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:700}.matching-modes button.active{color:var(--ink);background:var(--surface);box-shadow:0 2px 9px #17352f17}.match-choice-panel{margin-top:25px}.match-choice-panel>h3,.matching-section-heading h3{letter-spacing:-.04em;margin:0;font-size:25px}.matching-section-heading{justify-content:space-between;align-items:end;gap:18px;display:flex}.matching-section-heading small{color:var(--muted);white-space:nowrap;font-size:9px}.match-candidates{gap:8px;margin-top:15px;display:grid}.match-candidate{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:13px 14px;display:grid}.match-candidate.selected{background:#edf4ed;border-color:#8fb09a;box-shadow:0 0 0 2px #28544214}.match-candidate input{accent-color:#285442;width:17px;height:17px}.candidate-main,.candidate-value{flex-direction:column;min-width:0;display:flex}.candidate-main>strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.candidate-main>small{color:var(--muted);margin-top:3px;font-size:9px}.candidate-reasons{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.candidate-reasons em{color:#4e625a;letter-spacing:.03em;text-transform:uppercase;background:#ecefe9;border-radius:999px;padding:3px 5px;font:500 7px DM Mono,monospace}.candidate-value{align-items:flex-end;gap:6px}.candidate-value>strong{white-space:nowrap;font:500 12px DM Mono,monospace}.match-confidence{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:3px 5px;font:500 7px DM Mono,monospace}.match-confidence.high{color:#285442;background:#dce9dc}.match-confidence.medium{color:#7e4625;background:#f8e8d1}.match-confidence.low{color:#6b6160;background:#e9e4e1}.match-candidate.compact{padding:10px 12px}.choose-another{width:100%;min-height:42px;color:var(--ink);cursor:pointer;background:0 0;border:1px dashed #bcb5a9;border-radius:8px;margin-top:12px;font-weight:700}.manual-transactions{background:#f0ede6;border-radius:10px;margin-top:12px;padding:14px}.manual-transactions>label,.category-picker{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font:500 9px DM Mono,monospace;display:block}.manual-transactions input,.category-picker select{width:100%;min-height:43px;color:var(--ink);border:1px solid var(--line);font:inherit;text-transform:none;background:#fff;border-radius:8px;margin-top:6px;padding:0 11px;font-size:11px;display:block}.matching-empty,.matching-explanation{color:var(--muted);font-size:12px;line-height:1.5}.category-picker{margin-top:20px}.expense-preview{border:1px solid var(--line);background:#fff;border-radius:10px;margin:20px 0 0;overflow:hidden}.expense-preview div{border-bottom:1px solid var(--line);grid-template-columns:135px minmax(0,1fr);gap:16px;padding:10px 13px;display:grid}.expense-preview div:last-child{border-bottom:0}.expense-preview dd{overflow-wrap:anywhere;margin:0;font-size:11px}.unmatched-panel{text-align:center;background:#f0ede6;border-radius:12px;padding:55px 25px}.unmatched-panel>span{width:44px;height:44px;color:var(--muted);background:#fff;border-radius:50%;place-items:center;margin:0 auto 14px;font:16px DM Mono,monospace;display:grid}.unmatched-panel p{max-width:440px;color:var(--muted);margin:9px auto 0;font-size:12px;line-height:1.55}.matching-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;padding:15px 22px;display:flex}.matching-actions p{color:var(--muted);margin:0 auto 0 0;font-size:10px}.matching-actions button{min-height:44px}@media (max-width:800px){.topbar{height:66px;padding:0 18px}.page{width:min(100% - 28px,620px);padding:14px 0 80px}.settings-button{min-width:40px;padding:0 10px;font-size:0}.settings-button span{font-size:16px}.upload-card{border-radius:5px 34px;grid-template-columns:1fr;align-items:stretch;gap:22px;min-height:0;padding:28px}.upload-copy h1{font-size:clamp(38px,12vw,56px)}.upload-copy>p:last-child{margin-bottom:0}.upload-button{min-height:64px}.email-receipt-card{grid-template-columns:1fr;padding:26px}.settings-backdrop{background:var(--paper);padding:0;display:block}.settings-drawer{width:100%;padding:22px 16px max(22px, env(safe-area-inset-bottom));box-shadow:none}.settings-heading{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f2efe7f0;margin:-22px -16px 20px;padding:20px 18px 14px;position:sticky;top:-22px}.settings-email{padding:16px}.freeagent-card{padding:26px}.freeagent-heading{flex-direction:column}.freeagent-details{grid-template-columns:1fr}.freeagent-actions{flex-direction:column;align-items:stretch}.freeagent-actions .delete-button{min-height:40px;margin-left:0}.bank-account-picker{grid-template-columns:1fr}.banking-summary{flex-direction:column;align-items:stretch}.banking-summary-actions{grid-template-columns:1fr 1fr;display:grid}.banking-actions{flex-direction:column;align-items:stretch}.banking-actions>span{margin:0 0 3px}.transaction-filters{grid-template-columns:1fr 1fr}.out-of-pocket-note{grid-template-columns:auto minmax(0,1fr)}.out-of-pocket-note em{display:none}.progress{bottom:14px;left:28px;right:28px}.library{margin-top:30px}.receipt-filters .all-receipts{margin-left:12px}.receipt-grid{grid-template-columns:1fr 1fr;gap:12px}.receipt-preview{height:190px}.login-card{padding:38px 25px}.viewer-backdrop{padding:10px}.viewer-footer{flex-direction:column;align-items:flex-start}.review-backdrop{background:var(--surface);padding:0;display:block}.review-dialog{width:100%;min-height:100vh;max-height:none;box-shadow:none;border-radius:0}.document-review-workspace{grid-template-columns:1fr;overflow:visible}.document-page{min-height:58vh;max-height:65vh;padding:14px}.document-page img{max-height:calc(65vh - 28px)}.document-review-summary{border-top:1px solid var(--line);border-left:0;padding:24px}.crop-workspace,.review-result{grid-template-columns:1fr;overflow:visible}.crop-stage,.processed-preview{min-height:380px;max-height:60vh;padding:14px}.crop-stage .ReactCrop,.crop-stage .ReactCrop__child-wrapper,.crop-stage .ReactCrop__child-wrapper img{max-height:calc(60vh - 28px)}.crop-help,.quality-panel{border-top:1px solid var(--line);border-left:0;padding:24px}.review-result{overflow:auto}.review-actions{padding:12px 16px max(12px, env(safe-area-inset-bottom));background:var(--surface);position:sticky;bottom:0}.review-actions button{flex:1}.verification-backdrop{overscroll-behavior-y:contain;background:var(--surface);-webkit-overflow-scrolling:touch;height:100dvh;padding:0;display:block;overflow-y:auto}.verification-dialog{width:100%;min-height:100dvh;max-height:none;box-shadow:none;border-radius:0;overflow:visible}.verification-workspace{grid-template-columns:1fr;overflow:visible}.verification-image{min-height:360px;max-height:52vh;padding:14px}.verification-form{border-top:1px solid var(--line);border-left:0;padding:24px;overflow:visible}.foreign-match-assist{flex-direction:column;align-items:stretch}.foreign-match-assist button{width:100%}.verification-actions{padding:12px 16px max(12px, env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);margin:20px -24px -24px;position:sticky;bottom:0}.verification-actions button{flex:1}.matching-backdrop{background:var(--surface);-webkit-overflow-scrolling:touch;height:100dvh;padding:0;display:block;overflow-y:auto}.matching-dialog{width:100%;min-height:100dvh;max-height:none;box-shadow:none;border-radius:0;overflow:visible}.matching-workspace{grid-template-columns:1fr;overflow:visible}.matching-receipt{border-right:0;grid-template-rows:300px auto;overflow:visible}.matching-image{min-height:300px;max-height:45vh;padding:14px}.matching-image img{max-height:calc(45vh - 28px)}.matching-panel{border-top:1px solid var(--line);padding:24px 18px;overflow:visible}.matching-actions{padding:11px 14px max(11px, env(safe-area-inset-bottom));background:var(--surface);flex-wrap:wrap;position:sticky;bottom:0}.matching-actions p{flex:0 0 100%}.matching-actions button{flex:1}}@media (max-width:480px){.transaction-filters{grid-template-columns:1fr}.transaction-list article{gap:10px;padding:12px}.transaction-list article>div:first-child strong{max-width:180px}.receipt-grid{grid-template-columns:1fr}.receipt-preview{height:250px}.review-header{padding:18px}.review-header .eyebrow{margin-bottom:6px}.viewer-controls{gap:10px}.verification-row{grid-template-columns:1fr;gap:0}.matching-modes{grid-template-columns:1fr}.matching-modes button{min-height:36px}.matching-section-heading{flex-direction:column;align-items:flex-start;gap:6px}.attachment-preview-values{grid-template-columns:1fr}.match-candidate{gap:9px;padding:11px}.candidate-reasons{display:none}.expense-preview div{grid-template-columns:1fr;gap:3px}}
