*{box-sizing:border-box} :root{--bg:#f5f5f2;--paper:#fff;--ink:#202b2a;--muted:#7a8380;--line:#e6e9e4;--green:#1b6552;--soft:#edf4ef;--orange:#a66b28;--red:#b34c3c}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:13px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--green)}.sidebar{position:fixed;width:204px;inset:0 auto 0 0;background:#152e2a;color:#d9e6e0;padding:32px 18px;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-size:19px;letter-spacing:2px;margin:0 10px 52px}.brand span:not(.logo){display:block;font-size:10px;letter-spacing:3px;color:#91aca1;margin-top:5px}.logo{display:flex;width:38px;height:38px;align-items:center;justify-content:center;background:#c66651;color:white;border-radius:12px;font-size:22px;font-weight:600}.side-label{font-size:10px;color:#8aa79b;margin:0 13px 12px;letter-spacing:2px}.nav{width:100%;text-align:left;padding:13px;border:0;background:transparent;color:#adc0b7;border-radius:6px;margin:3px 0}.nav.active{background:#2b4840;color:#fff}.nav b{font-size:10px;font-weight:400;background:#486157;border-radius:4px;padding:3px 6px;float:right}.side-bottom{position:absolute;bottom:30px;font-size:11px;color:#b2c7bb;line-height:1.7;padding:0 12px}.side-bottom p{margin:6px 0;color:#77958a}.side-bottom small{color:#8fa79c}.dot{display:inline-block;width:6px;height:6px;background:#8cbca5;border-radius:50%;margin-right:5px}main{margin-left:204px}header{height:77px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 34px;background:#fafbf8}.breadcrumb{color:var(--muted);font-size:12px}.breadcrumb span{color:var(--ink);margin-left:10px}.header-actions{display:flex;align-items:center;gap:9px}.header-actions>span{font-size:10px;color:var(--muted);margin-right:8px}.btn{border:1px solid #dfe4de;border-radius:5px;background:#fff;color:#3a4842;padding:9px 12px;font-size:11px}.btn:hover{background:#f1f5f0}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn.primary:hover{background:#124c3e}.text-btn{border:0;background:none;color:var(--green);font-size:11px;padding:5px}.intro{padding:31px 34px 27px;display:flex;justify-content:space-between;align-items:center;gap:25px}.eyebrow{font-size:9px;letter-spacing:2.5px;color:var(--green);font-weight:600}h1{font-size:27px;letter-spacing:1px;margin:9px 0 10px;font-weight:600}.intro p{font-size:11px;color:var(--muted);margin:0;line-height:1.8}.progressbox{width:175px;flex-shrink:0}.progressbox>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.progressbox strong{color:var(--green);font-size:11px}.progress-track{height:4px;background:#e0e7df;margin-top:10px;border-radius:4px;overflow:hidden}.progress-track i{display:block;background:var(--green);width:0;height:100%;transition:width .3s}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;padding:0 34px 25px}.stat{text-align:left;border:1px solid var(--line);border-radius:7px;background:var(--paper);padding:17px 19px;min-width:0}.stat:hover{border-color:#aebfb0}.stat span{font-size:11px;color:#65746b}.stat strong{font-size:25px;font-weight:500;letter-spacing:-.5px;display:block;margin:10px 0 9px;font-variant-numeric:tabular-nums}.stat small{font-size:9px;color:#879087}.stat em{font-size:8px;font-style:normal;color:#9ca49d;margin-left:6px}.stat:nth-child(3) strong{color:var(--green)}.stat:nth-child(2) strong{color:var(--orange)}.workspace{display:grid;grid-template-columns:minmax(380px,1fr) 388px;gap:18px;margin:0 34px 35px;align-items:start}.list-panel,.detail-panel,.card{background:#fff;border:1px solid var(--line);border-radius:8px}.panel-title{display:flex;justify-content:space-between;align-items:center;padding:20px 19px 12px}h2{font-size:14px;font-weight:600;margin:0}h2>span{font-size:10px;font-weight:400;color:#8d988f;margin-left:8px}.panel-title p{font-size:9px;color:var(--muted);margin:7px 0 0}.filters{padding:0 18px 10px}input[type=search]{width:100%;padding:10px 12px;background:#f7f8f5;border:1px solid var(--line);border-radius:5px;font-size:11px}.filter-row{display:grid;grid-template-columns:1fr .7fr 1.4fr 1.1fr 1fr;gap:6px;margin-top:9px}select{max-width:100%;min-width:0;background:#fff;border:1px solid var(--line);border-radius:4px;padding:7px;color:#58685d;font-size:10px}.list-controls{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:10px;color:#6f7e73}.list-controls select{border:0;font-size:9px}.list-controls label{display:flex;align-items:center;gap:5px}input[type=checkbox]{accent-color:var(--green)}table{width:100%;border-collapse:collapse;table-layout:fixed}th{text-align:left;color:#899489;background:#f7f8f5;font-size:9px;font-weight:400;padding:11px 18px}.list-panel > .table-wrap > table > thead > tr > th:first-child{width:55%}.list-panel > .table-wrap > table > thead > tr > th:nth-child(2){width:26%}.list-panel > .table-wrap > table > thead > tr > th:last-child{width:19%}td{border-top:1px solid #eff1ec;padding:14px 18px;vertical-align:top;font-size:10px}tbody tr{cursor:pointer}tbody tr:hover{background:#f8faf6}tbody tr.selected{background:#eff5ee;box-shadow:inset 3px 0 var(--green)}.row-title{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.7}.row-sub{color:#8a958b;font-size:9px;margin-top:5px;line-height:1.7}.money{font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.currency{display:block;font-size:9px;color:#94a093;margin-top:5px;line-height:1.6}.badge{display:inline-block;font-size:9px;line-height:1.6;border-radius:3px;padding:2px 5px;background:#f1f3ef;color:#899184;white-space:nowrap}.badge.warning{background:#fbf0df;color:#a06c2c}.badge.good{background:#e8f2e9;color:#38724e}.flagline{color:#a27232;font-size:9px;line-height:1.7;margin-top:4px}.pagination{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:13px 18px;font-size:9px;color:#8a958b}.pagination .btn{padding:6px 9px;font-size:9px;margin-left:4px}.detail-panel{position:sticky;top:15px;max-height:calc(100vh - 30px);overflow:auto}.detail-head{padding:19px 20px 14px;border-bottom:1px solid var(--line)}.detail-head-top{display:flex;align-items:center;justify-content:space-between}.detail-head-top>span{font-size:9px;color:var(--muted)}.detail-head h2{margin-top:9px;font-size:15px}.source-link{color:var(--green);font-size:10px;text-decoration:none}.detail-body{padding:17px 20px}.description{line-height:1.9;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 15px;max-height:170px;overflow:auto}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 15px;margin-bottom:15px}.meta-grid>div span{display:block;color:#99a197;font-size:9px;margin-bottom:4px}.meta-grid b{font-size:10px;font-weight:500;overflow-wrap:anywhere}.amountbox{background:#f5f7f2;border-radius:6px;padding:13px;margin-bottom:12px}.amountbox>span{font-size:9px;color:var(--muted)}.amountbox strong{display:block;font-size:24px;color:var(--green);font-weight:500;margin:6px 0}.amountbox small{font-size:9px;color:var(--muted);line-height:1.8}.notice{background:#fff8ed;border:1px solid #f4e7cc;padding:10px 11px;font-size:10px;color:#99733b;line-height:1.8;border-radius:5px;margin:10px 0}.section-rule{border-top:1px dashed #dfe5dc;margin:18px 0 15px}.form-title{display:flex;justify-content:space-between;font-size:12px;font-weight:600;margin-bottom:14px}.form-title span{font-size:9px;color:#89978a;font-weight:400}.field{display:block;margin-bottom:12px;font-size:10px;color:#6e7c70}.field>span{display:block;margin-bottom:6px}.field select,.field input,.field textarea{width:100%;border:1px solid #dce3d8;border-radius:4px;padding:9px;background:#fff;color:var(--ink);font-size:11px}.field textarea{resize:vertical;min-height:60px}.hint{font-size:9px;color:#929c90;line-height:1.8;margin-top:5px}.inclusion{font-size:10px;color:var(--green);background:#edf5eb;padding:9px;border-radius:4px;margin-bottom:12px}.inclusion.unknown{color:#98733b;background:#fbf4e8}.split-top{display:flex;align-items:center;justify-content:space-between;margin:12px 0;font-size:10px}.split-item{border:1px solid var(--line);padding:10px;border-radius:5px;margin-bottom:8px}.split-item .field{margin-bottom:7px}.split-item .mini-row{display:flex;gap:7px}.split-item .mini-row>*{flex:1;min-width:0}.split-sum{font-size:10px;margin:8px 0;color:var(--green)}.split-sum.bad{color:var(--red)}.detail-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:13px 20px;display:flex;gap:7px;z-index:1}.detail-actions .primary{flex:1}.raw-details{font-size:10px;color:#73836f;margin-top:18px}.raw-details summary{cursor:pointer;padding:10px 0}.raw-item{border-top:1px solid #edf0e9;padding:8px 0;line-height:1.8;overflow-wrap:anywhere;white-space:pre-wrap}.raw-item label{display:block;color:#95a08f;font-size:9px}.empty{padding:55px 25px;text-align:center;color:var(--muted);line-height:2}.source-grid{padding:0 34px 35px;display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.card{padding:24px;line-height:1.9}.card h2{margin-bottom:18px}.card p{font-size:12px}.card.wide{grid-column:1/-1}.muted{color:var(--muted);font-size:10px!important}.stack{display:flex;flex-direction:column;gap:10px;margin:20px 0}.source-block{border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:15px}.source-block h3{font-size:12px}.source-block p{font-size:10px;overflow-wrap:anywhere}.source-controls{background:#f4f7ef;padding:10px;font-size:11px;color:#4d6e48}.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.rules b{font-size:12px}.rules p{font-size:11px;color:var(--muted)}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:12px 22px;background:#183d31;color:#fff;font-size:12px;box-shadow:0 5px 25px #0002;border-radius:6px;z-index:20;display:none}dialog{border:1px solid var(--line);border-radius:10px;padding:25px;width:510px;max-width:95vw;box-shadow:0 15px 80px #0002}dialog::backdrop{background:#10271f66}dialog h2{margin-bottom:13px}dialog p{font-size:12px;line-height:1.9}dialog .actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.error-text{color:var(--red)}[hidden]{display:none!important}@media(min-width:1550px){.workspace{grid-template-columns:minmax(500px,1fr) 440px}.detail-body{padding:20px 25px}td{padding:18px}header{height:84px}.intro{padding-top:36px;padding-bottom:32px}}@media(max-width:1150px){.sidebar{width:160px;padding:28px 12px}.brand{margin-left:2px;font-size:16px}.brand .logo{width:31px;height:34px}.nav{font-size:11px;padding:12px 7px}main{margin-left:160px}header{padding:0 20px}.intro{padding-left:20px;padding-right:20px}.stats{padding-left:20px;padding-right:20px}.workspace{margin-left:20px;margin-right:20px;grid-template-columns:minmax(330px,1fr) 340px;gap:12px}.stat{padding:14px}.stat strong{font-size:21px}.header-actions>span{display:none}td,th{padding-left:12px;padding-right:10px}.source-grid{padding:0 20px}}@media(max-width:900px){.sidebar{width:64px;padding:20px 10px}.brand{margin:0 0 30px}.brand>div,.side-label,.side-bottom,.nav{display:none}main{margin-left:64px}.workspace{grid-template-columns:minmax(300px,1fr) 330px;margin:0 12px 20px;gap:10px}.stats{padding:0 12px 18px;gap:8px}.intro{padding:25px 15px}.intro h1{font-size:23px}.progressbox{width:130px}.stat small{font-size:8px}.stat strong{font-size:18px}.stat{padding:12px}.filter-row{grid-template-columns:1fr 1fr}header{padding:0 14px}.source-grid{grid-template-columns:1fr}.rules{grid-template-columns:1fr;gap:10px}}@media(max-width:720px){main{margin-left:0}.sidebar{display:none}.workspace{grid-template-columns:1fr}.detail-panel{position:relative;max-height:none}.stats{grid-template-columns:repeat(2,1fr)}.intro{align-items:flex-start}.progressbox{width:95px}.intro p{max-width:240px}.header-actions .btn{font-size:9px;padding:8px}.breadcrumb{font-size:10px}.detail-panel{scroll-margin-top:12px}.source-grid{padding:0 12px 20px}}

.progressbox #invalid-summary{font-size:9px;margin-top:8px;color:#8b978c}

/* Expanded record: original evidence on the left, verification on the right. */
.workspace{display:block}.table-wrap{overflow:visible}.list-panel{overflow:hidden}.filter-row{grid-template-columns:1fr .7fr 1.3fr 1.1fr .8fr 1fr}.list-panel > .table-wrap > table > thead > tr > th:first-child{width:64%}.list-panel > .table-wrap > table > thead > tr > th:nth-child(2){width:20%}.list-panel > .table-wrap > table > thead > tr > th:last-child{width:16%}.chevron{display:inline-block;margin-right:10px;color:#35735b;font-size:17px}.expanded-row{cursor:default}.expanded-row:hover{background:transparent}.expanded-row>td{padding:0;background:#f7f9f4;border-bottom:1px solid #dce5d9}.review-expanded{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.85fr);gap:0;white-space:normal}.original-column{padding:26px 30px;border-right:1px solid #dce5d9;min-width:0}.verification-column{padding:26px 28px;background:#fff;min-width:0}.original-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.original-head h2{font-size:16px;margin-top:7px}.original-column .description{max-height:none;font-size:13px;margin-bottom:20px}.original-column .meta-grid{gap:18px}.original-column .meta-grid b{font-size:12px}.original-column .amountbox strong{font-size:28px}.account-reference{padding:16px;background:#eef2e9;border:1px solid #e0e7d9;border-radius:5px;margin-top:22px;line-height:1.9;overflow-wrap:anywhere;white-space:pre-wrap}.account-reference label{color:#8b9784;font-size:10px}.account-reference p{font-size:12px;margin:4px 0 14px}.account-reference small{color:#87937f;font-size:10px}.verification-column .field{font-size:11px;margin-bottom:15px}.verification-column .field input,.verification-column .field select{font-size:12px;padding:11px}.verification-column .field em{font-size:9px;color:#9b6e3e;font-style:normal;margin-left:4px}.form-currency{display:grid;grid-template-columns:.7fr 1fr;gap:12px}.nature-field{margin-top:20px}.verification-column .detail-actions{position:static;padding:16px 0 5px;margin-top:13px}.currency-total{display:block;font-size:18px;font-weight:500;line-height:1.7;white-space:nowrap}.currency-total b{font-size:10px;font-weight:500;color:#83917e;display:inline-block;width:32px}.no-total{font-size:13px;color:#91a18c}.stat strong{min-height:34px}.verification-column .split-item{background:#fafbf8}.progressbox{width:190px}.original-column .raw-details{font-size:11px}.row-title{font-size:12px}.row-sub{font-size:10px}.flagline{font-size:10px}.verification-column .inclusion{margin-bottom:17px}.verification-column .hint{font-size:10px}.verification-column .raw-item{white-space:pre-wrap;max-height:400px;overflow:auto}@media(max-width:1100px){.filter-row{grid-template-columns:repeat(3,1fr)}.original-column,.verification-column{padding:20px}.currency-total{font-size:15px}.workspace{display:block}}@media(max-width:800px){.review-expanded{grid-template-columns:1fr}.original-column{border-right:0;border-bottom:1px solid #dce5d9}.filter-row{grid-template-columns:repeat(2,1fr)}.list-panel > .table-wrap > table > thead > tr > th:first-child{width:53%}.list-panel > .table-wrap > table > thead > tr > th:nth-child(2){width:27%}.list-panel > .table-wrap > table > thead > tr > th:last-child{width:20%}.row-title{white-space:normal}.currency-total{font-size:14px}.original-column,.verification-column{padding:18px}} 

.attachments-section{margin:23px 0;padding-top:20px;border-top:1px solid #dbe4d5}.attachments-section h3{font-size:13px;margin:0 0 9px}.attachments-section h3 span{font-size:10px;font-weight:400;color:#8c9b85;margin-left:8px}.attachment-list{display:flex;flex-direction:column;gap:9px;margin-top:12px}.attachment-card{border:1px solid #dde6d6;background:#fff;border-radius:5px;padding:11px}.attachment-card>a:first-child{display:flex;align-items:flex-start;gap:10px;color:#315a40;text-decoration:none}.attachment-card b{font-size:11px;line-height:1.8;overflow-wrap:anywhere;font-weight:500;display:block}.attachment-card small{display:block;color:#9aa68e;font-size:9px;margin-top:6px}.file-type{font-size:9px;color:#627d4f;background:#eff4e8;padding:5px 6px;border-radius:3px;flex-shrink:0;margin-top:2px}.attachment-download{font-size:9px;color:#849977;display:block;text-align:right;margin-top:7px;text-decoration:none}.attachment-summary{background:#edf4e8;padding:12px;font-size:11px!important;color:#56704c}

.brand{font-size:16px;letter-spacing:0;gap:9px}.brand .logo{flex-shrink:0}.import-toolbar{margin:0 34px 24px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.import-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.import-card h2{font-size:14px;margin:0 0 8px}.import-card p{font-size:11px;color:var(--muted);margin:0;line-height:1.8}.import-card .btn{white-space:nowrap;font-size:12px}#import-status{grid-column:1/-1;margin:0;font-size:11px;color:var(--muted);line-height:1.8}.import-error{color:var(--red)!important;white-space:pre-wrap}.import-totals{display:flex;flex-wrap:wrap;gap:15px;background:var(--soft);padding:16px;margin:16px 0}.import-preview{overflow:auto;max-height:42vh;border:1px solid var(--line);margin:15px 0}.import-preview td,.import-preview th{font-size:12px;padding:10px;white-space:pre-wrap;min-width:110px}.imported-preview{min-height:140px;margin-top:15px;overflow:auto}.imported-preview>img{display:block;max-width:100%;max-height:72vh;object-fit:contain;margin:auto}.imported-preview>iframe{width:100%;height:68vh;border:1px solid var(--line)}.attachment-preview-actions{display:flex;gap:10px}.attachment-preview-actions a{text-decoration:none}#modal{max-width:min(1000px,94vw);width:900px;max-height:90vh;overflow:auto}#modal h2{overflow-wrap:anywhere}#unmatched-attachments li{overflow-wrap:anywhere;margin:8px 0}.filter-row{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.import-toolbar{grid-template-columns:1fr}.filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.import-toolbar{margin-left:16px;margin-right:16px}.import-card{padding:14px;gap:10px}}

[hidden]{display:none!important}.import-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.import-card{align-items:flex-start;flex-direction:column;gap:12px}.bank-storage{margin:0 34px 20px;color:var(--muted);font-size:11px;line-height:1.8}.bank-panel{margin:0 34px 25px;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.bank-filter-row{display:grid;grid-template-columns:1.3fr .7fr .8fr 1fr 1fr auto;gap:10px;align-items:end}.bank-filter-row select,.bank-filter-row input{width:100%;min-width:0;height:35px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:6px;font-size:11px}.bank-filter-row label{font-size:10px;color:var(--muted);line-height:2}.bank-summary-label{padding:0 20px;font-size:10px;color:var(--muted)}#bank-summary{padding:10px 20px 20px;display:flex;flex-direction:column;gap:10px}.bank-currency-total{display:grid;grid-template-columns:.45fr 1fr 1fr 1fr;gap:12px;background:#f3f6f1;border-radius:5px;padding:14px}.bank-currency-total>b{align-self:center;font-size:13px}.bank-currency-total span{font-size:10px;color:var(--muted)}.bank-currency-total strong{display:block;font-size:18px;font-weight:500;margin:7px 0;font-variant-numeric:tabular-nums}.bank-currency-total small{font-size:9px;color:var(--muted)}.bank-income{color:#1b6552}.bank-expense{color:#a34d3c}.bank-table th:nth-child(1){width:18%}.bank-table th:nth-child(2){width:18%}.bank-table th:nth-child(3){width:17%}.bank-table th:nth-child(4){width:31%}.bank-table th:nth-child(5){width:16%}.bank-table td{font-size:12px;white-space:normal;overflow-wrap:anywhere;vertical-align:top}.bank-table td small,.bank-table td strong{display:block;line-height:1.8;margin-top:5px}.bank-table td small{font-size:10px;color:var(--muted)}.bank-table td strong{font-weight:500;font-variant-numeric:tabular-nums}.bank-detail{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px;background:#f5f8f2}.bank-detail label{font-size:10px;color:var(--muted)}.bank-detail p{font-size:12px;line-height:1.9;white-space:pre-wrap;margin:5px 0}.bank-source{padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line)}.bank-source b{font-size:12px;overflow-wrap:anywhere}.bank-source p,.bank-source small{font-size:10px;color:var(--muted);line-height:1.8}.bank-source .btn{flex-shrink:0}.bank-check{padding:12px;background:var(--soft);color:var(--green);font-size:12px}.bank-preview-totals{margin:18px 0}.bank-empty-totals{font-size:12px;color:var(--muted)}@media(max-width:1100px){.bank-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}.import-toolbar{grid-template-columns:1fr}.import-card{flex-direction:row;align-items:center}}@media(max-width:600px){.bank-storage,.bank-panel{margin-left:16px;margin-right:16px}.bank-currency-total{grid-template-columns:1fr 1fr}.bank-filter-row{grid-template-columns:1fr 1fr}.bank-detail{grid-template-columns:1fr}.bank-table{min-width:700px}.bank-source{align-items:flex-start;flex-direction:column}}

/* Each preview owns its column layout; list widths must never leak into dialogs. */
.import-preview table{table-layout:auto;min-width:640px}
.import-preview th,.import-preview td{width:auto;min-width:0;line-height:1.65;white-space:normal;word-break:normal;overflow-wrap:break-word;vertical-align:top}
.import-preview th{font-size:11px;font-weight:500;color:#58695f;white-space:nowrap;position:sticky;top:0;z-index:1}
.approval-import-table th:nth-child(1){width:22%}.approval-import-table th:nth-child(2){width:15%}.approval-import-table th:nth-child(3){width:25%}.approval-import-table th:nth-child(4){width:23%}.approval-import-table th:nth-child(5){width:15%}
.approval-import-table td:nth-child(1),.approval-import-table td:nth-child(4){white-space:nowrap;font-variant-numeric:tabular-nums}
.sheet-import-preview table{width:max-content;min-width:100%;table-layout:auto}.sheet-import-preview td{min-width:120px;max-width:360px;white-space:pre-wrap;overflow-wrap:anywhere}
#modal.bank-import-dialog{width:1120px;max-width:96vw;padding:0;overflow:hidden}
.bank-import-dialog #modal-content{display:flex;flex-direction:column;max-height:90vh;min-height:0}
.bank-import-heading{padding:22px 28px 16px;border-bottom:1px solid var(--line);flex-shrink:0}
.bank-import-heading h2{margin:0 0 7px;font-size:20px}.bank-import-heading p{margin:0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.bank-import-body{padding:20px 28px;overflow:auto;min-height:0}
.bank-import-info{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin-bottom:16px}
.bank-import-info p{margin:0;font-size:12px;line-height:1.85}.bank-import-info .field{margin:0}.bank-import-info .field span{display:block;margin-bottom:7px;color:var(--muted)}
.bank-import-dialog .bank-preview-totals{margin:0 0 14px}.bank-import-dialog .bank-currency-total{padding:14px 18px;grid-template-columns:.35fr 1fr 1fr 1fr}.bank-import-dialog .bank-currency-total strong{font-size:21px;color:var(--ink)}.bank-import-dialog .bank-currency-total strong.bank-income{color:var(--green)}.bank-import-dialog .bank-currency-total strong.bank-expense{color:#a34d3c}
.bank-import-dialog .bank-check{margin:0 0 12px;border-radius:5px;line-height:1.8}
.bank-import-dialog details{font-size:12px;margin:0 0 14px;line-height:1.8}.bank-import-dialog summary{cursor:pointer;color:#53665a}
.bank-import-table-wrap{overflow:auto;max-height:350px;margin:0;border-radius:6px;border:1px solid var(--line);scrollbar-gutter:stable}
.bank-import-table-wrap .bank-import-table{table-layout:fixed;width:100%;min-width:960px}
.bank-import-table .col-date{width:11%}.bank-import-table .col-amount{width:17%}.bank-import-table .col-balance{width:16%}.bank-import-table .col-summary{width:14%}.bank-import-table .col-party{width:29%}.bank-import-table .col-source{width:13%}
.bank-import-table th,.bank-import-table td{padding:12px 14px;width:auto;min-width:0;text-align:left;font-size:12px;line-height:1.65}
.bank-import-table th{font-weight:500;white-space:nowrap;background:#f5f7f3;color:#526558}
.bank-import-table td{background:white;vertical-align:top}.bank-import-table tbody tr:nth-child(even) td{background:#fcfdfb}
.bank-import-table .number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.bank-import-table .date,.bank-import-table .source{white-space:nowrap}
.bank-import-table .party{white-space:normal;overflow-wrap:anywhere;word-break:normal}
.bank-import-table td strong{font-size:13px;font-weight:500}.bank-import-table td small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.bank-import-table .source small{margin:0}
.bank-import-note{margin:10px 0 0!important;color:var(--muted);font-size:11px!important}
.bank-import-dialog .bank-import-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:16px 28px;border-top:1px solid var(--line);background:#fff;flex-shrink:0}
.bank-import-footer span{font-size:11px;color:var(--muted)}.bank-import-footer>div{display:flex;gap:10px}.bank-import-footer .btn{font-size:12px;padding:10px 18px;white-space:nowrap}
@media(max-width:700px){.bank-import-heading{padding:18px}.bank-import-body{padding:16px 18px}.bank-import-info{grid-template-columns:1fr;gap:12px}.bank-import-dialog .bank-currency-total{grid-template-columns:1fr 1fr;gap:12px}.bank-import-dialog .bank-currency-total strong{font-size:18px}.bank-import-dialog .bank-import-footer{padding:14px 18px}.bank-import-footer>span{max-width:45%}}

/* Dedicated import view; review and bank pages link here instead of opening pickers. */
#imports-view .import-toolbar{margin-bottom:24px}#imports-view .import-card{padding:24px;min-height:190px;justify-content:space-between}#imports-view .import-card h2{font-size:17px;margin:0 0 12px}#imports-view .import-card p{font-size:12px;line-height:1.8}#imports-view .import-card .btn{padding:11px 20px;font-size:12px}.import-overview,.import-migration{margin:0 34px 24px;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:24px}.import-overview h2,.import-migration h2{font-size:15px;margin:0 0 9px}.import-overview p,.import-migration p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.import-destinations{display:flex;gap:10px;flex-shrink:0}.import-migration{background:#f3f6f2}.import-migration>.btn{flex-shrink:0}#view-select{display:none}@media(max-width:900px){#view-select{display:block;max-width:140px;padding:8px;border:1px solid var(--line);border-radius:5px;background:white}.breadcrumb{display:none}.import-overview,.import-migration{margin-left:20px;margin-right:20px;align-items:flex-start;flex-direction:column}.import-destinations{flex-wrap:wrap}#imports-view .import-card{min-height:0}}
/* Reconciliation workspace */
.workflow-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.workflow-stats .stat.active{border-color:var(--green);box-shadow:0 0 0 1px var(--green);background:#edf4ef}.workflow-stats .stat strong{font-size:30px}.workflow-stats .stat[data-status="issue"]{border-left:3px solid #b38142}.workflow-next{font-size:11px;color:var(--muted);line-height:1.7;margin-top:9px;overflow-wrap:anywhere}.workflow-rail{display:flex;gap:10px;padding:18px 22px;background:#f2f6f3;grid-column:1/-1;flex-wrap:wrap}.workflow-rail span{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--muted)}.workflow-rail b{border:1px solid var(--line);border-radius:50%;width:22px;height:22px;text-align:center;line-height:20px;background:white}.workflow-rail .current{color:var(--green);font-weight:600}.workflow-rail .current b,.workflow-rail .passed b{background:var(--green);color:white;border-color:var(--green)}.workflow-amount-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:#f2f6f3;padding:14px;margin:16px 0}.workflow-amount-summary span{font-size:10px;color:var(--muted)}.workflow-amount-summary strong{display:block;font-size:16px;color:var(--ink);margin-top:8px;font-variant-numeric:tabular-nums}.workflow-review-summary{line-height:1.8;font-size:12px;white-space:pre-wrap}.workflow-link{padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.workflow-link p{font-size:11px;line-height:1.8;white-space:pre-wrap;color:var(--muted)}.workflow-secondary{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.workflow-issue{padding:16px;background:#fff5e6;border-left:3px solid #b38142;margin-bottom:18px;font-size:12px}.workflow-issue p{white-space:pre-wrap;line-height:1.8}.match-picker{margin-top:24px;padding-top:14px;border-top:1px solid var(--line)}#match-search{width:100%;padding:10px;border:1px solid var(--line);border-radius:4px}#match-candidates{max-height:480px;overflow:auto}.match-candidate{padding:14px;border:1px solid var(--line);border-radius:6px;margin:10px 0}.candidate-title{display:flex;align-items:flex-start;gap:9px;font-size:12px}.candidate-title input{margin-top:3px}.candidate-title small{display:block;line-height:1.8;margin-top:6px;color:var(--muted)}.match-clues{font-size:10px;color:var(--green)}.match-amounts{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.match-amounts label{font-size:10px;color:var(--muted)}.match-amounts input{display:block;min-width:0;width:100%;padding:8px;margin-top:4px;border:1px solid var(--line);border-radius:4px}.workflow-confirm-list{max-height:380px;overflow:auto;border-block:1px solid var(--line);padding:8px 0}.workflow-confirm-list>div{padding:10px 0;border-bottom:1px solid var(--line)}.workflow-ack{display:flex;gap:9px;align-items:flex-start;margin-top:20px;font-size:13px;line-height:1.8}.verification-column h3{font-size:13px}.verification-column #workflow-error{white-space:pre-wrap;line-height:1.8}#workflow-reason{min-height:100px}#match-choice-total{font-size:11px;line-height:1.8}@media(max-width:1100px){.workflow-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.workflow-stats .stat strong{font-size:25px}}@media(max-width:720px){.workflow-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-rail{padding:14px}.match-amounts{grid-template-columns:1fr 1fr}.workflow-amount-summary strong{font-size:14px}}
/* OA approval-first review workspace */
.list-panel > .table-wrap > .approval-table > thead > tr > th:nth-child(1){width:22%}
.list-panel > .table-wrap > .approval-table > thead > tr > th:nth-child(2){width:18%}
.list-panel > .table-wrap > .approval-table > thead > tr > th:nth-child(3){width:40%}
.list-panel > .table-wrap > .approval-table > thead > tr > th:nth-child(4){width:20%}
.approval-table>thead th{font-size:11px;color:#647369;font-weight:500;padding-top:14px;padding-bottom:14px}
.approval-table>tbody>tr>td{padding-top:18px;padding-bottom:18px}
.approval-table>tbody>.expanded-row>td{padding:0}
.approval-number{font-variant-numeric:tabular-nums;letter-spacing:.3px}
.row-title.approval-number{font-size:15px;font-weight:650;white-space:normal;overflow-wrap:anywhere}
.approval-table .row-sub{font-size:11px;line-height:1.7;color:#6b786f}
.approval-table .money{font-size:14px;white-space:normal;overflow-wrap:anywhere;line-height:1.6}
.row-type{margin-top:10px;line-height:1.7}.row-type>span,.row-origin{display:block;font-size:10px;color:#7a887e}.row-type>b{font-size:12px;font-weight:500;color:#364d40}.row-origin{margin-top:6px}
.payment-parties>div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:3px 10px;line-height:1.7}.payment-parties>div+div{margin-top:12px;padding-top:10px;border-top:1px solid #e8ede7}
.payment-parties span{font-size:10px;color:#7a887e}.payment-parties b{font-size:12px;font-weight:500;overflow-wrap:anywhere;white-space:pre-wrap}.payment-parties small{grid-column:2;font-size:11px;overflow-wrap:anywhere;white-space:pre-wrap;color:#63736a;font-variant-numeric:tabular-nums}
.missing-field{color:#a36c25!important;font-weight:500}.approval-table .workflow-next{font-size:11px;line-height:1.8}.approval-table .badge{font-size:11px;padding:3px 8px}
.review-expanded{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.oa-focus{background:#fff;border:1px solid #dce5dc;border-radius:8px;padding:18px;margin:20px 0}.oa-focus h3{font-size:13px;margin:0 0 10px;color:#355443}
.oa-reference-field{padding:12px 0;border-bottom:1px solid #edf0eb;line-height:1.8}.oa-reference-field>span{display:block;font-size:11px;color:#6f7e73;margin-bottom:5px}.oa-reference-field>b{display:block;font-size:13px;font-weight:500;white-space:pre-wrap;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.supporting-details{border-bottom:1px solid #dce5dc;margin:10px 0;padding:12px 0}.supporting-details summary{font-size:12px;cursor:pointer;color:#405b49}.supporting-details .description{margin:14px 0 6px;font-size:12px;line-height:1.8}
.review-guide{font-size:12px;line-height:1.8;color:#697c6f;background:#f2f6f0;padding:12px;border-radius:6px;margin:0 0 20px}
.recipient-editor{margin:22px 0 20px;border:1px solid #dce5dc;border-radius:8px;padding:18px 16px 0;min-width:0}.recipient-editor legend{font-size:13px;font-weight:600;color:#355443;padding:0 6px}.recipient-editor textarea{font-variant-numeric:tabular-nums;font-size:13px;min-height:62px}
.verification-column .nature-field{margin-top:16px}.verification-column .field>span{font-size:12px}.verification-column .detail-actions{flex-wrap:wrap}.verification-column .detail-actions .primary{min-width:180px}.original-column .original-head h2{font-size:19px}.workflow-review-summary{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}
@media(max-width:1000px){.payment-parties>div{display:block}.payment-parties span,.payment-parties b,.payment-parties small{display:block}.row-title.approval-number{font-size:13px}.approval-table>tbody>tr>td{padding-left:10px;padding-right:10px}.original-column,.verification-column{padding:18px}}
@media(max-width:800px){.review-expanded{grid-template-columns:1fr}.approval-table>thead th{font-size:10px;padding-left:8px;padding-right:8px}.approval-table .row-sub,.payment-parties small{font-size:10px}.approval-table .money{font-size:12px}.payment-parties b{font-size:11px}.approval-table .workflow-next{font-size:10px}.row-title.approval-number .chevron{display:none}.approval-table .badge{white-space:normal}.list-panel > .table-wrap > .approval-table > thead > tr > th:nth-child(1){width:24%}.list-panel > .table-wrap > .approval-table > thead > tr > th:nth-child(2){width:19%}.list-panel > .table-wrap > .approval-table > thead > tr > th:nth-child(3){width:37%}}
@media(min-width:900px){.workflow-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.workflow-stats .stat{padding:14px}.workflow-stats .stat strong{font-size:25px;margin:9px 0}.workflow-stats .stat small{line-height:1.6}}
.review-suggestions{border:1px solid #d9e5de;background:#f6faf7;border-radius:6px;padding:12px;margin:-4px 0 18px}.suggestion-heading{font-size:11px;font-weight:600;color:#426550;margin-bottom:9px}.suggestion-item{border-top:1px solid #dfe9e1;padding:9px 0}.suggestion-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.suggestion-title b{font-size:12px;font-weight:600;overflow-wrap:anywhere}.suggestion-title button{flex-shrink:0;border:1px solid #b9cdbf;border-radius:4px;background:#fff;padding:5px 9px;font-size:11px}.review-suggestions p{font-size:11px;line-height:1.7;margin:5px 0}.suggestion-evidence{font-size:10px;color:#6b7f70;margin-top:6px}.suggestion-evidence summary{cursor:pointer;line-height:1.7}.suggestion-evidence>div{border-left:2px solid #b8cdbe;padding:4px 9px;margin:7px 0;max-height:190px;overflow:auto}.suggestion-evidence p{white-space:pre-wrap;overflow-wrap:anywhere;color:#405b4b}.review-suggestions .suggestion-footnote{font-size:10px;color:#75867a}.review-suggestions .suggestion-warning{color:#93632a}.review-suggestions .suggestion-feedback{color:#17634b;font-weight:500}.review-suggestions .suggestion-feedback:empty{display:none}.list-suggestion{display:block!important;color:#2b775a!important;font-size:10px!important;line-height:1.7;margin-top:6px}
/* Account registry */
.account-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px;padding:0 32px 36px}.account-workspace>.card{min-width:0;margin:0}.account-wide{grid-column:1/-1}.account-workspace h2{font-size:17px;margin:0 0 16px}.account-workspace h2 span{font-size:12px;font-weight:400;color:#6a7b71;margin-left:8px}.account-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.account-workspace textarea{resize:vertical;min-height:72px}.account-workspace .field{margin:0 0 18px}.account-workspace .hint{font-size:12px;line-height:1.8;color:#66776c}.account-workspace .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.account-workspace .error-text{color:#a13d32;white-space:pre-wrap}.managed-account{border:1px solid #dfe6df;border-radius:8px;padding:18px;margin-bottom:14px;overflow-wrap:anywhere}.managed-account-heading{display:flex;align-items:center;gap:10px}.managed-account-heading h3{flex:1;font-size:15px;margin:0}.managed-account dl{display:grid;grid-template-columns:105px minmax(0,1fr);gap:9px;font-size:12px;line-height:1.7}.managed-account dt{color:#6a7b71}.managed-account dd{margin:0}.managed-account small{font-size:10px;color:#7c8980}.managed-account p{font-size:12px;line-height:1.7}.alias-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,1fr);align-items:start;gap:20px;border-top:1px solid #e1e7e1;padding:20px 0}.alias-item b{font-size:14px}.alias-item small{display:block;margin:7px 0;color:#78877d;font-size:11px}.alias-item details{font-size:11px;line-height:1.8;color:#5c7163}.alias-item details p{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto}.alias-link{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.alias-link select{width:100%;min-width:0}.bank-account-clue{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border-top:1px solid #e1e7e1;padding:18px 0;font-size:12px;overflow-wrap:anywhere}.bank-account-clue small{color:#718177;flex:1}.account-workspace select{max-width:100%}.manage-accounts-link{margin:-5px 0 16px}.suggestion-title button:disabled{opacity:.6;cursor:default}
@media(max-width:1150px){.account-workspace{grid-template-columns:1fr;padding:0 22px 30px}.account-wide{grid-column:auto}.account-editor{grid-row:2}}@media(max-width:650px){.account-workspace{padding:0 14px 24px}.account-form-grid,.alias-item{grid-template-columns:1fr}.alias-link{justify-content:flex-start}.managed-account dl{grid-template-columns:85px minmax(0,1fr)}}
.account-workspace>.card{padding:24px}.account-workspace .empty{padding:18px 0;text-align:left;font-size:12px;line-height:1.8}.account-workspace .panel-title{margin-bottom:10px}.account-workspace .panel-title h2{margin-bottom:0}
@media(max-width:1150px){.account-workspace>.card:first-child{order:1}.account-workspace>.account-wide:has(#pending-aliases){order:2}.account-workspace>.account-editor{order:3;grid-row:auto}.account-workspace>.account-wide:has(#bank-account-clues){order:4}}
.registry-shell{margin:0 24px 40px;min-width:0}.registry-tabs{display:flex;border-bottom:1px solid #cad8ce;gap:8px}.registry-tabs button{padding:16px 24px;border:0;background:transparent;color:#61766a;font-size:16px;cursor:pointer}.registry-tabs button.active{border-bottom:3px solid #24634d;color:#18563f;font-weight:600}.registry-summary{padding:20px 0;color:#526e5c;font-size:13px}.registry-toolbar{padding:14px;background:#fff;border:1px solid #dce6dd;border-radius:8px}.registry-status{display:flex;gap:8px;flex-wrap:wrap}.registry-status button{border:0;background:#f3f6f2;border-radius:5px;padding:10px 14px;color:#526c5e;cursor:pointer}.registry-status button.active{background:#1f604a;color:#fff}.registry-status b{margin-left:6px}.registry-search{display:flex;gap:12px;margin-top:14px}.registry-search select{width:210px}.registry-search input{flex:1;min-width:0}.registry-shell>.hint{font-size:12px;line-height:1.8;color:#6b7e70;margin:16px 0}.registry-shell .card{margin:0 0 14px;padding:24px;min-width:0}.registry-source{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:24px}.registry-source-info{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.registry-source-info>b{font-size:15px}.registry-source-info p{margin:6px 0}.registry-source-info small{color:#6e8074}.registry-source-info details{margin-top:8px;color:#6b7d6f;font-size:11px}.registry-source-info details p{white-space:pre-wrap;max-height:200px;overflow:auto}.registry-source-action{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;align-content:start;align-items:center;font-size:12px}.registry-source-action p{width:100%;line-height:1.8;text-align:right;overflow-wrap:anywhere}.registry-editor h2{font-size:18px;margin:0 0 20px}.registry-editor .field{margin-bottom:18px}.registry-editor .actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:20px}.registry-editor textarea{min-height:70px;resize:vertical}.registry-editor #link-source-summary{font-size:13px;margin:0 0 24px;padding:16px;background:#f2f7f2;overflow-wrap:anywhere}.registry-editor .hint{font-size:12px;line-height:1.8;color:#6d7c71}.registry-shell .empty{font-size:13px;padding:35px}.supplier-card h2{margin:0;font-size:17px;flex:1}.supplier-card .managed-account{margin-top:16px}.registry-shell .error-text{color:#a13d32;font-size:13px;line-height:1.8}.bank-party-link{color:#226d50!important;line-height:1.7!important}.recipient-editor textarea[readonly]{background:#f4f7f3;color:#536759}.registry-editor[hidden],#account-source-list[hidden],#account-list[hidden]{display:none!important}
@media(max-width:700px){.registry-shell{margin:0 14px 24px}.registry-source{grid-template-columns:1fr;gap:14px}.registry-source-action{justify-content:flex-start}.registry-source-action p{text-align:left}.registry-search{flex-direction:column}.registry-search select{width:100%}.registry-tabs button{padding:14px 18px}.registry-status button{padding:9px 11px}.registry-shell .card{padding:18px}.supplier-card>.managed-account-heading{flex-wrap:wrap}}
.bank-approval-link{display:block;margin-top:7px;font-size:12px;overflow-wrap:anywhere;text-align:left;font-variant-numeric:tabular-nums}
.bank-work-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 24px 22px}.bank-work-stats button{text-align:left;border:1px solid #d5e0d8;background:#fff;padding:20px;border-radius:8px;color:#496150;cursor:pointer}.bank-work-stats button.active{background:#e6f1e9;border-color:#287255}.bank-work-stats span,.bank-work-stats strong,.bank-work-stats small{display:block}.bank-work-stats strong{font-size:26px;margin:10px 0}.bank-work-stats small{font-size:11px;line-height:1.6;color:#78867c}.bank-row-actions{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:10px}.bank-row-actions .text-btn{font-size:11px;text-align:left;white-space:normal}.bank-work-dialog{width:min(1100px,calc(100vw - 40px));max-width:1100px;padding:0;border:0;border-radius:12px;max-height:88vh}.bank-work-dialog #modal-content{padding:0}.bank-work-heading{padding:24px 28px;border-bottom:1px solid #dfe7df;display:flex;justify-content:space-between;gap:20px;align-items:start;background:#f5f8f3}.bank-work-heading h2{font-size:20px;margin:0 0 10px}.bank-work-heading p{font-size:13px;margin:8px 0}.bank-work-heading small{color:#66786c;line-height:1.8}.bank-work-body{padding:24px 28px;max-height:calc(88vh - 160px);overflow:auto}.bank-work-body .hint{font-size:12px;line-height:1.9;color:#6c7e71}.bank-work-body .field{margin:18px 0}.bank-work-body .actions{display:flex;justify-content:flex-end;gap:12px;margin:18px 0}.bank-work-body textarea{min-height:80px;resize:vertical}.bank-work-body .error-text{color:#ab4332;font-size:13px;line-height:1.8}.bank-oa-candidate,.bank-linked-item{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:20px;padding:20px 0;border-bottom:1px solid #dce5dd;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.bank-oa-candidate h3{font-size:15px;margin:0 0 8px}.bank-oa-candidate p{margin:7px 0}.bank-oa-candidate>div:last-child,.bank-linked-item>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:15px}.candidate-clues{color:#256c50}.candidate-warning{color:#a44e2b;background:#fff4e7;padding:10px;border-radius:6px;line-height:1.8}.bank-comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#f4f7f3;padding:18px;font-size:13px;line-height:1.9;overflow-wrap:anywhere}.bank-ack{display:block;font-size:13px;line-height:1.9;margin:18px 0}.bank-exception-guide{background:#f3f7f1;padding:18px;font-size:13px;line-height:1.9;border-radius:7px}.bank-offset-list{max-height:360px;overflow:auto;border:1px solid #dce5dd;border-radius:7px}.bank-offset{display:flex;align-items:start;gap:12px;padding:16px;border-bottom:1px solid #e3e8e2;font-size:13px;line-height:1.8}.bank-offset small{display:block;color:#6e8073;font-size:12px}.bank-offset input{margin-top:6px}.bank-work-body #bank-group-picker{margin-top:28px;border-top:1px solid #dce5dd;padding-top:16px}.bank-work-body h3{font-size:16px}.bank-work-body input[type=search]{width:100%}
@media(max-width:750px){.bank-work-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 14px 18px}.bank-work-heading,.bank-work-body{padding:18px}.bank-oa-candidate,.bank-linked-item{grid-template-columns:1fr}.bank-oa-candidate>div:last-child,.bank-linked-item>div:last-child{flex-direction:row;align-items:center}.bank-comparison{grid-template-columns:1fr}.bank-work-body .account-form-grid{grid-template-columns:1fr}}
/* Candidate evidence and classification maintenance */
.oa-candidate-group{border:1px solid #d7e3d9;border-radius:8px;padding:16px;margin:16px 0}.oa-candidate-group>h3,.oa-candidate-group>summary{font-size:14px;color:#235a43;font-weight:600;margin:0;cursor:pointer}.oa-candidate-group .bank-oa-candidate:last-child{border-bottom:0}.oa-match-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#f5f8f4;padding:12px;border-radius:6px}.oa-match-reason{white-space:pre-wrap;max-height:170px;overflow:auto;background:#fafbf8;padding:10px}.oa-candidates-low{border-style:dashed;background:#fafbf8}.class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.class-card{border:1px solid #dce6dd;background:white;border-radius:8px;padding:22px;font-size:13px;line-height:1.8;min-width:0;overflow-wrap:anywhere}.class-card-head{display:flex;gap:12px;align-items:center}.class-card-head>div{flex:1}.class-card h3{font-size:16px;margin:4px 0}.class-card small,.class-card .hint{color:#6a7d6e;font-size:12px}.class-card details{margin-top:16px;border-top:1px solid #e3e9e1;padding-top:12px}.class-card details p{white-space:pre-wrap;max-height:190px;overflow:auto}.class-mode{color:#226b4c;background:#f0f6ef;padding:10px}.class-card summary{cursor:pointer;color:#47624f}#class-editor{padding:24px;margin-bottom:24px}#classification-view .notice{margin-bottom:20px}#class-list[hidden],#class-editor[hidden]{display:none!important}.manage-classification-link{margin-bottom:15px}
@media(max-width:900px){.class-grid{grid-template-columns:1fr}.oa-match-facts{grid-template-columns:1fr;gap:4px}.oa-candidate-group{padding:12px}}

.classification-table{width:100%;min-width:850px;table-layout:fixed}.classification-table th:nth-child(1){width:55px}.classification-table th:nth-child(2){width:95px}.classification-table th:nth-child(3){width:200px}.classification-table th:nth-child(5){width:80px}.classification-table th:nth-child(6){width:100px}.classification-table th,.classification-table td{padding:14px 12px;text-align:left;vertical-align:middle;line-height:1.65;white-space:normal;overflow-wrap:anywhere}.classification-table td{border-bottom:1px solid #e4e9e6}.class-keywords-cell{color:#62736d;font-size:13px}.classification-table input,.classification-table select,.classification-table textarea{width:100%;min-width:0;box-sizing:border-box;padding:8px;border:1px solid #cbd6d0;border-radius:5px;font:inherit}.classification-table textarea{resize:vertical}.classification-table #class-edit-row{background:#eef6f2}.classification-table #class-cancel{display:block;margin:10px auto 0}.classification-table small{display:block}.classification-table th{background:#f3f6f4}.classification-table .text-btn{white-space:nowrap}

.supplier-toolbar .registry-search{margin:15px 0}.supplier-toolbar input{flex:1}#supplier-quick{width:min(720px,92vw);max-height:90vh;overflow:auto;padding:28px;border:0;border-radius:12px;box-shadow:0 20px 80px #0004}#supplier-quick::backdrop{background:#12251e66}.supplier-dialog-head{display:flex;justify-content:space-between;gap:24px}.supplier-dialog-head h2{margin:0}.supplier-dialog-head p{color:#66796e;font-size:13px}.supplier-source-evidence{padding:12px;background:#f3f6f4;margin-bottom:16px}.supplier-source-evidence p{overflow-wrap:anywhere;font-size:13px}.supplier-ack{display:flex;gap:10px;align-items:flex-start;margin:18px 0}#supplier-quick .field{margin-bottom:16px}#supplier-quick .actions{margin-top:20px}#supplier-quick input,#supplier-quick select,#supplier-quick textarea{box-sizing:border-box;max-width:100%}
#supplier-table-view .table-wrap{overflow:auto;max-width:100%;max-height:66vh;border:1px solid #e0e7e2;border-radius:8px;position:relative}
#supplier-table-view .supplier-table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse}
#supplier-table-view .supplier-table th:nth-child(1){width:31%}#supplier-table-view .supplier-table th:nth-child(2){width:34%}#supplier-table-view .supplier-table th:nth-child(3){width:20%}#supplier-table-view .supplier-table th:nth-child(4){width:15%}
#supplier-table-view .supplier-table th,#supplier-table-view .supplier-table td{box-sizing:border-box;padding:14px 12px;text-align:left;vertical-align:top;white-space:normal;overflow-wrap:anywhere;line-height:1.55;border-bottom:1px solid #e2e9e5;font-size:13px}
#supplier-table-view .supplier-table th{position:sticky;top:0;z-index:2;background:#f2f6f3;font-size:12px}
.supplier-party-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 8px;margin-bottom:9px}.supplier-owner{color:#627269;font-size:12px}.supplier-holder strong{font-weight:500;display:block}.supplier-field-label{display:block;font-size:11px;color:#7c8880;margin-bottom:3px}.supplier-bank{display:block;color:#6e7b72;font-size:12px;margin-top:9px}.supplier-number{display:block;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;user-select:text;line-height:1.7}.supplier-ref-count{font-size:12px;color:#63786b}.supplier-table .text-btn{display:block;margin:5px 0 0;padding:3px 0;font-size:13px;text-align:left}.supplier-table .supplier-oa-number{font-size:12px;font-variant-numeric:tabular-nums;white-space:normal;word-break:break-all}.supplier-more-refs{margin-top:7px;font-size:12px}.supplier-more-refs summary{cursor:pointer;color:#64766b}.supplier-row-warning{display:block;color:#937335;font-size:12px;margin-top:6px}.supplier-row-actions .text-btn{white-space:nowrap!important}.supplier-table small{display:block;font-size:12px;color:#7c8880;margin-top:5px}
@media(max-width:900px){#supplier-table-view .supplier-table th,#supplier-table-view .supplier-table td{padding:12px 8px}.supplier-number{font-size:12px}.supplier-row-actions .text-btn{font-size:12px}}
@media(max-width:560px){#supplier-table-view .supplier-table,#supplier-table-view .supplier-table tbody{display:block}#supplier-table-view .supplier-table thead{display:none}#supplier-table-view .supplier-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-bottom:1px solid #cad8ce;padding:8px}#supplier-table-view .supplier-table td{display:block;width:auto;border:0}.supplier-row-actions{display:flex!important;justify-content:flex-end;gap:12px;align-items:flex-end}.supplier-table .supplier-number{font-size:13px}}

/* Cashier daily journal */
.cashier-layout{display:grid;grid-template-columns:minmax(360px,0.9fr) minmax(0,1.5fr);gap:20px;align-items:start}
.cashier-editor,.cashier-records{min-width:0}.cashier-editor .panel-title{padding:0 0 16px}.cashier-wide{grid-column:1/-1}.cashier-editor .field{min-width:0}.cashier-editor .field input,.cashier-editor .field select,.cashier-editor .field textarea{width:100%;min-width:0}.cashier-more{margin:16px 0}.cashier-more summary{cursor:pointer;margin-bottom:12px}.cashier-ack{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#64748b;margin:12px 0}.cashier-ack input{margin-top:3px}.cashier-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.cashier-filters label{display:flex;align-items:center;gap:5px;font-size:12px}.cashier-filters select{max-width:220px}.cashier-totals{display:flex;flex-wrap:wrap;gap:12px;padding:16px 20px;background:#f7f9fc;border-block:1px solid #e5eaf0}.cashier-totals>div{display:grid;gap:5px;font-variant-numeric:tabular-nums;min-width:150px}.cashier-totals small{color:#64748b}.cashier-table{min-width:650px;width:100%}.cashier-table th,.cashier-table td{padding:14px 12px;vertical-align:top}.cashier-table td{max-width:240px;overflow-wrap:anywhere}.cashier-table small,.cashier-table td>b{display:block;margin-top:6px}.cashier-table small{color:#64748b;font-size:12px;line-height:1.6}#cashier-message{color:#087f70;font-size:13px}#cashier-history{padding:20px;border-top:1px solid #e5eaf0}#cashier-history pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:#f7f9fc;padding:14px}#cashier-history details{margin:12px 0}#cashier-history summary{cursor:pointer}#cashier-view [hidden]{display:none!important}
@media(max-width:1250px){.cashier-layout{grid-template-columns:1fr}.cashier-editor .account-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cashier-editor .account-form-grid{grid-template-columns:1fr}.cashier-filters{flex-direction:column}.cashier-filters select{max-width:none}}

/* Cashier spreadsheet entry */
.cashier-tabs{display:flex;gap:8px;margin:0 34px 18px}.cashier-tabs button{border:1px solid #d9e2de;background:#fff;border-radius:7px;padding:10px 20px;color:#49625a;cursor:pointer}.cashier-tabs button.active{background:#206759;color:#fff;border-color:#206759}.cashier-tabs span{margin-left:8px;font-size:12px}
#cashier-sheet-panel,#cashier-records-panel{margin:0 34px 30px}.cashier-sheet-defaults{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:20px;background:#f6f9f7;border-bottom:1px solid #e1e7e3}.cashier-sheet-defaults>b{font-size:13px;color:#466258}.cashier-sheet-defaults label{display:flex;align-items:center;gap:8px;font-size:12px}.cashier-sheet-defaults input,.cashier-sheet-defaults select{height:34px;border:1px solid #d2ddd6;border-radius:5px;padding:5px 8px;background:white;max-width:230px}#cashier-default-currency{width:70px}#cashier-default-operator{width:135px}.cashier-sheet-toolbar,.cashier-sheet-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px}.cashier-sheet-toolbar>div{display:flex;align-items:center;gap:12px}.cashier-sheet-toolbar>span{font-size:13px;color:#49625a}.cashier-sheet-footer{border-top:1px solid #dce4df}.cashier-grid-wrap{overflow:auto;max-height:60vh;border-block:1px solid #d2ddd6}.cashier-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:1180px;table-layout:fixed;font-size:13px}.cashier-grid th{background:#edf3ef;color:#476357;font-weight:600}.cashier-grid thead th{position:sticky;top:0;z-index:2;height:38px;text-align:left;padding:8px}.cashier-grid td,.cashier-grid th{border-right:1px solid #e0e7e2;border-bottom:1px solid #e0e7e2}.cashier-grid td{padding:0;vertical-align:middle}.cashier-grid input,.cashier-grid select{width:100%;height:42px;background:transparent;border:0;border-radius:0;outline:none;padding:7px;font-size:13px;color:#243d32;min-width:0}.cashier-grid input:focus,.cashier-grid select:focus{box-shadow:inset 0 0 0 2px #287763;background:#f5fff9}.cashier-grid input:disabled{background:#f3f5f3}.cashier-grid [aria-invalid=true]{background:#fff2ed;box-shadow:inset 0 0 0 1px #c56544}.cashier-grid .sheet-rownum{width:36px;text-align:center;font-size:11px}.cashier-grid .sheet-col-date{width:112px}.cashier-grid .sheet-col-accountName,.cashier-grid .sheet-col-toAccountName{width:148px}.cashier-grid .sheet-col-nature{width:68px}.cashier-grid .sheet-col-amount{width:94px}.cashier-grid .sheet-col-currency{width:62px}.cashier-grid .sheet-col-categoryName{width:135px}.cashier-grid .sheet-col-project{width:115px}.cashier-grid .sheet-col-counterparty{width:115px}.cashier-grid .sheet-col-summary{width:150px}.cashier-grid .sheet-operations{width:103px;text-align:center;white-space:nowrap}.sheet-operations button{background:none;border:0;color:#347560;font-size:12px;padding:5px 3px;cursor:pointer}.sheet-row-errors td{background:#fff7f2;color:#ae442c;font-size:12px;padding:6px 8px}.cashier-sheet-totals{display:flex;gap:20px;flex-wrap:wrap;padding:0 20px;font-size:13px;font-variant-numeric:tabular-nums}.cashier-sheet-save{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;background:#f6f9f7;border-radius:0 0 12px 12px}.cashier-sheet-save>span{font-size:12px;color:#74847b}.cashier-sheet-save>div{display:flex;gap:10px}#cashier-sheet-errors,#cashier-sheet-message{padding:0 20px;font-size:13px}#cashier-sheet-message{color:#206759}.cashier-row-dialog,.cashier-edit-dialog{border:0;border-radius:12px;box-shadow:0 20px 60px #0003;max-height:88vh;overflow:auto;width:min(680px,92vw);padding:24px}.cashier-row-dialog::backdrop,.cashier-edit-dialog::backdrop{background:#183c2f55}.cashier-edit-dialog .cashier-editor{padding:0;border:0;box-shadow:none}.cashier-row-dialog .field input,.cashier-row-dialog .field textarea{width:100%}.cashier-row-dialog .field{margin:12px 0}.cashier-row-dialog .panel-title{padding:0}.cashier-row-dialog #cashier-extra-duplicate{padding:14px;background:#faf8f2;margin:12px 0}.cashier-sheet-footer .hint{font-size:12px}
@media(max-width:700px){.cashier-tabs{margin:0 14px 14px}#cashier-sheet-panel,#cashier-records-panel{margin:0 14px 20px}.cashier-sheet-defaults{padding:14px;gap:10px}.cashier-sheet-defaults>b{width:100%}.cashier-sheet-defaults label{flex:1 1 44%;flex-direction:column;align-items:flex-start}.cashier-sheet-defaults input,.cashier-sheet-defaults select{width:100%;max-width:none}.cashier-sheet-footer,.cashier-sheet-save{flex-direction:column;align-items:stretch}.cashier-sheet-toolbar>div{gap:4px}.cashier-sheet-toolbar{padding:10px}.cashier-grid-wrap{max-height:65vh}.cashier-row-dialog .account-form-grid{grid-template-columns:1fr}}
.cashier-grid .sheet-operations{position:sticky;right:0;z-index:1;background:#fff;border-left:1px solid #d2ddd6;box-shadow:-3px 0 5px #173e2b08}.cashier-grid thead .sheet-operations{z-index:3;background:#edf3ef}.cashier-grid .sheet-col-amount input{text-align:right;font-variant-numeric:tabular-nums}.cashier-grid .sheet-rownum{position:sticky;left:0;z-index:1;background:#edf3ef}.cashier-grid thead .sheet-rownum{z-index:3}

/* Searchable, explicit choices for accounts, categories and projects. */
input.cashier-search-choice{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m3 4 3 3 3-3' fill='none' stroke='%2360786d' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center;background-size:12px;padding-right:24px!important;cursor:text}.cashier-grid input.cashier-search-choice:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m3 4 3 3 3-3' fill='none' stroke='%2360786d' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center;background-size:12px}.cashier-choice-popup{position:fixed;z-index:10000;background:#fff;border:1px solid #bbd2c5;border-radius:8px;box-shadow:0 8px 28px #173e2b24;padding:5px;overflow:hidden;font-size:13px}.cashier-choice-popup[hidden]{display:none!important}.cashier-choice-hint{font-size:11px;color:#6d8075;padding:7px 9px;border-bottom:1px solid #edf1ee}.cashier-choice-popup [role=listbox]{max-height:230px;overflow:auto;overscroll-behavior:contain}.cashier-choice-popup [role=option]{display:block;text-align:left;width:100%;border:0;border-radius:5px;background:#fff;padding:10px;cursor:pointer;color:#234c3c;white-space:normal}.cashier-choice-popup [role=option]:hover,.cashier-choice-popup [role=option][aria-selected=true]{background:#eaf5ee}.cashier-choice-popup [role=option] b{display:block;font-size:13px;font-weight:500;overflow-wrap:anywhere}.cashier-choice-popup small{display:block;font-size:11px;color:#7a8d81;margin-top:4px;line-height:1.5;overflow-wrap:anywhere}.cashier-choice-popup .choice-create{border-top:1px solid #e1e9e4;color:#187254}.cashier-choice-empty{padding:12px;font-size:12px;color:#7d8c83}#cashier-default-account-search{width:230px}.cashier-editor select[hidden]{display:none!important}

/* Unified reference settings. */
.settings-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line,#dce3e7);margin:0 0 24px;padding-bottom:12px}
.settings-tabs button{border:0;background:transparent;border-radius:8px;padding:11px 19px;color:#58636b;font:inherit;cursor:pointer}
.settings-tabs button.active{background:#e7efeb;color:#204d3e;font-weight:700}
.settings-tabs button:focus-visible{outline:2px solid #26745a;outline-offset:2px}
#settings-view>section>.intro{margin-bottom:18px;align-items:flex-start;gap:16px}
#settings-view>section>.intro h1{font-size:22px}
#settings-view>section>.intro .eyebrow{display:none}
#settings-view>section>.intro p{max-width:850px;line-height:1.7}
.settings-editor{margin:0 0 20px;padding:22px}
.settings-editor h3{margin:0 0 18px}
.settings-wide{grid-column:1 / -1}
.settings-table{width:100%;border-collapse:collapse;min-width:650px}
.settings-table th,.settings-table td{padding:15px 18px;border-bottom:1px solid #e6ebe8;text-align:left;vertical-align:top}
.settings-table th{color:#63736a;background:#f6f8f6;font-size:12px;font-weight:600}
.settings-table td{font-size:13px;overflow-wrap:anywhere;max-width:310px;white-space:pre-wrap}
.settings-table td:last-child{white-space:nowrap}
#settings-data-view .registry-search{padding:16px}
#settings-data-view .registry-search input{min-width:0;flex:1}
#settings-data-view .intro h2{margin:0 0 8px;font-size:22px}
@media(max-width:700px){.settings-tabs{gap:4px;margin-bottom:18px}.settings-tabs button{padding:10px 12px;font-size:13px}.settings-editor{padding:16px}#settings-view>section>.intro{flex-wrap:wrap}.settings-wide{grid-column:auto}#settings-data-view .registry-search{flex-wrap:wrap}#settings-data-view .registry-search input{flex-basis:100%}}
#settings-view .table-wrap{overflow:auto;max-width:100%}
.settings-tabs{margin-left:24px;margin-right:24px}
.settings-editor{margin-left:24px;margin-right:24px}
.settings-table td:first-child{min-width:180px}
@media(max-width:700px){.settings-tabs,.settings-editor{margin-left:14px;margin-right:14px}.settings-editor .account-form-grid{grid-template-columns:minmax(0,1fr)}}

.settings-table{table-layout:auto}
#settings-data-view[data-kind="rates"] .settings-table td:first-child{white-space:nowrap}

/* Cashier summary, searchable currencies and transaction receipts. */
.cashier-grid{min-width:1220px}.cashier-grid .sheet-col-currency{width:80px}.cashier-grid .sheet-operations{width:155px}
.cashier-receipts{margin:18px 0;padding:16px;border:1px solid #dce6df;border-radius:10px;background:#fbfcfb}
.cashier-receipt-drop{border:1px dashed #83a294;padding:18px;border-radius:8px;background:#f4f8f5;outline-offset:3px}
.cashier-receipt-drop:focus,.cashier-receipt-drop.dragging{outline:2px solid #327b60;background:#eaf5ee}
.cashier-receipt-drop p{font-size:13px;line-height:1.7}.cashier-receipt-drop small{display:block;margin-top:12px;font-size:11px;color:#667a6e}
.cashier-receipt-item{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #e1e9e3;font-size:12px}
.cashier-receipt-item>span{flex:1;min-width:0;overflow-wrap:anywhere}.cashier-receipt-item small{display:block;margin-top:5px;color:#728278}
.cashier-receipt-item button{flex-shrink:0}.cashier-receipt-list{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:7px}.cashier-receipt-list button{white-space:normal;overflow-wrap:anywhere;text-align:left}
.cashier-file-dialog{width:min(1000px,94vw);max-height:90vh;overflow:auto;padding:24px;border:0;border-radius:12px;box-shadow:0 20px 60px #0003}.cashier-file-dialog::backdrop{background:#17382e66}.cashier-file-dialog h2{font-size:17px;overflow-wrap:anywhere}.cashier-file-dialog img{display:block;max-width:100%;height:auto;margin:18px auto}.cashier-file-dialog iframe{display:block;width:100%;height:65vh;border:1px solid #dae5de;margin-top:16px}.cashier-file-dialog p{font-size:13px;line-height:1.7}
@media(max-width:700px){.cashier-receipts{padding:10px}.cashier-receipt-drop{padding:14px}.cashier-receipt-item{flex-wrap:wrap}.cashier-receipt-item>span{flex-basis:100%}.cashier-file-dialog{padding:15px}}

/* Approval number is entered per transaction and never inherited. */
.cashier-grid .sheet-col-date{width:104px}.cashier-grid .sheet-col-accountName{width:128px}.cashier-grid .sheet-col-nature{width:60px}.cashier-grid .sheet-col-amount{width:90px}.cashier-grid .sheet-col-currency{width:70px}.cashier-grid .sheet-col-categoryName{width:120px}.cashier-grid .sheet-col-project,.cashier-grid .sheet-col-counterparty{width:100px}.cashier-grid .sheet-col-summary,.cashier-grid .sheet-col-approvalNo{width:130px}.cashier-grid .sheet-operations{width:140px}.cashier-row-dialog [hidden]{display:none!important}

/* Saved cashier journal: compact statement rows with persistent headings/actions. */
#cashier-records-panel>.panel-title{padding:14px 16px;gap:12px}#cashier-records-panel .panel-title h2{font-size:17px}#cashier-records-panel .panel-title p{margin:5px 0 0}
.cashier-record-actions{display:flex;gap:8px;flex-shrink:0}#cashier-records-panel>.filters{padding:10px 16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}#cashier-records-panel>.filters>input{width:260px;flex:1;min-width:180px;height:34px}.cashier-filters{margin:0;align-items:center}.cashier-filters input,.cashier-filters select{height:32px;border:1px solid #d6e1da;border-radius:4px;padding:4px;font-size:12px}.cashier-filters input{width:126px}.cashier-filters select{max-width:160px}
#cashier-totals{padding:9px 16px;gap:8px 22px;font-size:12px}#cashier-totals>div{display:flex;align-items:center;flex-wrap:wrap;gap:14px;min-width:0}#cashier-totals p{margin:0}#cashier-totals small{font-size:12px}
.cashier-ledger-wrap{overflow:auto;max-height:calc(100vh - 350px);min-height:240px;overscroll-behavior:contain}.cashier-table{min-width:1775px;table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.cashier-table th,.cashier-table td{padding:9px 10px;vertical-align:middle;border-right:1px solid #e6ece8;border-bottom:1px solid #e6ece8;height:42px;max-width:none;text-align:left;white-space:nowrap}.cashier-table thead th{position:sticky;top:0;z-index:2;background:#edf3ef;font-size:12px;font-weight:600;color:#486056}.cashier-table td{background:#fff}.cashier-table tr:nth-child(even) td{background:#f8faf9}.cashier-table tr:hover td{background:#edf6f0}.ledger-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:20px}.cashier-table .ledger-money{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.cashier-table .ledger-actions{position:sticky;right:0;z-index:1;border-left:1px solid #cddbd2;box-shadow:-3px 0 6px #204d3c0a}.cashier-table thead .ledger-actions{z-index:3}.cashier-table .text-btn{padding:3px 5px;font-size:12px}.ledger-status{font-size:11px;color:#65756c}
#cashier-records-panel .pagination{padding:10px 16px;gap:10px}#cashier-records-panel .pagination>div{display:flex;align-items:center;gap:10px}#cashier-page-size{padding:5px;border:1px solid #d6e1da;background:white;border-radius:4px}#cashier-record-message{margin:0;padding:0 16px 10px;font-size:12px;color:#216a50}#cashier-record-message:empty{display:none}
#cashier-records-panel.cashier-expanded{position:fixed;inset:12px;z-index:100;margin:0;display:flex;flex-direction:column;box-shadow:0 0 0 20px #e8eee9}.cashier-expanded .cashier-ledger-wrap{flex:1;min-height:0;max-height:none}.cashier-records-expanded{overflow:hidden}#cashier-detail-dialog{width:min(860px,94vw)}#cashier-history{padding:12px 0;border:0}#cashier-history p{line-height:1.7;overflow-wrap:anywhere}.cashier-detail-summary{white-space:pre-wrap}#cashier-delete-summary{line-height:1.7;overflow-wrap:anywhere;max-height:160px;overflow:auto}.cashier-danger{color:#b83b36!important}button.btn.cashier-danger{background:#b83b36;color:#fff!important;border-color:#b83b36}
/* Income/expense/transfer retain explicit labels as well as color. */
.cashier-income{color:#18764d}.cashier-expense{color:#bb3e36}.cashier-transfer{color:#2669b5}
.cashier-grid tr[data-nature="收入"] .sheet-col-amount input,#cashier-form[data-nature="收入"] #cashier-amount{color:#18764d;background:#eef8f1;font-weight:600}
.cashier-grid tr[data-nature="支出"] .sheet-col-amount input,#cashier-form[data-nature="支出"] #cashier-amount{color:#bb3e36;background:#fff3f0;font-weight:600}
.cashier-grid tr[data-nature="转账"] .sheet-col-amount input,#cashier-form[data-nature="转账"] #cashier-amount{color:#2669b5;background:#eef5ff;font-weight:600}
@media(max-width:700px){#cashier-records-panel>.panel-title{flex-wrap:wrap}.cashier-record-actions{width:100%}.cashier-record-actions .btn{padding:7px 10px;font-size:11px}#cashier-records-panel>.filters{padding:10px}.cashier-filters{flex-direction:row}.cashier-filters label{flex:1}.cashier-filters select{flex:1;min-width:95px}.cashier-ledger-wrap{max-height:55vh}.cashier-table .ledger-actions{width:145px}#cashier-records-panel .pagination{flex-wrap:wrap}#cashier-records-panel .pagination>div{gap:6px}#cashier-records-panel.cashier-expanded{inset:4px}.cashier-expanded .cashier-ledger-wrap{max-height:none}#cashier-totals>div{gap:8px}}

#cashier-view.cashier-show-records>.intro{padding-top:20px;padding-bottom:20px}#cashier-view.cashier-show-records>.intro h1{font-size:24px;margin:0}#cashier-view.cashier-show-records>.intro .eyebrow,#cashier-view.cashier-show-records>.intro p{display:none}.cashier-ledger-wrap{max-height:calc(100vh - 450px)}.cashier-expanded .cashier-ledger-wrap{max-height:none}@media(max-width:700px){.cashier-ledger-wrap{max-height:55vh}}

/* Unified selectable account registry. */
#unified-accounts {min-width:0}#unified-accounts .registry-tabs {display:flex;gap:8px;margin-bottom:18px}#unified-accounts .registry-search {display:flex;flex-wrap:wrap;gap:10px;align-items:center}#registry-search{min-width:220px;flex:1}#unified-accounts .registry-search select{max-width:210px}#unified-accounts .table-wrap {max-height:65vh;overflow:auto}.registry-unified-table{width:100%;min-width:780px;border-collapse:collapse}.registry-unified-table th,.registry-unified-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line,#e0e3df);vertical-align:top}.registry-unified-table th{position:sticky;top:0;background:#f5f6f2;z-index:1}.registry-unified-table small{display:block;margin-top:5px;color:#66736c;overflow-wrap:anywhere}.registry-unified-table td:last-child{min-width:160px}.registry-evidence{font-size:12px;max-width:440px;margin-top:8px;white-space:normal;overflow-wrap:anywhere}.registry-evidence p{padding:8px;background:#f5f6f2;border-radius:6px}.registry-evidence summary{cursor:pointer;color:#546d60}#registry-dialog{width:min(1050px,96vw);max-width:96vw;max-height:90vh;padding:24px;border:1px solid #d8dfd9;border-radius:16px;overflow:auto}#registry-dialog::backdrop{background:#18352d66}#registry-dialog fieldset{border:0;padding:0;margin:16px 0}#registry-dialog .field{margin-bottom:12px}#registry-dialog .panel-title{margin-bottom:16px}#reg-paste-text{width:100%;box-sizing:border-box;font-family:monospace}#registry-dialog .table-wrap{max-height:55vh;overflow:auto}.registry-batch-table{min-width:1300px;width:100%;border-collapse:collapse}.registry-batch-table td,.registry-batch-table th{padding:8px;border-bottom:1px solid #d8dfd9;text-align:left}.registry-batch-table input,.registry-batch-table select{width:100%;min-width:120px;box-sizing:border-box;margin:2px 0}#reg-preview{margin:12px 0}#registry-dialog [hidden]{display:none!important}#unified-accounts .intro{gap:12px;flex-wrap:wrap}@media(max-width:650px){#registry-dialog{padding:14px}#unified-accounts .registry-search>*{max-width:100%}#unified-accounts .intro .actions{flex-wrap:wrap}#unified-accounts .registry-shell{padding:12px}}

/* Account maintenance: readable working text and explicit manual role controls. */
#unified-accounts,#registry-dialog{font-size:16px;line-height:1.6;color:#20352b}
#unified-accounts .intro h2,#registry-dialog h2{font-size:24px;color:#193b2a;line-height:1.4}
#unified-accounts .intro p,#unified-accounts .hint,#registry-dialog .hint{font-size:15px;color:#415348;line-height:1.65}
#unified-accounts .registry-shell{padding:20px 24px}
#unified-accounts .registry-tabs button{font-size:17px;font-weight:600;color:#304b3b;padding:12px 18px;border:1px solid #a6b9ac;border-radius:7px;background:#fff;cursor:pointer}
#unified-accounts .registry-tabs button.active{background:#19563c;color:#fff;border-color:#19563c}
#unified-accounts input,#unified-accounts select,#registry-dialog input,#registry-dialog select,#registry-dialog textarea{font-size:16px;color:#20352b;background:#fff;border:1px solid #8ca394;border-radius:6px;min-height:42px;padding:8px 10px;line-height:1.5}
#unified-accounts input::placeholder,#registry-dialog input::placeholder,#registry-dialog textarea::placeholder{color:#53675b;opacity:1}
#unified-accounts input[type=checkbox],#registry-dialog input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:#19563c}
#unified-accounts .registry-unified-table{min-width:980px;font-size:16px}
#unified-accounts .registry-unified-table th{font-size:16px;font-weight:700;color:#233d2e;background:#e9f0eb;border-bottom:2px solid #a8bcae}
#unified-accounts .registry-unified-table td{font-size:16px;color:#20352b;border-bottom:1px solid #ccd8cf;line-height:1.6}
#unified-accounts .registry-unified-table th,#unified-accounts .registry-unified-table td{padding:14px 16px}
#unified-accounts .registry-unified-table tbody tr:nth-child(even){background:#f5f8f6}
#unified-accounts .registry-unified-table tbody tr:hover{background:#eaf3ed}
#unified-accounts .registry-unified-table small,#registry-dialog small{font-size:14px;line-height:1.6;color:#415348}
#unified-accounts .registry-unified-table td:nth-last-child(3) small{font-size:16px;color:#20352b;font-variant-numeric:tabular-nums;letter-spacing:.3px}
#unified-accounts .registry-role-choice{display:block;min-width:145px;margin-bottom:5px;font-weight:600}
#unified-accounts .btn,#unified-accounts .text-btn,#registry-dialog .btn{font-size:16px;line-height:1.5;min-height:42px;padding:8px 12px;font-weight:600}
#unified-accounts .text-btn{color:#155b3b;text-decoration:underline;text-underline-offset:3px}
#unified-accounts .btn,#registry-dialog .btn{color:#244b35;border-color:#91aa99;background:#fff}
#unified-accounts .btn.primary,#registry-dialog .btn.primary{background:#19563c;color:#fff;border-color:#19563c}
#unified-accounts .badge{font-size:14px;font-weight:600;color:#244b35;background:#e6f0e9;border:1px solid #a5bdad;padding:5px 9px}
#unified-accounts .registry-evidence,#registry-dialog .registry-evidence{font-size:14px;line-height:1.65}
#unified-accounts .registry-evidence summary,#registry-dialog summary{color:#245b3c;font-size:15px;cursor:pointer}
#registry-dialog .field>span,#registry-dialog label{font-size:16px;color:#253c2e;font-weight:500}
#registry-dialog .registry-batch-table th{font-size:15px;color:#233d2e;background:#e9f0eb}
#registry-dialog .registry-batch-table td{font-size:16px;color:#20352b}
#registry-dialog .notice,#registry-dialog #reg-preview{font-size:16px;color:#253c2e;line-height:1.6}
#unified-accounts .error-text,#registry-dialog .error-text{font-size:16px;color:#a12620;line-height:1.65}
#unified-accounts :is(button,input,select):focus-visible,#registry-dialog :is(button,input,select,textarea,summary):focus-visible{outline:3px solid #28754d;outline-offset:2px}
@media(max-width:700px){#unified-accounts .registry-shell{padding:12px}#unified-accounts .registry-tabs{flex-wrap:wrap}#unified-accounts .registry-tabs button{font-size:16px;padding:10px 12px}#unified-accounts .registry-search input{min-width:0;flex-basis:100%}#registry-dialog .account-form-grid{grid-template-columns:minmax(0,1fr)}#registry-dialog .actions{flex-wrap:wrap}}

/* Ledger-style account tables: readable type with compact, independent columns. */
#settings-view:has(#accounts-view:not([hidden]))>.intro{padding:14px 24px;margin:0}
#settings-view:has(#accounts-view:not([hidden]))>.intro :is(.eyebrow,p){display:none}
#settings-view:has(#accounts-view:not([hidden])) .settings-tabs{margin-bottom:6px;padding-bottom:8px}
#unified-accounts>.intro{padding:10px 24px;margin:0;align-items:center}
#unified-accounts>.intro h2{font-size:22px;margin:0}
#unified-accounts>.intro p{display:none}
#unified-accounts .registry-shell{padding:8px 24px 14px}
#unified-accounts .registry-tabs{margin-bottom:10px;flex-wrap:wrap;gap:6px}
#unified-accounts .registry-tabs button{font-size:16px;padding:7px 13px;line-height:1.5}
#unified-accounts .registry-search{gap:8px;padding:0;flex-direction:row;justify-content:flex-start}
#unified-accounts .registry-search :is(input,select){min-height:38px;padding:6px 9px}
#unified-accounts .registry-search select{width:auto;min-width:130px}
#unified-accounts .registry-search [hidden]{display:none!important}
#unified-accounts .registry-shell>.hint{font-size:14px;margin:8px 0}
#unified-accounts .error-text:empty{display:none}
#unified-accounts .table-wrap{max-height:calc(100vh - 350px);min-height:230px;border:1px solid #c6d5cb;overscroll-behavior:contain}
#unified-accounts .registry-ledger{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:1570px;font-size:16px}
#unified-accounts .registry-ledger th,#unified-accounts .registry-ledger td{height:44px;padding:5px 10px;line-height:1.4;vertical-align:middle;white-space:nowrap;border-right:1px solid #dce5df;border-bottom:1px solid #d2ded6}
#unified-accounts .registry-ledger td{background:#fff}
#unified-accounts .registry-ledger tbody tr:nth-child(even) td{background:#f3f7f4}
#unified-accounts .registry-ledger tbody tr:hover td{background:#e8f2eb}
#unified-accounts .registry-cell-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#unified-accounts .registry-number{font-variant-numeric:tabular-nums}
#unified-accounts .registry-ledger .registry-role-choice{width:100%;min-width:0;min-height:32px;height:32px;margin:0;padding:3px 5px;font-size:15px;font-weight:500}
#unified-accounts .registry-ledger th:last-child,#unified-accounts .registry-row-actions{position:sticky;right:0;border-left:1px solid #b0c4b7;box-shadow:-3px 0 6px #204d3c0a;min-width:0;z-index:1}
#unified-accounts .registry-ledger th:last-child{z-index:3}
#unified-accounts .registry-ledger .text-btn{min-height:32px;padding:4px 6px;font-size:15px}
#unified-accounts .registry-evidence{margin:0;white-space:normal;font-size:14px}
#unified-accounts .registry-evidence summary{font-size:14px}
#unified-accounts.registry-expanded{position:fixed;inset:10px;z-index:100;background:#f8faf8;box-shadow:0 0 0 20px #e8eee9;display:flex;flex-direction:column;overflow:auto}
#unified-accounts.registry-expanded .registry-shell{display:flex;flex-direction:column;flex:1;min-height:0}
#unified-accounts.registry-expanded .table-wrap{flex:1;max-height:none;min-height:0}
#reg-correction-preview{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:700px){#unified-accounts>.intro{padding:10px 12px}#unified-accounts .registry-shell{padding:8px 12px}#unified-accounts .table-wrap{max-height:60vh}#unified-accounts .registry-search select{flex:1}#unified-accounts.registry-expanded{inset:4px}#unified-accounts.registry-expanded .table-wrap{max-height:none}}

#unified-accounts .registry-duplicate-notice,#registry-dialog .registry-duplicate-notice{background:#fff5df;color:#6a4100;border:1px solid #d8b56c;border-radius:5px;padding:7px 10px;margin:7px 0;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
#unified-accounts .registry-duplicate-notice .text-btn{font-size:15px;min-height:30px;padding:3px 8px;color:#6a4100}
#unified-accounts .registry-duplicate-row .registry-number{box-shadow:inset 3px 0 #b97814;background:#fff5df}
#registry-dialog #reg-number-warning{grid-column:1/-1}

/* Account merge comparison stays readable within the existing modal. */
.registry-merge-table{min-width:1120px;width:100%;border-collapse:collapse;font-size:16px}
.registry-merge-table th,.registry-merge-table td{padding:10px 12px;text-align:left;border:1px solid #cbd5e1;vertical-align:top}
.registry-merge-table th{background:#e8edf3;color:#172b42;white-space:nowrap}
.registry-merge-table .registry-number{white-space:nowrap;font-variant-numeric:tabular-nums}
.registry-merge-target{background:#edf7ef}
.registry-merge-ack{display:flex;align-items:flex-start;gap:10px;margin:16px 0;font-size:16px;color:#172b42}
.registry-merge-ack input{margin-top:5px;flex-shrink:0}
.registry-merge-event{border-top:1px solid #cbd5e1;padding-top:12px;margin-top:16px}
.registry-account-ledger{min-width:1615px}

.registry-history-match .registry-number{background:#fff5df;color:#623d00;box-shadow:inset 3px 0 #c58b2a}
#reg-history-matches p{margin:8px 0}

#registry-dialog .registry-merge-table{table-layout:auto}
#registry-dialog .registry-merge-table th{font-size:15px;font-weight:600}
#registry-dialog .registry-merge-table td{font-size:16px;color:#20352b;line-height:1.5;overflow-wrap:anywhere}
#registry-dialog .registry-merge-table .registry-number{min-width:240px;overflow-wrap:normal}

#registry-dialog #reg-history-matches p,#reg-merge-form>p{font-size:16px;line-height:1.6}

/* Exclusive registry sections, independent category totals and search results. */
#unified-accounts .registry-subtabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
#unified-accounts .registry-subtabs button{font-size:15px;padding:7px 12px;border:1px solid #b7c9bf;border-radius:5px;color:#244b3c;background:white}
#unified-accounts .registry-subtabs button.active{background:#e4f0e8;border-color:#29634b;font-weight:600}
#unified-accounts .registry-subtabs b{margin-left:5px;font-variant-numeric:tabular-nums}
#unified-accounts .registry-count-definition{font-size:15px;color:#314c3d;line-height:1.6;margin:8px 0 12px}
#unified-accounts .registry-records-title{font-size:18px;margin:12px 0;color:#20352b}
#unified-accounts .registry-account-ledger{min-width:1680px}
#unified-accounts .table-wrap{max-height:calc(100vh - 425px)}
@media(max-width:700px){#unified-accounts .registry-tabs{gap:6px}#unified-accounts .registry-tabs button{flex:1;min-width:90px;padding:8px}#unified-accounts .registry-subtabs{gap:6px}#unified-accounts .registry-subtabs button{padding:7px 9px}#unified-accounts .table-wrap{max-height:60vh}}

#unified-accounts .registry-tabs b{display:inline-block;white-space:nowrap}

/* Reference settings share the account ledger's readable, compact work surface. */
#settings-view>.intro{padding:14px 24px;margin:0}
#settings-view>.intro :is(.eyebrow,p){display:none}
#settings-view .settings-tabs{margin-bottom:6px;padding-bottom:8px}
#settings-view .settings-tabs button{font-size:16px;color:#304b3b;font-weight:600}
#settings-view .settings-ledger-view{min-width:0;font-size:16px;color:#20352b;line-height:1.5}
#settings-view .settings-ledger-view>.intro{padding:10px 24px;margin:0;align-items:center;gap:12px}
#settings-view .settings-ledger-view>.intro :is(h1,h2){font-size:22px;color:#193b2a;margin:0}
#settings-view .settings-ledger-view>.intro .eyebrow{display:none}
#settings-view .settings-ledger-view>.intro p{font-size:14px;color:#415348;line-height:1.6;max-width:900px;margin:6px 0 0}
#settings-view .settings-ledger-view .actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}
#settings-view .settings-ledger-view .registry-shell{padding:8px 24px 14px;margin:0;min-width:0}
#settings-view .settings-ledger-view .registry-tabs{gap:6px;flex-wrap:wrap;margin:0 0 10px;padding:0 0 8px}
#settings-view .settings-ledger-view .registry-tabs button{font-size:16px;font-weight:600;line-height:1.5;padding:7px 13px;border:1px solid #a6b9ac;border-radius:7px;background:#fff;color:#304b3b}
#settings-view .settings-ledger-view .registry-tabs button.active{color:#fff;background:#19563c;border-color:#19563c}
#settings-view .settings-ledger-view .registry-tabs b{margin-left:5px;font-variant-numeric:tabular-nums}
#settings-view .settings-ledger-view .registry-search{display:flex;flex-flow:row wrap;align-items:center;gap:8px;margin:0 0 10px;padding:0}
#settings-view .settings-ledger-view .registry-search input{flex:1;min-width:180px}
#settings-view .settings-ledger-view .registry-search select{width:auto;min-width:130px}
#settings-view .settings-ledger-view .registry-search span{font-size:15px;color:#314c3d;font-variant-numeric:tabular-nums}
#settings-view .settings-ledger-view :is(input,select,textarea){font-size:16px;color:#20352b;background:#fff;border:1px solid #8ca394;border-radius:5px;min-height:38px;line-height:1.5;padding:6px 9px}
#settings-view .settings-ledger-view input::placeholder,#settings-view .settings-ledger-view textarea::placeholder{color:#53675b;opacity:1}
#settings-view .settings-ledger-view .btn{font-size:15px;min-height:36px;padding:6px 12px;line-height:1.5;color:#244b35;background:#fff;border-color:#91aa99}
#settings-view .settings-ledger-view .btn.primary{color:#fff;background:#19563c;border-color:#19563c}
#settings-view .settings-ledger-view .text-btn{font-size:15px;min-height:32px;padding:4px 6px;color:#155b3b;text-decoration:underline;text-underline-offset:3px}
#settings-view .settings-ledger-view .hint{font-size:14px;color:#415348;line-height:1.6;margin:8px 0}
#settings-view .settings-ledger-view .error-text{font-size:16px;color:#a12620}
#settings-view .settings-ledger-view .error-text:empty{display:none}
#settings-view .settings-ledger-view .table-wrap{overflow:auto;max-height:calc(100vh - 380px);min-height:220px;border:1px solid #c6d5cb;overscroll-behavior:contain}
#settings-view .settings-ledger-view table{width:100%;min-width:980px;table-layout:fixed;border-collapse:separate;border-spacing:0}
#settings-view .settings-ledger-view :is(th,td){height:44px;padding:5px 10px;line-height:1.4;vertical-align:middle;white-space:nowrap;text-align:left;border-right:1px solid #dce5df;border-bottom:1px solid #d2ded6;max-width:none;min-width:0}
#settings-view .settings-ledger-view th{position:sticky;top:0;z-index:2;font-size:15px;font-weight:700;background:#e9f0eb;color:#233d2e;border-bottom:2px solid #a8bcae}
#settings-view .settings-ledger-view td{font-size:16px;color:#20352b;background:#fff}
#settings-view .settings-ledger-view tbody tr:nth-child(even) td{background:#f3f7f4}
#settings-view .settings-ledger-view tbody tr:hover td{background:#e8f2eb}
#settings-view .settings-ledger-view :is(th,td):last-child{position:sticky;right:0;width:100px;border-left:1px solid #b0c4b7;box-shadow:-3px 0 6px #204d3c0a;z-index:1}
#settings-view .settings-ledger-view th:last-child{z-index:3}
#settings-view .settings-ledger-view :is(th,td):nth-last-child(2){width:100px}
#settings-view .settings-ledger-view .settings-cell-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#settings-view .settings-ledger-view .badge{font-size:14px;font-weight:600;color:#244b35;background:#e6f0e9;border:1px solid #a5bdad;padding:3px 8px}
#settings-view .settings-ledger-view td.empty{position:static;white-space:normal;padding:28px}
#settings-view .settings-ledger-view .classification-table th:nth-child(1){width:65px}
#settings-view .settings-ledger-view .classification-table th:nth-child(2){width:110px}
#settings-view .settings-ledger-view .classification-table th:nth-child(3){width:230px}
#settings-view .settings-ledger-view #class-edit-row td{background:#eef6f2;white-space:normal}
#settings-view .settings-ledger-view #class-edit-row small{font-size:14px;line-height:1.5;color:#415348}
#settings-view .settings-ledger-view #class-cancel{margin:4px 0 0}
#settings-data-view[data-kind=projects] table{min-width:1180px}
#settings-data-view[data-kind=projects] th:nth-child(1){width:250px}
#settings-data-view[data-kind=projects] th:nth-child(2){width:150px}
#settings-data-view[data-kind=projects] th:nth-child(3){width:140px}
#settings-data-view[data-kind=projects] th:nth-child(4){width:130px}
#settings-data-view[data-kind=currencies] th:nth-child(1){width:110px}
#settings-data-view[data-kind=currencies] th:nth-child(2){width:240px}
#settings-data-view[data-kind=rates] table{min-width:1180px}
#settings-data-view[data-kind=rates] th:nth-child(1){width:340px}
#settings-data-view[data-kind=rates] th:nth-child(2){width:135px}
#settings-data-view[data-kind=rates] th:nth-child(3){width:220px}
#settings-view .settings-ledger-view .settings-editor{margin:8px 24px 12px;padding:16px;border-color:#a8bcae;box-shadow:none}
#settings-view .settings-ledger-view .settings-editor h3{font-size:18px;margin:0 0 12px}
#settings-view .settings-ledger-view .field>span{font-size:16px;color:#253c2e}
#settings-view .settings-ledger-view :is(button,input,select,textarea,.table-wrap):focus-visible{outline:3px solid #28754d;outline-offset:2px}
#settings-view .settings-ledger-view.settings-expanded{position:fixed;inset:10px;z-index:100;background:#f8faf8;box-shadow:0 0 0 20px #e8eee9;display:flex;flex-direction:column;overflow:auto}
#settings-view .settings-ledger-view.settings-expanded>.intro,#settings-view .settings-ledger-view.settings-expanded>.settings-editor{flex-shrink:0}
#settings-view .settings-ledger-view.settings-expanded .registry-shell{display:flex;flex-direction:column;flex:1;min-height:260px}
#settings-view .settings-ledger-view.settings-expanded .table-wrap{flex:1;max-height:none;min-height:180px}
@media(max-width:700px){
 #settings-view .settings-tabs button{font-size:15px;padding:8px 10px}
 #settings-view .settings-ledger-view>.intro{padding:10px 12px;flex-wrap:wrap}
 #settings-view .settings-ledger-view .registry-shell{padding:8px 12px}
 #settings-view .settings-ledger-view .registry-search input{flex-basis:100%;min-width:0}
 #settings-view .settings-ledger-view .registry-search span{flex-basis:100%}
 #settings-view .settings-ledger-view .table-wrap{max-height:60vh}
 #settings-view .settings-ledger-view .settings-editor{margin:8px 12px;padding:12px}
 #settings-view .settings-ledger-view .account-form-grid{grid-template-columns:minmax(0,1fr)}
 #settings-view .settings-ledger-view.settings-expanded{inset:4px}
}

/* Settings navigation lives under its sidebar parent; mobile uses grouped navigation. */
.sidebar{display:flex;flex-direction:column;overflow-y:auto}
.sidebar>.brand,.sidebar>.side-label,.sidebar>.nav,.sidebar>.settings-nav-group{flex-shrink:0}
.sidebar .side-bottom{position:static;margin-top:auto;padding-top:26px}
#settings-menu-toggle{display:flex;align-items:center;justify-content:space-between;gap:4px}
.submenu-chevron{font-size:21px;line-height:1;transition:transform .15s}
#settings-menu-toggle[aria-expanded=true] .submenu-chevron{transform:rotate(90deg)}
.settings-submenu{display:flex;flex-direction:column;gap:3px;margin:3px 0 8px 20px;padding-left:10px;border-left:1px solid #526f63}
.settings-submenu :is(button,a){position:relative;min-height:38px;padding:8px 10px;border:0;border-radius:5px;text-align:left;font-size:15px;line-height:1.5;color:#c7d8cf;background:transparent}
.settings-submenu :is(button,a):hover{background:#25473b;color:#fff}
.settings-submenu a{display:block;text-decoration:none}
#bank-menu-toggle{display:flex;align-items:center;justify-content:space-between;gap:4px}
#bank-menu-toggle>span:first-child{display:flex;align-items:center;gap:5px}
#bank-menu-toggle[aria-expanded=true] .submenu-chevron{transform:rotate(90deg)}
.bank-progress-shell{padding:20px;min-width:0}
.bank-progress-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:18px}
.bank-progress-toolbar>label{display:flex;align-items:center;gap:10px;font-size:16px;color:#20352b}
.bank-progress-toolbar select,.bank-progress-toolbar>input{font-size:16px;min-height:42px}
.bank-progress-toolbar>input{flex:1;min-width:180px;max-width:380px}
.bank-progress-toolbar .bank-progress-check{font-size:15px}
.bank-progress-legend{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:14px}
.bank-progress-legend>span{padding:5px 10px;border-radius:5px}
.bank-progress-legend p{margin:0;color:#516259}
.bank-progress-scroll{max-width:100%;max-height:65vh;overflow:auto;border:1px solid #d1ddd6;border-radius:7px;margin-top:14px}
.bank-progress-table{border-collapse:separate;border-spacing:0;min-width:1150px;width:100%;table-layout:fixed;font-size:15px}
.bank-progress-table caption{text-align:left;padding:12px 16px;color:#263c31;font-weight:600;background:#f7faf8}
.bank-progress-table th,.bank-progress-table td{padding:12px 5px;border-bottom:1px solid #e0e7e2;text-align:center;font-size:15px}
.bank-progress-table thead th{position:sticky;top:0;z-index:2;background:#edf3ef;color:#2a4034;min-width:92px}
.bank-progress-table th:first-child{width:240px;text-align:left;position:sticky;left:0;z-index:1;background:#fff;padding:12px 16px;border-right:1px solid #d1ddd6}
.bank-progress-table thead th:first-child{z-index:3;background:#edf3ef}
.bank-progress-table tbody th b{display:block;font-size:16px;color:#213c2c}
.bank-progress-table tbody th span,.bank-progress-table tbody th small{display:block;margin-top:5px;font-weight:400;font-size:14px;color:#435d4d;overflow-wrap:anywhere}
.bank-progress-table tbody th small{font-size:13px;color:#66776c}
.bank-progress-table td{background:#fff}
.progress-cell{border:1px solid transparent;border-radius:5px;padding:8px 3px;width:100%;font-size:14px;white-space:nowrap;cursor:pointer}
.progress-full{background:#e2f3e8;color:#23633b}
.progress-partial{background:#fff0cf;color:#805300}
.progress-empty{background:#f0f2f3;color:#626e74}
.progress-unknown{background:#eaeafa;color:#56508c}
.progress-not-needed{background:#fafbf9;color:#7b857d;border:1px dashed #c9d1ca}
.account-usage-dates{border:1px solid #d7e1d8;border-radius:6px;padding:14px;margin:16px 0}
.account-usage-dates legend{font-size:16px;color:#34523e;padding:0 6px}
.account-usage-dates .hint{margin:12px 0 0}
.progress-cell:hover,.progress-cell[aria-expanded=true]{border-color:currentColor;filter:brightness(.98)}
.progress-cell:focus-visible{outline:3px solid #2c6f51;outline-offset:2px}
.bank-progress-note{margin-top:14px}
#bank-progress-panel>.intro p{font-size:15px}
#bank-progress-status{font-size:14px;color:#3a5143}
.bank-progress-shell .bank-progress-note{font-size:13px;line-height:1.7}
.bank-progress-detail{border:1px solid #d1ddd6;background:#f7faf8;border-radius:7px;margin-top:18px;padding:18px;color:#293e32;font-size:16px}
.bank-progress-detail>div:first-child{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.bank-progress-detail h2{font-size:18px;margin:0;overflow-wrap:anywhere}
.bank-progress-detail li{overflow-wrap:anywhere;margin:8px 0}
.bank-progress-detail li small{display:block;margin-top:4px;color:#53675b}
@media(max-width:900px){.bank-progress-shell{padding:12px}.bank-progress-toolbar{gap:10px}.bank-progress-toolbar>input{max-width:none;flex-basis:100%}.bank-progress-table th:first-child{width:190px}.bank-progress-table{min-width:1150px}.bank-progress-scroll{max-height:60vh}.bank-progress-legend p{flex-basis:100%}.bank-progress-detail{padding:12px}}
.settings-submenu button.active{background:#345b4b;color:#fff;font-weight:600;box-shadow:inset 3px 0 #9ed4af}
.sidebar :is(button,a):focus-visible{outline:2px solid #b7e4c5;outline-offset:2px}
#settings-view>.intro{display:none}
@media(max-width:1150px) and (min-width:901px){.settings-submenu{margin-left:10px;padding-left:7px}.settings-submenu :is(button,a){font-size:14px;padding:8px}}
@media(max-width:900px){.sidebar .settings-nav-group,.sidebar .side-bottom{display:none}#view-select{max-width:190px;font-size:15px;color:#20352b}}
@media(max-width:720px){.sidebar{display:none}}

/* Cross-currency journal */
.transfer-form{border:1px solid #cbd5e1;border-radius:8px;padding:12px;min-width:0;margin:8px 0}.transfer-form[hidden]{display:none}.transfer-form summary{cursor:pointer;font-weight:600;padding:6px 0}.transfer-form select,.transfer-form input{max-width:100%;min-width:0}.transfer-detail{background:#f1f5f9;padding:12px;border-radius:8px}.cashier-sheet .sheet-col-toAmount,.sheet-col-toCurrency,.sheet-col-toDate,.sheet-col-arrivalStatus{min-width:140px}.ledger-money.cashier-transfer{min-width:260px;white-space:normal}.ledger-money.cashier-transfer span{display:block;white-space:normal}.sheet-col-toAmount input{color:#1d4ed8}

.cashier-grid:has(.sheet-col-toCurrency){min-width:1660px}.cashier-grid .sheet-col-toCurrency{width:100px}.cashier-grid .sheet-col-toAmount{width:140px}.cashier-grid .sheet-col-arrivalStatus{width:110px}.cashier-grid .sheet-col-toDate{width:130px}.cashier-sheet-totals>div{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.cashier-sheet-totals{row-gap:10px}.cashier-grid .sheet-col-toAmount input,#cashier-toAmount{color:#2669b5;background:#eef5ff;font-weight:600}

/* Native calendar picker in the cashier entry grid. */
.cashier-grid .sheet-col-date{width:150px}.cashier-grid .sheet-col-date input[type="date"]{min-width:0;width:100%;padding-right:6px;color-scheme:light}.cashier-grid input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1;padding:4px}

/* Saved journal: account-based cash movements, readable financial columns. */
#cashier-records-panel{font-size:16px;color:#20382c}
#cashier-records-panel .panel-title h2{font-size:20px}
#cashier-records-panel .panel-title p{font-size:14px;line-height:1.6;color:#52675b}
#cashier-records-panel .btn,#cashier-records-panel .cashier-filters label{font-size:14px}
#cashier-records-panel .filters input,#cashier-records-panel .filters select{height:38px;font-size:14px;padding:6px 8px}
#cashier-records-panel .cashier-filters input{width:145px}
#cashier-records-panel .cashier-filters select{max-width:200px}
#cashier-count{font-size:14px;color:#405b4b;white-space:nowrap}
#cashier-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px;padding:14px 16px;background:#f3f7f4}
.ledger-total-card{min-width:0;border:1px solid #c9d9ce;background:#fff;border-radius:8px;padding:12px 16px;font-variant-numeric:tabular-nums}
.ledger-total-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.ledger-total-title b{font-size:16px;color:#264c37}.ledger-total-title span{font-size:12px;color:#607369}
.ledger-total-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ledger-total-values>div{min-width:0}.ledger-total-values span{display:block;font-size:13px;color:#4a6254;margin-bottom:6px}
.ledger-total-values strong{display:block;font-size:21px;font-weight:650;overflow-wrap:anywhere;line-height:1.3}
.ledger-total-card p{font-size:12px;color:#5b6e62;line-height:1.6;margin:12px 0 0;padding-top:8px;border-top:1px solid #e4ece6}
.ledger-basis{margin:0;padding:10px 16px;font-size:13px;line-height:1.6;color:#52685a;background:#fff;border-bottom:1px solid #d6e2d9}
#cashier-records-panel .cashier-table{min-width:1750px;font-size:16px}
#cashier-records-panel .cashier-table th{font-size:14px;font-weight:700;color:#2c4a37;border-bottom:2px solid #acc1b2}
#cashier-records-panel .cashier-table td{font-size:16px;height:68px;padding:10px;line-height:1.45}
#cashier-records-panel .cashier-table .ledger-text{line-height:1.5}
#cashier-records-panel .cashier-table small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;line-height:1.5;color:#607568}
#cashier-records-panel .ledger-account>.ledger-text{font-weight:600}
#cashier-records-panel .cashier-table .ledger-money{font-size:17px;letter-spacing:.1px;text-align:right;font-variant-numeric:tabular-nums}
#cashier-records-panel .cashier-table thead .ledger-money{font-size:14px}
#cashier-records-panel .cashier-table .ledger-dash{font-size:14px;color:#98a59d;font-weight:400}
#cashier-records-panel .ledger-type{font-size:13px;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
#cashier-records-panel .ledger-type-transfer{color:#255e99;background:#edf4fc;border:1px solid #bfd3e8;border-radius:4px;padding:3px 6px}
#cashier-records-panel .ledger-status{font-size:13px}
#cashier-records-panel .cashier-table .text-btn{font-size:13px;padding:5px 3px}
#cashier-records-panel .cashier-table tr.ledger-inactive td{color:#6e796f;background:#f2f3f2}
#cashier-records-panel .pagination{font-size:14px}
#cashier-records-panel.cashier-expanded{overflow:auto}
#cashier-records-panel.cashier-expanded>.cashier-ledger-wrap{flex:1 0 200px}
@media(max-width:700px){
 #cashier-totals{grid-template-columns:minmax(0,1fr);padding:10px;gap:10px}
 .ledger-total-card{padding:12px}.ledger-total-values{gap:8px}.ledger-total-values strong{font-size:18px}
 #cashier-records-panel .filters input,#cashier-records-panel .filters select{font-size:16px}
 #cashier-records-panel .cashier-filters{width:100%}#cashier-records-panel .cashier-filters label{min-width:0;flex:1 1 45%}
 #cashier-records-panel .cashier-filters select,#cashier-records-panel .cashier-filters input{min-width:0;width:100%;max-width:none}
 #cashier-records-panel .cashier-table .ledger-actions{position:static;box-shadow:none}
 #cashier-records-panel .cashier-record-actions{flex-wrap:wrap}.ledger-basis{padding:10px;font-size:12px}
}

#cashier-totals .ledger-total-card p{margin:12px 0 0}

@media(max-width:700px){
 #cashier-records-panel .cashier-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #cashier-records-panel .cashier-filters label{display:flex;flex-direction:column;align-items:stretch;gap:5px}
 #cashier-records-panel .cashier-filters select{flex:none}#cashier-clear{justify-self:start;font-size:14px}
}

/* Account identities stay distinguishable even when their names match. */
#cashier-records-panel .cashier-filters #cashier-filter-account{max-width:340px;width:320px}
#cashier-records-panel .ledger-balance{color:#51665a}
@media(max-width:700px){#cashier-records-panel .cashier-filters #cashier-filter-account{width:100%;max-width:none}}

/* Journal entries and local file import. */
.cashier-tabs{flex-wrap:wrap}.cashier-sheet-toolbar>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.cashier-sheet-toolbar{gap:10px;flex-wrap:wrap}
.cashier-import-dialog{width:min(1050px,94vw);max-height:90vh;overflow:auto;border:0;border-radius:12px;padding:24px;box-shadow:0 20px 60px #0003;color:#1f352c}.cashier-import-dialog::backdrop{background:#183c2f55}.cashier-import-dialog .panel-title{padding:0;gap:12px}.cashier-import-dialog p{line-height:1.6}.cashier-import-dialog input,.cashier-import-dialog select{font-size:16px;max-width:100%}.cashier-import-dialog [hidden]{display:none!important}.cashier-import-options,.cashier-import-mapping{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cashier-import-options{grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0}.cashier-import-mapping label{display:flex;flex-direction:column;gap:6px;min-width:0}.cashier-import-mapping select{width:100%}.cashier-import-preview{overflow:auto;max-height:320px;margin:12px 0}.cashier-import-preview table{border-collapse:collapse;min-width:100%;font-size:14px}.cashier-import-preview th,.cashier-import-preview td{padding:9px;border-bottom:1px solid #d4ded8;text-align:left;max-width:260px;min-width:95px;overflow-wrap:anywhere}.cashier-import-preview th{background:#edf3ef;position:sticky;top:0}.cashier-import-dialog .actions{justify-content:flex-end}.cashier-import-dialog .field{min-width:0}.cashier-grid:has(.sheet-col-toCurrency){min-width:1510px}
@media(max-width:700px){.cashier-import-dialog{padding:16px;width:94vw}.cashier-import-options,.cashier-import-mapping{grid-template-columns:1fr}.cashier-import-dialog .panel-title h2{font-size:20px}.cashier-tabs button{padding:10px 12px}}

.cashier-grid .sheet-col-summary textarea{width:100%;min-height:38px;resize:vertical;font:inherit;font-size:16px;line-height:1.4;padding:7px 8px;border:1px solid #c4d0c8;border-radius:4px;background:#fff;color:#20392d}


/* Three-way review follows the existing ledger and settings UI. */
#threeway-view{min-width:0;color:#20352b;font-size:16px}
#threeway-view>.intro{padding:20px 24px 18px;gap:16px;align-items:center}
#threeway-view>.intro h1{font-size:24px;letter-spacing:0;margin:0 0 6px;color:#193b2a}
#threeway-view>.intro p{font-size:14px;line-height:1.6;color:#415348}
.tw-workspace{margin:0 24px 24px;min-width:0}
#threeway-counts{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;border:0}
#threeway-counts button{border:1px solid #a6b9ac;background:#fff;color:#304b3b;font-size:16px;font-weight:600;line-height:1.5;padding:7px 13px;border-radius:6px}
#threeway-counts button.active{background:#19563c;border-color:#19563c;color:#fff}
#threeway-counts b{margin-left:7px;font-variant-numeric:tabular-nums}
.tw-list-panel{background:#fff;border:1px solid #d5e0d8;border-radius:7px;overflow:hidden;min-width:0}
.tw-list-heading{display:flex;align-items:baseline;gap:12px;padding:16px 16px 12px}
.tw-list-heading h2{font-size:20px;color:#203e2d}
.tw-list-heading>span{font-size:14px;color:#53695b}
.tw-filters{padding:0 16px 14px}
#threeway-search{width:100%;margin:0 0 10px;background:#f7f9f6}
.tw-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.tw-filter-row>select{flex:1;min-width:220px;max-width:420px}
.tw-filter-row label{display:flex;align-items:center;gap:7px;font-size:14px}
.tw-filter-row input{width:154px}
#threeway-view :is(input,select,textarea),#threeway-dialog :is(input:not([type=checkbox]),select,textarea){font-size:16px;color:#20352b;background:#fff;border:1px solid #9caf9f;border-radius:5px;min-height:38px;padding:6px 9px;line-height:1.5;box-sizing:border-box}
#threeway-view :is(input,textarea)::placeholder,#threeway-dialog :is(input,textarea)::placeholder{color:#6c7c71;opacity:1}
#threeway-view .btn,#threeway-dialog .btn{font-size:15px;min-height:36px;padding:6px 12px;line-height:1.5;border-color:#91aa99;color:#244b35;background:#fff}
#threeway-view .btn.primary,#threeway-dialog .btn.primary{background:#19563c;border-color:#19563c;color:#fff}
#threeway-view .text-btn,#threeway-dialog .text-btn{font-size:14px;min-height:32px;padding:4px 6px;color:#155b3b;text-decoration:underline;text-underline-offset:3px}
#threeway-load-error:empty{display:none}
#threeway-load-error{font-size:14px;margin:0;padding:0 16px 10px}
#threeway-view .tw-list-wrap{max-height:calc(100dvh - 360px);min-height:260px;overflow:auto;overscroll-behavior:contain;border-top:1px solid #c6d5cb;border-bottom:1px solid #c6d5cb}
.tw-table{min-width:1265px;table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%}
.tw-table th,.tw-table td{padding:8px 10px;min-height:44px;line-height:1.5;vertical-align:middle;white-space:nowrap;border-right:1px solid #dce5df;border-bottom:1px solid #d2ded6;max-width:none;font-size:16px;text-align:left}
.tw-table th{height:44px;padding:6px 10px;position:sticky;top:0;z-index:2;background:#e9f0eb;font-size:15px;font-weight:700;color:#233d2e;border-bottom:2px solid #a8bcae}
.tw-table td{background:#fff;color:#20352b}
.tw-table tr:nth-child(even) td{background:#f4f8f5}
.tw-table tr:hover td,.tw-table tr.selected td{background:#e8f2eb}
.tw-table .tw-list-actions{position:sticky;right:0;z-index:1;border-left:1px solid #b0c4b7;box-shadow:-3px 0 6px #204d3c0a}
.tw-table th.tw-list-actions{z-index:3}
.tw-cell{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}
.tw-table strong.tw-cell{font-weight:600}
.tw-table small{display:block;font-size:13px;color:#52695b;margin-top:3px;line-height:1.4}
.tw-table .tw-money,.tw-money{text-align:right;font-variant-numeric:tabular-nums}
.tw-list-amount{display:block;font-size:16px;font-weight:600;line-height:1.6}
.tw-list-amount small{display:inline;margin-right:6px;font-size:12px;font-weight:400}
.tw-list-amount.expense{color:#b83b36}.tw-list-amount.income{color:#137047}
.tw-state{display:inline-block;border-radius:4px;font-size:14px;font-weight:600;padding:2px 7px;line-height:1.5;white-space:nowrap}
.tw-state.waiting{color:#5a655f;background:#edf1ed}.tw-state.pending,.tw-state.stale{color:#965817;background:#fff1dc}.tw-state.confirmed{color:#176342;background:#e6f2e9}
.tw-table .tw-empty{text-align:center;height:180px;color:#64776b}
#threeway-view .pagination{font-size:14px;padding:12px 16px;border:0;color:#53695b;gap:12px}
#threeway-view .pagination>div{display:flex;align-items:center;gap:8px}
#threeway-page-size{min-height:30px;font-size:14px;padding:3px 6px}
/* Review opens in the same modal pattern as journal editing and accounts. */
#threeway-dialog{width:min(1280px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 32px);padding:0;margin:auto;border:1px solid #b4c7bb;border-radius:10px;overflow:hidden;color:#20352b;background:#fff;box-shadow:0 20px 80px #10271f33}
#threeway-dialog[open]{display:flex;flex-direction:column}
#threeway-dialog::backdrop{background:#10271f66}
#threeway-detail{display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 32px);font-size:16px}
.tw-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 24px 16px;border-bottom:1px solid #d4dfd7;flex-shrink:0}
.tw-dialog-kicker{display:flex;align-items:center;gap:10px;font-size:14px;color:#53695b}
#threeway-dialog h2{font-size:23px;font-weight:650;line-height:1.4;margin:8px 0;color:#193b2a}
.tw-dialog-head p{font-size:14px;color:#53695b;line-height:1.5;margin:0}
.tw-dialog-head p>span{margin:0 8px;color:#87998c}
.tw-dialog-tools{display:flex;gap:8px;flex-shrink:0;padding-top:3px}
#threeway-form{display:flex;flex-direction:column;min-height:0;flex:1;margin:0;overflow:hidden}
.tw-fieldset{display:flex;flex-direction:column;border:0;margin:0;padding:0;min-width:0;min-height:0;flex:1;overflow:hidden}
.tw-dialog-body{padding:18px 24px;overflow:auto;min-height:0;overscroll-behavior:contain}
.tw-leg{border:1px solid #c6d5cb;border-radius:6px;margin:0 0 14px;min-width:0;background:#fff}
.tw-leg>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;background:#f1f6f2;cursor:pointer;font-size:15px;list-style:none;border-radius:6px;color:#365544}
.tw-leg>summary:before{content:'›';font-size:22px;line-height:1;transform:rotate(0);color:#53695b}
.tw-leg[open]>summary:before{transform:rotate(90deg)}
.tw-leg>summary>span{flex:1;min-width:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.tw-leg>summary b{font-weight:600;color:#20352b}
.tw-leg>summary small{font-size:13px;color:#53695b}
.tw-leg>summary>strong{font-size:18px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;color:#20352b}
.tw-leg-content{padding:14px 16px 16px;min-width:0}
.tw-source-picker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:16px}
.tw-source-picker>label{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.tw-source-picker>label>span{white-space:nowrap;font-size:14px;font-weight:600}
.tw-source-picker select{flex:1;min-width:0;max-width:660px}
.tw-oa-evidence{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px}
.tw-block-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 9px}
.tw-block-title h3{margin:0;font-size:16px;font-weight:650;line-height:1.5;color:#203e2d}
.tw-block-title>span{font-size:13px;color:#53695b;text-align:right}
.tw-scroll{overflow:auto;border:1px solid #c6d5cb;overscroll-behavior:contain;min-width:0}
#threeway-dialog table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}
#threeway-dialog :is(th,td){padding:8px 10px;border-right:1px solid #dce5df;border-bottom:1px solid #d2ded6;font-size:15px;line-height:1.5;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;max-width:none;text-align:left;background:#fff}
#threeway-dialog thead th{font-weight:650;color:#233d2e;background:#e9f0eb;border-bottom:1px solid #a8bcae;position:sticky;top:0;z-index:1}
#threeway-dialog tbody th{font-weight:500;background:#f7faf7;color:#3a5545}
#threeway-dialog tbody tr:last-child :is(th,td){border-bottom:0}
#threeway-dialog tr>:last-child{border-right:0}
.tw-compare{min-width:840px}
#threeway-dialog .tw-compare td{font-variant-numeric:tabular-nums}
#threeway-dialog .tw-has-difference td:nth-last-child(1){background:#fff9ee}
.tw-diff-tag{font-size:13px;color:#965817;font-weight:500;white-space:nowrap}
.tw-table-hint{font-size:13px;color:#53695b}
.tw-recommend{font-size:13px;font-weight:600;color:#176342;white-space:nowrap}
.tw-candidates{min-width:850px}
#threeway-dialog .tw-candidates .tw-money{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
#threeway-dialog .tw-candidates [data-tw-amount]{width:100%;min-height:34px;padding:4px 7px;font-size:15px;text-align:right;font-variant-numeric:tabular-nums}
#threeway-dialog .tw-picked td{background:#edf5ef}
#threeway-dialog .tw-candidates input:disabled{background:#f3f5f2;color:#748278;border-color:#d4dfd7}
#threeway-dialog td small{display:block;font-size:13px;color:#53695b;margin-top:2px}
.tw-other{margin:8px 0}
.tw-other>summary,.tw-source-files>summary,.tw-history>summary{font-size:14px;color:#365544;cursor:pointer;padding:7px 0;line-height:1.5}
.tw-other>.tw-scroll{max-height:300px;overflow:auto}
.tw-source-files{margin-top:6px}
.tw-source-files p{font-size:13px!important;line-height:1.6;color:#53695b;margin:4px 0 0}
.tw-waiting-line{padding:10px 12px;background:#f5f7f3;color:#53695b;font-size:14px!important;line-height:1.6;margin:0;border-radius:4px}
.tw-differences{min-width:900px}
#threeway-dialog .tw-differences td{vertical-align:top}
#threeway-dialog .tw-differences td:first-child{border-left:3px solid #d1a85b}
#threeway-dialog .tw-differences b{font-size:14px;font-weight:600}
#threeway-dialog .tw-differences small{font-size:12px;margin-top:5px}
.tw-check{display:flex;align-items:center;gap:8px;line-height:1.5;color:#365544;cursor:pointer;font-size:14px}
#threeway-dialog input[type=checkbox]{width:16px;height:16px;min-height:0;padding:0;margin:0;accent-color:#19563c;flex-shrink:0}
#threeway-dialog .tw-differences [data-tw-reason]{width:100%;min-height:34px;margin-top:6px;font-size:14px}
.tw-empty-inline{font-size:14px!important;color:#64776b;padding:10px 0;margin:0}
.tw-note-field{margin:18px 0 12px}
#threeway-dialog .tw-note-field>span{font-size:14px;font-weight:600;color:#365544;margin-bottom:7px}
#threeway-dialog .tw-note-field textarea{width:100%;font-size:15px;min-height:70px;resize:vertical}
.tw-history{border-top:1px solid #d5e0d8;padding-top:6px;margin-top:12px}
.tw-history-item{border-top:1px solid #e1e8e2;padding:10px 0;font-size:14px}
.tw-history-item>div{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.tw-history-item time{font-size:13px;color:#64776b}
.tw-history-item p{font-size:14px;margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
.tw-history-note{color:#53695b}
.tw-dialog-footer{padding:12px 24px;border-top:1px solid #c6d5cb;background:#fff;flex-shrink:0}
.tw-footer-main{display:flex;align-items:center;justify-content:space-between;gap:16px}
.tw-footer-actions{display:flex;gap:8px;flex-shrink:0}
#threeway-dialog .tw-final{margin:0;font-size:14px}
#threeway-unsaved,#threeway-error{font-size:14px!important;line-height:1.5;margin:7px 0 0}
#threeway-unsaved{color:#53695b}
#threeway-unsaved:empty,#threeway-error:empty{display:none}
.tw-reopen{display:flex;align-items:flex-end;gap:12px}
.tw-reopen .field{margin:0;flex:1;font-size:14px}
.tw-reopen .field>span{font-size:14px}
.tw-reopen .btn{flex-shrink:0}
#threeway-detail[aria-busy=true] button{pointer-events:none;opacity:.6}
#threeway-dialog :is(input,select,textarea,button,summary):focus-visible,#threeway-view :is(input,select,button):focus-visible{outline:2px solid #428166;outline-offset:2px}
@media(max-width:800px){
 #threeway-view>.intro{padding:16px 12px;align-items:flex-start}
 #threeway-view>.intro h1{font-size:22px}
 #threeway-view>.intro p{max-width:430px;font-size:13px}
 .tw-workspace{margin:0 12px 16px}
 #threeway-counts{gap:6px}#threeway-counts button{font-size:14px;padding:6px 10px}
 .tw-list-heading{padding:12px;flex-wrap:wrap;gap:6px}.tw-list-heading h2{font-size:18px}
 .tw-filters{padding:0 12px 12px}.tw-filter-row{gap:8px}.tw-filter-row>select{min-width:100%;max-width:none}.tw-filter-row label{flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:4px}.tw-filter-row input{width:100%}
 #threeway-view .tw-list-wrap{max-height:60dvh;min-height:220px}#threeway-view .pagination{padding:10px 12px;flex-wrap:wrap;font-size:13px}#threeway-view .pagination>div{flex-wrap:wrap}
 #threeway-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:8px}
 #threeway-detail{max-height:calc(100dvh - 16px)}
 .tw-dialog-head{padding:14px 12px;gap:12px;flex-wrap:wrap}#threeway-dialog h2{font-size:20px;margin:6px 0}.tw-dialog-tools{width:100%;justify-content:flex-end;padding:0}.tw-dialog-head p{font-size:13px}.tw-dialog-kicker{font-size:13px}
 .tw-dialog-body{padding:12px}.tw-leg-content{padding:10px}.tw-leg>summary{padding:10px;gap:10px}.tw-leg>summary>span{gap:4px 8px;align-items:center}.tw-leg>summary small{display:none}.tw-leg>summary>strong{font-size:15px}
 .tw-source-picker>label{flex-basis:100%;align-items:flex-start;flex-direction:column;gap:6px}.tw-source-picker select{width:100%;max-width:none}.tw-oa-evidence{gap:5px;font-size:13px}
 .tw-block-title{align-items:flex-start;flex-direction:column;gap:4px}.tw-block-title>span{text-align:left}
 .tw-dialog-footer{padding:10px 12px}.tw-footer-main{align-items:stretch;flex-direction:column;gap:10px}.tw-footer-actions{justify-content:flex-end;gap:7px}#threeway-dialog .tw-footer-actions .btn{font-size:14px;padding:6px 10px}
 .tw-reopen{align-items:stretch;flex-direction:column}
 #threeway-dialog .tw-differences{min-width:0;display:block}#threeway-dialog .tw-differences colgroup,#threeway-dialog .tw-differences thead{display:none}#threeway-dialog .tw-differences tbody{display:block}
 #threeway-dialog .tw-differences tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #c6d5cb}#threeway-dialog .tw-differences tr:last-child{border:0}
 #threeway-dialog .tw-differences td{display:block;border:0!important;min-width:0}#threeway-dialog .tw-differences td:first-child{grid-column:1/-1;background:#fbf7ed}#threeway-dialog .tw-differences td:last-child{grid-column:1/-1}
 #threeway-dialog .tw-differences td:nth-child(2):before{content:'日记账／OA';display:block;font-size:12px;color:#64776b;margin-bottom:4px}#threeway-dialog .tw-differences td:nth-child(3):before{content:'来源资料';display:block;font-size:12px;color:#64776b;margin-bottom:4px}
}
#threeway-dialog{height:min(940px,calc(100dvh - 32px))}
#threeway-detail{height:100%;width:100%}
#threeway-dialog .tw-candidates th:first-child{white-space:nowrap;font-size:13px;padding-left:6px;padding-right:6px}
#threeway-dialog td{font-size:16px}
.tw-nowrap{white-space:nowrap}
.tw-source-snapshot{border-top:1px solid #e1e8e2;margin:8px 0}
.tw-source-snapshot>summary{font-size:14px;color:#365544;cursor:pointer;padding:8px 0}
.tw-snapshot-table{min-width:820px}
@media(max-width:800px){#threeway-dialog{height:calc(100dvh - 16px)}#threeway-detail{max-height:100%}.tw-dialog-footer{max-height:34dvh;overflow:auto}}
.tw-readiness{font-size:13px!important;line-height:1.5;color:#64776b;margin:0 0 8px}
#threeway-dialog button:disabled{opacity:.5;cursor:not-allowed}
#threeway-dialog .tw-note-field small{font-weight:400;color:#64776b;font-size:13px;margin-left:6px}
.tw-table td>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Inline three-way verification and project mappings. */
.tw-compare { min-width: 1160px; }
.tw-compare td { vertical-align: top; }
.tw-inline-check { display: grid; gap: 6px; padding: 5px 0; }
.tw-inline-check + .tw-inline-check { border-top: 1px solid var(--line, #e0e5eb); margin-top: 6px; }
.tw-inline-check small { line-height: 1.4; color: #667085; }
.tw-inline-check input[data-tw-reason] { width: 100%; min-width: 180px; box-sizing: border-box; padding: 8px; font-size: 14px; }
.tw-oa-candidates { min-width: 900px; width: 100%; }
.tw-oa-candidates small { display: block; color: #667085; font-size: 13px; }
#settings-project-modes { margin-bottom: 16px; }
#settings-data-view[data-kind="projectMappings"] .settings-ledger-table { min-width: 700px; }

/* Candidate rules stay with the reconciliation workflow. */
#threeway-view .tw-candidate-rules { margin: 0 0 14px; padding: 12px 16px; border: 1px solid #c6d5cb; border-radius: 6px; background: #f7faf7; }
.tw-candidate-rules>summary { cursor: pointer; font-size: 15px; font-weight: 600; color: #365544; }
.tw-rule-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 12px; }
#threeway-view .tw-rule-columns h3 { font-size: 14px; margin: 0 0 4px; }
#threeway-view .tw-candidate-rules p, #threeway-dialog .tw-candidate-rule { font-size: 14px; line-height: 1.7; margin: 4px 0 10px; color: #53695b; }
#threeway-view .tw-candidate-rules .tw-rule-foot { margin-bottom: 0; padding-top: 8px; border-top: 1px solid #dce5df; }
@media(max-width:800px) { .tw-rule-columns { grid-template-columns: 1fr; gap: 8px; } }

/* Journal optional note column and simple required-field feedback. */
.cashier-required-star{color:#bb3e36;font-weight:600}.cashier-required-guide{margin:0;padding:12px 20px 0;color:#52665b;font-size:14px}.cashier-grid th small{display:block;font-size:12px;font-weight:400;margin-top:3px}.cashier-grid .sheet-col-note{width:200px;min-width:180px}.cashier-grid .sheet-col-note textarea{width:100%;min-height:38px;resize:vertical;font:inherit;font-size:16px;line-height:1.4;padding:7px 8px;border:1px solid #c4d0c8;border-radius:4px;background:#fff;color:#20392d}.cashier-grid{min-width:1420px}.cashier-grid:has(.sheet-col-toCurrency){min-width:1710px}#cashier-records-panel .cashier-table{min-width:1970px}.cashier-ledger-wrap .ledger-note .ledger-text{white-space:nowrap}#cashier-view [aria-invalid="true"],.cashier-row-dialog [aria-invalid="true"]{border-color:#bb3e36!important;background-color:#fff6f4!important;box-shadow:0 0 0 1px #bb3e36}.cashier-sheet-defaults label>span{white-space:nowrap}

/* Phase one statement import workspace. */
.retained-functions{margin-top:18px;border-top:1px solid #dce3e9;padding-top:12px}.retained-functions summary{cursor:pointer;color:#526070;font-size:14px;padding:8px}.retained-functions .nav{margin-top:5px}
.statement-import-toolbar{display:block}.statement-primary,.statement-foundation{margin-bottom:16px}.statement-primary{background:#f5f9ff;border-color:#c6d9f1}.statement-primary .field{max-width:480px;margin-top:14px}.statement-primary .hint{max-width:740px}.retained-imports{border-top:1px solid #dce3e9;padding-top:14px}.retained-imports summary{cursor:pointer;font-weight:600;margin-bottom:12px}
.statement-history-panel{background:#fff;border:1px solid #dbe1e8;border-radius:12px;padding:20px;margin:20px 0}.statement-history-heading{display:flex;gap:18px;align-items:flex-start;justify-content:space-between}.statement-history-heading h2{margin:0}.statement-history-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-top:16px}.statement-history-filters input,.statement-history-filters select{font:inherit;padding:9px;border:1px solid #aebbc8;border-radius:6px;max-width:100%}.statement-history-filters label{display:grid;gap:5px;font-size:14px}.statement-history-filters input[type=search]{flex:1;min-width:200px}.statement-history-filters select{max-width:330px}.statement-history-table-wrap{overflow:auto;max-height:560px}.statement-history-table{width:100%;min-width:1150px;border-collapse:collapse;font-size:16px}.statement-history-table th{position:sticky;top:0;background:#edf2f7;z-index:1}.statement-history-table td,.statement-history-table th{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid #dce3e9}.statement-history-table small{display:block;color:#526070;font-size:14px;margin-top:5px}.statement-history-table .source-account-number{overflow-wrap:anywhere}.statement-history-table td:first-child{max-width:260px;overflow-wrap:anywhere}.statement-history-panel>.actions{align-items:center;justify-content:flex-end;margin-top:16px}.statement-source-meta{padding:12px;background:#f5f8fc;overflow-wrap:anywhere}.statement-binding{margin:14px 0}.statement-binding select{max-width:100%}
@media(max-width:700px){.statement-history-panel{padding:14px}.statement-history-heading{display:block}.statement-history-heading>.btn{margin-top:8px}.statement-history-filters{display:grid;grid-template-columns:minmax(0,1fr)}.statement-history-filters select{max-width:100%}.statement-primary,.statement-foundation{align-items:stretch;flex-direction:column}.statement-primary>.btn{align-self:flex-start}}
/* Keep statement pages aligned with the workspace gutters. */
.statement-history-panel{margin:0 34px 24px}.retained-functions{flex-shrink:0}.retained-functions summary{color:#c1d4cb}.statement-import-toolbar .import-card p{font-size:14px;color:#465a53}.statement-import-toolbar .import-card .btn{font-size:15px}.import-migration:has(summary){display:block}.import-migration summary{cursor:pointer;font-weight:600;margin-bottom:12px}
@media(max-width:720px){.statement-history-panel{margin:0 14px 20px}.statement-import-toolbar .actions{flex-wrap:wrap}}

.statement-history-table th{font-size:14px;color:#253d35}.statement-history-table td{font-size:16px;color:#243a32;line-height:1.5}.statement-history-table td:first-child b{font-size:15px}.statement-history-table{min-width:1320px}#statement-history-page{font-size:14px}.statement-history-heading .hint{font-size:14px;color:#526070}.statement-history-table-wrap:focus-visible{outline:2px solid #1b6552;outline-offset:2px}

/* Full statement preview and PDF-to-row comparison share the existing modal. */
#modal.bank-import-dialog:has(.bank-review-workspace){width:1640px;max-width:98vw;height:94vh;max-height:94vh}
.bank-import-dialog:has(.bank-review-workspace) #modal-content{height:100%;max-height:94vh}
.bank-import-dialog:has(.bank-review-workspace) .bank-import-heading{padding:16px 22px 12px}
.bank-import-dialog:has(.bank-review-workspace) .bank-import-heading h2{font-size:20px}
.bank-import-dialog .bank-review-body{flex:1;display:flex;flex-direction:column;gap:9px;padding:12px 20px;min-height:0;overflow:auto}
.bank-review-body #bank-import-settings{flex:none;margin:0;font-size:12px}.bank-review-body #bank-import-settings[open]{max-height:210px;overflow:auto;border:1px solid var(--line);padding:10px;border-radius:6px}.bank-review-body #bank-import-settings .bank-import-info{margin:10px 0;gap:16px}.bank-review-body .statement-binding{margin:8px 0}.bank-review-body .statement-binding .hint{margin:5px 0;font-size:11px}
.bank-import-dialog .bank-review-totals{margin:0;flex:none}.bank-review-totals .bank-currency-total{padding:8px 14px!important;gap:10px}.bank-review-totals .bank-currency-total strong{display:inline;font-size:16px!important;margin:0 8px}.bank-review-totals .bank-currency-total small{display:none}.bank-review-body .bank-check{margin:0;font-size:12px;padding:8px 12px;flex:none}
.bank-review-guide{font-size:12px;line-height:1.6;color:#526558;flex:none}#bank-review-extra:empty{display:none}#bank-review-extra{font-size:12px;line-height:1.6;background:#f3f7f1;padding:8px 12px;border-radius:5px;flex:none}
.bank-review-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:12px;flex:1;min-height:360px}
.bank-review-original,.bank-review-parsed{display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid #d5dfd7;border-radius:7px;background:white;overflow:hidden}
.bank-review-pane-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 12px;border-bottom:1px solid var(--line);background:#f5f8f3;font-size:12px;flex:none}.bank-review-pane-head b{margin-right:auto}.bank-review-pane-head label{display:flex;gap:5px;align-items:center;font-size:11px}.bank-review-pane-head select{width:auto;max-width:100px;height:28px;padding:2px 5px;font-size:12px;border:1px solid var(--line);border-radius:4px;background:white}.bank-review-pane-head .btn{padding:4px 9px;font-size:12px}.bank-review-pane-head .text-btn{font-size:11px}
#bank-review-pdf-status{padding:6px 12px;margin:0;min-height:28px;font-size:11px;line-height:1.5;color:#526558;flex:none}#bank-review-pdf-scroll{flex:1;min-height:180px;overflow:auto;background:#e8ede9;padding:10px;scrollbar-gutter:stable}#bank-review-pdf-stage{position:relative;background:white;margin:auto;box-shadow:0 1px 5px #22372c24}#bank-review-pdf-stage canvas{display:block;max-width:none}.bank-review-pdf-mark{position:absolute;pointer-events:none;border:2px solid #d58b12;background:rgba(255,202,72,.17);box-shadow:0 0 0 1px #fff8;box-sizing:border-box;min-height:8px}
.bank-review-search{display:flex;padding:8px 10px;gap:8px;flex:none}.bank-review-search input{min-width:0;width:100%;border:1px solid var(--line);border-radius:5px;padding:7px 9px;font-size:12px}.bank-review-search .text-btn{white-space:nowrap;font-size:12px}.bank-review-navigation{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:0 10px 8px;font-size:12px;flex:none}.bank-review-navigation .btn{font-size:11px;padding:6px 10px}.bank-review-navigation input{width:58px;padding:5px;border:1px solid var(--line);border-radius:4px;font-size:12px}.bank-review-navigation .text-btn{font-size:12px}
.bank-import-dialog .bank-review-table-wrap{flex:1;min-height:140px;max-height:none;border-radius:0;border-left:0;border-right:0;margin:0;overflow:auto;scrollbar-gutter:stable}.bank-review-table-wrap .bank-review-table{table-layout:fixed;min-width:740px;width:100%}.bank-review-table th:nth-child(1){width:108px}.bank-review-table th:nth-child(2){width:105px}.bank-review-table th:nth-child(3),.bank-review-table th:nth-child(4){width:110px}.bank-review-table th:nth-child(5){width:auto}.bank-review-table thead th{position:sticky;top:0;z-index:1;background:#f3f7f0;box-shadow:0 1px 0 #d7dfd3}.bank-review-table th,.bank-review-table td{padding:9px 10px;font-size:12px;line-height:1.6}.bank-review-table td{white-space:normal}.bank-review-table tbody tr{cursor:pointer}.bank-review-table tbody tr:hover td{background:#f0f6ef}.bank-review-table tbody tr.bank-review-selected td{background:#e5f2e8;box-shadow:inset 0 1px #72a382,inset 0 -1px #72a382}.bank-review-table tbody tr:focus-visible{outline:2px solid #1b6552;outline-offset:-2px}.bank-review-hint{display:inline-block;font-size:10px;color:#82581e;background:#fff3d8;border-radius:3px;padding:1px 4px;margin:3px 4px 0 0;line-height:1.6}
#bank-review-detail{padding:9px 12px;max-height:160px;overflow:auto;flex:none;background:#fafcf8;font-size:12px;line-height:1.6;overflow-wrap:anywhere}#bank-review-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;margin:8px 0}#bank-review-detail dt{font-size:10px;color:#67786a}#bank-review-detail dd{margin:2px 0;white-space:pre-wrap}#bank-review-detail details{font-size:11px;margin:6px 0 0}#bank-review-detail details p{white-space:pre-wrap;margin:7px 0}.bank-review-selected-title{font-weight:500}
.bank-review-table-wrap:focus-visible,#bank-review-pdf-scroll:focus-visible{outline:2px solid #1b6552;outline-offset:-2px}
@media(max-width:950px){.bank-review-workspace{grid-template-columns:1fr;flex:none;min-height:0}.bank-review-original{height:350px}.bank-review-parsed{height:540px}.bank-import-dialog .bank-review-body{padding:10px 12px}.bank-review-totals .bank-currency-total{grid-template-columns:.3fr 1fr 1fr 1fr!important}.bank-review-totals .bank-currency-total strong{display:block;font-size:14px!important;margin:3px 0}.bank-import-dialog:has(.bank-review-workspace) .bank-import-footer{padding:12px}.bank-review-pane-head .bank-review-hints-only{font-size:11px}}
@media(max-width:500px){.bank-import-dialog:has(.bank-review-workspace) .bank-import-heading{padding:12px}.bank-import-dialog:has(.bank-review-workspace) .bank-import-heading p{font-size:11px}.bank-import-dialog:has(.bank-review-workspace) .bank-import-footer>span{max-width:36%;font-size:10px}.bank-import-dialog:has(.bank-review-workspace) .bank-import-footer .btn{font-size:11px;padding:9px 10px}.bank-review-pane-head{gap:6px;padding:8px}.bank-review-navigation{gap:6px}.bank-review-navigation .btn{padding:5px 7px}.bank-review-guide{font-size:11px}}

/* Ten independent bank fields share an internally scrolling table. */
.bank-table{min-width:1880px;table-layout:fixed}.bank-table th,.bank-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}.bank-table th{position:sticky;top:0;z-index:1}.bank-table th:nth-child(1){width:160px}.bank-table th:nth-child(2){width:180px}.bank-table th:nth-child(3){width:65px}.bank-table th:nth-child(4),.bank-table th:nth-child(5){width:120px}.bank-table th:nth-child(6){width:240px}.bank-table th:nth-child(7){width:220px}.bank-table th:nth-child(8){width:180px}.bank-table th:nth-child(9){width:280px}.bank-table th:nth-child(10){width:120px}.bank-source-fields{grid-column:1/-1}.raw-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.raw-field-grid dt{font-weight:600}.raw-field-grid dd{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.bank-panel>.table-wrap{max-height:65vh;overflow:auto}

.bank-review-table{min-width:1800px!important;table-layout:fixed}.bank-review-table th,.bank-review-table td{min-width:140px!important;width:auto!important}.bank-review-table th:nth-child(9){min-width:270px!important}.bank-review-table-wrap{overflow:auto}

/* Desktop statement collection workspace. Existing mobile rules elsewhere are retained. */
#bank-progress-panel{display:flex;flex-direction:column;height:calc(100dvh - 78px);min-height:450px;padding:0 24px 14px;box-sizing:border-box}
#bank-progress-panel>.intro{padding:14px 0 12px;gap:16px;flex-shrink:0}
#bank-progress-panel>.intro h1{margin:0;font-size:22px;line-height:1.4;letter-spacing:0}
#bank-progress-panel .btn{font-size:14px;padding:7px 12px;line-height:1.4}
#bank-progress-panel .bank-progress-shell{display:flex;flex-direction:column;flex:1;min-height:0;margin:0;padding:12px;overflow:hidden}
#bank-progress-panel .bank-progress-toolbar{flex-wrap:wrap;gap:10px;margin:0;flex-shrink:0}
#bank-progress-panel .bank-progress-toolbar label{font-size:14px;gap:8px;white-space:nowrap}
#bank-progress-panel .bank-progress-toolbar select,#bank-progress-panel .bank-progress-toolbar>input{height:34px;min-height:34px;font-size:14px;padding:5px 9px}
#bank-progress-panel .bank-progress-toolbar>input{min-width:180px;max-width:340px;flex-basis:220px}
#bank-progress-panel .bank-progress-density{margin-left:auto}
#bank-progress-help{font-size:14px;white-space:nowrap}
#bank-progress-rules{margin-top:10px;padding:10px 12px;background:#f3f6f3;color:#445d4d;font-size:14px;line-height:1.7;flex-shrink:0}
#bank-progress-panel .bank-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0;flex-shrink:0}
#bank-progress-status{margin:0;font-size:13px;line-height:1.5}
#bank-progress-panel .bank-progress-legend{gap:6px;font-size:12px}
#bank-progress-panel .bank-progress-legend>span{padding:3px 6px;border-radius:4px}
#bank-progress-panel .bank-progress-scroll{flex:1;min-height:0;max-height:none;margin:0;border-radius:5px;overscroll-behavior:contain;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}
#bank-progress-panel .bank-progress-scroll::-webkit-scrollbar:horizontal{height:0}
#bank-progress-table{width:var(--progress-table-width);min-width:0;font-size:14px;table-layout:fixed;border-collapse:separate;border-spacing:0}
#bank-progress-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0}
#bank-progress-table th,#bank-progress-table td{height:54px;box-sizing:border-box;padding:5px 4px;font-size:14px;border-bottom:1px solid #e1e8e2;text-align:center;line-height:1.4}
#bank-progress-table thead th{height:26px;min-width:0;position:sticky;top:0;z-index:3;background:#edf3ef;color:#324d3c;padding:3px 4px;white-space:nowrap}
#bank-progress-table thead th:not(.progress-account-head){left:auto;width:auto;border-right:0}
#bank-progress-table .progress-month-row th{top:26px;background:#f5f8f5}
#bank-progress-table .progress-year-group{font-size:12px;border-right:1px solid #d4e1d6}
#bank-progress-table th.progress-account-head,#bank-progress-table tbody th{position:sticky;left:0;width:240px;padding:5px 12px;text-align:left;border-right:1px solid #d4e1d6;background:#fff;z-index:2}
#bank-progress-table th.progress-account-head{background:#edf3ef;z-index:5}
#bank-progress-table .progress-overview{position:sticky;right:0;width:100px;border-left:1px solid #d4e1d6;background:#fbfcfa;z-index:2}
#bank-progress-table thead th.progress-overview{right:0;z-index:5;background:#edf3ef}
#bank-progress-table .progress-year-start{border-left:1px solid #b9ccbd}
#bank-progress-table tbody th .progress-account-line{display:flex;align-items:center;gap:6px;margin:0;min-width:0}
#bank-progress-table tbody th b{display:block;font-size:14px;color:#213c2c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:145px}
#bank-progress-table tbody th .progress-account-kind{display:inline-block;margin:0;padding:1px 5px;font-size:11px;font-weight:400;line-height:16px;color:#47634e;background:#edf4ee;border-radius:3px;white-space:nowrap;flex-shrink:0}
#bank-progress-table tbody th .progress-account-kind.is-source{background:#f1edf7;color:#665379}
#bank-progress-table tbody th .progress-account-sub{display:block;font-size:12px;font-weight:400;margin:3px 0 0;color:#53665a;line-height:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bank-progress-table .progress-cell{height:30px;padding:4px 2px;font-size:13px;line-height:20px;border-radius:4px}
#bank-progress-table tbody tr:hover>td,#bank-progress-table tbody tr:hover>th{background:#f7faf7}
#bank-progress-table tbody tr.progress-selected>td,#bank-progress-table tbody tr.progress-selected>th{background:#edf5ef}
#bank-progress-table .progress-cell[aria-expanded=true]{outline:2px solid #286044;outline-offset:1px}
#bank-progress-table .progress-overview b{font-size:14px;color:#28563a;font-weight:600}
#bank-progress-table .progress-overview small{display:block;margin-top:2px;font-size:11px;color:#69766d;white-space:nowrap}
#bank-progress-table .progress-current-month{color:#1b6552;background:#dfede2}
#bank-progress-panel[data-density=comfortable] #bank-progress-table tbody th,#bank-progress-panel[data-density=comfortable] #bank-progress-table tbody td{height:70px;padding-top:10px;padding-bottom:10px}
#bank-progress-panel .bank-progress-bottom{padding-top:10px;flex-shrink:0;color:#3e5846}
.bank-progress-bottom>div:first-child{display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:13px}
.bank-progress-bottom small{font-size:12px;color:#6b796f}
.bank-progress-timeline{display:flex;align-items:center;gap:10px;margin-top:6px;min-width:0}
.bank-progress-timeline>span{font-size:12px;white-space:nowrap}
#bank-progress-panel .bank-progress-timeline .btn{padding:1px 9px;font-size:20px;line-height:24px}
#bank-progress-slider{appearance:none;flex:1;min-width:60px;height:20px;margin:0;background:transparent;cursor:ew-resize;accent-color:#326d4e}
#bank-progress-slider::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:#e0e8e1}
#bank-progress-slider::-webkit-slider-thumb{appearance:none;height:14px;width:48px;margin-top:-4px;background:#426e52;border-radius:7px;border:2px solid #fff;box-shadow:0 0 0 1px #b9cbbb}
#bank-progress-slider::-moz-range-track{height:6px;border-radius:3px;background:#e0e8e1}
#bank-progress-slider::-moz-range-thumb{height:12px;width:46px;background:#426e52;border:1px solid #fff;border-radius:7px}
#bank-progress-slider:focus-visible{outline:2px solid #326d4e;outline-offset:3px}
#bank-progress-detail{position:fixed;inset:0 0 0 auto;width:min(460px,90vw);max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-left:1px solid #d5e0d7;border-radius:0;background:#fff;box-shadow:-8px 0 35px #15392320;color:#293e32;font-size:14px;overflow:auto;box-sizing:border-box}
#bank-progress-detail::backdrop{background:#10251a30}
#bank-progress-detail .bank-progress-detail-heading{position:sticky;top:0;z-index:1;display:flex;gap:12px;justify-content:space-between;padding:22px;background:#f4f8f4;border-bottom:1px solid #dce6de}
#bank-progress-detail-period{display:block;color:#41674d;font-size:14px;margin-bottom:6px}
#bank-progress-detail h2{font-size:18px;margin:0;line-height:1.5}
#bank-progress-detail-close{align-self:flex-start;white-space:nowrap;font-size:14px}
#bank-progress-detail-body{padding:20px 22px;line-height:1.7}
#bank-progress-detail-body .progress-detail-status{display:inline-block;padding:3px 9px;border-radius:4px;margin-bottom:16px}
#bank-progress-detail-body dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;margin:0}
#bank-progress-detail-body dt{color:#63776a}
#bank-progress-detail-body dd{margin:0;overflow-wrap:anywhere}
#bank-progress-detail-body h3{font-size:14px;margin:22px 0 10px}
#bank-progress-detail-body ul{padding-left:18px;margin:0}
#bank-progress-detail-body li{margin:12px 0;overflow-wrap:anywhere}
#bank-progress-detail-body li small{display:block;font-size:12px;color:#617568}
#bank-progress-detail-body .progress-detail-note{color:#63776a;font-size:12px;margin-top:20px}

/* Unified transaction table: explicit transaction type before signed amount. */
.bank-table{min-width:1980px}.bank-table th:nth-child(4){width:100px}.bank-table th:nth-child(5),.bank-table th:nth-child(6){width:120px}.bank-table th:nth-child(7){width:240px}.bank-table th:nth-child(8){width:220px}.bank-table th:nth-child(9){width:180px}.bank-table th:nth-child(10){width:280px}.bank-table th:nth-child(11){width:120px}.bank-review-table th:nth-child(10){min-width:270px!important}

/* Source-backed uncertainty annotations; never replaces original content. */
.field-review{display:block!important;white-space:normal;font-size:12px;line-height:1.55;color:#806023;margin-top:6px;overflow-wrap:anywhere}.field-review b{display:inline-block;background:#fff2cf;border:1px solid #e4ce91;border-radius:4px;padding:0 5px;margin-right:5px;font-size:11px;color:#79541a}.field-review span{font-weight:400}.pp-details{grid-column:1/-1;background:#f7faf7;border:1px solid #d9e5db;border-radius:8px;padding:16px;color:#244134;font-size:13px;min-width:0}.pp-details h4{font-size:15px;margin:0 0 7px}.pp-details p{font-size:12px;color:#5c7365;line-height:1.65;margin:7px 0}.pp-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 20px;margin:10px 0}.pp-details dl>div{padding:7px 0;border-bottom:1px solid #dfe9df;min-width:0}.pp-details dt{font-size:12px;color:#5c7365}.pp-details dd{font-size:13px;color:#244134;margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.pp-details details summary{cursor:pointer;font-size:12px;color:#416952}.pp-review-summary{padding:12px 14px;background:#fffae9;border:1px solid #e5d7b0;border-radius:8px;font-size:12px;margin:12px 0;color:#745f2e}.pp-review-summary p{margin:6px 0 0;line-height:1.7}.pp-extra{margin:20px 0}.target .field-review,.source .field-review{font-size:10px}.example-table-wrap .field-review{font-size:10px}

/* Field mappings use the same workbench navigation and content pane. */
body.mapping-workspace>main{height:100vh;height:100dvh;display:flex;flex-direction:column;min-width:0;overflow:hidden}
body.mapping-workspace>main>header,body.mapping-workspace #database-updates{flex-shrink:0}
body.mapping-workspace #bank-view{flex:1;min-height:0}
#bank-mapping-panel{height:100%;min-height:0}
#bank-mapping-frame,#bank-postscript-frame{display:block;width:100%;height:100%;border:0;background:#f5f5f2}

/* Platform progress: hierarchy, child coverage aggregates, independent scope evidence. */
#bank-progress-table th.progress-account-head,#bank-progress-table tbody th{width:300px}
#bank-progress-table .progress-overview{width:132px}
#bank-progress-table tbody th b{max-width:175px;flex:1;min-width:0}
#bank-progress-table .progress-master-row>th,#bank-progress-table .progress-master-row>td{background:#edf5f1;border-top:1px solid #c8dbd1}
#bank-progress-table .progress-master-row>th .progress-account-sub{margin-left:28px}
#bank-progress-table .progress-child-row>th .progress-account-line,#bank-progress-table .progress-child-row>th .progress-account-sub{padding-left:24px}
#bank-progress-table .progress-child-row>th .progress-account-kind{background:#edf1f6;color:#485c74}
#bank-progress-table .progress-group-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:28px;padding:0;flex-shrink:0;border:1px solid #c6d7ce;border-radius:4px;background:#fff;color:#24604a;font-size:17px;cursor:pointer}
#bank-progress-table .progress-group-toggle:focus-visible{outline:2px solid #24604a;outline-offset:2px}
#bank-progress-table .progress-stacked{height:36px;line-height:15px;font-size:12px;white-space:normal}
#bank-progress-table .progress-stacked small{display:block;font-size:10px;line-height:13px;font-weight:400;white-space:nowrap}
#bank-progress-table .progress-overview small{white-space:normal;line-height:15px}
.progress-child-status{list-style:none;padding:0!important;margin:8px 0}
.progress-child-status li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e3ebe6}
.progress-child-status li>span{font-size:12px;padding:2px 6px;border-radius:4px;white-space:nowrap}
.progress-child-status .text-btn{text-align:left;line-height:1.5}
.progress-document-list li b{display:block;font-weight:500}
.progress-document-list .text-btn{margin-top:5px}
.progress-scope-children{border:1px solid #d8e3dc;border-radius:6px;margin:14px 0;padding:10px}
.progress-scope-children label,.progress-scope-ack{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.7;margin:8px 0}
.progress-scope-children input,.progress-scope-ack input{margin-top:5px;flex-shrink:0}
.progress-scope-children small{display:block;font-size:11px;color:#68796f;overflow-wrap:anywhere}
#progress-scope-form .field{margin-top:14px}
#progress-scope-form select,#progress-scope-form textarea{width:100%;box-sizing:border-box;font-size:14px;border:1px solid #bfcfc5;border-radius:5px;padding:8px}
#progress-scope-form .actions{flex-wrap:wrap;margin-top:16px}
.progress-zero-note{padding:10px;background:#edf7f0;border:1px solid #cde5d5;border-radius:5px;color:#285e3e}

/* Shared evidence labels stay on two compact lines in every account row. */
#bank-progress-table .progress-stacked>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bank-progress-panel .bank-progress-legend{display:flex;flex-wrap:wrap;max-width:100%;min-width:0;line-height:1.5}
#bank-progress-panel .bank-progress-legend>span{white-space:nowrap}
#bank-progress-panel .bank-progress-legend{flex-basis:100%;justify-content:flex-start}

/* Exact PP scope wording wraps inside the month column. */
#bank-progress-table .progress-merged-pending{height:auto;min-height:56px;font-size:11px;line-height:14px;padding:3px 2px;white-space:normal}
#bank-progress-table .progress-merged-pending>span,#bank-progress-table .progress-merged-pending>small{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
#bank-progress-table .progress-merged-pending>small{font-size:10px;line-height:12px;margin-top:2px}
