*{box-sizing:border-box}body{margin:0;background:#f2f6f8;color:#182650;font:14px system-ui,sans-serif}header{display:flex;align-items:center;gap:24px;background:#fff;border-bottom:1px solid #dee8ec;padding:15px 5%}header img{width:100px;height:60px;object-fit:contain}header small{display:block;color:#607486;margin-top:5px}header>a:last-child{margin-left:auto;color:#147c70}main{max-width:1500px;padding:30px;margin:auto}h1{font-size:32px;letter-spacing:-1px;margin:8px 0}h2{font-size:21px}p{color:#607486;line-height:1.8}.eyebrow{letter-spacing:.15em;font-size:11px;color:#18887d;font-weight:750}.page-heading,.toolbar,.actions{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap}.actions{justify-content:flex-end}.toolbar{margin:25px 0}button,select,input{font:inherit}button{cursor:pointer;padding:11px 16px;border:1px solid #cedde4;border-radius:11px;background:#fff;color:#26375b;min-height:42px}button.primary,button[aria-pressed=true]{background:#0d8175;border-color:#0d8175;color:#fff}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7dbaee;outline-offset:3px}#tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}#content{background:#fff;border:1px solid #dce6ec;border-radius:24px;padding:24px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.metrics article{border:1px solid #dce9e6;border-radius:18px;padding:20px;background:linear-gradient(130deg,#f0f9f4,#fff)}.metrics span,.metrics small{display:block;color:#64748b}.metrics strong{display:block;font-size:25px;margin:10px 0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:12px}th,td{padding:13px 10px;border-bottom:1px solid #e1e9ed;text-align:left}th{background:#eef5f6;color:#26375b}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td button{font-size:11px;padding:6px 9px;min-height:32px}tfoot th{background:#e0f1e8}.empty{padding:45px;text-align:center}.charges{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#e0e9ec;border:1px solid #e0e9ec;border-radius:14px;overflow:hidden}.charges>div{display:flex;gap:16px;justify-content:space-between;padding:16px;background:#fbfdfd}.note{font-size:12px}.success{color:#19784a}.error{color:#ad3535}.print-heading{display:flex;gap:20px;align-items:center;margin:20px 0}.print-heading img{width:100px;height:65px;object-fit:contain}.print-heading h2,.print-heading p{margin:5px 0}dialog{width:min(950px,calc(100% - 30px));max-height:90dvh;padding:0;border:1px solid #dbe5eb;border-radius:24px;box-shadow:0 25px 80px #12334655;color:#182650}dialog::backdrop{background:#18263880;backdrop-filter:blur(5px)}.dialog-brand{display:flex;align-items:center;gap:20px;padding:15px 24px;border-bottom:1px solid #dfe8eb;background:#f5faf7}.dialog-brand img{width:100px;height:60px;object-fit:contain}.dialog-brand button{margin-left:auto;font-size:23px;border:0;background:transparent}.dialog-body{padding:24px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px;border-top:1px solid #e2e9ed}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}label{display:flex;flex-direction:column;gap:8px;font-size:12px}input,select{width:100%;min-height:44px;padding:10px;border:1px solid #cddde6;border-radius:9px;color:#172458;background:#fff}.check{display:flex;flex-direction:row;align-items:center;gap:10px;margin-top:20px;font-size:13px}.check input{width:18px;min-height:18px}.bands{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.bands>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.audit{font-size:12px;line-height:2;max-height:350px;overflow:auto}@media(max-width:800px){main{padding:18px 12px}header{gap:12px;padding:12px}header>a:last-child{font-size:11px}#content{padding:16px}.metrics{grid-template-columns:repeat(2,1fr)}.fields{grid-template-columns:repeat(2,1fr)}.charges{grid-template-columns:1fr}.metrics strong{font-size:20px}}@media(max-width:500px){header img{width:70px}.fields,.bands{grid-template-columns:1fr}.dialog-body{padding:18px}.dialog-brand{gap:10px}.metrics article{padding:14px}}@page{size:A3 landscape;margin:12mm}@media print{body{background:white}header,.page-heading,#tabs,#status,.toolbar,.metrics,dialog{display:none!important}main,#content{margin:0;padding:0;border:0}body:not(.hr-slip-view):not(.hr-declaration-view) #content>*:not(#hr-output){display:none!important}#hr-output{display:block}.table-wrap{overflow:visible}table{font-size:10px;white-space:normal}th,td{padding:8px 5px}.hr-salary-table td:last-child,.hr-salary-table thead th:last-child,.hr-salary-table tfoot th:last-child{display:none}button{display:none!important}thead{display:table-header-group}tr{break-inside:avoid}.charges{grid-template-columns:repeat(3,1fr)}.print-heading{margin-top:0}h3{break-after:avoid}}

.hr-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end;margin:18px 0;padding:16px;background:#f3f8f7;border:1px solid #dceae5;border-radius:16px}.hr-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;font-size:12px;color:#64748b}.hr-pager>div{display:flex;gap:8px}.hr-profile-label{font-size:12px;color:#137a6e;margin:0 0 16px}.hr-setting-choices{display:grid;grid-template-columns:1fr 1.5fr;gap:18px;margin:18px 0}.hr-setting-choices fieldset{border:1px solid #dbe7e7;border-radius:14px;padding:14px}.hr-setting-choices .check{margin:10px 0}textarea{width:100%;resize:vertical;padding:12px;border:1px solid #cddde6;border-radius:9px;font:inherit;color:#172458}details{padding:14px;margin:14px 0;border:1px solid #e0e8ec;border-radius:12px}summary{cursor:pointer;color:#19685e;font-weight:650}details .fields{margin-top:16px}@media(max-width:650px){.hr-setting-choices{grid-template-columns:1fr}.hr-pager{align-items:flex-start;flex-direction:column}.hr-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:370px){.hr-filters{grid-template-columns:1fr}}

/* Individual salary slip: A4 portrait, inspired by the supplied ruled payroll model. */
.hr-slip-scroll{overflow-x:auto;background:#e8edef;padding:20px}.hr-payslip{width:190mm;min-height:270mm;margin:auto;padding:7mm;background:white;color:#151515;font:10px Arial,sans-serif;box-shadow:0 6px 30px #18265015}.hr-payslip h2{font-size:29px;letter-spacing:1px;margin:3px 0 16px;color:#111}.hr-payslip p{color:#222;font-size:10px;line-height:1.5;margin:6px 0}.slip-top{display:grid;grid-template-columns:1fr 1.1fr;gap:24px}.slip-employer{border:1px solid #777;padding:10px;overflow-wrap:anywhere}.slip-employer img{width:80px;height:44px;object-fit:contain;display:block;margin-bottom:8px}.slip-employer>strong{font-size:14px}.slip-heading>p{font-size:10px}.slip-employer>div,.slip-heading>div:not(.slip-recipient),.slip-employee>div{display:grid;grid-template-columns:45% 55%;gap:6px;margin:6px 0;overflow-wrap:anywhere}.slip-recipient{border:1px solid #777;min-height:75px;margin-top:15px;padding:18px 12px}.slip-recipient strong{font-size:13px}.slip-employee{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin:13px 0}.hr-payslip table{font-size:9px;table-layout:fixed;white-space:normal;width:100%;border:1px solid #777}.hr-payslip th,.hr-payslip td{border:1px solid #999;padding:5px 4px;color:#111;overflow-wrap:anywhere;vertical-align:top}.hr-payslip th{background:#d0d0d0;font-weight:700;text-align:center}.slip-lines td{border-top:0;border-bottom:0}.hr-payslip .slip-lines .slip-filler td{height:110px}.slip-bottom{display:grid;grid-template-columns:1fr 116px;gap:8px;margin-top:14px}.hr-payslip .slip-cumulative{font-size:8px}.slip-net{border:2px solid #111;text-align:center;align-self:start}.slip-net b{display:block;background:#d0d0d0;border-bottom:1px solid #777;padding:7px;font-size:12px}.slip-net strong{display:block;padding:10px 4px;font-size:13px;overflow-wrap:anywhere}.slip-leave{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-top:10px}.hr-payslip .slip-note{font-size:8px;line-height:1.5;margin-top:14px}.hr-payslip footer{display:flex;justify-content:space-between;gap:15px;margin-top:20px;font-size:8px}.hr-payslip footer span{font-weight:700}.hr-slip-view .hr-profile-label{display:none}@page payslip{size:A4 portrait;margin:10mm}@media print{body.hr-slip-view main,body.hr-slip-view #content{max-width:none;width:auto}body.hr-slip-view #content>.hr-slip-scroll{display:block!important;overflow:visible;background:white;padding:0}body.hr-slip-view .hr-payslip{page:payslip;width:190mm;min-height:0;padding:0;margin:0;box-shadow:none}body.hr-slip-view .hr-payslip footer{display:flex}body.hr-slip-view .hr-payslip table{font-size:9px}body.hr-slip-view .hr-payslip th,body.hr-slip-view .hr-payslip td{padding:5px 4px}body.hr-slip-view .hr-payslip .slip-cumulative{font-size:8px}}

.hr-report-print{display:none}.hr-report-table{min-width:850px}.hr-report-table caption{text-align:left;padding:12px 0;font-weight:700;color:#1b6a60}.hr-report-table thead tr:first-child th{background:#dcece7;text-align:center;border-right:1px solid #c7dbd4}.hr-report-table thead tr:last-child th{white-space:normal;min-width:105px;text-align:center;vertical-align:middle;background:#f0f5f3}.hr-report-table tbody tr:nth-child(even){background:#f8fafb}.hr-report-table tbody tr:hover{background:#edf7f4}.hr-report-table td:first-child{font-weight:650}.hr-report-table tfoot th{border-top:2px solid #83ae9c}.hr-report-table .num{font-variant-numeric:tabular-nums}@media print{.hr-report-screen{display:none!important}.hr-report-print{display:block}.hr-report-print>section+section{break-before:page}.hr-report-print>section{break-inside:auto}.hr-report-print>section>h3{margin:5px 0;font-size:14px}.hr-report-print>section>p{font-size:10px;margin:5px 0}.hr-report-table{min-width:0;width:100%;table-layout:fixed;white-space:normal;font-size:10px}.hr-report-table td,.hr-report-table th{padding:7px 4px;overflow-wrap:anywhere}.hr-report-table thead tr:last-child th{min-width:0}.hr-report-table caption{font-size:10px}tfoot{display:table-row-group}}

/* Employer annexes for fiscal and social declarations. */
.hr-declaration-document{overflow-x:auto;background:#edf1f3;padding:18px}.hr-declaration-page{width:277mm;min-height:180mm;background:#fff;color:#111;margin:0 auto 20px;padding:7mm;font:11px Arial,sans-serif;box-shadow:0 4px 20px #18265018}.decl-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:2px solid #555;padding-bottom:10px}.decl-top img{width:75px;height:48px;object-fit:contain}.decl-top>div{flex:1;text-align:center}.hr-declaration-page .decl-top h2{font-size:16px;margin:6px 0;color:#111}.hr-declaration-page p{font-size:10px;color:#222;margin:5px 0;line-height:1.5}.decl-top>span{font-size:10px;white-space:nowrap}.decl-identity{display:grid;grid-template-columns:1fr 1fr;gap:7px 24px;margin:14px 0;font-size:11px;overflow-wrap:anywhere}.decl-status{font-weight:bold;border:1px solid #777;padding:5px;background:#eee}.hr-declaration-page table{width:100%;table-layout:fixed;font-size:10px;white-space:normal;border:1px solid #777}.hr-declaration-page th,.hr-declaration-page td{padding:7px 4px;border:1px solid #777;overflow-wrap:anywhere;color:#111;vertical-align:top}.hr-declaration-page th{background:#d7d7d7;text-align:center}.hr-declaration-page th:first-child{width:25px}.hr-declaration-page tfoot th{background:#eee}.decl-recap{border:2px solid #555;padding:10px;margin:12px 0;font-size:12px}.decl-signatures{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:12px 0 24px;min-height:80px}.decl-signatures section{border:1px solid #aaa;padding:10px}.hr-declaration-page .decl-note{border-top:1px solid #aaa;padding-top:6px;font-size:9px}.hr-declaration-view .hr-report-print{display:none}@page declaration{size:A4 landscape;margin:8mm}@media print{body.hr-declaration-view #hr-output>*{display:none!important}body.hr-declaration-view #hr-output>.hr-report-print,body.hr-declaration-view #hr-output>.hr-declaration-document{display:block!important}body.hr-declaration-view main,body.hr-declaration-view #content{max-width:none;width:auto}body.hr-declaration-view .hr-declaration-document{overflow:visible;padding:0;background:white}.hr-declaration-page{page:declaration;width:277mm;min-height:0;padding:0;margin:0;box-shadow:none;break-after:page}.hr-declaration-page:last-child{break-after:auto}.hr-declaration-page table{font-size:9px}.hr-declaration-page th,.hr-declaration-page td{padding:5px 3px}.decl-top,.decl-identity,.decl-signatures,.decl-recap{break-inside:avoid}.decl-top img{display:block!important}}

.hr-list-pages{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:18px}.hr-list-pages>a{display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid #d8e5e5;border-radius:20px;color:#183052;background:linear-gradient(135deg,#f1f8f5,#fff);text-decoration:none;transition:transform .2s,box-shadow .2s}.hr-list-pages>a:hover{transform:translateY(-3px);box-shadow:0 12px 24px #133b4912}.hr-list-pages strong{font-size:18px}.hr-list-pages span{font-size:13px;color:#607486}.hr-list-pages .hr-page-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#dcefe6;color:#19765c;font-size:26px}.hr-back-link{display:inline-block;color:#167365;margin:5px 0 12px}.hr-export-panel{padding:20px;border:1px solid #cfe4dc;background:#f3f9f6;border-radius:18px;margin:18px 0}.hr-export-panel label{max-width:420px}td input[type=checkbox]{width:20px;min-height:20px}#status button{margin-left:12px}@media(prefers-reduced-motion:reduce){.hr-list-pages>a{transition:none}}

/* The payroll document must remain visible in print; generic report hiding excludes it. */
.slip-employer .slip-logo{display:block;position:relative;width:48mm;max-width:100%;height:26mm;overflow:hidden;margin:0 0 3mm}
.slip-employer .slip-logo img{position:absolute;display:block;width:156.1%;height:auto;max-width:none;left:-28.15%;top:-26.78%;margin:0;object-fit:contain}
@media print{body.hr-slip-view #content>#hr-output.hr-slip-scroll{display:block!important;visibility:visible!important;overflow:visible!important}body.hr-slip-view .hr-payslip{width:100%;max-width:100%}.hr-payslip .slip-logo{width:48mm;height:26mm}}

@media print{body.hr-slip-view{page:payslip}body.hr-slip-view main,body.hr-slip-view #content{display:block!important;visibility:visible!important}}

/* A4 print composition: 185 mm content width after the 15 mm binding margin. */
@page payslip{size:A4 portrait;margin:10mm 10mm 10mm 15mm}
body.hr-slip-view.hr-print-preparing main,body.hr-slip-view.hr-print-preparing #content{max-width:none;width:auto;padding:0;border:0;margin:0}
body.hr-slip-view.hr-print-preparing .hr-slip-scroll{padding:0;overflow:visible;background:white;width:185mm}
body.hr-slip-view.hr-print-preparing .hr-payslip{width:185mm;max-width:185mm;min-height:0;padding:0;margin:0;box-shadow:none}
body.hr-slip-view.hr-print-preparing .hr-payslip .slip-filler td{height:35px}
body.hr-slip-view.hr-print-preparing .hr-payslip th,body.hr-slip-view.hr-print-preparing .hr-payslip td{padding:4px 3px}
body.hr-slip-view.hr-print-preparing .hr-payslip h2{font-size:25px}
body.hr-slip-view.hr-print-preparing .hr-payslip footer{margin-top:12px}
body.hr-slip-view .slip-top{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px}
body.hr-slip-view .slip-top>*,body.hr-slip-view .slip-employee>*,body.hr-slip-view .slip-bottom>*{min-width:0}
body.hr-slip-view .hr-payslip{overflow-wrap:anywhere}
@media print{
 body.hr-slip-view{page:payslip;margin:0;padding:0}
 body.hr-slip-view main,body.hr-slip-view #content,body.hr-slip-view #hr-output.hr-slip-scroll{width:185mm!important;max-width:185mm!important;min-width:0!important;margin:0!important;padding:0!important;overflow:visible!important}
 body.hr-slip-view .hr-payslip{page:payslip;width:185mm!important;max-width:185mm!important;min-height:0!important;padding:0!important;margin:0!important;break-inside:avoid;box-shadow:none}
 body.hr-slip-view .hr-payslip h2{font-size:25px}
 body.hr-slip-view .hr-payslip th,body.hr-slip-view .hr-payslip td{padding:4px 3px}
 body.hr-slip-view .hr-payslip .slip-filler td{height:35px}
 body.hr-slip-view .hr-payslip footer{margin-top:12px}
 body.hr-slip-view .hr-payslip table{min-width:0!important;width:100%;table-layout:fixed}
}
/* Reference payslip: the same eight columns and hierarchy as the PDF template. */
@font-face{font-family:BRWPayroll;src:url('/finance-organisation/fonts/DejaVuSerif.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:BRWPayroll;src:url('/finance-organisation/fonts/DejaVuSerif-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
.hr-payslip.reference-payslip{font-family:BRWPayroll,Georgia,serif;font-size:8pt}
.reference-payslip .slip-top{grid-template-columns:minmax(0,282fr) minmax(0,237fr);gap:7mm;align-items:start}
.reference-payslip .slip-company-identity{display:grid;grid-template-columns:48mm minmax(0,1fr);gap:3mm;min-height:29mm;align-items:start}
.reference-payslip .slip-company-identity strong{font-size:9pt;overflow-wrap:anywhere;display:block;padding-top:1mm}
.reference-payslip .slip-company-identity p{font-size:7pt;margin-top:6mm}
.reference-payslip .slip-logo{display:block;position:relative;width:48mm;height:26mm;overflow:hidden;margin:0}
.reference-payslip .slip-logo img{position:absolute;display:block;width:156.1%;height:auto;max-width:none;left:-28.15%;top:-26.78%;margin:0;object-fit:contain}
.reference-payslip .slip-employer-registration{border:1px solid #444;padding:2mm;margin-top:2mm;min-height:15mm}
.reference-payslip .slip-employer-registration p{font:7.5pt/1.4 BRWPayroll,Georgia,serif;margin:1mm 0}
.reference-payslip .slip-heading h2{font:700 18pt/1.1 BRWPayroll,Georgia,serif;letter-spacing:0;margin:0 0 3mm}
.reference-payslip .slip-heading>p{font:7.5pt/1.35 BRWPayroll,Georgia,serif;margin:1.4mm 0}
.reference-payslip .slip-recipient{min-height:16mm;padding:3mm;margin-top:3mm}.reference-payslip .slip-recipient strong{font-size:10pt}
.reference-payslip .slip-employee{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 7mm;margin:5mm 0 3mm;font-size:7.5pt}
.reference-payslip .slip-employee>div{display:block;margin:1mm 0}.reference-payslip .slip-employee b{font-weight:400}.reference-payslip .slip-employee b::after{content:' : '}
.reference-payslip .slip-lines{font:7pt/1.35 BRWPayroll,Georgia,serif;table-layout:fixed;height:124mm}
.reference-payslip .slip-lines th,.reference-payslip .slip-lines td{padding:1.1mm .8mm;text-align:left;vertical-align:top}
.reference-payslip .slip-lines th{background:#d1d1d1}.reference-payslip .slip-lines tr.slip-total td{font-weight:700}
.reference-payslip .slip-lines .slip-filler{height:100%}.reference-payslip .slip-lines .slip-filler td{height:auto}
.reference-payslip .slip-bottom{grid-template-columns:minmax(0,422fr) minmax(0,105fr);gap:4mm;margin-top:4mm}
.reference-payslip .slip-cumulative{font:6.5pt/1.3 BRWPayroll,Georgia,serif}.reference-payslip .slip-cumulative th,.reference-payslip .slip-cumulative td{background:white;border:0;padding:2mm 1mm}
.reference-payslip .slip-cumulative th{font-weight:700}.reference-payslip .slip-cumulative td{text-align:left}
.reference-payslip .slip-net b{font:700 10pt/1.2 BRWPayroll,Georgia,serif}.reference-payslip .slip-net strong{font:700 11pt/1.2 BRWPayroll,Georgia,serif;padding:3mm 1mm;overflow-wrap:anywhere}.reference-payslip .slip-net small{display:block;font-size:7pt;font-weight:400;margin-top:1mm}
.reference-payslip .slip-leave{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:7mm;margin-top:4mm}.reference-payslip .slip-leave table{border:0;font-size:7pt}.reference-payslip .slip-leave th,.reference-payslip .slip-leave td{border:0;background:white;padding:1.2mm 0;text-align:left}.reference-payslip .slip-leave p{font-size:7pt;line-height:1.7}
.reference-payslip .slip-note{font-size:6.5pt;line-height:2.1;margin-top:4mm}.reference-payslip footer{border-top:1px solid #555;padding-top:2mm;margin-top:6mm;font:6.5pt/1.3 BRWPayroll,Georgia,serif}
@media print{body.hr-slip-view .reference-payslip .slip-heading h2{font-size:18pt}body.hr-slip-view .reference-payslip .slip-lines{font-size:7pt}body.hr-slip-view .reference-payslip .slip-lines th,body.hr-slip-view .reference-payslip .slip-lines td{padding:1.1mm .8mm}body.hr-slip-view .reference-payslip .slip-lines .slip-filler td{height:auto}body.hr-slip-view .reference-payslip .slip-cumulative{font-size:6.5pt}}
@media screen{body{background:#fff}#content{min-width:0}.bank-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:18px 0}.bank-controls label{min-width:170px}.bank-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.bank-side{min-width:0;border:1px solid #dce8e1;border-radius:16px;padding:16px}.bank-side h3{margin-top:0}.bank-line{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #edf2ef}.bank-line input{width:18px;height:18px}.bank-line strong{display:block}.bank-line small{display:block;color:#607486;line-height:1.7}.bank-line .num{font-variant-numeric:tabular-nums;font-weight:650}.bank-summary{border-left:3px solid #169c89;background:#f4faf7;padding:18px;border-radius:12px;margin:18px 0;line-height:1.8}.bank-exception{color:#a93832}#print-area{display:none}.bank-csv-help{font-size:12px;line-height:1.8}dialog textarea{width:100%;min-height:140px}dialog input,dialog select{max-width:100%}dialog{max-width:720px}button[disabled]{cursor:not-allowed}@media(max-width:800px){.bank-compare{grid-template-columns:minmax(0,1fr)}main{padding:18px 12px}#content{padding:18px 12px}header{gap:12px;padding:12px;flex-wrap:wrap}.page-heading h1{font-size:26px}.metrics{grid-template-columns:repeat(2,1fr)}.bank-controls label{min-width:0;flex:1 1 170px}}}
@media print{@page{size:A4 portrait;margin:12mm 10mm 12mm 15mm}body>*:not(#print-area){display:none!important}#print-area{display:block!important;color:#111;font-size:10pt}#print-area img{width:110px;height:62px;object-fit:contain}#print-area table{white-space:normal;width:100%;font-size:9pt}#print-area td,#print-area th{padding:6px;border:1px solid #ccc}#print-area tr{break-inside:avoid}#print-area thead{display:table-header-group}}
/* The suspens model uses one table with two panels: rows can paginate together. */
.bank-suspens{color:#152f29}.bank-suspens-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin:18px 0}.bank-suspens-heading h2{font-size:16px;line-height:1.5;margin:6px 0}.bank-suspens-heading p{font-size:11px;margin:5px 0}.bank-suspens-scroll{overflow-x:auto}.bank-suspens-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1050px;font-size:11px;white-space:normal}.bank-suspens-table td,.bank-suspens-table th{border:1px solid #adbdb4;padding:8px 6px;vertical-align:top;overflow-wrap:anywhere}.bank-suspens-table th{background:#f0f6f2;color:#17372b;text-align:center}.bank-suspens-table .bank-suspens-gap{border:0!important;background:transparent!important;padding:0!important}.bank-suspens-table td small{display:block;font-size:9px;color:#53685c;margin-top:5px}.bank-suspens-table .num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.bank-suspens-titles th{border:2px solid #3f6050!important;letter-spacing:.03em;padding:10px}.bank-suspens-opening td{font-weight:700;border-top:2px solid #3f6050}.bank-suspens-subtotal td,.bank-suspens-subtotal th{font-weight:700;border-top:2px solid #3f6050}.bank-suspens-totals td,.bank-suspens-totals th{font-weight:750;border-top:3px double #3f6050}.bank-suspens-balance td,.bank-suspens-balance th{font-weight:750;border-top:2px solid #3f6050;background:#eef6f1}.bank-opening-amount,.bank-opening-label{color:#b52d32}.bank-suspens-check{margin:16px 0;padding:14px;background:#f5faf7;border:1px solid #dce8e1;border-radius:10px}.bank-suspens-check p{font-size:11px;line-height:1.6;margin-bottom:0}.bank-suspens-signatures{display:flex;justify-content:space-between;gap:24px;font-size:11px;margin:24px 0}
@media print{@page{size:A4 landscape;margin:10mm 10mm 12mm 15mm}#print-area{font-size:8pt}#print-area>img{width:92px;height:48px}#print-area .bank-suspens-heading{margin:4mm 0 3mm}#print-area .bank-suspens-heading h2{font-size:10pt;line-height:1.3}#print-area .bank-suspens-heading p{font-size:8pt}#print-area .bank-suspens-scroll{overflow:visible}#print-area .bank-suspens-table{width:100%;min-width:0;font-size:7pt;table-layout:fixed;white-space:normal}#print-area .bank-suspens-table td,#print-area .bank-suspens-table th{padding:1.6mm 1mm;border-color:#555;overflow-wrap:anywhere}#print-area .bank-suspens-table .num{white-space:normal;font-size:7pt}#print-area .bank-suspens-table td small{font-size:6.5pt;color:#333}#print-area .bank-suspens-table thead{display:table-header-group}#print-area .bank-suspens-table tr{break-inside:avoid}#print-area .bank-suspens-check{padding:2mm;margin:3mm 0;border-radius:0;break-inside:avoid}#print-area .bank-suspens-check p{font-size:7pt}#print-area .bank-suspens-signatures{font-size:7pt;margin:5mm 0;break-inside:avoid}#print-area .bank-print-author{font-size:6.5pt}}
.bank-workflow{list-style:none;padding:0;display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.bank-workflow li{padding:10px 14px;border:1px solid #d9e6de;border-radius:11px;color:#61746c;background:#f9fcfa;font-size:12px}.bank-workflow li.done{color:#176044;background:#e9f5ee;border-color:#9dc8af;font-weight:700}.bank-proposals{padding:18px;border:1px solid #b5d8c5;background:#f6fbf8;border-radius:16px;margin:16px 0}.bank-proposals label{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #e1ece5;font-size:12px}.bank-proposals input{width:18px;height:18px;flex:none}.bank-proposals button{margin-top:12px}@media(max-width:700px){.bank-workflow{gap:6px}.bank-workflow li{padding:8px 10px;font-size:10px}}

/* Import des grands livres et relevés : lecture locale, aperçu avant confirmation. */
.bank-import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#import-mapping{border:0;padding:0;margin:0;min-width:0}#import-preview{max-width:100%;margin:16px 0}#import-preview .table-wrap{max-height:300px;overflow:auto}#source-lines{max-height:360px;overflow:auto}#source-lines label{display:flex;gap:10px;align-items:start}.bank-import-grid select{max-width:100%}@media(max-width:600px){.bank-import-grid{grid-template-columns:1fr}}
