:root{color-scheme:light;--navy:#081a2f;--navy2:#112641;--mint:#12a98d;--aqua:#21cbb6;--ink:#152a3c;--muted:#627589;--line:#e4ebf2;--surface:#fff;--bg:#f4f7fb;--shadow:0 12px 36px rgba(18,40,65,.07);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:#087b83}button:disabled{opacity:.55;cursor:wait}input,select,textarea{background:white;color:#152a3c;border:1px solid #d7e1eb;border-radius:11px;min-height:42px;padding:10px 12px;width:100%;outline:0}input:focus,select:focus,textarea:focus{border-color:#1bb49c;box-shadow:0 0 0 3px #19a99125}label{display:flex;flex-direction:column;gap:7px;color:#405366;font-weight:600;font-size:12px}textarea{resize:vertical;min-height:68px}.hint,.muted{color:var(--muted);font-size:12px}.visually-hidden{position:absolute;height:1px;width:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}
.app{display:flex;min-height:100vh}.sidebar{width:255px;flex:0 0 255px;background:linear-gradient(175deg,var(--navy),var(--navy) 65%,#102f4a);color:#d5e1ee;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:15;box-shadow:8px 0 18px #0a233110}.sidebar-header{display:flex;align-items:center;gap:11px;padding:29px 22px 37px}.sidebar-header strong{font-size:12px;color:white;letter-spacing:.08em}.sidebar-header small{display:block;color:#86a2b8;letter-spacing:.09em;font-size:9px;margin-top:4px}.logo{display:grid;place-items:center;flex:0 0 37px;height:37px;background:linear-gradient(135deg,#41dbc7,#028f83);border-radius:12px;color:white;font-size:25px;font-weight:800;box-shadow:0 10px 24px #00a88c32}.logo.large{height:46px;flex-basis:46px;font-size:30px}.sidebar-eyebrow{font-size:10px;letter-spacing:.15em;color:#6589a3;font-weight:800;padding:0 24px;margin-bottom:10px}.sidebar nav{flex:1;overflow:auto;padding:0 11px 20px}.nav-link{border:0;background:transparent;color:#9bb2c7;display:flex;align-items:center;gap:13px;width:100%;text-align:left;border-radius:10px;padding:11px 13px;margin:2px 0;font-weight:600;font-size:12.5px;transition:background .14s}.nav-link span.ico{display:grid;place-items:center;width:20px;font-size:16px;color:#87a6c0}.nav-link:hover{background:#ffffff11;color:#fff}.nav-link.active{background:#164b57;color:#d6fff3;box-shadow:inset 3px 0 0 #25dcc0}.nav-divider{height:1px;background:#ffffff16;margin:13px 10px}.sidebar-footer{border-top:1px solid #ffffff17;padding:16px 16px 20px}.identity{display:flex;gap:10px;align-items:center;margin-bottom:12px}.identity>span{display:grid;place-items:center;border-radius:50%;width:35px;height:35px;background:#27546b;color:#d9fffa;font-weight:800}.identity b{font-size:12px;color:white;display:block}.identity small{font-size:11px;color:#85a2b8}.build{display:block;text-align:center;font-size:10px;color:#7495a8;margin-top:13px}
.workspace{min-width:0;flex:1}.topbar{height:98px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:18px;position:sticky;top:0;z-index:9}.top-left{display:flex;align-items:center;gap:14px}.breadcrumb{display:block;letter-spacing:.13em;color:#97a8b7;font-weight:800;font-size:10px;margin-bottom:7px;text-transform:uppercase}.topbar h1{font-size:23px;letter-spacing:-.035em;margin:0;color:#182c41}.top-actions{display:flex;gap:10px;align-items:center}.period-select{display:flex;align-items:center;gap:5px;background:#f7f9fc;border:1px solid #e7edf4;border-radius:11px;padding:4px}.period-select select{border:0;background:transparent;width:auto;min-width:93px;box-shadow:none;font-weight:700;font-size:12px}.period-select select:last-child{min-width:73px}.btn{border:1px solid transparent;padding:11px 17px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;font-size:12px;font-weight:750;white-space:nowrap}.btn.primary{background:#0e9f88;color:#fff;box-shadow:0 6px 13px #0e9f8826}.btn.primary:hover{background:#087e72}.btn.secondary{background:#e8f7f4;color:#088978;border-color:#c9eee7}.btn.quiet{background:#f5f7fa;color:#50677c;border:1px solid #e7edf4}.sidebar .btn.quiet{background:#ffffff12;color:#d6e5ed;border:1px solid #ffffff1a}.btn.full{width:100%}.icon-btn{background:transparent;border:0;color:#667b8e;font-size:17px;width:31px;height:31px}.content{padding:26px 32px 55px;max-width:1670px;margin:auto}.page-lead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:25px}.eyebrow{color:#0d9b87;font-size:10px;letter-spacing:.17em;font-weight:900;margin:0 0 10px}.page-lead p#page-subtitle{margin:0;color:#72859a;font-size:13px}.period-badge{color:#426b76;background:#e4f5f4;border:1px solid #cdece8;border-radius:99px;padding:8px 12px;font-size:11px;font-weight:800;white-space:nowrap}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric{background:var(--surface);border:1px solid #e7eef4;border-radius:15px;box-shadow:var(--shadow);padding:20px;min-height:131px;overflow:hidden;position:relative;text-align:left}.metric.clickable{cursor:pointer}.metric:before{position:absolute;content:"";height:3px;left:0;right:0;top:0;background:var(--accent,#15ac98)}.metric>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric .label{color:#718397;font-size:11.5px;font-weight:700;line-height:1.4}.metric .badge{color:var(--accent,#0a9a85);background:color-mix(in srgb,var(--accent,#12a98d) 10%,white);border-radius:10px;font-size:18px;padding:8px}.metric strong{display:block;font-size:25px;color:#162b42;letter-spacing:-.04em;margin:19px 0 4px;line-height:1.1}.metric small{font-size:11px;color:#9aabb8}.grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:17px;margin-top:17px}.panel{background:#fff;border:1px solid #e6edf4;border-radius:15px;box-shadow:var(--shadow);overflow:hidden;min-width:0}.panel>.panel-head{padding:20px 22px 15px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.panel-head h2{font-size:15px;margin:0 0 5px;letter-spacing:-.02em}.panel-head p{font-size:11px;color:#95a4b4;margin:0}.panel-body{padding:4px 22px 22px}.chart{height:210px;display:flex;gap:11px;align-items:end;justify-content:space-between;padding-top:14px}.bar-col{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0;flex:1;gap:8px}.bar-col .bar-bg{background:#e8f5f4;width:min(100%,37px);height:calc(var(--pct) * 1%);min-height:3px;border-radius:8px 8px 3px 3px;position:relative;transition:height .2s}.bar-col .bar-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(#27ccb6,#0f9f8a);border-radius:inherit}.bar-col small{color:#8296a7;font-size:9px;font-weight:700}.cat-line{display:flex;gap:10px;align-items:center;margin:16px 0}.cat-line .cat-name{min-width:122px;max-width:122px;font-size:11px;color:#62788b;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cat-line .progress{height:8px;flex:1;background:#edf4f5;border-radius:20px;overflow:hidden}.cat-line .progress>span{display:block;height:100%;background:var(--tone,#20bda5);border-radius:20px}.cat-line b{font-size:11px;min-width:93px;text-align:right;color:#33485c}
.table-panel{margin-top:18px}.filter-row{padding:16px 19px;display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;align-items:center}.filter-row>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-row input{width:min(260px,100%)}.filter-row select{width:145px}.table-wrap{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;min-width:870px}th{text-align:left;font-size:10px;letter-spacing:.08em;font-weight:800;color:#7d90a4;background:#f8fafc;padding:13px 17px;white-space:nowrap;border-bottom:1px solid #edf2f7}td{padding:13px 17px;font-size:12px;color:#33495a;border-bottom:1px solid #edf2f7;vertical-align:middle}tr:hover td{background:#fcfefd}td small{color:#8395a7;font-size:10px}td .title{display:block;font-weight:800;color:#253a4c;max-width:240px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.money{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800;color:#1b3446}.pill{display:inline-block;border-radius:99px;padding:5px 9px;font-weight:750;font-size:10px;white-space:nowrap}.pill.Draft{background:#f0f3f6;color:#68798b}.pill.Submitted{background:#e9f2ff;color:#3374b4}.pill.Approved{background:#e7f8f1;color:#15825d}.pill.Rejected{background:#fff0ef;color:#b2464a}.pill.Paid{background:#dff7f0;color:#08775e}.pill.On-Hold{background:#fff5e6;color:#9b6720}.pill.Partially-Paid{background:#eff0ff;color:#6954ab}.pill.review{background:#fff1d6;color:#935911}.link-btn{padding:5px 0;background:transparent;color:#07897b;border:0;font-size:11px;font-weight:800}.link-btn:hover{text-decoration:underline}.empty{padding:52px 16px;text-align:center;color:#7c8fa1}.empty b{display:block;color:#415467;font-size:15px;margin-bottom:7px}.banner{padding:14px 17px;background:#fff8e9;border:1px solid #f4e1b6;border-radius:12px;color:#805b19;margin-bottom:15px;font-size:12px;line-height:1.6}.notice{padding:12px 14px;background:#e9f8ff;border:1px solid #cee7f3;color:#316d8e;border-radius:10px;line-height:1.5;font-size:12px}.section-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.smallcards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px}
.modal{border:0;border-radius:18px;box-shadow:0 30px 90px #081a2f55;padding:0;width:min(860px,calc(100vw - 28px));max-height:min(95vh,1000px);overflow:hidden}.modal::backdrop{background:#071a2fb5;backdrop-filter:blur(3px)}.modal.compact{width:min(510px,calc(100vw - 28px))}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:22px 25px 15px;border-bottom:1px solid #edf2f6}.modal-header h2{margin:0;font-size:19px}.modal-scroll{padding:19px 25px 22px;max-height:calc(91vh - 170px);overflow-y:auto}.modal-footer{padding:15px 25px;border-top:1px solid #ebf1f6;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;background:#fff}.modal-footer .hint{margin-right:auto}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-wide{grid-column:1/-1}.file-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.file-chip{border:1px solid #dce8ef;background:#f7fbfd;border-radius:99px;font-size:11px;padding:7px 11px}.simple-grid{display:grid;gap:14px}.simple-feedback{margin:0 25px 12px;padding:11px 13px;border-radius:9px;border:1px solid #c87979;background:#fff0ef;color:#8d1f2a;font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.simple-feedback[hidden]{display:none!important}.simple-feedback.ok{border-color:#3a9c77;background:#e8f8ef;color:#145d40}.simple-feedback:focus{outline:2px solid #a12f3b;outline-offset:2px}.error{color:#b63e40;font-size:12px;min-height:16px;margin-top:9px}.toast{position:fixed;z-index:100;top:18px;right:18px;background:#183d4a;color:white;padding:13px 17px;border-radius:11px;box-shadow:0 8px 35px #031a2a36;max-width:min(390px,90vw);display:none;font-weight:600;font-size:12px}.toast.on{display:block}.toast.bad{background:#98444c}.access-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 15% 10%,#123950,var(--navy) 60%);padding:20px}.access-card{background:#fff;border-radius:21px;width:min(430px,100%);padding:34px;box-shadow:0 24px 110px #0003}.access-brand{display:flex;align-items:center;gap:11px;margin-bottom:37px}.access-brand b{display:block;color:#11283b;letter-spacing:-.02em;font-size:16px}.access-brand small{display:block;color:#7e8fa1;font-size:11px;margin-top:3px}.access-card h1{margin:0 0 8px;font-size:24px}.access-card p{font-size:12px;color:#758a9b;line-height:1.6}.access-card form{display:grid;gap:16px;margin-top:26px}.access-card form #setup-only{display:grid;gap:16px}.access-footer{text-align:center;padding-top:22px}.mobile-only{display:none}.shade{position:fixed;inset:0;background:#0921368e;z-index:14}.import-summary{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.import-summary span{background:#eff7f6;border-radius:7px;color:#37625e;padding:9px 13px;font-size:12px}.selectable{cursor:pointer}.check{width:17px;height:17px}.mini-list{margin:10px 0;font-size:12px;color:#6d8191}.spinner{border:2px solid #cceae6;border-top-color:#0e9f88;display:inline-block;border-radius:50%;width:14px;height:14px;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1160px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}.content{padding:23px}.topbar{padding:0 22px}.sidebar{width:224px;flex-basis:224px}.smallcards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.sidebar{position:fixed;transform:translateX(-110%);transition:transform .2s ease;width:255px;flex-basis:255px}.sidebar.open{transform:translateX(0)}.mobile-only{display:inline-flex}.topbar{height:83px;padding:0 14px}.topbar h1{font-size:19px}.top-actions{gap:6px}.top-actions .btn{padding:9px 10px}.top-actions .btn span{display:none}.period-select select{min-width:70px;padding:9px 3px}.period-select select:last-child{min-width:60px}.content{padding:18px 13px 35px}.page-lead{align-items:flex-start}.metrics{gap:10px}.metric{padding:16px;min-height:118px}.metric strong{font-size:20px;margin-top:18px}.metric .badge{display:none}.form-grid{grid-template-columns:1fr}.modal-header,.modal-footer,.modal-scroll{padding-left:16px;padding-right:16px}.smallcards{grid-template-columns:1fr}}
@media(max-width:410px){.period-select{gap:0}.period-select select{font-size:11px;min-width:60px}.period-select select:last-child{min-width:53px}.top-actions .btn{min-height:38px}.metric strong{font-size:18px}.metric .label{font-size:10px}.page-lead .period-badge{display:none}}
@media print{body{background:white}.sidebar,.topbar,.page-lead,.section-tools,.filter-row,.table-wrap button,.toast,.link-btn{display:none!important}.workspace{width:100%}.content{padding:0;max-width:none}.panel,.metric{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.panel .table-wrap{display:block!important;overflow:visible}.grid-2,.metrics{grid-template-columns:repeat(2,1fr)}.metric{min-height:65px}th,td{padding:8px}.page-lead .eyebrow{display:none}}
@media(max-width:520px){.topbar{height:auto;min-height:105px;flex-wrap:wrap;align-content:center;gap:8px;padding:10px 13px}.top-left{width:100%}.top-actions{width:100%;justify-content:flex-end}.top-actions .period-select{margin-right:auto}.breadcrumb{margin-bottom:3px}.topbar h1{font-size:20px}}

/* V1.3 Excel-like monthly layout, optional small previews and clean printing */
.excel-register{min-width:1380px}.excel-register .wrap-cell{max-width:240px;min-width:165px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.excel-register th{position:sticky;top:0;z-index:1}.thumbnail-btn{width:52px;height:54px;border:1px solid #c9dfe6;background:#fff;border-radius:9px;padding:2px;overflow:hidden;display:inline-flex;align-items:center;justify-content:center}
.thumbnail-btn img{width:100%;height:100%;object-fit:cover;border-radius:6px}.thumbnail-btn:hover{outline:2px solid #10a792}
.attachment-preview{max-width:95px;max-height:95px;object-fit:contain;border:1px solid #c8dbe2;border-radius:8px;margin:5px 0}
.receipt-card{display:inline-flex;flex-wrap:wrap;align-items:center;gap:9px;border:1px solid #e0e9ef;background:#f8fbfc;padding:7px 10px;border-radius:10px;max-width:100%}
@media print{.excel-register{min-width:0;width:100%;font-size:9px}.excel-register .thumbnail-btn{display:none}.excel-register th,.excel-register td{padding:5px 6px;overflow-wrap:anywhere}.excel-register tr{break-inside:avoid}}
/* V1.1 audit/payment detail panels */
.bill-history{border-top:1px solid rgba(108,133,160,.24);margin-top:18px;padding-top:12px}
.bill-history .mini-list{max-height:170px;overflow:auto;padding:0 12px;background:rgba(68,106,144,.07);border-radius:10px}
.bill-history .mini-list p{padding:8px 0;margin:0;border-bottom:1px solid rgba(108,133,160,.15);font-size:13px}
.bill-history .section-tools{flex-wrap:wrap;gap:10px;margin:10px 0}
@media print{.bill-history button,.bill-history .btn{display:none!important}}

.choice-line{display:flex;align-items:center;flex-direction:row;gap:10px;font-weight:600}
.choice-line input{width:18px;height:18px;flex:none}

input,textarea,select,[contenteditable=true]{scroll-margin-block:75px}

.optional-details{border:1px solid #deeaee;padding:12px;border-radius:10px;background:#f8fbfc}.optional-details>summary{cursor:pointer;font-weight:700;color:#45677e}.optional-details>.form-grid{padding-top:14px}

/* Honour semantic hidden state even on flex labels and buttons */
[hidden]{display:none!important}

/* V1.6 universal import, mobile actions, explicit duplicate resolution */
.import-picker{display:block;border:2px dashed #acd9d2;background:#f2fbf9;padding:19px;border-radius:13px;cursor:pointer;font-weight:700;text-align:center;color:#166e63}
.import-picker input{display:block;margin:12px auto 0;width:100%;max-width:500px;font-size:13px}
.duplicate-list{max-height:300px;overflow:auto;margin-top:14px}.duplicate-choice{display:flex;gap:10px;padding:12px;border-bottom:1px solid #e1eaf0;align-items:center;cursor:pointer}.duplicate-choice input{width:18px;height:18px;flex:none}
.duplicate-choice span{display:grid;gap:4px}.duplicate-choice small{font-size:11px;color:#698096}.danger-text{color:#b04149}.duplicate-actions{justify-content:flex-end}
@media(max-width:780px){.excel-register{min-width:1060px}.excel-register th,.excel-register td{padding:10px 11px}.filter-row>div,.section-tools{width:100%}.filter-row>div>.btn{flex:1}.filter-row input{width:100%}.modal-footer .btn{min-height:43px}.duplicate-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.duplicate-actions .btn{width:100%;white-space:normal}.import-picker{padding:13px}.table-wrap{overscroll-behavior-inline:contain}}
@media(max-width:410px){.duplicate-actions{grid-template-columns:1fr 1fr}.modal-footer .hint{width:100%}.duplicate-choice small{white-space:normal}}

/* Professional compact mobile bill cards; all hidden secondary fields remain in View Bill. */
@media screen and (max-width:680px){
 .mobile-cards-container{overflow:visible}.monthly-register{display:block;min-width:0;width:100%}.monthly-register thead{display:none}
 .monthly-register tbody{display:grid;gap:12px;padding:11px}
 .monthly-register tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;padding:14px;border:1px solid #deeaef;border-radius:14px;background:#fff;box-shadow:0 3px 10px #102c3d0e}
 .monthly-register tbody td{display:block;width:100%;padding:4px 0;border:0;min-width:0;word-break:break-word}
 .monthly-register tbody td:nth-child(1),.monthly-register tbody td:nth-child(4),.monthly-register tbody td:nth-child(6),.monthly-register tbody td:nth-child(7),.monthly-register tbody td:nth-child(9),.monthly-register tbody td:nth-child(11){display:none}
 .monthly-register tbody td:nth-child(2){grid-column:1;font-size:11px;color:#7890a2}
 .monthly-register tbody td:nth-child(3){grid-column:1/-1;grid-row:2;font-size:14px}
 .monthly-register tbody td:nth-child(5){grid-column:2;grid-row:1;text-align:right;font-size:15px}
 .monthly-register tbody td:nth-child(8){grid-column:1;font-size:11px}
 .monthly-register tbody td:nth-child(10){grid-column:2;text-align:right}
 .monthly-register tbody td:nth-child(12){grid-column:1/-1;display:flex;gap:18px;align-items:center;padding-top:9px;border-top:1px solid #edf2f4}
 .monthly-register tbody td:nth-child(12) button{font-size:12px}
 .monthly-register tbody tr:hover td{background:transparent}
}

@media screen and (max-width:680px){
 .import-preview-wrap{overflow:visible}.import-preview-table{display:block;min-width:0}.import-preview-table thead{display:none}.import-preview-table tbody{display:grid;gap:10px;padding:10px}
 .import-preview-table tr{display:grid;grid-template-columns:40px 1fr;gap:4px;border:1px solid #dce8ee;border-radius:11px;padding:10px}
 .import-preview-table td{display:block;padding:3px 5px;border:0;min-width:0;white-space:normal}
 .import-preview-table td:first-child{grid-column:1;grid-row:1/4}.import-preview-table td:nth-child(2){grid-column:2;color:#7890a2;font-size:10px}.import-preview-table td:nth-child(3){grid-column:2;font-size:13px;font-weight:800}.import-preview-table td:nth-child(4),.import-preview-table td:nth-child(5),.import-preview-table td:nth-child(6){grid-column:2}
 .import-preview-table td:nth-child(7){grid-column:1/-1;border-top:1px solid #edf2f6;margin-top:5px;padding-top:10px;display:flex;flex-wrap:wrap;gap:12px}
}

.import-picker.drag-over{border-color:#078f7d;background:#dff8f0;box-shadow:inset 0 0 0 2px #8cd3c7}

/* V1.7 IBFT allocations: financial identity stays visible even on narrow screens. */
.ibft-allocation-list{display:grid;gap:9px;margin-top:12px;max-height:36vh;overflow-y:auto}
.ibft-allocation-card{display:grid;grid-template-columns:minmax(150px,1fr) 115px 120px;align-items:center;gap:10px;padding:11px;border:1px solid var(--border,#dde3e8);border-radius:10px;background:var(--card,#fff)}
.ibft-allocation-name{display:flex;align-items:flex-start;gap:8px;min-width:0}
.ibft-allocation-name input{margin-top:4px;flex-shrink:0}
.ibft-allocation-name small,.ibft-remaining small,.ibft-alloc-field small{color:#64748b}
.ibft-remaining,.ibft-alloc-field{display:flex;flex-direction:column;gap:3px}
.ibft-remaining b{white-space:nowrap}
.ibft-alloc-field input{width:100%;min-width:0}
@media(max-width:620px){
 .ibft-allocation-list{max-height:34vh}
 .ibft-allocation-card{grid-template-columns:minmax(0,1fr) minmax(90px,1fr);gap:8px;padding:10px}
 .ibft-allocation-name{grid-column:1/-1}
 .ibft-remaining{grid-column:1}
 .ibft-alloc-field{grid-column:2}
}

.ibft-pick{appearance:auto!important;width:18px!important;height:18px!important;min-width:18px!important;margin:2px 0 0!important;padding:0!important;flex:0 0 18px!important}
.ibft-allocation-name span{min-width:0;overflow-wrap:anywhere}

/* V1.9.0: no login/dashboard flash while session state is resolving */
#boot-screen{display:none;position:fixed;inset:0;z-index:3000;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:#f4f7fb;color:#355369;font-weight:700;font-size:13px}
.booting #boot-screen{display:flex}.booting #access,.booting #app{visibility:hidden}
.boot-dot{display:grid;place-items:center;background:#0e9f88;color:white;border-radius:17px;width:56px;height:56px;font-size:31px}
.brand-footer-note{display:block;text-align:center;color:#92a9bf;font-size:10px;overflow-wrap:anywhere}
.sidebar-header strong{overflow-wrap:anywhere;line-height:1.35}
.btn.primary{background:var(--brand-accent,#0e9f88)}
.nav-link.active{border-left:3px solid var(--brand-accent,#0e9f88)}
html[data-font-size="small"] body{font-size:12.5px}html[data-font-size="large"] body{font-size:16px}
html[data-font-size="large"] .sidebar .nav-link,html[data-font-size="large"] td{font-size:14px}
html[data-font-size="small"] .sidebar .nav-link,html[data-font-size="small"] td{font-size:11px}
html[data-density="compact"] .metric{padding:14px;min-height:100px}html[data-density="compact"] .panel-head{padding:13px 17px 10px}
html[data-density="compact"] th,html[data-density="compact"] td{padding:8px 10px}html[data-density="compact"] .content{padding-top:16px}
html[data-charts="hide"] .dashboard-charts{display:none}
#branding-form input[type="color"]{height:43px;padding:4px;cursor:pointer}
#branding-form .section-tools{grid-column:1/-1}
@media(max-width:520px){#branding-form{grid-template-columns:1fr}#branding-form .section-tools{display:grid;grid-template-columns:1fr 1fr}#branding-form .section-tools .btn{white-space:normal}}

/* V1.9 access management and profile photo, desktop + mobile. */
.account-avatar{width:42px;height:42px;min-width:42px;border-radius:50%;object-fit:cover;background:#e0f7f3;border:2px solid #e4efed;display:grid;place-items:center;font-weight:800;color:#087d75}
#user-avatar .account-avatar{width:35px;height:35px;min-width:35px}
.account-cell,.profile-header{display:flex;gap:12px;align-items:center;min-width:165px}
.account-cell div{display:grid;gap:3px}.account-cell small{color:#627589}
.profile-header{padding:8px 0 20px}.profile-header .account-avatar{width:72px;height:72px;min-width:72px;font-size:24px}
.profile-header h3{margin:0 0 6px}.profile-header p{margin:0 0 6px;color:#627589}
.account-photo-picker{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:34px;cursor:pointer;padding:6px 10px;flex-direction:row}
.account-photo-picker input[type=file]{position:absolute;width:1px;height:1px;opacity:0;padding:0;pointer-events:none}
.account-actions{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;min-width:200px}
.accounts-table td{vertical-align:middle}.accounts-table .link-btn{font-size:12px}
@media(max-width:720px){.accounts-table{min-width:780px}.profile-header{align-items:flex-start;flex-wrap:wrap}.account-actions{gap:12px}.account-avatar{width:34px;height:34px;min-width:34px}}

/* Active sessions: compact desktop layout, mobile-first stacking, no sideways scroll. */
.session-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 3px;border-bottom:1px solid #e3eaf0}
.session-item:last-child{border-bottom:0}.session-item>div{min-width:0;overflow-wrap:anywhere}.session-item small{display:block;color:#65768b;margin-top:4px}
.session-item .btn{flex-shrink:0;min-width:92px}
@media(max-width:520px){.session-item{align-items:flex-start;gap:8px}.session-item .btn{min-width:74px;padding:8px;font-size:12px}#logout-other-sessions{white-space:normal;max-width:165px}}
@media print{.session-item button,#logout-other-sessions{display:none!important}}

/* V2.2.4: coherent navy / cyan design on desktop and mobile. Existing registers remain light for legibility. */
:root{--navy:#071628;--navy2:#0b253b;--mint:#04bfcf;--aqua:#29dce3;--brand-accent:#04bfcf}
#boot-screen.sbr-splash{display:none;position:fixed;inset:0;z-index:3000;background:radial-gradient(ellipse at 72% 32%,#0b4864 0%,#061b30 48%,#020e1b 100%);color:#fff;overflow:auto;place-items:center;padding:16px;text-align:center;isolation:isolate}
.booting #boot-screen.sbr-splash:not([hidden]){display:grid}
.sbr-splash:before,.sbr-splash:after{content:"";position:absolute;z-index:-1;pointer-events:none;inset:auto -23% 9% -23%;height:28%;border-top:2px solid #0cd7e6aa;border-radius:50%;transform:rotate(-10deg);filter:drop-shadow(0 0 17px #00c9d955);animation:sbrWave 5s ease-in-out infinite alternate}
.sbr-splash:after{inset:auto -15% 4% -15%;opacity:.37;animation-delay:-2s}
.sbr-splash-orb{position:absolute;width:min(70vw,580px);height:min(70vw,580px);background:radial-gradient(circle,#00f0fc26,transparent 72%);top:-24%;right:-12%;animation:sbrPulse 4s ease-in-out infinite alternate;pointer-events:none}
.sbr-splash-inner{width:min(100%,600px);position:relative;display:flex;flex-direction:column;align-items:center;margin:auto;animation:sbrReveal .75s both}
.sbr-splash-photo{height:clamp(190px,37vh,385px);width:clamp(200px,30vw,350px);border-radius:45% 45% 25% 25%;position:relative;overflow:hidden;box-shadow:0 22px 88px #08d8ed24;border:1px solid #2ddef140;animation:sbrPhotoIn 1s both}
.sbr-splash-photo img{width:100%;height:100%;object-fit:cover;object-position:center 23%;filter:contrast(1.04)}
.sbr-splash-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#041a30 98%)}
.sbr-splash-icon{width:70px;height:70px;border:1px solid #25deeb;border-radius:19px;box-shadow:0 0 36px #06cee94f;margin:-35px auto 12px;z-index:2;background:#092b41;display:grid;place-items:center;animation:sbrPulse 2.5s infinite alternate}
.sbr-splash-icon img{width:64px;height:64px;object-fit:contain}
.sbr-splash h1{font-size:clamp(27px,5vw,43px);letter-spacing:-.05em;margin:7px 0 8px;line-height:1.1;text-shadow:0 4px 24px #010b15}
.sbr-splash h1 em{font-style:normal;color:#11d3e4}
.sbr-splash-welcome{font-size:clamp(12px,2vw,16px);color:#effbfe;margin:6px 0}
.sbr-splash-subtitle{font-size:12px;color:#a5bfd4;margin:9px 0 20px}
.sbr-splash-credit{font-size:11px;color:#bad0df;margin:12px 0}.sbr-splash-credit strong{color:#26dee6}
.sbr-boot-message{color:#a6c5d5;font-size:11px;min-height:14px;margin:5px 0 12px}
.sbr-skip-intro{background:#ffffff10;border:1px solid #46d0de66;border-radius:99px;padding:8px 17px;font-weight:650;color:#d9f8fd;cursor:pointer}
.sbr-skip-intro:hover,.sbr-skip-intro:focus-visible{background:#128ba84b;outline:2px solid #32d7e4;outline-offset:2px}
.sbr-access-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);width:min(1030px,100%);min-height:min(700px,calc(100dvh - 48px));border:1px solid #38d5ed30;border-radius:28px;box-shadow:0 36px 110px #02091199;overflow:hidden;isolation:isolate;background:#061c30}
.access-screen{background:radial-gradient(circle at 20% 20%,#124d6d 0%,#061b2f 50%,#020d19 100%);padding:24px;min-height:100dvh;align-items:center;justify-content:center}
.sbr-access-visual{background:radial-gradient(circle at 53% 31%,#0b5470,#071c30 68%);position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;min-height:590px}
.sbr-access-visual:after{content:"";position:absolute;left:-28%;right:-28%;bottom:11%;height:100px;border-top:2px solid #05dbeddd;border-radius:50%;transform:rotate(6deg);box-shadow:0 -7px 20px #07eaf32c;pointer-events:none}
.sbr-access-portrait{position:absolute;inset:0 0 25%;overflow:hidden}
.sbr-access-portrait:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent 26%,#071c30 100%)}
.sbr-access-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 19%;filter:saturate(.97);animation:sbrPhotoIn .9s both}
.sbr-access-visual-copy{position:relative;text-align:center;z-index:2;padding:28px 23px 36px;color:white;animation:sbrReveal .6s both}
.sbr-access-app-icon img{filter:drop-shadow(0 0 12px #24edfa44)}
.sbr-access-title{font-size:clamp(22px,3.1vw,36px);font-weight:850;letter-spacing:-.05em;margin:7px 0 5px}
.sbr-access-title span{color:#11d4e4}
.sbr-access-visual-copy p{font-size:12px;color:#c5dbea;line-height:1.6;margin:5px 0 28px}
.sbr-access-visual-copy small{display:block;color:#a9c3d3;font-size:11px}.sbr-access-visual-copy small b{color:#29d8e7}
.access-card{width:auto;height:100%;max-width:none;border-radius:0;background:linear-gradient(147deg,#081d32,#041424 85%);box-shadow:none;padding:clamp(24px,4vw,55px);display:flex;flex-direction:column;justify-content:center;color:#f1faff;min-width:0}
.access-card .access-brand{margin-bottom:23px}.sbr-login-logo{display:grid;place-items:center;border-radius:15px;width:58px;height:58px;box-shadow:0 0 27px #05d5e929}.access-brand b{color:white;font-size:17px}.access-brand small{color:#9cbacf;font-size:11px}
.access-card .sbr-access-eyebrow{letter-spacing:.16em;font-size:10px;color:#21cedc;font-weight:850;margin:0 0 12px}
.access-card h1{font-size:clamp(26px,3.5vw,37px);color:white;letter-spacing:-.05em;margin:0 0 8px}
.access-card p{color:#a8bfd1;font-size:12px}
.access-card form{margin-top:23px;gap:15px}
.access-card label{color:#cce7f2;font-size:12px}
.access-card input{color:#f6fdff;background:#0e2a41;border:1px solid #46677c;min-height:49px;border-radius:11px;caret-color:#0bdded}
.access-card input::placeholder{color:#9ab1c3}.access-card input:focus{border-color:#1be2f0;box-shadow:0 0 0 3px #1ad6e72f}
.sbr-password-input{position:relative;display:block}.sbr-password-input input{padding-right:72px}.sbr-toggle-password{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#62d8e6;padding:12px 11px;border-radius:8px;font-size:11px;font-weight:750}
.sbr-toggle-password:hover,.sbr-toggle-password:focus-visible{background:#1a627b66;outline:2px solid #36c9e1}
.access-card .sbr-signin{min-height:49px;font-size:13px;background:linear-gradient(105deg,#1784ee,#04c6d7);box-shadow:0 9px 24px #009ad530;color:white;margin-top:2px}
.access-card .sbr-signin:hover{filter:brightness(1.13)}
.sbr-account-note{display:flex;align-items:flex-start;gap:12px;padding:15px;margin-top:30px;border:1px solid #29506b;background:#0a253a;border-radius:12px}
.sbr-account-note>span{color:#26d9e8;font-size:22px}.sbr-account-note b{display:block;color:#d8f6ff;font-size:12px;margin-bottom:5px}.sbr-account-note small{font-size:11px;color:#95b2c8;line-height:1.65;display:block}
.access-card .access-footer{font-size:10px;margin:13px 0 0;color:#7d9aae}
.access-card .notice{background:#123d51;color:#d4f2ff;border-color:#236781}.access-card .error{color:#ff9ba3}
.sbr-splash-photo,.sbr-access-portrait{will-change:transform,opacity}
@keyframes sbrPhotoIn{from{opacity:0;transform:translateY(14px) scale(1.045)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes sbrReveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes sbrWave{from{transform:translateY(0) rotate(-10deg)}to{transform:translateY(-19px) rotate(-8deg)}}
@keyframes sbrPulse{from{opacity:.67;filter:brightness(.95)}to{opacity:1;filter:brightness(1.2)}}
/* Interior accent continuity, without reducing the contrast of financial rows. */
.topbar{background:linear-gradient(110deg,#091c30,#112f46);border-color:#173e56;box-shadow:0 3px 18px #081b2719}
.topbar h1{color:#f5fbff}.topbar .breadcrumb{color:#9ebdcd}.topbar .period-select{background:#17334c;border-color:#2d4b5f}.topbar select{color:#f6fdff}.topbar select option{color:#152a3c;background:white}
.topbar .btn.secondary{background:#113e55;color:#d8fbff;border-color:#2a7080}
.nav-link.active{background:#0c4757;color:#f2feff;border-left:3px solid #08d6e3;box-shadow:inset 3px 0 0 #06d4e3}
.sidebar{background:linear-gradient(160deg,var(--navy,#071628),#092539 72%,#082a40)}
.metric::before{background:var(--accent,#0abfd0)}
.btn.primary{background:var(--brand-accent,#04bfcf);color:#002333}
.btn.primary:hover{filter:brightness(.93)}
@media(max-width:850px){.sbr-access-layout{grid-template-columns:1fr;max-width:485px;min-height:auto}.sbr-access-visual{min-height:210px}.sbr-access-portrait{inset:-25px 0 -15px}.sbr-access-portrait img{object-position:center 27%;opacity:.78}.sbr-access-portrait:after{background:linear-gradient(90deg,#071d31cf 0%,#071d3140 60%,#061d2fbb 100%);inset:0}.sbr-access-visual-copy{text-align:left;padding:18px 22px;max-width:390px}.sbr-access-app-icon img{width:35px;height:35px}.sbr-access-title{font-size:25px}.sbr-access-visual-copy p{margin:4px 0 10px;font-size:11px}.sbr-access-visual-copy small{font-size:10px}.access-card{padding:27px 23px 23px}.sbr-account-note{margin-top:19px}.sbr-access-visual:after{bottom:0}}
@media(max-width:480px){.access-screen{padding:10px;align-items:start}.sbr-access-layout{border-radius:19px}.sbr-access-visual{min-height:160px}.sbr-access-visual-copy{padding:14px 20px}.sbr-access-title{font-size:22px}.access-card{padding:22px 20px 20px}.access-card .access-brand{margin-bottom:13px}.sbr-login-logo,.sbr-login-logo img{height:45px;width:45px}.access-card h1{font-size:25px}.access-card form{margin-top:16px}.sbr-account-note{padding:11px}.sbr-splash-photo{height:clamp(190px,37vh,300px);width:clamp(185px,58vw,290px)}.sbr-splash h1{font-size:29px}}
@media(max-height:630px){.sbr-splash-photo{height:clamp(120px,26vh,210px)}.sbr-splash-subtitle{margin-bottom:5px}.sbr-splash-credit{margin:6px 0}.sbr-splash-icon{width:50px;height:50px;margin-top:-23px}.sbr-splash-icon img{width:46px;height:46px}}
@media(prefers-reduced-motion:reduce){.sbr-splash *, .sbr-splash:before,.sbr-splash:after,.sbr-access-layout *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.sbr-sidebar-app-icon{background:#0a3850;border:1px solid #1ea6c3;box-shadow:0 0 13px #04c8dc3f;overflow:hidden}.sbr-sidebar-app-icon img{width:100%;height:100%;object-fit:contain}

/* V2.2.6 sync controls: always-readable status, light mobile footprint. */
.sync-control{display:flex;align-items:center;gap:8px;border:1px solid #d4e3ee;background:#eff8fa;border-radius:13px;padding:5px 9px;max-width:350px}
#sync-state{font-size:11px;font-weight:750;color:#1c5268;white-space:normal}#sync-button{font-size:11px;padding:6px 9px;white-space:nowrap}
@media(max-width:840px){.sync-control{order:5;width:100%;max-width:none;justify-content:space-between}.top-actions{flex-wrap:wrap}.sync-control #sync-state{font-size:11px}}

.offline-backup-import{padding:10px 0;flex-wrap:wrap;color:#a9cbd7}.offline-backup-import input{max-width:210px;font-size:11px;min-width:0}

/* R2: compact backup recovery; no clipped native file control on mobile */
.offline-restore{border:1px solid #244d66;border-radius:12px;padding:11px 13px;margin-top:14px;background:#092b40;color:#d4e8f3;max-width:100%;min-width:0}
.offline-restore summary{cursor:pointer;font-weight:750;font-size:12px;line-height:1.45}
.offline-restore .offline-backup-import{display:grid;gap:8px;font-size:12px;margin:9px 0 5px;padding:0}
.offline-restore input[type=file]{display:block;width:100%;min-width:0;max-width:100%;padding:8px;border:1px solid #476b7c;border-radius:8px;background:#fff;color:#17334a;font-size:12px;box-sizing:border-box}
.offline-restore small{display:block;font-size:11px;color:#b5d2de;line-height:1.45}
.metric.clickable{cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}
.metric.clickable:hover,.metric.clickable:focus-visible{transform:translateY(-2px);box-shadow:0 12px 26px #0c2d4430}
.metric.clickable:focus-visible{outline:3px solid #03a7c8;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.metric.clickable{transition:none!important}.metric.clickable:hover{transform:none}}

/* R3 final polish: reduced vertical footprint + clean premium 3D-lite visual hierarchy. */
@media (min-width:1050px){
 .topbar{height:88px}.content{padding-top:20px}.page-lead{margin-bottom:17px}
 .filter-row{gap:8px;padding:13px 16px}
 .filter-row input{width:min(215px,100%)}.filter-row select{width:132px}
 .filter-row .btn{padding:8px 10px;font-size:11px}
 .smallcards .metric{min-height:113px;padding:15px 16px}
 .smallcards .metric strong{margin-top:11px}
}
.metric,.panel{box-shadow:0 6px 18px rgba(14,41,66,.065),0 1px 2px rgba(18,57,83,.035)}
.metric{background:linear-gradient(155deg,#fff,#fcfeff)}
.metric.clickable{transition:transform .15s ease,box-shadow .15s ease}
.metric.clickable:focus-visible{outline:3px solid #15b7b0;outline-offset:3px}
@media(max-width:680px){
 .content{padding:14px 12px 32px}
 .page-lead{margin-bottom:12px}
 .smallcards{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px}
 .smallcards .metric{padding:11px 9px;min-height:94px;border-radius:12px}
 .smallcards .metric .label{font-size:10px;line-height:1.25;overflow-wrap:anywhere}
 .smallcards .metric .badge{display:none}
 .smallcards .metric strong{font-size:15px;line-height:1.2;margin:8px 0 3px;overflow-wrap:anywhere}
 .smallcards .metric small{font-size:9px;line-height:1.24;display:block}
 .panel>.panel-head{padding:14px 14px 10px}
 .filter-row{padding:10px 12px;gap:8px}
 .filter-row input{min-height:39px}
 .filter-row select{flex:1;min-width:0;width:auto;min-height:39px}
 .filter-row>div:nth-child(2){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .filter-row>div:nth-child(2)>.btn{padding:7px 5px;min-height:37px;font-size:10px;white-space:normal;line-height:1.2}
 .metric.clickable:active{transform:none}
}
@media(prefers-reduced-motion:reduce){.metric.clickable{transition:none!important}}

/* R3 mobile dashboard: eight KPIs remain readable without hiding the register below a long fold. */
@media(max-width:680px){
 .metrics{gap:8px}
 .metrics .metric{min-height:102px;padding:12px 11px;border-radius:12px}
 .metrics .metric .badge{display:none}
 .metrics .metric .label{font-size:10px;line-height:1.24}
 .metrics .metric strong{font-size:18px;margin:10px 0 4px}
 .metrics .metric small{font-size:9.5px;line-height:1.28;display:block}
}

/* R4U9 white-label: do not show the original owner's portrait on other companies' sign-in screens. */
.white-label .sbr-access-portrait{display:none!important}
.custom-label-group{border:1px solid var(--line,#d8e1e7);border-radius:10px;margin:10px 0;padding:12px}
.custom-label-group>summary{cursor:pointer;font-weight:700;padding:8px 4px}
.custom-label-group>.simple-grid{padding:8px 0}
.custom-label-group label[hidden]{display:none!important}

/* R4U9: neutral splash and company-first welcome; never display another company portrait. */
.sbr-splash-inner{min-height:0}.sbr-splash-icon{margin:5px auto 14px}.sbr-splash-credit{display:none!important}

/* R4U12: avoid animation-based redraws and respect reduced motion. */
#page-content .table-wrap{overflow:auto;scrollbar-gutter:stable;}
#page-content input:focus-visible,#page-content button:focus-visible{outline:2px solid var(--mint);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* R4U13: optional analytics & contextual help, no overlay or full-screen interruption */
.analytics-chart-panel{margin-top:16px}.analytics-chart{overflow:auto;max-width:100%}.analytics-chart svg{display:block;width:100%;height:auto;min-width:350px;max-height:360px}
.analytics-info{margin-top:10px;color:#385365;border:1px solid #e2eaf0;border-radius:9px;padding:9px 12px;background:#f7fafb;max-width:100%}.analytics-info summary{font-size:12px;cursor:pointer;font-weight:700}.analytics-info p{font-size:12px;line-height:1.55;margin:7px 0 0}.analytics-depth-toggle{font-size:12px;display:flex;gap:7px;align-items:center}
#bill-assistance-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}#bill-assistance-actions details{flex-basis:100%}#bill-local-reminder input{min-width:220px}
@media(max-width:680px){.analytics-chart svg{min-width:315px}.analytics-chart-panel .panel-head{align-items:flex-start;gap:10px}#bill-assistance-actions button{max-width:100%;white-space:normal}}
@media print{.analytics-info,.analytics-depth-toggle{display:none!important}}

/* R4U13.13: compact, responsive global financial export control */
#global-export{background:#15506b;color:#f3feff;border-color:#2c6e86}#global-export:hover{background:#1a6886}#export-dialog .simple-grid{grid-template-columns:1fr 1fr;gap:13px}#export-dialog .simple-grid label:first-child{grid-column:1/-1}#export-dialog .notice{line-height:1.55;margin-top:16px}#export-dialog .modal-scroll{max-height:65vh;overflow:auto}@media(max-width:820px){#global-export{min-width:40px;padding:9px 10px}#export-dialog .simple-grid{grid-template-columns:1fr}#export-dialog .simple-grid label:first-child{grid-column:auto}}

@media(min-width:821px) and (max-width:1240px){.topbar{height:auto;min-height:98px;padding-top:10px;padding-bottom:10px}.top-actions{flex-wrap:wrap;justify-content:flex-end}}

/* Visible private-account access help (v1.12). */
.sbr-access-actions{display:flex;flex-wrap:wrap;gap:9px;margin:8px 0 14px}
.sbr-access-actions .btn{flex:1 1 165px;font-size:12px;min-height:42px;white-space:normal}
.sbr-access-help-detail{padding:12px;border:1px solid #327994;border-radius:10px;background:#073047;color:#d7f7ff;font-size:12px;line-height:1.5}

/* v1.13: compact sign-in and accessible, on-demand information dialog. */
.sbr-access-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sbr-access-heading h1{margin:0}
.sbr-info-icon{display:grid;place-items:center;flex:0 0 auto;width:35px;height:35px;border:1px solid #34627e;border-radius:50%;background:#0e314b;color:#c4edf5;cursor:pointer;font-size:19px}
.sbr-info-icon:hover,.sbr-info-icon:focus-visible{outline:2px solid #10cad6;outline-offset:2px}
.sbr-access-actions{gap:10px;margin:12px 0 0}
.sbr-access-actions .btn{font-size:12px;min-height:45px}
.sbr-info-dialog{width:min(480px,calc(100vw - 24px));max-height:min(85vh,700px);padding:20px 20px 18px;border:1px solid #2e6882;border-radius:15px;color:#e8f6ff;background:#061e32;box-shadow:0 22px 80px #0009;overflow-y:auto}
.sbr-info-dialog::backdrop{background:rgba(0,9,18,.78)}
.sbr-info-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:13px}
.sbr-info-dialog-head h2{font-size:21px;margin:0;color:#fff}
.sbr-info-close{background:transparent;color:#d4efff;border:1px solid #38677c;border-radius:9px;padding:7px 11px;cursor:pointer}
.sbr-info-dialog-content p{font-size:13px;line-height:1.55;margin:0 0 12px;color:#cee8f7}
.sbr-info-dialog-actions{display:flex;justify-content:flex-end;margin-top:15px}
.sbr-info-dialog-actions .btn{min-height:41px;padding:9px 18px}
@media(max-width:480px){.sbr-info-dialog{padding:16px}.sbr-access-heading h1{font-size:25px}}

/* v1.16: faster, clearer bills view. No hidden columns or deleted records. */
@media screen{
 .monthly-register th,.monthly-register td{padding:9px 11px;line-height:1.42}
 .monthly-register th{position:relative;background:#f3f8fb;color:#456278;font-weight:800}
 .monthly-register tbody tr:nth-child(even){background:#fafcfe}
 .monthly-register tbody tr:focus-within{outline:2px solid #72bdc4;outline-offset:-2px}
 .table-panel>.panel-head{align-items:center;flex-wrap:wrap}
 .filter-row{gap:9px;padding:12px 16px}
 .filter-row input,.filter-row select{min-height:40px}
 .section-tools{padding:11px 16px;gap:9px}
 .sbr-preview-note{margin:0;padding:10px 17px;color:#42677a;background:#f2f9fc;border-top:1px solid #e1edf3;font-size:12px;line-height:1.55}
}
@media screen and (max-width:680px){
 .page-lead{align-items:flex-start;flex-wrap:wrap}
 .monthly-register td,.monthly-register th{line-height:1.45}
 .table-panel>.panel-head{gap:10px}
 .filter-row{padding:11px}
 .filter-row>div{min-width:0}
 .filter-row input{min-width:0}
}

/* R4U13.19: compact contextual scanner and related action menus. */
.sbr-lead-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.sbr-small-scan{min-width:70px!important;font-size:11px!important;padding:8px 11px!important;min-height:36px!important}
.sbr-action-menu{position:relative;display:inline-flex;flex:0 0 auto;vertical-align:middle}
.sbr-action-menu>summary{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;list-style:none;user-select:none;white-space:nowrap;min-height:36px;font-weight:650;font-size:11px}
.sbr-action-menu>summary::-webkit-details-marker{display:none}
.sbr-action-menu[open]>summary{box-shadow:0 0 0 2px #a5d9dc}
.sbr-action-panel{position:absolute;right:0;top:calc(100% + 5px);z-index:13;min-width:183px;max-width:min(300px,85vw);padding:6px;background:#fff;border:1px solid #d5e4e9;border-radius:11px;box-shadow:0 14px 30px #0b2c4130;display:flex;flex-direction:column;gap:3px}
.sbr-menu-action{font:inherit;font-size:12px;color:#1b4658;border:0;border-radius:7px;text-align:left;white-space:nowrap;cursor:pointer;padding:9px 11px;background:transparent;width:100%}
.sbr-menu-action:hover,.sbr-menu-action:focus-visible{background:#e9f8f6;outline:0}
.filter-row .sbr-action-menu{margin-left:0}
.filter-row .sbr-action-panel{z-index:22}
.sbr-quick-scanner .modal-scroll{display:grid;gap:13px}
.sbr-quick-scanner label:not(.choice-line){display:block;font-size:12px;font-weight:650}
.sbr-quick-scanner input[type=file]{display:block;width:100%;margin-top:7px;max-width:100%;font-size:12px}
.sbr-quick-scanner textarea{width:100%;box-sizing:border-box;margin:8px 0;min-height:90px}
.sbr-scanner-focus{color:#227d7b;background:#eaf8f7;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:700}
.sbr-quick-advanced{border:1px solid #e3ebee;padding:10px;border-radius:9px}.sbr-quick-advanced>summary{cursor:pointer;font-size:12px;font-weight:700}
.sbr-quick-result{border:1px solid #d6e8ec;background:#f7fcfd;padding:12px;border-radius:10px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.sbr-quick-result[hidden]{display:none!important}
.sbr-quick-result .section-tools{margin:9px 0 0}
@media(max-width:780px){.sbr-action-menu>summary{min-height:39px}.sbr-action-panel{min-width:175px}.filter-row>div:nth-child(2){display:flex!important;flex-wrap:wrap;justify-content:flex-end}.filter-row>div:nth-child(2)>.btn{flex:0 0 auto!important}.sbr-lead-actions{gap:6px}}
@media print{.sbr-action-menu,.sbr-small-scan{display:none!important}}

.sbr-small-scan[hidden],#section-quick-scan[hidden]{display:none!important}

/* R4U13.19 — Sign-in error must not resize or recenter the entire login panel.
   Reserve identical alert space before and after a failed sign-in, keep long
   infrastructure errors readable via independent scrolling, no hiding. */
.access-card #access-form #access-error{
  box-sizing:border-box;block-size:54px;min-block-size:54px;max-block-size:54px;
  overflow-y:auto;overscroll-behavior:contain;overflow-wrap:anywhere;
  margin:0;padding:0 3px 0 0;line-height:1.45;font-size:11px;
  scrollbar-width:thin;
}
@media(min-width:851px){.access-card .sbr-access-heading h1{font-size:clamp(25px,2.6vw,33px);white-space:nowrap}}
@media(max-width:480px){.access-card #access-form #access-error{block-size:60px;min-block-size:60px;max-block-size:60px}}

/* Root cause: outer grid auto-track used intrinsic width of the alert message.
   A fixed-width flex container makes the login card independent of error text. */
.access-screen{display:flex;flex-direction:column;align-items:center;justify-content:center}
.sbr-access-layout{flex:0 1 auto;max-width:100%}
@media(max-width:480px){.access-screen{align-items:center;justify-content:flex-start}}
