
:root{--nav:#18313f;--nav2:#244957;--bg:#f4f6f7;--panel:#fff;--text:#1e292e;--muted:#68757b;--line:#dfe5e8;--green:#216743;--greenbg:#e4f1e9;--amber:#a36d19;--amberbg:#fff3db;--red:#9f3838;--redbg:#fae7e7;--violet:#6a5382}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:14px}a{color:#1c664b}.layout{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}aside{background:var(--nav);color:#fff;padding:18px 13px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;padding:3px 8px 20px}.brand>span,.big-k{width:40px;height:40px;background:#fff;color:var(--nav);font-size:24px;font-weight:800;border-radius:9px;display:grid;place-items:center}.brand small{display:block;color:#aec2cb;margin-top:2px}nav a{display:block;text-decoration:none;color:#dbe7ec;padding:10px 11px;border-radius:7px;margin:2px 0;font-weight:600}nav a:hover,nav a.active{background:var(--nav2);color:#fff}.aside-bottom{position:absolute;bottom:14px;left:17px;right:17px;color:#abc0ca;font-size:12px}.aside-bottom>a{color:#dce8ec;display:block;margin-bottom:7px}.linkbtn{border:0;background:none;color:#dce8ec;padding:0;margin:0 0 8px;cursor:pointer;font:inherit}.page{min-width:0}.page>header{background:#fff;border-bottom:1px solid var(--line);min-height:85px;padding:17px 28px;display:flex;align-items:center;justify-content:space-between;gap:15px}.page>header h1{margin:0;font-size:24px}.page>header p{margin:4px 0 0;color:var(--muted)}main{padding:20px 28px 50px;max-width:1600px}.header-actions{display:flex;gap:8px}.button,button{display:inline-block;border:0;background:var(--green);color:#fff;border-radius:7px;padding:9px 12px;text-decoration:none;font-weight:700;cursor:pointer}.button.secondary,button.secondary{background:#526269}.button.ghost{background:#eef2f3;color:var(--text)}button.danger,.danger{background:var(--red);color:#fff}button:disabled{opacity:.45;cursor:not-allowed}.tiny{font-size:12px;padding:6px 8px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.025);margin-bottom:14px}.card h2{font-size:17px;margin:0 0 11px}.card h3{font-size:14px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.muted,small{color:var(--muted)}small{display:block;margin-top:3px}.metrics{display:grid;gap:12px;margin-bottom:14px}.metrics.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px}.metric>span{display:block;color:var(--muted);font-weight:600}.metric>b{display:block;font-size:26px;margin:6px 0}.columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.columns.wide-left{grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr)}.bar,.filters,.report-filter{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.filters input[type=search]{min-width:270px;flex:1}.report-filter{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));align-items:end}.report-filter>label{font-weight:700}.checks{display:flex;gap:12px;flex-wrap:wrap;font-weight:400;margin-top:7px}input,select,textarea{font:inherit;border:1px solid #cad3d7;border-radius:6px;padding:8px;background:#fff;max-width:100%}textarea{width:100%;resize:vertical}label{font-weight:600}label input,label select,label textarea{display:block;width:100%;margin-top:5px}.check{display:flex!important;gap:6px;align-items:center;font-weight:500}.check input{display:inline;width:auto;margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:930px}.form-grid .wide{grid-column:1/-1}.form-actions{display:flex;gap:8px}.helper{background:#f1f5f3;padding:9px;border-radius:7px;color:var(--muted)}.form-narrow{max-width:620px}.mini-form{display:grid;gap:8px}.table-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:auto;margin-bottom:18px;max-height:72vh}.table-wrap{overflow:auto;max-height:65vh}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:8px 9px;text-align:left;border-bottom:1px solid #e7ecee;vertical-align:top;white-space:nowrap}th{background:#fafbfb;position:sticky;top:0;color:#5b686e;z-index:1}td.wrap{white-space:normal;min-width:220px}.num{text-align:right}.state,.pill{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef1f2;font-size:11px;font-weight:700}.state.reconciled,.state.complete,.state.paid{background:var(--greenbg);color:var(--green)}.state.open,.state.draft,.state.partial,.state.due{background:var(--amberbg);color:var(--amber)}.pill.violet{background:#eee8f5;color:var(--violet);margin-left:3px}.good{color:var(--green)!important}.warn{color:var(--amber)!important}.bad{color:var(--red)!important}.alert{border-radius:8px;padding:12px 14px;margin-bottom:14px}.alert.good{background:var(--greenbg);color:var(--green);border:1px solid #bddbc9}.alert.bad{background:var(--redbg);color:var(--red);border:1px solid #e6bdbd}.due,.statusline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf0f1}.due:last-child,.statusline:last-child{border-bottom:0}.bank-cards,.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bank-card,.quick-grid a{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;color:var(--text);text-decoration:none}.bank-card:hover,.quick-grid a:hover{border-color:#a8bbb2}.bank-card span{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:800}.bank-card h2{font-size:18px;margin:6px 0}.bank-card b,.bank-card small{display:block}.bank-card.holiday{border-left:4px solid var(--violet)}.tabs{display:flex;gap:4px;margin-bottom:10px}.tabs a{background:#e7ecee;color:var(--text);padding:8px 12px;border-radius:7px;text-decoration:none;font-weight:700}.tabs a.active{background:var(--nav2);color:#fff}.transaction-hero{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px;margin-bottom:14px}.transaction-hero>b{font-size:25px}.candidate{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0f1}.candidate-score{text-align:right}.candidate-score span{font-weight:700}.close-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.close-check{background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px;display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--text)}.close-check>span{height:28px;width:28px;border-radius:50%;display:grid;place-items:center;background:#edf1f2;font-weight:800}.close-check>div{flex:1}.close-check>strong{font-size:20px}.close-check.ok>strong{color:var(--green)}.close-check.notok>strong{color:var(--amber)}.explanation{border-left:4px solid var(--violet)}.quick-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:14px}.quick-grid b,.quick-grid small{display:block}.success-card{border-left:4px solid var(--green)}.danger-zone{display:flex;gap:8px;margin-top:12px}.auth{display:grid;place-items:center;min-height:100vh;background:var(--nav)}.auth-card{background:#fff;border-radius:12px;padding:28px;width:min(420px,92vw);box-shadow:0 16px 60px rgba(0,0,0,.25)}.auth-card .big-k{background:var(--nav);color:#fff}.auth-card form{display:grid;gap:12px}.message{max-width:700px}.message p{font-size:16px;line-height:1.5}code{font-size:11px}.form-grid input[type=file],.mini-form input[type=file]{background:#f9fafb}
@media(max-width:1100px){.metrics.four{grid-template-columns:repeat(2,1fr)}.bank-cards,.quick-grid,.close-grid{grid-template-columns:repeat(2,1fr)}.report-filter{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.layout{grid-template-columns:1fr}aside{position:relative;height:auto}.brand{padding-bottom:8px}nav{display:flex;overflow-x:auto}.aside-bottom{display:none}.page>header{padding:14px 16px}.page>header p{display:none}main{padding:14px}.metrics.four,.columns,.columns.wide-left,.bank-cards,.quick-grid,.close-grid,.report-filter,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.header-actions{flex-wrap:wrap}th,td{padding:7px}.candidate{grid-template-columns:1fr auto}.candidate button{grid-column:1/-1}}

.quick-grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}.match-amount{width:95px}details>summary{cursor:pointer;padding:4px 0 10px}

/* Draft 02d expenditure refinements */
.click-row{cursor:pointer}.click-row:hover td{background:#f7faf8}.money-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden}.money-input>span{padding:8px 0 8px 9px;font-weight:800;color:#53615a}.money-input input{border:0!important;min-width:0;width:100%}.date-override{display:flex;gap:6px;align-items:center}.date-override input{flex:1}.form-fieldset{display:contents;border:0;padding:0;margin:0}.form-fieldset:disabled{opacity:.78}.reconciliation-snapshot{border-left:4px solid var(--accent)}.snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.snapshot-grid div{padding:10px;background:#f7f9f8;border-radius:7px}.snapshot-grid small,.snapshot-grid b{display:block}.due-actions{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:3px}.due-actions form{margin:0}.focus-row td,.flash-focus td{background:#fff3c9!important}.alert.warn{background:#fff5df;color:#76551c;border:1px solid #ecd19a}
@media(max-width:900px){.snapshot-grid{grid-template-columns:repeat(2,1fr)}}
/* Draft 02f review pass */
.money-input{display:grid!important;grid-template-columns:30px minmax(0,1fr);align-items:stretch!important;border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden;height:38px}
.money-input>span{display:flex!important;align-items:center;justify-content:center;padding:0!important;font-weight:800;color:#53615a;background:#f4f6f5;line-height:1!important}
.money-input input{border:0!important;border-radius:0!important;margin:0!important;padding:8px!important;line-height:20px!important;height:36px!important}
.section-intro{background:#eef4f1;border:1px solid #d9e5df;padding:10px 12px;border-radius:8px;margin-bottom:14px;color:#52605a}
.standalone{margin-bottom:10px}.bank-tabs{margin-bottom:14px}.filter-loading{opacity:.68;pointer-events:none}.filter-loading:after{content:' Updating…';color:var(--muted);font-weight:700}
.state.locked{background:#e5e8ea;color:#4b555a}.reconciled-row td{background:#fbfdfb}.signed-row td{background:#f2f3f4;color:#657075}.signed-row:hover td{background:#eef0f1!important}
.protected-record{background:#f3f4f4;border-color:#cfd5d7}.read-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.read-grid>div{background:#e9ecec;border-radius:7px;padding:10px}.read-grid small,.read-grid b{display:block}.evidence-panel{border-top:1px solid var(--line);padding-top:12px;margin-top:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.evidence-panel h3{width:100%;margin:0 0 3px}.reconciliation-below{margin-top:18px;border-left:4px solid var(--green)}
.bank-dialog{width:min(680px,90vw);border:0;border-radius:12px;padding:22px;box-shadow:0 18px 70px rgba(0,0,0,.28)}.bank-dialog::backdrop{background:rgba(17,31,39,.48)}.dialog-close{float:right;background:#e8ecee;color:#26343a;font-size:22px;line-height:1;padding:3px 9px}.transaction-popup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}.transaction-popup>div{background:#f4f6f6;border-radius:7px;padding:10px}.transaction-popup small,.transaction-popup b{display:block}
.compare-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 16px}.compare-grid>div{background:#f6f8f7;padding:12px;border-radius:8px}.compare-grid span,.compare-grid b,.compare-grid small{display:block}.compare-grid b{font-size:20px;margin:5px 0}.chart-wrap{border-top:1px solid var(--line);padding-top:12px}.chart-wrap svg{width:100%;height:280px;background:#fbfcfc;border-radius:8px}.chart-line{fill:none;stroke-width:3;vector-effect:non-scaling-stroke}.chart-line.current{stroke:#236448}.chart-line.previous{stroke:#99a5aa;stroke-dasharray:7 6}.chart-grid{stroke:#e7ebed;stroke-width:1;vector-effect:non-scaling-stroke}.chart-legend{display:flex;gap:18px;justify-content:flex-end;margin-top:8px;color:var(--muted);font-size:12px}.chart-legend i{display:inline-block;width:18px;height:3px;vertical-align:middle;margin-right:5px}.legend-current{background:#236448}.legend-previous{background:#99a5aa}
.sync-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:12px}.sync-hero.green{border-left:5px solid #2d8055}.sync-hero.amber{border-left:5px solid #b87a20}.sync-hero.red{border-left:5px solid #a53d3d}.sync-hero h2,.sync-hero p{margin:0}.sync-hero p{color:var(--muted);margin-top:3px}.traffic-light,.health-dot{border-radius:50%;display:inline-block}.traffic-light{width:25px;height:25px}.health-dot{width:14px;height:14px;margin-top:3px}.green{background:#2d8055}.amber{background:#d39931}.red{background:#b54848}.health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.health-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:start}.health-card b,.health-card small{display:block}.health-card p{font-size:12px;color:var(--muted);margin:5px 0 0}.quick-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.order-card table{margin-top:10px}.optional{font-size:11px;color:var(--muted);font-weight:400}.separator{border-top:1px solid var(--line);padding-top:10px;margin-top:4px}
.payroll-health{background:#fff;border:1px solid var(--line);border-left:5px solid var(--amber);border-radius:9px;padding:14px;margin-bottom:12px}.payroll-health.goodbox{border-left-color:var(--green)}.payroll-health h2,.payroll-health p{margin:0}.payroll-health p{margin-top:4px;color:var(--muted)}
@media(max-width:1100px){.health-grid,.compare-grid,.read-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.health-grid,.compare-grid,.read-grid,.transaction-popup{grid-template-columns:1fr}.sync-hero{grid-template-columns:auto 1fr}.sync-hero form{grid-column:1/-1}.quick-grid.four{grid-template-columns:1fr}}
.compact-links{display:flex;align-items:center;gap:16px}.compact-links details{flex:1}.compact-links summary{cursor:pointer;font-weight:700;color:#526269}.link-row{display:flex;gap:14px;flex-wrap:wrap;padding-top:10px}.link-row a{font-weight:700}

/* Draft 02g workflow polish */
.header-title{display:flex;align-items:flex-start;gap:12px}.back-arrow{width:40px;height:40px;border-radius:10px;padding:0;font-size:24px;background:transparent;color:var(--text,#1c2430);border:1px solid #d8dde5}.dbl-open{cursor:pointer}.readonly-card{opacity:.78}.readonly-card input,.readonly-card textarea{background:#f3f4f6;color:#5f6772;border-color:#e0e3e8}.state.suggested{background:#fff3cd;color:#765b00}.state.locked{background:#eceef1;color:#444}.record-status{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}dialog{border:0;border-radius:16px;max-width:620px;width:min(92vw,620px);padding:24px;box-shadow:0 22px 60px #0003}dialog::backdrop{background:#0006}.dialog-close{float:right;background:transparent;color:#333;font-size:24px;padding:4px 10px}.payrun-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:800px){.payrun-grid{grid-template-columns:1fr}}

.three-status{display:flex;gap:5px;flex-wrap:wrap;min-width:205px}.three-status span{font-size:11px;padding:3px 6px;border-radius:999px;background:#eef0f3;color:#8a9099;white-space:nowrap}.three-status span.on{background:#e5f5e9;color:#1f6a35}.three-status span.locked{background:#e8eaee;color:#333}.table-card th:nth-child(2),.table-card td:nth-child(2){max-width:180px}.table-card td:nth-child(2){white-space:normal}

/* Draft 02h evidence/review polish */
.doc-preview{width:100%;height:520px;border:1px solid var(--line);border-radius:8px;background:#fff;margin-top:10px}.statement-preview{height:620px}.document-dialog{width:min(1100px,95vw);max-width:1100px}.document-dialog .doc-preview{height:70vh}.evidence-existing{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:8px 10px;background:#f6f8f7;border-radius:7px}.staged-remove{opacity:.45;text-decoration:line-through}.compact-filters select,.compact-filters input{max-width:190px}.compact-filters input[type=search]{max-width:none}.token-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.token-status small{width:100%}.line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #edf0f1}.line:last-child{border-bottom:0}.final-review{border-left:4px solid var(--green)}.review-equation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.review-equation span{background:#f5f7f6;border-radius:7px;padding:10px}.review-equation b{display:block;margin-top:4px}.mini-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.danger-zone{display:block;margin-top:14px}.danger-zone summary{font-weight:700;color:var(--red)}@media(max-width:760px){.doc-preview{height:380px}.review-equation{grid-template-columns:1fr}.compact-filters select,.compact-filters input{max-width:none}}

/* Draft 02i Square live-sync progress */
.sync-progress-card{max-width:900px}.sync-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.sync-progress-head h2{margin:8px 0 4px}.sync-percent{font-size:32px}.sync-progress-card progress{width:100%;height:22px;margin:14px 0 8px;accent-color:var(--green)}.sync-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;color:var(--muted);font-size:12px}.sync-steps span{padding:7px;background:#f5f7f6;border-radius:6px;text-align:center}@media(max-width:760px){.sync-steps{grid-template-columns:1fr}.sync-percent{font-size:24px}}

/* Draft 02j Square evidence-first browser */
.metrics.five{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-text{font-size:18px!important;word-break:break-word}.square-status-strip{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin-bottom:12px;border-left:5px solid #d39931}.square-status-strip.green{border-left-color:#2d8055}.square-status-strip.red{border-left-color:#b54848}.square-status-strip>div{min-width:0;flex:1}.square-status-strip small{display:inline;margin-left:5px}.square-status-strip form{margin:0}.square-section-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:14px}.square-section-nav a{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px;color:var(--text);text-decoration:none;min-width:0}.square-section-nav a:hover{border-color:#8ba89a;background:#fbfdfc}.square-section-nav span{font-size:11px;color:var(--muted)}.square-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.square-record-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf0f1;text-decoration:none;color:var(--text)}.square-record-line:last-child{border-bottom:0}.square-record-line span{min-width:0;overflow-wrap:anywhere}.square-record-line small{font-size:11px}.square-filters label{min-width:145px}.square-filters .grow{flex:1;min-width:220px}.filter-or{color:var(--muted);font-size:12px;font-weight:700}.browse-date-card{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.browse-date-card .bar{margin:0;border:0;padding:0}.square-order-summary{padding:12px 0;border-bottom:1px solid var(--line)}.square-order-summary:last-child{border-bottom:0}.square-order-summary h3{margin:0 0 3px}.square-payment-lines{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.square-payment-lines a{display:flex;gap:12px;justify-content:space-between;min-width:220px;background:#f6f8f7;border-radius:7px;padding:8px 10px;text-decoration:none;color:var(--text)}.break-id{overflow-wrap:anywhere;word-break:break-word}.big-amount{font-size:28px}.state.suggested{background:#fff3cd;color:#765b00}
@media(max-width:1200px){.square-section-nav{grid-template-columns:repeat(3,1fr)}.metrics.five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.square-section-nav,.metrics.five,.square-two-col{grid-template-columns:1fr}.square-status-strip{align-items:flex-start;flex-wrap:wrap}.square-status-strip form,.square-status-strip>a{width:100%}.square-status-strip button,.square-status-strip>a{width:100%;text-align:center}.square-filters label,.square-filters .grow{min-width:100%;width:100%}.filter-or{display:none}.browse-date-card{display:block}.browse-date-card .mini-links{margin-top:10px}}

/* Draft 02l upload/review ergonomics */
.drop-zone{border:2px dashed var(--border,#cbd5e1);border-radius:14px;padding:24px;text-align:center;cursor:pointer;background:rgba(127,127,127,.04);display:flex;flex-direction:column;gap:5px;min-height:92px;justify-content:center}
.drop-zone.dragging{border-color:var(--accent,#345);background:rgba(127,127,127,.10)}
.drop-zone input[type=file]{position:absolute;left:-9999px;width:1px;height:1px}
.image-preview{display:block;max-width:100%;max-height:620px;margin:auto;object-fit:contain}
.monitor-table th,.monitor-table td{white-space:nowrap}.monitor-state{display:inline-block;padding:4px 7px;border-radius:999px;font-size:.82rem;text-decoration:none}.monitor-state.good{background:#e8f6ee;color:#17663a}.monitor-state.warn{background:#fff4d8;color:#806000}.monitor-state.missing{background:#f2f2f2;color:#777}
.extracted-text{white-space:pre-wrap;word-break:break-word;max-height:70vh;overflow:auto;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85rem}
@media(max-width:800px){.monitor-table{font-size:.82rem}.drop-zone{padding:18px}}

/* 02m workflow additions */
.evidence-preview{height:420px;border:1px solid var(--line,#d7dce2);border-radius:10px;overflow:hidden;background:#fff;margin:10px 0}.evidence-preview iframe{width:100%;height:100%;border:0}.compact-number{min-width:92px;width:100px}.check-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.reconcile-month-layout{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:18px}.month-status-row,.reconcile-stage{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 8px;border-bottom:1px solid var(--line,#e1e5ea);text-decoration:none;color:inherit}.month-status-row.selected{background:var(--soft,#f5f7fa);border-radius:8px}.month-status-row small,.reconcile-stage small{display:block;color:var(--muted,#667085);margin-top:3px}.progress-track{height:18px;background:#e8ebef;border-radius:999px;overflow:hidden;margin:18px 0 8px}.progress-fill{height:100%;background:#2f855a;transition:width .25s ease}.big-progress{font-size:2rem;font-weight:700}@media(max-width:900px){.reconcile-month-layout{grid-template-columns:1fr}.evidence-preview{height:320px}}

/* 02n: simple back arrow only */
.back-arrow{border:none!important;box-shadow:none!important;background:transparent!important;width:auto!important;min-width:0!important;padding:4px 8px!important;font-family:Arial,sans-serif!important;font-size:28px!important;line-height:1!important}

/* 02q dashboard + employee workspace */
.form-grid .span-2{grid-column:1/-1}.square-hourly{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.mini-summary{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px;color:var(--muted)}.chart-label{font-size:20px;fill:#657178}.columns.compact{align-items:start}.employee-doc-note{white-space:normal;max-width:340px}@media(max-width:760px){.form-grid .span-2{grid-column:auto}.mini-summary{display:grid;gap:6px}}
.invoice-check-dialog{width:min(900px,94vw);max-width:900px;max-height:85vh;overflow:auto}.invoice-check-dialog p,.invoice-check-dialog a,#invoiceCheckMatches{white-space:normal;overflow-wrap:anywhere;line-height:1.5}.invoice-check-dialog #invoiceCheckMatches{display:grid;gap:8px;padding:8px 0 14px}.invoice-duplicate-check{display:grid;gap:8px;margin-top:8px;white-space:normal}.invoice-duplicate-check[hidden]{display:none}

/* 02r stable candidate */
.back-arrow,.back-arrow:link,.back-arrow:visited,.back-arrow:hover,.back-arrow:active{text-decoration:none!important;border:none!important;box-shadow:none!important;background:transparent!important;color:var(--text)!important}
.auto-drop-zone{margin-top:6px;max-width:680px}
.auto-drop-zone input[type=file]{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.metrics.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.pension-candidates{margin:8px 0 14px 18px;padding:10px 12px;background:#f7f9f9;border:1px solid var(--line);border-radius:8px}
.pension-candidate{display:grid;grid-template-columns:100px minmax(180px,1fr) 90px 130px auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #e6ebed}
.pension-candidate:last-child{border-bottom:0}
@media(max-width:850px){.pension-candidate{grid-template-columns:1fr 1fr}.pension-candidate form{grid-column:1/-1}.metrics.five{grid-template-columns:1fr 1fr}}

/* Financial position: three totals alongside each other on desktop. */
.metrics.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.metrics.three>.metric{min-width:0}
.metrics.three .metric b{overflow-wrap:anywhere}
.close-open-summary{border-top:4px solid var(--amber,#b87a20);scroll-margin-top:20px}
.close-open-summary .card-head{flex-wrap:wrap;gap:12px}
.close-open-warnings{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:760px){.metrics.three{grid-template-columns:1fr}}

/* Keep bank reconciliation actions visible on ordinary-width monitors. */
.reconcile-table{table-layout:fixed;width:100%;min-width:0}
.reconcile-table th,.reconcile-table td{white-space:normal;overflow-wrap:anywhere;min-width:0}
.reconcile-table td b,.reconcile-table td small,.reconcile-table td a,.reconcile-table .state{white-space:normal;overflow-wrap:anywhere;max-width:100%}
.reconcile-table th:first-child{width:85px}
.reconcile-bank-table th:nth-child(3),.reconcile-bank-table th:nth-child(4),.reconcile-bank-table th:nth-child(5),.reconcile-review-table th:nth-child(3),.reconcile-confirm-table th:nth-child(3){width:85px}
.reconcile-bank-table th:last-child,.reconcile-review-table th:last-child{width:112px}
.reconcile-review-table th:nth-child(2){width:25%}
.reconcile-review-table th:nth-child(4){width:21%}
.reconcile-table td:last-child a{display:inline-block;padding:6px 7px;border-radius:6px;background:#eef2f3;font-weight:700}
@media(max-width:1000px){
 .reconcile-table th,.reconcile-table td{padding:7px 6px}
 .reconcile-bank-table th:nth-child(3),.reconcile-bank-table td:nth-child(3),.reconcile-bank-table th:nth-child(4),.reconcile-bank-table td:nth-child(4){display:none}
 .reconcile-table th:first-child{width:78px}
 .reconcile-bank-table th:last-child,.reconcile-review-table th:last-child{width:96px}
}

.square-menu-status{display:flex;align-items:center;gap:10px;margin:0 12px 12px;padding:10px;border:1px solid #ffffff30;border-radius:8px;color:inherit;text-decoration:none;background:#ffffff0d}.square-menu-status div{min-width:0}.square-menu-status b,.square-menu-status small{display:block}.square-menu-status small{font-size:12px;line-height:1.4;margin-top:3px;white-space:normal}.square-menu-status.red{border-color:#f08080}.square-menu-status.amber{border-color:#dfb654}.square-menu-status .health-dot{flex-shrink:0}

.square-menu-status small{color:#dbe7ec}

/* Keep every menu action reachable when the sidebar is taller than the screen. */
@media(min-width:761px){aside{overflow-y:auto;scrollbar-gutter:stable}.aside-bottom{position:static;margin:18px 4px 0}}
.square-menu-status{gap:7px;margin:0 12px 7px;padding:7px 8px}.square-menu-status b{font-size:12px}.square-menu-status small{font-size:10.5px;line-height:1.25;margin-top:1px}.square-menu-status .health-dot{width:10px;height:10px;margin-top:1px}
.payroll-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:18px;margin:18px 0}
.payroll-review-card{min-width:0}
.payroll-payslip-preview{height:420px;margin:14px 0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#f4f6f7}
.payroll-payslip-preview iframe{width:100%;height:100%;border:0}
.payroll-figures{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.payroll-confirm-card{border:2px solid var(--accent);margin-top:22px}

.selected-month-details{margin:8px 0 18px 24px;border-left:4px solid var(--green);background:#f1f7f4}.month-status-row.selected{background:#e4f1e9;border-left:4px solid var(--green)}
body:has(.practice-banner){padding-top:58px}
.practice-banner{position:fixed;z-index:10000;left:0;right:0;top:0;min-height:58px;background:#a40000;color:#fff;display:flex;align-items:center;justify-content:center;gap:18px;padding:10px 18px;box-sizing:border-box;box-shadow:0 3px 12px #0005;font-size:16px}
.practice-banner b{font-size:20px;letter-spacing:.06em}
.practice-banner span{font-weight:600}
@media(max-width:700px){body:has(.practice-banner){padding-top:82px}.practice-banner{min-height:82px;flex-direction:column;gap:2px;text-align:center}.practice-banner b{font-size:17px}}

.monitor-state.not_due{background:#eef1f2;color:#5b686e}
