*{box-sizing:border-box}body{margin:0;background:#f3f5f9;color:#15243c;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:0;border-radius:9px;min-height:44px;padding:10px 17px;background:#193c71;color:white;font-weight:650}button:hover{filter:brightness(1.12)}button:disabled{opacity:.5;cursor:wait}.secondary{background:#eaf0f8;color:#193c71}.danger{background:#ffeded;color:#9c2323}.small{font-size:14px}a{color:#164e94}header{background:#101f38;color:white;padding:19px 30px;display:flex;justify-content:space-between;align-items:center;gap:18px}header .brand{font-size:21px;font-weight:750;letter-spacing:-.5px}header .brand span{color:#71b9ff}.user{display:flex;align-items:center;gap:15px;font-size:14px}header button{background:#253850}nav{display:flex;padding:0 30px;gap:25px;background:white;border-bottom:1px solid #dce3ec;overflow:auto}nav button{border-radius:0;background:none;color:#63718a;white-space:nowrap;border-bottom:3px solid transparent;padding:17px 2px}nav button.active{color:#164e94;border-color:#164e94}main{max-width:1240px;margin:auto;padding:30px}h1{font-size:28px;letter-spacing:-.8px;margin:0 0 8px}h2{font-size:19px;margin:0 0 20px}p{line-height:1.55}.muted{color:#65738a;font-size:14px}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.card{background:white;border:1px solid #dce3ec;border-radius:13px;padding:24px;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat{background:white;border:1px solid #dce3ec;border-radius:12px;padding:20px}.stat b{display:block;font-size:28px;margin-top:10px;font-weight:700}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.filters label{flex:1;min-width:140px}.filters input,.filters select{margin:0}.receipt{display:grid;grid-template-columns:1fr auto;gap:16px;padding:18px 0;border-bottom:1px solid #e6ebf1}.receipt:last-child{border:0}.receipt h3{font-size:17px;margin:0 0 7px}.receipt button{margin-top:10px}.amount{font-size:19px;font-weight:750;text-align:right}.badge{display:inline-block;border-radius:6px;padding:5px 9px;font-size:13px;font-weight:600;background:#eaf0f8;color:#193c71;margin-right:6px}.badge.approved{background:#e6f5ef;color:#14624a}.badge.rejected,.badge.unknown{background:#fff1e6;color:#9d4c0c}.badge.draft{background:#f1f2f4;color:#5b6474}label{display:block;font-size:14px;font-weight:600}input,select,textarea{width:100%;border:1px solid #cbd5e3;background:white;color:#15243c;border-radius:8px;padding:11px;margin-top:7px;min-height:44px}textarea{min-height:90px}input[type=checkbox]{width:20px;min-height:20px;margin:0}label.check{display:flex;align-items:center;gap:10px;margin:16px 0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px}.preview{max-width:100%;max-height:650px;object-fit:contain;border-radius:8px;display:block;margin:15px auto}.upload{padding:35px;text-align:center;border:2px dashed #c6d4e6;background:#f8faff;border-radius:12px}.upload input{max-width:420px}.upload-icon{font-size:28px;margin-bottom:15px}.row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:10px;align-items:end;padding:15px 0;border-bottom:1px solid #e5eaf1}.row button{padding:10px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.warning{background:#fff4e8;border:1px solid #f2d7b8;border-radius:8px;padding:14px;font-size:14px;color:#874813;margin:15px 0;line-height:1.6}.info{background:#edf4ff;border:1px solid #c8dbf7;border-radius:8px;padding:14px;font-size:14px;line-height:1.6}.login{max-width:430px;margin:10vh auto}.login .brand{font-weight:800;font-size:25px;letter-spacing:-.8px;margin-bottom:32px}.login label{margin-bottom:20px}.login button{width:100%}.empty{padding:35px;text-align:center;color:#65738a}.mono{font-family:ui-monospace,monospace;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto}details{margin:15px 0}summary{cursor:pointer;font-weight:600;font-size:14px}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#101f38;color:white;border-radius:10px;padding:14px 24px;max-width:min(90vw,600px);box-shadow:0 8px 30px #15243c33;display:none;z-index:10}#notice.error{background:#8b2424}.sectiongap{margin-top:24px}.totals{display:flex;justify-content:space-between;background:#f4f7fb;border-radius:8px;padding:16px;margin-top:16px}.reportrow{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid #e5eaf1}.filelink{display:inline-block;padding:12px 0}.busy{opacity:.65;pointer-events:none}.statusline{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.error-text{color:#9c2323}.skeleton{padding:70px;text-align:center;color:#65738a}
@media(max-width:760px){header{padding:17px 18px}header .brand{font-size:19px}.user>span{display:none}nav{padding:0 18px;gap:20px}main{padding:22px 16px}.page-title{align-items:flex-start}.page-title h1{font-size:25px}.card{padding:18px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:16px}.stat b{font-size:24px}.split{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.row{grid-template-columns:1fr 1fr}.row label:first-child{grid-column:1/-1}.row button{justify-self:end}.filters label{min-width:calc(50% - 12px)}.filters label:first-child{min-width:100%}.login{margin:8vh 18px}.upload{padding:22px 12px}.actions button{flex:1;min-width:130px}.amount{font-size:17px}}
/* Document workspace: dense desktop table, accessible mobile cards. */
.workspace{display:flex;min-height:100vh}.sidebar{width:240px;flex:0 0 240px;background:#fff;border-right:1px solid #e4e9f2;position:sticky;top:0;height:100vh;padding:0 12px}.sidebar-brand{height:72px;display:flex;align-items:center;padding:0 16px;font-size:21px;font-weight:800;letter-spacing:-.5px;border-bottom:1px solid #edf0f6}.sidebar-brand span{color:#1367e8;margin-left:5px}.sidebar nav{padding:20px 0;display:flex;flex-direction:column;gap:7px;border:none;overflow:visible}.sidebar nav button{display:flex;align-items:center;gap:12px;text-align:left;border:none;border-radius:8px;min-height:48px;padding:12px 14px;font-size:14px;color:#58627e;font-weight:650}.sidebar nav button.active{background:#eaf1ff;color:#0655dc}.nav-icon{width:20px;font-size:19px;text-align:center}.nav-count{margin-left:auto;font-size:13px}.content-shell{min-width:0;flex:1}.content-shell header{height:72px;background:#fff;color:#24324c;border-bottom:1px solid #e4e9f2;padding:15px 26px}.company{background:#edf3ff;color:#273955;border-radius:7px;padding:9px 16px;font-size:14px;font-weight:650}.content-shell header button{background:#edf3ff;color:#1b4e9b;font-size:14px}.content-shell main{max-width:none;padding:24px}.demo-line{margin:0 0 16px;font-size:13px;color:#6f7b91}.page-title h1{font-size:24px}.filters{padding:16px;margin-bottom:18px}.filters label{min-width:120px;font-size:13px}.filters label:first-child{flex:1.5}.filters input,.filters select{font-size:14px}.document-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:0 2px 10px;font-size:14px}.document-toolbar>div:first-child{display:flex;align-items:center;gap:20px}.export-link{display:inline-block;padding:11px 15px;background:#fff;border:1px solid #dce6f7;border-radius:8px;color:#075add;text-decoration:none;font-weight:600}.document-totals{display:flex;gap:30px}.document-totals>div{display:flex;flex-direction:column;gap:4px;min-width:80px;text-align:right}.document-totals span{font-size:13px;color:#7a86a0}.document-totals b{font-size:15px}.document-card{padding:0;overflow:hidden;border-color:#e0e9f9;border-radius:10px}.table-scroll{overflow:auto;max-height:calc(100vh - 300px)}.document-table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap}.document-table th{position:sticky;top:0;background:white;text-align:left;border-bottom:1px solid #e9edf5;z-index:1;padding:13px 15px}.document-table th button{background:none;color:#74819c;font-weight:600;font-size:13px;padding:0;min-height:32px;border-radius:0}.document-table td{padding:20px 15px;border-bottom:1px solid #edf0f6;vertical-align:top;color:#37425c}.document-table tr:last-child td{border-bottom:0}.document-table tbody tr:hover{background:#f8faff}.document-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.document-table .vendor-cell{font-weight:600;max-width:220px;white-space:normal;min-width:140px}.document-table .gross-cell{font-weight:700}.document-table .badge{font-size:12px;display:block;width:fit-content;margin-bottom:5px}.document-table td button{font-size:13px;white-space:nowrap;padding:8px 12px;min-height:36px}.paid-label{display:block;color:#14624a;font-size:12px;margin-top:5px}.mobile-documents{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px) and (min-width:761px){.sidebar{width:205px;flex-basis:205px}.content-shell main{padding:20px}.content-shell header{padding:15px 20px}.document-totals{gap:15px}}
@media(max-width:760px){.workspace{display:block}.sidebar{width:auto;height:auto;padding:0;position:static;border-right:0}.sidebar-brand{height:62px;padding:0 18px;font-size:20px}.sidebar nav{padding:0 16px;flex-direction:row;gap:20px;overflow:auto;border-bottom:1px solid #dce3ec}.sidebar nav button{background:transparent!important;border-radius:0;padding:14px 0;gap:0;white-space:nowrap;border-bottom:3px solid transparent;min-height:49px}.sidebar nav button.active{border-bottom-color:#1367e8}.nav-icon,.nav-count{display:none}.content-shell header{height:56px;padding:9px 16px}.content-shell header .user>span{display:none}.content-shell header button{min-height:38px;padding:8px 12px}.company{padding:8px 12px}.content-shell main{padding:20px 16px}.document-toolbar{flex-wrap:wrap;gap:14px}.document-totals{width:100%;justify-content:space-between;gap:12px;padding:15px;background:#fff;border:1px solid #e0e9f9;border-radius:9px}.document-totals>div{text-align:left;min-width:0}.desktop-documents{display:none}.mobile-documents{display:block;padding:0 17px}.table-scroll{max-height:none}.filters label{min-width:calc(50% - 12px)}.filters label:first-child{min-width:100%}.page-title{gap:12px}.page-title h1{font-size:25px}.document-toolbar>div:first-child{width:100%;justify-content:space-between}.demo-line{font-size:13px;line-height:1.5}.document-card{margin-top:12px}}
/* Individual document editor: original on the left, extracted fields on the right. */
.detail-heading{display:flex;align-items:center;gap:22px;margin-bottom:20px}.detail-heading h1{margin:0;font-size:23px}.document-editor{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(360px,1fr);gap:22px;align-items:start}.document-left{min-width:0}.viewer-card{border:1px solid #dce3ec;border-radius:11px;overflow:hidden;background:#e8ebf0;margin-bottom:18px}.viewer-toolbar{display:flex;align-items:center;gap:18px;background:#f9fbff;border-bottom:1px solid #dce3ec;padding:13px 17px;font-size:14px}.viewer-toolbar b{background:white;color:#075add;border:1px solid #e0e9f9;padding:7px 20px;border-radius:6px}.viewer-filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6f7b91;min-width:0}.viewer-toolbar a{margin-left:auto;white-space:nowrap;text-decoration:none;font-size:13px}.viewer-canvas{height:535px;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:20px;background:#e8ebf0}.document-image{display:block;max-width:100%;max-height:495px;object-fit:contain;background:#fff;box-shadow:0 2px 12px #14243b21}.viewer-canvas.zoom-100 .document-image{max-height:none;max-width:none;width:100%;height:auto}.viewer-canvas.zoom-125 .document-image{max-height:none;max-width:none;width:125%;height:auto}.viewer-canvas.zoom-150 .document-image{max-height:none;max-width:none;width:150%;height:auto}.viewer-canvas[class*="zoom-"]{display:block}.viewer-controls{display:flex;align-items:center;justify-content:center;gap:12px;border-top:1px solid #dce3ec;padding:10px 16px;background:#f9fbff;font-size:14px}.viewer-controls button{padding:7px 12px;min-height:36px;font-size:20px}.zoom-label{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:13px}.zoom-label select{width:100px;min-height:36px;padding:7px;margin:0;font-size:13px}.line-items{padding:20px}.line-items-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.line-items-heading h2{margin:0}.line-items .row{grid-template-columns:minmax(140px,2fr) minmax(85px,1fr) minmax(85px,1fr) minmax(100px,1fr) auto;gap:10px}.line-items .row input{font-size:14px}.document-fields{margin:0;padding:22px}.document-registered{display:flex;flex-wrap:wrap;gap:5px 15px;font-size:13px;color:#77839b;padding-bottom:20px;border-bottom:1px solid #e8edf5;margin-bottom:22px}.document-registered b{font-weight:600;color:#4a5773}.document-fields label{font-size:13px;margin-bottom:12px}.document-fields input,.document-fields select,.document-fields textarea{font-size:14px;margin-top:6px}.document-fields .formgrid{gap:10px 15px}.supplier-fields{background:#f8faff;border:1px solid #e1e9f7;padding:15px;border-radius:9px}.supplier-fields label:last-child{margin-bottom:0}.supplier-fields .formgrid{margin-top:12px}.document-fields h2{font-size:16px;margin-bottom:12px}.invoice-summary{padding:16px;background:#f8faff;border:1px solid #e0e9f9;border-radius:9px;margin-top:6px;font-size:14px}.invoice-summary>div{display:flex;justify-content:space-between;gap:20px;padding:7px 0}.invoice-summary b{font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-summary .invoice-grand{margin-top:8px;padding-top:15px;border-top:1px dashed #ced9eb;font-weight:700}.document-actionbar{grid-column:1/-1;position:sticky;bottom:0;z-index:2;display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid #dce6f7;background:#fff;border-radius:10px;padding:14px 18px;box-shadow:0 -3px 18px #14243b0b}.document-actionbar .muted{font-size:13px}.ocr-details{padding:15px;background:#fff;border:1px solid #dce3ec;border-radius:9px}
@media(max-width:1250px) and (min-width:761px){.document-editor{grid-template-columns:minmax(0,1.1fr) minmax(310px,1fr);gap:16px}.document-fields{padding:17px}.line-items .row{grid-template-columns:1fr 1fr}.line-items .row label:first-child{grid-column:1/-1}.viewer-toolbar{flex-wrap:wrap;gap:9px}.viewer-filename{max-width:180px}.viewer-canvas{height:430px}.document-image{max-height:390px}.document-fields .formgrid{grid-template-columns:1fr}}
@media(max-width:760px){.detail-heading{align-items:flex-start;flex-direction:column;gap:16px}.document-editor{grid-template-columns:minmax(0,1fr);gap:18px}.document-left{display:contents}.viewer-card{grid-row:1}.document-fields{grid-row:2}.line-items{grid-row:3;margin:0;padding:17px}.ocr-details{grid-row:4;margin:0}.document-actionbar{grid-row:5;grid-column:1;padding:12px;gap:8px;position:static}.document-actionbar button{flex:1;min-width:140px}.document-actionbar .muted{width:100%}.viewer-toolbar{flex-wrap:wrap;gap:10px;padding:12px}.viewer-filename{max-width:160px}.viewer-canvas{height:400px;padding:12px}.document-image{max-height:376px}.viewer-controls{gap:9px;padding:10px}.zoom-label{font-size:0;gap:0}.zoom-label select{width:83px}.line-items .row{grid-template-columns:1fr 1fr}.line-items .row label:first-child{grid-column:1/-1}.document-fields .formgrid{grid-template-columns:1fr 1fr;gap:10px}.supplier-fields .formgrid{grid-template-columns:1fr}.document-fields label{min-width:0}.document-fields input,.document-fields select{min-width:0}.invoice-summary .muted{font-size:13px}.document-editor .check{font-size:14px}}
.delete-dialog{max-width:460px;width:calc(100% - 32px);border:1px solid #dce3ec;border-radius:13px;padding:25px;color:#15243c;box-shadow:0 20px 70px #101f3840}.delete-dialog::backdrop{background:#101f3866}.badge.deleted{background:#f3eaea;color:#7e4545}

.company-switch{display:block;margin:0;max-width:320px}.company-switch select{margin:0;background:#eef4fc;font-weight:700;min-width:160px}.reportrow p{margin:8px 0}

.source-items{grid-column:1}.registry-card{padding:12px;background:#f1f7ff;border-radius:8px;margin:12px 0}.source-items summary{cursor:pointer;font-weight:700}.source-items td:first-child{min-width:260px;max-width:450px;white-space:normal}
