/* LPMS — implementation of the "Keen" design tokens from LPMS System Design/PaymentSchedule.dc.html */
:root{
--bs-primary:#1b84ff;--bs-primary-active:#056ee9;--bs-success:#17c653;--bs-info:#7239ea;--bs-warning:#f6c000;--bs-danger:#f8285a;--bs-secondary:#f1f1f4;--bs-dark:#1e2129;
--bs-gray-100:#f9f9f9;--bs-gray-200:#f1f1f4;--bs-gray-300:#dbdfe9;--bs-gray-400:#c4cada;--bs-gray-500:#99a1b7;--bs-gray-600:#78829d;--bs-gray-700:#4b5675;--bs-gray-800:#252f4a;--bs-gray-900:#071437;
--bs-body-bg:#ffffff;--bs-link-color:#1b84ff;--bs-link-hover-color:#056ee9;
--surface-page:#f9f9f9;--surface-card:#ffffff;--surface-input:#f9f9f9;--surface-sidebar:#ffffff;--surface-hover:#f9f9f9;
--text-body:#071437;--text-heading:#071437;--text-muted:#78829d;--text-subtle:#99a1b7;--text-on-primary:#ffffff;
--border-default:#f1f1f4;--border-strong:#dbdfe9;
--tint-primary:#f1faff;--tint-success:#eafff1;--tint-info:#f8f5ff;--tint-warning:#fff8dd;--tint-danger:#fff5f8;--tint-secondary:#f9f9f9;
--font-body:Inter,Helvetica,sans-serif;--font-mono:SFMono-Regular,Menlo,Monaco,Consolas,monospace;
--fs-base:1rem;--fs-1:1.6rem;--fs-2:1.45rem;--fs-3:1.35rem;--fs-4:1.25rem;--fs-5:1.15rem;--fs-6:1.075rem;--fs-7:.95rem;--fs-8:.85rem;--fs-9:.75rem;--fs-10:.65rem;
--fw-normal:400;--fw-semibold:500;--fw-bold:600;--fw-bolder:700;
--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-7:1.75rem;--sp-8:2rem;--sp-10:2.5rem;
--app-sidebar-width:225px;--app-header-height:70px;
--radius-sm:.425rem;--radius:.475rem;--radius-lg:.625rem;--radius-xl:1rem;
--shadow-card:0 .1rem 1rem .25rem rgba(0,0,0,.05);--shadow-dropdown:0 .5rem 1.5rem .5rem rgba(0,0,0,.075);
--transition-base:.15s ease-in-out;
}
*{box-sizing:border-box}
html{font-size:14px}
body{margin:0;font-family:var(--font-body);font-size:var(--fs-base);line-height:1.5;color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
a{color:var(--bs-link-color);text-decoration:none}
a:hover{color:var(--bs-link-hover-color)}
h1,h2,h3,h4{margin:0;color:var(--text-heading)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- App shell */
.app{display:flex;min-height:100vh}
.sidebar{width:var(--app-sidebar-width);flex-shrink:0;background:var(--surface-sidebar);border-right:1px solid var(--border-default);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{height:var(--app-header-height);flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 20px;border-bottom:1px solid var(--border-default)}
.brand-link{display:block;border-radius:var(--radius-sm)}
.brand-link:focus-visible{outline:2px solid var(--bs-primary);outline-offset:4px}
.brand-logo{display:block;height:40px;width:auto;max-width:100%}
.nav{padding:8px 0 16px;flex-grow:1;overflow-y:auto}
.nav-heading{padding:18px 22px 7px;font-size:var(--fs-9);font-weight:var(--fw-bolder);letter-spacing:.05em;text-transform:uppercase;color:var(--text-subtle)}
.nav-link{display:flex;align-items:center;gap:10px;margin:0 12px 2px;padding:9px 12px;border-radius:var(--radius);font-size:var(--fs-7);font-weight:var(--fw-semibold);color:var(--text-muted);transition:all var(--transition-base)}
.nav-link:hover{color:var(--bs-primary)}
.nav-link.active{color:var(--bs-primary);background:var(--surface-hover)}
.nav-link span.grow{flex-grow:1}
.sidebar-foot{padding:14px 20px;border-top:1px solid var(--border-default);font-size:11px;color:var(--text-subtle)}
.main{flex-grow:1;min-width:0;display:flex;flex-direction:column}
.header{height:var(--app-header-height);flex-shrink:0;background:var(--bs-body-bg);border-bottom:1px solid var(--border-default);display:flex;align-items:center;gap:14px;padding:0 24px;position:sticky;top:0;z-index:20}
.header .search{width:330px}
.header .spacer{flex-grow:1}
.vsep{width:1px;height:26px;background:var(--border-default)}
.user-menu{position:relative}
.user-menu summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer}
.user-menu summary::-webkit-details-marker{display:none}
.user-meta{display:flex;flex-direction:column;line-height:1.25}
.user-meta b{font-size:var(--fs-8);color:var(--text-heading)}
.user-meta span{font-size:var(--fs-9);color:var(--text-subtle)}
.dropdown{position:absolute;right:0;top:calc(100% + .5rem);width:240px;z-index:50;background:var(--surface-card);border-radius:var(--radius-lg);border:1px solid var(--border-default);box-shadow:var(--shadow-dropdown);padding:var(--sp-3) 0}
.dropdown-item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.6rem var(--sp-5);font:inherit;font-size:var(--fs-7);font-weight:var(--fw-semibold);color:var(--text-muted);background:none;border:0;cursor:pointer;text-align:left}
.dropdown-item:hover{color:var(--bs-primary);background:var(--surface-hover)}
.content{flex-grow:1;padding:0 24px 28px;display:flex;flex-direction:column;gap:24px}

/* ---------- Toolbar */
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.toolbar-title{flex-grow:1;min-width:0;padding:var(--sp-6) 0}
.toolbar-title h1{font-size:var(--fs-3);font-weight:var(--fw-bold)}
.crumbs{display:flex;align-items:center;gap:.6rem;list-style:none;margin:.4rem 0 0;padding:0;font-size:var(--fs-7);font-weight:var(--fw-semibold);color:var(--text-muted)}
.crumbs li:last-child{color:var(--text-heading)}
.crumbs .dot{width:5px;height:2px;border-radius:2px;background:var(--bs-gray-500)}
.crumbs a{color:var(--text-muted)}
.crumbs a:hover{color:var(--bs-primary)}

/* ---------- Card */
.card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 var(--sp-8);min-height:70px;border-bottom:1px solid var(--border-default)}
.card-header h3{font-size:var(--fs-4);font-weight:var(--fw-bold)}
.card-sub{margin-top:.25rem;font-size:var(--fs-8);color:var(--text-muted)}
.card-tools{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.card-body{padding:var(--sp-8)}
.card-body.flush{padding:0}
.card-foot{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:18px 32px;border-top:1px solid var(--border-default);background:var(--surface-input);border-radius:0 0 var(--radius-lg) var(--radius-lg)}
.card-foot .lbl{font-size:var(--fs-8);color:var(--text-muted)}
.card-foot .val{font-size:var(--fs-6);font-weight:var(--fw-bold);color:var(--text-heading)}
.card-foot .sep{width:1px;height:22px;background:var(--border-strong)}

/* ---------- Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:var(--radius);font-family:var(--font-body);font-weight:var(--fw-bold);cursor:pointer;line-height:1;white-space:nowrap;padding:.75rem 1.25rem;font-size:var(--fs-7);transition:filter var(--transition-base),background var(--transition-base);text-decoration:none}
.btn:hover{filter:brightness(.94)}
.btn:disabled,.btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}
.btn-sm{padding:.55rem 1rem;font-size:var(--fs-8)}
.btn-lg{padding:.9rem 1.75rem;font-size:var(--fs-6)}
.btn-primary{background:var(--bs-primary);color:#fff}
.btn-primary:hover{color:#fff}
.btn-success{background:var(--bs-success);color:#fff}
.btn-danger{background:var(--bs-danger);color:#fff}
.btn-secondary{background:var(--bs-secondary);color:var(--text-heading)}
.btn-secondary:hover{color:var(--text-heading)}
.btn-light{background:var(--bs-gray-100);color:var(--text-muted)}
.btn-ghost{background:transparent;color:var(--text-muted)}
.btn-light-primary{background:var(--tint-primary);color:var(--bs-primary)}
.btn-light-danger{background:var(--tint-danger);color:var(--bs-danger)}
.btn-light-success{background:var(--tint-success);color:var(--bs-success)}
.btn-block{width:100%}
.icon-btn{width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius);cursor:pointer;color:var(--text-muted);background:transparent;transition:all var(--transition-base);position:relative}
.icon-btn:hover{color:var(--bs-primary);background:var(--tint-primary)}
.icon-btn.sm{width:30px;height:30px}
.icon-btn.tinted{background:var(--tint-primary);color:var(--bs-primary)}
.icon-btn.danger:hover{color:var(--bs-danger);background:var(--tint-danger)}
.icon-btn .dot{position:absolute;top:6px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--bs-danger)}
.icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}

/* ---------- Badge & symbol */
.badge{display:inline-flex;align-items:center;padding:.4rem .7rem;border-radius:var(--radius-sm);font-size:var(--fs-8);font-weight:var(--fw-bold);line-height:1;white-space:nowrap}
.badge-sm{padding:.25rem .5rem;font-size:var(--fs-9)}
.badge-primary{background:var(--tint-primary);color:var(--bs-primary)}
.badge-success{background:var(--tint-success);color:var(--bs-success)}
.badge-info{background:var(--tint-info);color:var(--bs-info)}
.badge-warning{background:var(--tint-warning);color:#b38a00}
.badge-danger{background:var(--tint-danger);color:var(--bs-danger)}
.badge-secondary{background:var(--bs-gray-200);color:var(--text-muted)}
.badge-solid-primary{background:var(--bs-primary);color:#fff}
.symbol{flex:0 0 auto;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);overflow:hidden}
.symbol-primary{background:var(--tint-primary);color:var(--bs-primary)}
.symbol-info{background:var(--tint-info);color:var(--bs-info)}
.symbol-success{background:var(--tint-success);color:var(--bs-success)}
.symbol-danger{background:var(--tint-danger);color:var(--bs-danger)}
.symbol-warning{background:var(--tint-warning);color:#b38a00}

/* ---------- Forms */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-grid.cols-1{grid-template-columns:minmax(0,1fr)}
.form-grid .span-2{grid-column:span 2}
.form-grid .span-all{grid-column:1/-1}
.field{margin-bottom:var(--sp-6)}
.field label.lbl{display:block;margin-bottom:var(--sp-2);font-size:var(--fs-7);font-weight:var(--fw-semibold);color:var(--text-heading)}
.field .req{color:var(--bs-danger);margin-left:.2rem}
.field .hint{margin-top:var(--sp-2);font-size:var(--fs-8);color:var(--text-muted)}
.field .err{margin-top:var(--sp-2);font-size:var(--fs-8);color:var(--bs-danger)}
.input,.select,.textarea{width:100%;padding:.775rem 1rem;font-family:var(--font-body);font-size:var(--fs-7);color:var(--text-body);background:var(--surface-input);border:1px solid transparent;border-radius:var(--radius);outline:none;transition:border-color var(--transition-base),background var(--transition-base)}
.input:focus,.select:focus,.textarea:focus{border-color:var(--border-strong);background:#fff}
.input.invalid,.select.invalid,.textarea.invalid{border-color:var(--bs-danger)}
.input[readonly]{color:var(--text-muted)}
.select{appearance:none;padding-right:2.5rem;cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2378829d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px}
.textarea{resize:vertical;min-height:90px}
.input-icon{position:relative;display:flex;align-items:center}
.input-icon .icon{position:absolute;left:1rem;color:var(--text-subtle);pointer-events:none}
.input-icon .input{padding-left:2.75rem}
.input-affix{position:relative;display:flex;align-items:center}
.input-affix .pre,.input-affix .post{position:absolute;font-size:var(--fs-7);color:var(--text-muted);font-weight:var(--fw-semibold);pointer-events:none}
.input-affix .pre{left:1rem}
.input-affix .post{right:1rem}
.input-affix .input.has-pre{padding-left:3rem}
.input-affix .input.has-post{padding-right:2.75rem}
.check{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;font-size:var(--fs-7)}
.check input{width:1.3rem;height:1.3rem;accent-color:var(--bs-primary);margin:0}
.switch{position:relative;display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;font-size:var(--fs-7);font-weight:var(--fw-semibold)}
.switch input{appearance:none;width:2.6rem;height:1.5rem;border-radius:2rem;background:var(--bs-gray-300);position:relative;cursor:pointer;margin:0;transition:background var(--transition-base)}
.switch input::after{content:"";position:absolute;top:3px;left:3px;width:1.1rem;height:1.1rem;border-radius:50%;background:#fff;transition:transform var(--transition-base);box-shadow:0 1px 2px rgba(0,0,0,.2)}
.switch input:checked{background:var(--bs-primary)}
.switch input:checked::after{transform:translateX(1.1rem)}
.section-title{display:flex;align-items:center;gap:.6rem;font-size:var(--fs-6);font-weight:var(--fw-bold);color:var(--text-heading);margin:0 0 var(--sp-5)}
.section-title .num{width:24px;height:24px;border-radius:50%;background:var(--tint-primary);color:var(--bs-primary);font-size:var(--fs-9);display:inline-flex;align-items:center;justify-content:center}
.divider{height:0;border-top:1px dashed var(--border-strong);margin:var(--sp-4) 0 var(--sp-8)}
.form-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:var(--sp-5) var(--sp-8);border-top:1px solid var(--border-default)}
.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.filters .input,.filters .select{width:auto;min-width:170px;padding-top:.6rem;padding-bottom:.6rem}

/* ---------- Table */
.table-wrap{overflow-x:auto}
.table{width:100%;border-collapse:collapse;font-size:var(--fs-7)}
.table th{text-align:left;padding:.9rem var(--sp-4);white-space:nowrap;font-size:var(--fs-8);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);border-bottom:1px dashed var(--border-strong)}
.table td{padding:.9rem var(--sp-4);color:var(--text-muted);vertical-align:middle;border-bottom:1px dashed var(--border-default)}
.table th:first-child,.table td:first-child{padding-left:var(--sp-8)}
.table th:last-child,.table td:last-child{padding-right:var(--sp-8)}
.table .r{text-align:right}
.table .c{text-align:center}
.table .strong{color:var(--text-heading);font-weight:var(--fw-bold)}
.table tbody tr:hover td{background:var(--surface-hover)}
.table tr.muted td{opacity:.6}
.table tfoot td{font-weight:var(--fw-bold);color:var(--text-heading);border-bottom:0}
.table .empty{padding:var(--sp-10);text-align:center;color:var(--text-muted)}
.cell-person{display:flex;align-items:center;gap:12px}
.cell-person .who{display:flex;flex-direction:column;line-height:1.35}
.cell-person .who a,.cell-person .who b{color:var(--text-heading);font-weight:var(--fw-bold)}
.cell-person .who a:hover{color:var(--bs-primary)}
.cell-person .who span{font-size:var(--fs-8);color:var(--text-subtle)}
.actions{display:flex;justify-content:flex-end;gap:6px}
.pager{display:flex;align-items:center;gap:1rem;padding:16px 32px;border-top:1px solid var(--border-default);font-size:var(--fs-8);color:var(--text-muted)}
.pager .grow{flex-grow:1}
.pager .pages{display:flex;gap:4px}
.pager .pages a,.pager .pages span{min-width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);padding:0 8px;color:var(--text-muted);font-weight:var(--fw-semibold)}
.pager .pages a:hover{background:var(--tint-primary);color:var(--bs-primary)}
.pager .pages .cur{background:var(--bs-primary);color:#fff}

/* ---------- Tiles / stats */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tile{padding:16px 20px;background:var(--surface-input);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:4px}
.calc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:start}
.calc-table{max-height:560px;overflow-y:auto;border-top:1px solid var(--border-default)}
.calc-table thead th{position:sticky;top:0;background:var(--surface-card);z-index:1}
.tile .k{font-size:var(--fs-9);font-weight:var(--fw-bolder);letter-spacing:.05em;text-transform:uppercase;color:var(--text-subtle)}
.tile .v{font-size:var(--fs-4);font-weight:var(--fw-bold);color:var(--text-heading);line-height:1.25}
.tile .v.primary{color:var(--bs-primary)}
.tile .v.danger{color:var(--bs-danger)}
.tile .v.success{color:var(--bs-success)}
.tile .s{font-size:var(--fs-9);color:var(--text-subtle)}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.kpi{display:flex;gap:16px;align-items:center;padding:var(--sp-6) var(--sp-8)}
.kpi .v{font-size:var(--fs-2);font-weight:var(--fw-bolder);color:var(--text-heading);line-height:1.2}
.kpi .k{font-size:var(--fs-8);color:var(--text-muted);font-weight:var(--fw-semibold)}
.kpi .s{font-size:var(--fs-9);color:var(--text-subtle)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.grid-main-side{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;align-items:start}
.stack{display:flex;flex-direction:column;gap:24px}
.dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px 16px;margin:0;font-size:var(--fs-7)}
.dl dt{color:var(--text-muted)}
.dl dd{margin:0;color:var(--text-heading);font-weight:var(--fw-semibold);word-break:break-word}
.profile-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.profile-head .who{display:flex;flex-direction:column;line-height:1.3}
.profile-head .who b{font-size:var(--fs-5);color:var(--text-heading)}
.profile-head .who span{font-size:var(--fs-8);color:var(--text-muted)}
.profile-head .grow{flex-grow:1}
.profile-head .badges{display:flex;gap:8px}
.muted{color:var(--text-muted)}
.subtle{color:var(--text-subtle)}
.small{font-size:var(--fs-8)}
.nowrap{white-space:nowrap}
.mono{font-family:var(--font-mono)}
.text-danger{color:var(--bs-danger)}
.text-success{color:var(--bs-success)}
.text-primary{color:var(--bs-primary)}
.mt-0{margin-top:0}

/* ---------- Alerts */
.alert{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-radius:var(--radius-lg);font-size:var(--fs-7);font-weight:var(--fw-semibold)}
.alert-success{background:var(--tint-success);color:#0f8a3a}
.alert-danger{background:var(--tint-danger);color:var(--bs-danger)}
.alert-info{background:var(--tint-primary);color:var(--bs-primary-active)}
.alert-warning{background:var(--tint-warning);color:#8a6a00}
.alert ul{margin:.3rem 0 0;padding-left:1.1rem;font-weight:var(--fw-normal)}

/* ---------- Progress */
.progress{height:6px;border-radius:6px;background:var(--bs-gray-200);overflow:hidden}
.progress>span{display:block;height:100%;background:var(--bs-primary);border-radius:6px}

/* ---------- Calculator (BRS mockup) */

/* ---------- Auth */
.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.auth-side{background:var(--bs-primary);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between}
.auth-side h1{color:#fff;font-size:2.2rem;line-height:1.2;margin:18px 0 12px}
.auth-side p{color:rgba(255,255,255,.8);max-width:440px}
.auth-form{display:flex;align-items:center;justify-content:center;padding:40px;background:var(--surface-card)}
.auth-form .input:not(.invalid){border-color:var(--border-strong)}
.auth-card{width:100%;max-width:420px}
.auth-logo{display:inline-block}
.auth-logo img{display:block;height:58px;width:auto}
.auth-card-logo{display:none;margin-bottom:24px}
.auth-card-logo img{display:block;height:53px;width:auto}
.auth-card h2{font-size:var(--fs-1);margin-bottom:6px}

/* ---------- Timeline */
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:flex;gap:12px;padding:12px 0;border-bottom:1px dashed var(--border-default)}
.timeline li:last-child{border-bottom:0}
.timeline .when{font-size:var(--fs-9);color:var(--text-subtle)}
.timeline .what{font-size:var(--fs-7);color:var(--text-heading);font-weight:var(--fw-semibold)}

@media (max-width:1200px){.tiles,.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main-side{grid-template-columns:1fr}}
@media (max-width:900px){
.sidebar{display:none}.header .search{width:auto;flex:1}.user-meta{display:none}
.form-grid,.form-grid.cols-3,.grid-2,.calc,.auth{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}
.auth-side{display:none}.auth-card-logo{display:block}.content{padding:0 16px 24px}
}
@media print{.sidebar,.header,.toolbar .btn,.no-print{display:none!important}.card{box-shadow:none}}
.table.compact th,.table.compact td{padding-left:.75rem;padding-right:.75rem}

/* Confirm dialog (x-confirm-dialog + lpms.js) */
.confirm-dialog{border:0;padding:0;margin:auto;width:calc(100% - 32px);max-width:480px;border-radius:var(--radius-lg);background:var(--surface-card);color:var(--text-body);box-shadow:var(--shadow-dropdown)}
.confirm-dialog::backdrop{background:rgba(7,20,55,.45)}
.confirm-box{padding:28px 28px 24px}
.confirm-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.confirm-head h3{margin:0;font-size:var(--fs-4);font-weight:var(--fw-bold);color:var(--text-heading)}
.confirm-msg{margin:0 0 22px;color:var(--text-muted);line-height:1.55}
.confirm-typed{margin:-6px 0 22px}
.confirm-typed .lbl b{color:var(--text-heading);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.confirm-foot{display:flex;justify-content:flex-end;gap:10px}
.confirm-dialog [data-confirm-ok][aria-busy="true"]{opacity:1}
@media (max-width:480px){.confirm-box{padding:22px 18px 18px}.confirm-foot .btn{flex:1}}
.pay-items{max-height:420px;overflow-y:auto}
.pay-items thead th{position:sticky;top:0;background:var(--surface-card,#fff);z-index:1}
