:root{font:16px/1.45 system-ui,-apple-system,sans-serif;color:#244a38;background:#f7f8f3}*{box-sizing:border-box}body{margin:0}header,main{max-width:1200px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;gap:16px}header nav,.quick,.section-heading,.list-tools,.dialog-footer,.card-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}h1{margin:0;font-size:30px}h2{font-size:20px;margin:0 0 8px}p{margin:8px 0 16px;color:#53685b}small{color:#53685b}a{color:#21513a}button,.button{font:inherit;border:1px solid #cbd7c8;background:#fff;border-radius:8px;padding:10px 14px;min-height:44px;color:#244a38;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button:hover,.button:hover{background:#edf3e8}button:disabled{opacity:.6;cursor:wait}.primary{background:#244e39;color:#fff;border-color:#244e39}.primary:hover{background:#163a28}label{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:600}input,select,textarea{font:inherit;color:inherit;background:#fff;border:1px solid #cbd7c8;border-radius:6px;padding:10px;min-height:44px;min-width:0;max-width:100%}input[type=checkbox]{min-height:22px;width:22px;flex:none}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid #477849;outline-offset:2px}.panel,.invoice-card{background:#fff;border:1px solid #dfe5db;border-radius:12px;padding:20px;margin-bottom:18px}.filters{display:grid;grid-template-columns:1fr 1fr 1.2fr auto auto;align-items:end;gap:12px}.quick{margin:12px 0}.quick button{font-size:13px;padding:6px 12px}#upload-form{display:flex;align-items:end;gap:12px;margin-bottom:8px}.list-tools{margin:24px 0 12px}.search-label{flex:1}.check{flex-direction:row;align-items:center;font-weight:400}.invoice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:12px}.invoice-card{margin:0;min-width:0}.invoice-card h2,.filename{overflow-wrap:anywhere}.invoice-card summary{cursor:pointer;list-style:none}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.card-top strong{white-space:nowrap}.meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;color:#53685b;margin:8px 0}.badge{display:inline-block;padding:4px 9px;border-radius:6px;font-size:13px;background:#edf3e8}.badge.review{background:#fff0cf;color:#815713}.card-actions{border-top:1px solid #e5e9e1;padding-top:12px;margin-top:14px}.card-actions button,.card-actions a{font-size:14px}#error,#review-error{background:#fff0ec;color:#99381c;padding:12px;border-radius:8px}#message{background:#eaf4e7;color:#244e39;padding:12px;border-radius:8px}[hidden]{display:none!important}dialog{width:min(850px,96vw);max-height:92dvh;padding:0;border:1px solid #d5dfd0;border-radius:14px;color:inherit}dialog::backdrop{background:#233b2855}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e9e1}#review-form{padding:20px}#review-body{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wide{grid-column:1/-1}.dialog-footer{position:sticky;bottom:0;background:white;border-top:1px solid #dfe5db;padding:16px 0 0;justify-content:flex-end}.notes{background:#fff8e8;padding:12px;border-radius:6px;margin:0}.notes li{margin:4px 0}.scan-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;font:13px/1.45 monospace;background:#f8faf5;padding:12px}.order-options{max-height:180px;overflow:auto}.order-options label{margin:8px 0}.batch-result{padding:8px 0;border-bottom:1px solid #e5e9e1;overflow-wrap:anywhere}.preview-image{width:100%;height:auto}#login{max-width:400px;margin:40px auto}#login-form{display:grid;gap:16px}@media(max-width:850px){.filters{grid-template-columns:1fr 1fr}.filters label:nth-child(3){grid-column:1/-1}.invoice-list{grid-template-columns:1fr}header,main{padding:16px}}@media(max-width:480px){header{align-items:flex-start}header nav{justify-content:flex-end;font-size:13px}h1{font-size:26px}.panel,.invoice-card{padding:14px}.filters{gap:10px}input[type=date]{width:100%}.list-tools{align-items:stretch}.list-tools .search-label{flex-basis:100%}#upload-form{display:grid}#review-body{grid-template-columns:1fr}.dialog-footer{display:grid;grid-template-columns:1fr 1fr}#review-form{padding:14px}.card-top{flex-wrap:wrap}}
/* Intrinsic file/date input widths must not widen narrow phone cards. */
label,.panel,.filters>*{min-width:0}input[type=file]{width:100%;font-size:14px}.filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) auto auto}@media(max-width:850px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}header nav{min-width:0}#person{overflow-wrap:anywhere}
.bill-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.bill-numbers span{font-size:13px;background:#f5f7f1;padding:8px;border-radius:6px}.bill-numbers strong{display:block;font-size:15px;overflow-wrap:anywhere}.payments-heading{margin-top:28px}#bill-form{padding:20px}#bill-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bill-input-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bill-order-lines fieldset{border:1px solid #dbe4d6;border-radius:8px;margin:8px 0;padding:12px;min-width:0}.allocation-row{border-top:1px solid #dbe4d6;padding:12px 0}.allocation-row .bill-input-pair{grid-template-columns:minmax(0,1fr) auto}#bill-error{color:#99381c}#invoice-tabs button[aria-current]{background:#e8f0e1}@media(max-width:480px){#bill-body{grid-template-columns:1fr}#bill-form{padding:14px}.bill-numbers{gap:5px}.bill-numbers strong{font-size:13px}.allocation-row .bill-input-pair{grid-template-columns:1fr}.bill-input-pair{gap:8px}}

.price-comparison{padding:14px 0;border-top:1px solid var(--border,#dce3db)}.price-comparison p{margin:8px 0}.price-line-list{display:grid;gap:14px}.price-line-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.price-line-list fieldset{min-width:0}.price-line-list input,.price-line-list select{width:100%;min-width:0}.price-line-list details{margin:12px 0}#price-results{margin-top:18px}@media(max-width:600px){.price-line-grid{grid-template-columns:1fr}.price-comparison .card-top{align-items:flex-start;flex-direction:column}.price-comparison button{white-space:normal}}

/* Upload transport, durable receipt and OCR are separate, readable states. */
#upload-form label{flex:1}#upload-form button{flex:none}.upload-help{font-size:14px;margin:8px 0;overflow-wrap:anywhere}#upload-selection{font-weight:600}#uploads progress{display:block;width:100%;height:12px;accent-color:#276143;margin:12px 0}#upload-transfer{padding:14px;background:#f1f5ed;border-radius:8px;margin:16px 0}#upload-feedback{background:#eaf4e7;padding:12px;border-radius:8px}#upload-error,.upload-unconfirmed{background:#fff4e1;color:#815713;padding:12px;border-radius:8px;overflow-wrap:anywhere}.upload-history-heading{justify-content:space-between;border-top:1px solid #dfe5db;margin-top:20px;padding-top:16px}.upload-history-heading h3{margin:0}.upload-receipt{border:1px solid #dfe5db;border-radius:8px;padding:14px;margin-top:12px}.upload-receipt .card-top{flex-wrap:wrap}.upload-receipt .card-top strong{white-space:normal;flex:1;min-width:100px}.upload-receipt details{margin-top:12px}.upload-receipt summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.upload-counts{margin:10px 0 4px;font-weight:600}.upload-file-list{list-style:none;padding:0;margin:0;max-height:360px;overflow:auto}.upload-file-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;border-top:1px solid #e5e9e1;padding:12px 0}.upload-file-state{grid-column:1;font-size:14px}.upload-file-list button{grid-column:2;grid-row:1/3;font-size:14px;align-self:center}.upload-file-state.attention{color:#815713}#upload-more{margin-top:12px}@media(max-width:480px){.upload-file-list li{grid-template-columns:1fr}.upload-file-list button{grid-column:1;grid-row:auto;justify-self:start}.upload-receipt{padding:10px}.upload-receipt .badge{max-width:100%;white-space:normal}#upload-form button{width:100%}}
