html {
  font-size: 14px;
}

:root { --ink:#14213d; --nav:#111c33; --accent:#2f6fed; --bg:#f4f6fa; --line:#e4e8f0; }
body { min-height:100vh; display:flex; flex-direction:column; margin-bottom:0; background:var(--bg); color:var(--ink); }
.app-content-shell { flex:1 0 auto; }
.footer { position:static!important; flex:0 0 auto; width:100%; background:var(--bg); }
.auth-page { min-height:100vh; margin:0; background:radial-gradient(circle at 15% 15%,rgba(47,111,237,.13),transparent 34%),linear-gradient(145deg,#f8faff 0%,#eef3fb 100%); }
.auth-page .app-content-shell { display:flex; flex-direction:column; }
.auth-page main.app-main,.auth-page main[role="main"] { flex:1 0 auto; display:flex; flex-direction:column; justify-content:center; padding:2.5rem 1rem!important; }
.auth-page main > h1 { display:none; }
.auth-page main > .row { width:min(100%,480px); margin:auto; display:block; }
.auth-page main > .row > .col-lg-6 { width:100%; padding:0; }
.auth-page main > .row > .col-lg-4 { display:none; }
.auth-page main section { position:relative; padding:2.25rem; border:1px solid rgba(210,219,233,.9); border-radius:20px; background:rgba(255,255,255,.96); box-shadow:0 22px 60px rgba(27,48,83,.12); }
.auth-page main section::before { content:"M"; display:grid; place-items:center; width:48px; height:48px; margin:0 auto 1rem; border-radius:14px; background:linear-gradient(145deg,#397cff,#205bd2); color:#fff; box-shadow:0 10px 24px rgba(47,111,237,.28); font-size:1.35rem; font-weight:700; }
.auth-page main section h2 { margin:1.4rem 0 .35rem; text-align:center; font-size:1.55rem; font-weight:650; letter-spacing:-.02em; }
.auth-page main section h2 + hr { width:52px; margin:.8rem auto 1.5rem; border:0; border-top:3px solid var(--accent); opacity:1; }
.auth-page main .form-floating { margin-bottom:.9rem; }
.auth-page main .form-floating > .form-control { min-height:58px; border-color:#d9e0eb; border-radius:11px; background:#fff; }
.auth-page main .form-floating > .form-control:focus { border-color:#75a2fa; box-shadow:0 0 0 .22rem rgba(47,111,237,.14); }
.auth-page main .checkbox { margin:.9rem 0 1.15rem; color:#596579; }
.auth-page main #login-submit { min-height:50px; border:0; border-radius:11px; background:linear-gradient(135deg,#2874f0,#1558d3); font-weight:600; box-shadow:0 8px 20px rgba(47,111,237,.22); }
.auth-page main #login-submit:hover { background:linear-gradient(135deg,#1f68df,#104cbd); transform:translateY(-1px); }
.auth-page main form p { margin:.7rem 0 0; text-align:center; }
.auth-page main form p a { color:#315fba; text-decoration:none; }
.auth-page main form p a:hover { text-decoration:underline; }
.auth-page footer { height:auto; line-height:normal; padding:1rem 0 1.25rem; border:0!important; background:transparent; text-align:center; font-size:.83rem; }
@media(max-width:520px){.auth-page main[role="main"]{padding:1.25rem .25rem!important}.auth-page main section{padding:1.5rem}}
.toast-container { z-index:1090; margin-bottom:.75rem; }
.app-toast { min-width:min(380px,calc(100vw - 2rem)); border:0; box-shadow:0 14px 38px rgba(17,28,51,.22); }
.app-toast .toast-header { border-bottom:1px solid var(--line); }
.app-toast-indicator { width:.65rem; height:.65rem; border-radius:50%; margin-right:.55rem; background:#198754; }
.app-toast-error .app-toast-indicator { background:#dc3545; }
.app-toast-success .toast-body { border-left:4px solid #198754; }
.app-toast-error .toast-body { border-left:4px solid #dc3545; }
.app-header { position:sticky; top:0; z-index:1030; }
.app-nav { background:var(--nav); margin:0; padding:.85rem 0; box-shadow:0 3px 12px rgba(10,20,40,.18); }
.app-nav > .container-fluid { padding-left:clamp(1rem,2vw,2.5rem); padding-right:clamp(1rem,2vw,2.5rem); }
.app-page-container { width:100%; max-width:none; padding-left:clamp(1rem,2vw,2.5rem); padding-right:clamp(1rem,2vw,2.5rem); }
main.app-main, main[role="main"] { padding-top:2rem; }
.navbar-brand { font-weight:600; letter-spacing:-.02em; }
.brand-mark { display:inline-grid; place-items:center; width:30px; height:30px; border-radius:9px; background:var(--accent); margin-right:.45rem; }
.utc-badge { color:#c8d3e8; border:1px solid #405171; border-radius:999px; padding:.18rem .5rem; font-size:.7rem; margin-right:.7rem; white-space:nowrap; }
.page-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:1.6rem; }
.page-heading-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:.55rem; }
.app-add-panel { scroll-margin-top:6.5rem; }
.app-editor-modal .modal-dialog { max-width:min(1320px,calc(100vw - 2rem)); }
.app-editor-modal .modal-content { border:0; border-radius:1rem; box-shadow:0 24px 70px rgba(17,28,51,.24); }
.app-editor-modal .modal-body { padding:0; }
.app-editor-modal .app-modal-editor-panel { margin:0!important; border:0; border-radius:1rem; box-shadow:none; }
.add-panel-header-actions { display:flex; align-items:center; gap:.5rem; }
.panel-heading-row,.add-panel-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.55rem; }
.panel-heading-row h2,.add-panel-header h2 { margin:0; }
.panel-heading-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:.55rem; margin-left:auto; }
.page-heading h1 { font-size:2rem; margin:.15rem 0; font-weight:600; }
.page-heading p,.panel-title span { color:#68738a; margin:0; }
.eyebrow { text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; color:var(--accent); font-weight:600; }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:1rem; }
.metric,.panel { background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 7px 20px rgba(19,33,68,.04); }
.metric { padding:1.2rem; }
.metric span,.metric strong { display:block; }
.metric span { color:#68738a; font-size:.85rem; }
.metric strong { font-size:1.65rem; margin-top:.45rem; }
.metric.danger strong { color:#b42318; }
.dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; align-items:stretch; height:clamp(36rem,64vh,44rem); }
.dashboard-primary-panel { display:flex; min-height:0; flex-direction:column; overflow:hidden; }
.dashboard-primary-panel > .grid-scroll-viewport { flex:1; min-height:0; max-height:none; }
.dashboard-side-stack { display:grid; grid-template-rows:repeat(2,minmax(0,1fr)); gap:1rem; min-height:0; height:100%; }
.dashboard-half-panel { display:flex; min-height:16rem; max-height:22rem; flex-direction:column; overflow:hidden; }
.dashboard-panel-scroll { flex:1; min-height:0; max-height:none; overflow:auto; }
.panel { padding:1.25rem; }
.panel-title { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:.8rem; }
.panel-title h2 { font-size:1.1rem; font-weight:600; }
.funding-reference-details{min-width:10rem}.funding-reference-details summary{cursor:pointer;color:#0d6efd;white-space:nowrap}.funding-reference-list{display:grid;gap:.65rem;margin-top:.65rem;min-width:18rem}.funding-reference-list>div{display:grid;gap:.2rem;padding:.55rem;border:1px solid #dbe3ef;border-radius:.4rem;background:#fff}.funding-reference-list small{display:block;color:#68738a}.funding-reference-list .btn{justify-self:start}
.table { margin:0; }
.table th { color:#68738a; font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; border-top:0; }
.table thead th { position:sticky; top:0; z-index:10; background:#fff!important; background-clip:padding-box; box-shadow:inset 0 -1px 0 var(--line),0 1px 0 #fff; }
.table-responsive { max-height:min(62vh,680px); overflow:auto; position:relative; isolation:isolate; overscroll-behavior:contain; }
.grid-scroll-viewport > .table { border-collapse:separate; border-spacing:0; }
.table td { border-color:var(--line); }
.table td small,.request-row small { display:block; color:#7c879d; }
.table > tbody > tr.table-group-row > * { background:#e8f1ff!important; border-top:2px solid #b8cff1; color:#182945; }
.table-group-row td:last-child { text-align:right; }
.table > tbody > tr.table-group-total > * { background:#f7f9fc!important; border-bottom:2px solid #dbe3ef; }
.table-group-total td:last-child { text-align:right; }
.table tfoot th { background:#eef3fa; border-top:2px solid #afc1da; color:#182945; }
.commission-assignment-accordion { display:grid; gap:.65rem; }
.commission-assignment-accordion .accordion-item { border:1px solid #dbe3ef; border-radius:.55rem; overflow:hidden; }
.commission-assignment-accordion .accordion-button { display:flex; gap:1rem; background:#f4f7fb; color:#182945; }
.commission-assignment-accordion .accordion-button:not(.collapsed) { background:#e8f1ff; box-shadow:inset 0 -1px 0 #b8cff1; }
.commission-assignment-accordion .accordion-button span { display:block; min-width:0; }
.commission-assignment-accordion .accordion-button small { display:block; color:#68738a; font-weight:400; }
.commission-assignment-summary { margin-left:auto; padding-right:.75rem; white-space:nowrap; }
.commission-assignment-accordion .table-responsive { max-height:24rem; }
#report-account-statement-modal .modal-body { display:flex; flex-direction:column; min-height:0; }
#report-account-statement-modal .table-responsive { flex:1 1 auto; max-height:none; min-height:0; }
.status { padding:.25rem .55rem; border-radius:999px; background:#eef3ff; color:#2859bd; font-size:.78rem; }
.request-row { display:flex; justify-content:space-between; gap:1rem; padding:.9rem 0; border-top:1px solid var(--line); }
.empty { text-align:center; color:#7c879d; padding:2rem!important; }
.form-grid { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:.75rem; align-items:center; }
.third-party-add-form { align-items:end; }
.third-party-add-form > .field-label { margin:0; }
.third-party-add-form > .btn { min-height:46px; }
.transfer-operation-step { grid-column:span 2; padding:.75rem; border:1px solid #dce5f2; border-radius:.7rem; background:#f8faff; }
.operation-details-hidden { display:none!important; }
.operation-cell-locked { background:#f6f7fa!important; }
.operation-field-locked { color:#8a94a6!important; background:#eef1f5!important; cursor:not-allowed!important; }
.transfer-edit-grid td.operation-cell-empty { position:relative; background:#fff!important; }
.transfer-edit-grid td.operation-cell-empty > * { visibility:hidden; pointer-events:none; }
.transfer-edit-grid:not([data-grid-ready="true"]) { display:none; }
.transfer-grid-loading { display:flex; align-items:center; gap:.55rem; min-height:4rem; color:#68738a; }
.panel:has(.transfer-edit-grid[data-grid-ready="true"]) > .transfer-grid-loading { display:none; }
.transfer-edit-grid td.operation-cell-empty::after { content:"-N/A-"; position:absolute; inset:0; display:grid; place-items:center; color:#9aa5b8; letter-spacing:.08em; }
.searchable-select.operation-field-locked { pointer-events:none; }
.searchable-select.operation-field-locked::after { opacity:.45; }
.inline-form { display:flex; gap:.4rem; min-width:420px; }
.stack-form { display:grid; gap:.65rem; margin:.8rem 0 1rem; }
.setup-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.amount { font-weight:700; white-space:nowrap; }
.privilege-help { color:#596579; background:#f4f7fc; border-radius:10px; padding:.8rem 1rem; }
.editable-row,.editable-beneficiary,.editable-rate { display:grid; gap:.45rem; align-items:center; padding:.7rem 0; border-top:1px solid var(--line); }
.editable-row { grid-template-columns:2fr 1fr auto auto; }
.editable-beneficiary { grid-template-columns:1.2fr 1.4fr 1fr 1.2fr auto; }
.editable-rate { grid-template-columns:1.25fr .55fr .55fr .7fr .65fr 1.15fr 1.15fr auto; }
.active-check { display:flex; align-items:center; gap:.35rem; white-space:nowrap; color:#68738a; }
.field-label { color:#68738a; font-size:.82rem; }
.field-label .form-control { margin-top:.25rem; }
.field-label .form-select { margin-top:.25rem; }
.searchable-select { position:relative; width:100%; min-width:0; }
.searchable-native-select { position:absolute!important; width:1px!important; height:1px!important; margin:0!important; padding:0!important; opacity:0; pointer-events:none; }
.searchable-select-input { width:100%; padding-right:2.1rem; cursor:text; }
.searchable-select::after { content:"⌄"; position:absolute; right:.8rem; top:50%; transform:translateY(-55%); color:#596579; pointer-events:none; font-size:1rem; }
.searchable-select-menu { position:fixed; z-index:1085; max-height:280px; overflow:auto; overscroll-behavior:contain; padding:.3rem; border:1px solid #cad2df; border-radius:.5rem; background:#fff; box-shadow:0 12px 28px rgba(17,28,51,.2); }
.searchable-select-option { display:block; width:100%; padding:.55rem .7rem; border:0; border-radius:.35rem; background:transparent; color:var(--ink); text-align:left; white-space:normal; }
.searchable-select-option:hover,.searchable-select-option:focus,.searchable-select-option[aria-selected="true"],.searchable-select-option.is-keyboard-active { background:#eaf2ff; color:#174ea6; outline:0; }
.searchable-select-empty { padding:.65rem .7rem; color:#7c879d; }
.rate-form-grid { display:grid; grid-template-columns:repeat(3,minmax(210px,1fr)); gap:.85rem; align-items:end; }
.rate-form-grid > .field-label { align-self:start; min-width:0; }
.bank-rate-card-field small { display:block; margin-top:.25rem; line-height:1.25; }
.account-form-grid { display:grid; grid-template-columns:repeat(4,minmax(190px,1fr)); gap:.85rem; align-items:end; }
.application-account-add-form { row-gap:1.45rem; }
.application-account-add-form .application-reporting-party-field { position:relative; }
.application-account-add-form .application-reporting-party-field > small { position:absolute; top:calc(100% + .18rem); left:0; width:100%; line-height:1.15; }
.form-action { display:flex; align-items:end; height:100%; }
.form-action .btn { width:100%; }
.two-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
.account-limit-form { display:grid; grid-template-columns:minmax(110px,1fr) repeat(3,minmax(115px,1fr)) auto; gap:.4rem; min-width:720px; }
.configured-limits { margin-top:.45rem; line-height:1.5; }
.card-limit-row { display:grid; grid-template-columns:minmax(260px,1fr) minmax(620px,2fr); gap:1rem; align-items:center; padding:1rem 0; border-top:1px solid var(--line); }
.card-limit-row small { display:block; color:#7c879d; margin-top:.2rem; }
.card-limit-form { display:grid; grid-template-columns:1.2fr repeat(3,1fr) .7fr auto; gap:.45rem; }
.account-maintenance-row { display:grid; grid-template-columns:1.45fr 1fr; gap:1rem; padding:1rem 0; border-top:1px solid var(--line); align-items:start; }
.account-edit-form { display:grid; grid-template-columns:repeat(3,minmax(150px,1fr)); gap:.65rem; align-items:end; }
.balance-realign-form { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; padding:1rem; background:#fff8e8; border:1px solid #f2d28b; border-radius:10px; align-items:end; }
.balance-realign-form strong,.balance-realign-form small { grid-column:1/-1; }
.rate-action { display:flex; align-items:end; height:100%; }
.rate-action .btn { width:100%; }
.exchange-rate-table { min-width:1450px; }
.final-rate-display { background:#eef5ff!important; color:#174ea6; font-weight:700; }
.grid-toolbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:0 0 .85rem; }
.grid-pager { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.65rem .1rem 0; }
.grid-page-size-label,.grid-page-navigation { display:flex; align-items:center; gap:.5rem; color:#68738a; font-size:.82rem; }
.grid-page-size { width:auto; min-width:68px; }
.grid-page-status { min-width:7rem; text-align:center; color:var(--ink); }
.grid-pager-single-page .grid-page-navigation .btn { visibility:hidden; }
.grid-export-toolbar { display:flex; justify-content:flex-end; margin:0 0 .75rem; }
.grid-export-actions { display:flex; gap:.45rem; margin-left:auto; }
.grid-toolbar .grid-export-actions { margin-left:0; }
.grid-search-wrap { display:flex; gap:.5rem; width:min(520px,100%); }
.grid-search { min-width:220px; }
.grid-count { color:#68738a; font-size:.82rem; white-space:nowrap; }
.balance-filter-form { display:grid; grid-template-columns:auto minmax(240px,1.5fr) minmax(180px,.7fr) minmax(160px,.55fr); gap:.75rem; align-items:end; margin-bottom:1rem; }
.balance-periods { display:flex; gap:.35rem; align-self:end; }
.balance-periods .btn { min-width:3.1rem; white-space:nowrap; }
.balance-periods .btn.active { color:#fff; background:var(--accent); border-color:var(--accent); }
.balance-custom-dates { grid-column:1/3; display:grid; grid-template-columns:repeat(2,minmax(170px,1fr)); gap:.75rem; }
.balance-filter-actions { display:flex; gap:.5rem; justify-content:flex-end; grid-column:3/5; }
.balance-range-summary { margin:.2rem 0 .85rem; color:#68738a; font-size:.84rem; }
.balance-summary-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:.2rem 0 .85rem; }
.balance-summary-row .balance-range-summary { margin:0; }
.balance-overview-grid { min-width:1380px; }
.balance-overview-grid th:nth-child(1) { min-width:210px; }
.balance-overview-grid th:nth-child(3) { min-width:180px; }
.balance-overview-grid th:nth-child(4),.balance-overview-grid th:nth-child(5) { min-width:165px; }
.balance-overview-grid th:nth-child(7) { min-width:275px; }
.balance-statement-grid { min-width:1300px; }
.balance-statement-grid th:nth-child(4) { min-width:230px; }
.balance-statement-grid th:nth-child(8) { min-width:520px; }
.ledger-notes { white-space:nowrap; line-height:1.35; overflow:hidden; text-overflow:ellipsis; }
.ledger-notes span { display:inline; margin:0; }
.ledger-notes span + span::before { content:" · "; color:#8a96aa; font-weight:400; }
.ledger-notes span:first-child { font-weight:700; color:#12213c; }
.third-party-statement-grid { width:100%; min-width:1760px; table-layout:fixed; }
.third-party-statement-grid .statement-date-col { width:300px; }
.third-party-statement-grid .statement-reference-col { width:180px; }
.third-party-statement-grid .statement-entry-col { width:145px; }
.third-party-statement-grid .statement-money-col { width:165px; }
.third-party-statement-grid .statement-balance-col { width:175px; }
.third-party-statement-grid .statement-notes-col { width:510px; }
.third-party-statement-grid .statement-action-col { width:120px; }
.third-party-statement-grid td { vertical-align:top; padding-top:.75rem; padding-bottom:.75rem; }
.third-party-statement-grid td:first-child form { min-width:285px; }
.third-party-statement-grid td:first-child .form-control { min-width:215px; }
.third-party-statement-grid .ledger-notes {
    display:table-cell;
    min-width:510px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.third-party-statement-grid .ledger-notes span {
    margin:0;
    padding:0;
    border-radius:0;
    background:transparent;
}
.third-party-statement-grid .ledger-notes span:first-child {
    padding:0;
    background:transparent;
}
.third-party-statement-grid .ledger-action-cell { width:120px; min-width:120px; text-align:center; }
.financial-statement-grid { width:100%; min-width:1840px; table-layout:fixed; }
.financial-statement-grid .statement-date-col { width:300px; }
.financial-statement-grid .statement-reference-col { width:185px; }
.financial-statement-grid .statement-operation-col { width:160px; }
.financial-statement-grid .statement-owner-col { width:220px; }
.financial-statement-grid .statement-money-col { width:150px; }
.financial-statement-grid .statement-balance-col { width:175px; }
.financial-statement-grid .statement-notes-col { width:380px; }
.financial-statement-grid .statement-action-col { width:120px; }
.financial-statement-grid td { vertical-align:middle; }
.financial-statement-grid td:first-child form { min-width:285px; }
.financial-statement-grid td:first-child .form-control { min-width:215px; }
.financial-statement-grid .ledger-notes { width:380px; max-width:380px; min-width:380px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.financial-statement-grid .ledger-action-cell { width:120px; min-width:120px; text-align:center; }
.third-party-ledger-grid { width:100%; min-width:1900px; table-layout:fixed; }
.third-party-ledger-grid .ledger-date-col { width:175px; }
.third-party-ledger-grid .ledger-party-col { width:170px; }
.third-party-ledger-grid .ledger-currency-col { width:95px; }
.third-party-ledger-grid .ledger-main-party-col { width:330px; }
.third-party-ledger-grid .ledger-reference-col { width:190px; }
.third-party-ledger-grid .ledger-entry-col { width:165px; }
.third-party-ledger-grid .ledger-money-col { width:180px; }
.third-party-ledger-grid .ledger-balance-col { width:190px; }
.third-party-ledger-grid .ledger-notes-col { width:285px; }
.third-party-ledger-grid .ledger-action-col { width:120px; }
.third-party-ledger-grid td { vertical-align:top; }
.third-party-ledger-grid td form { min-width:0; }
.third-party-ledger-grid td .form-select { min-width:210px; }
.third-party-ledger-grid td:nth-child(9) { white-space:normal; overflow-wrap:break-word; }
.third-party-ledger-grid .ledger-action-cell { width:120px; min-width:120px; text-align:center; }
.account-type-badge { display:inline-block; padding:.28rem .55rem; border-radius:999px; background:#f1f4f9; color:#4b5870; font-size:.78rem; }
.balance-positive { color:#16794b; }
.balance-negative { color:#b42318; }
.status.balance-inactive { color:#667085; background:#f2f4f7; }
.grid-filter-toggle { white-space:nowrap; }
.grid-filter-panel { display:flex; flex-wrap:wrap; align-items:end; gap:.65rem; margin:-.25rem 0 .7rem; padding:.8rem; border:1px solid #dce5f2; border-radius:.7rem; background:#f8faff; }
.grid-filter-panel[hidden] { display:none; }
.grid-filter-field { display:grid; gap:.25rem; min-width:190px; margin:0; color:#68738a; font-size:.78rem; }
.grid-filter-value-field { flex:1 1 260px; }
.grid-filter-chips { display:flex; flex-wrap:wrap; gap:.45rem; margin:0 0 .8rem; }
.grid-filter-chip { display:inline-flex; align-items:center; gap:.45rem; max-width:100%; padding:.35rem .45rem .35rem .65rem; border:1px solid #b9d5ff; border-radius:999px; background:#eef5ff; color:#174ea6; font-size:.8rem; }
.grid-filter-chip button { display:grid; place-items:center; width:1.25rem; height:1.25rem; padding:0; border:0; border-radius:50%; background:#d9e8ff; color:#174ea6; font-size:1rem; line-height:1; }
.grid-filter-chip button:hover,.grid-filter-chip button:focus { background:#bdd5fb; outline:0; }
.grid-sortable { cursor:pointer; user-select:none; padding-right:1.4rem!important; position:relative; }
.grid-sortable::after { content:"↕"; position:absolute; right:.45rem; color:#9aa5b8; font-size:.8rem; }
.grid-sortable[aria-sort="ascending"]::after { content:"↑"; color:var(--accent); }
.grid-sortable[aria-sort="descending"]::after { content:"↓"; color:var(--accent); }
.grid-sortable:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.panel h2 { font-size:1.1rem; }
@media(max-width:900px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr;height:auto}.dashboard-side-stack{height:auto}.dashboard-half-panel{max-height:22rem}}
@media(max-width:900px){.form-grid{grid-template-columns:repeat(2,1fr)}.setup-grid{grid-template-columns:1fr}.inline-form{min-width:0;flex-wrap:wrap}.editable-row,.editable-beneficiary,.editable-rate{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.rate-form-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1100px){.account-form-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1100px){.card-limit-row{grid-template-columns:1fr}.card-limit-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1100px){.account-maintenance-row{grid-template-columns:1fr}.account-edit-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.metric-grid{grid-template-columns:1fr}.page-heading{align-items:start;flex-direction:column}.form-grid{grid-template-columns:1fr}.transfer-rate-fields{grid-column:span 1}}
@media(max-width:520px){.rate-form-grid{grid-template-columns:1fr}}
@media(max-width:520px){.account-form-grid,.two-field-grid{grid-template-columns:1fr}}
@media(max-width:520px){.card-limit-form{grid-template-columns:1fr}}
@media(max-width:520px){.account-edit-form,.balance-realign-form{grid-template-columns:1fr}.balance-realign-form strong,.balance-realign-form small{grid-column:auto}}
@media(max-width:520px){.grid-toolbar,.grid-pager{align-items:stretch;flex-direction:column}.grid-search-wrap{width:100%}.grid-count{align-self:flex-end}.grid-page-navigation{justify-content:space-between}}
@media(max-width:620px){.grid-search-wrap{flex-wrap:wrap}.grid-search{flex:1 1 100%}.grid-filter-panel{align-items:stretch}.grid-filter-field,.grid-filter-panel .btn{width:100%}}
@media(max-width:1000px){.balance-filter-form{grid-template-columns:1fr 1fr}.balance-periods,.balance-custom-dates,.balance-filter-actions{grid-column:1/-1}.balance-filter-actions{justify-content:flex-start}}
@media(max-width:620px){.balance-filter-form,.balance-custom-dates{grid-template-columns:1fr}.balance-periods{flex-wrap:wrap}.balance-filter-actions{flex-direction:column}.balance-filter-actions .btn{width:100%}}
@media(max-width:620px){.balance-summary-row{align-items:flex-start;flex-direction:column}.balance-summary-row .grid-count{align-self:auto}}
@media(max-width:991.98px){.app-nav .navbar-collapse{max-height:calc(100vh - 72px);overflow-y:auto}.app-nav .navbar-nav{padding-top:.75rem}}

@media (min-width: 768px) {
  html {
    font-size: 13px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body { margin-bottom:0; }

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}
.editable-grid { min-width: 1650px; }
.reconciliation-grid { min-width:1750px; }
.reconciliation-grid th:nth-child(1) { min-width:210px; }
.reconciliation-grid th:nth-child(2) { min-width:190px; }
.reconciliation-grid th:nth-child(6) { min-width:210px; }
.reconciliation-grid th:nth-child(7) { min-width:300px; }
.reconciliation-flow { min-width:230px; }
.reconciliation-step { display:flex; flex-direction:column; gap:2px; }
.reconciliation-step span { color:var(--muted); font-size:.76rem; font-weight:600; }
.reconciliation-step strong, .reconciliation-step a { font-size:.84rem; }
.reconciliation-step-complete span { color:#198754; }
.reconciliation-step-pending span { color:#a66a00; }
.reconciliation-flow-line { height:10px; margin-left:5px; border-left:2px solid #d8e2ef; }
.operation-field-hidden { display:none !important; }
.transfer-editor-form.form-grid .operation-layout-row-start { grid-column-start:1; }
.transfer-editor-form.form-grid { align-items:start; }
.transfer-editor-form.form-grid > .field-label,
.transfer-editor-form.form-grid .transfer-rate-fields .field-label { margin:0; min-width:0; }
.transfer-editor-form.form-grid > .field-label { align-self:start; }
.financial-service-form .monthly-window-control { grid-column:1 / -1; padding:.85rem 1rem; border:1px solid #cfe0ff; border-radius:.75rem; background:#f5f9ff; }
.financial-service-form .monthly-window-control .form-select { margin-top:.35rem; font-weight:600; }
.card-pool-current-summary-report { max-height:none; overflow:visible; }
.current-card-pool-toolbar { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.current-card-pool-toolbar h2 { margin-bottom:.25rem; }
.card-pool-summary-grouping { display:flex; align-items:center; flex-wrap:wrap; gap:.45rem; padding:.45rem; border:1px solid #d9e4f5; border-radius:.75rem; background:#f7faff; }
.card-pool-summary-grouping > span { margin:0 .25rem; font-weight:700; color:#46536b; }
.card-pool-summary-application-filters { margin-bottom:1.25rem; }
.card-pool-summary-application-filters .grid-sort-help { margin-left:auto; align-self:center; color:#68738a; font-size:.86rem; }
.card-pool-current-summary-report .grid-toolbar { align-items:center; flex-wrap:wrap; }
.card-pool-current-summary-report .grid-search-wrap { flex:1 1 650px; width:auto; max-width:780px; align-items:stretch; }
.card-pool-current-summary-report .grid-search { flex:1 1 360px; min-height:46px; }
.card-pool-current-summary-report .grid-search-wrap > .btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; }
.card-pool-current-summary-report .grid-count { margin-left:auto; align-self:center; }
.current-card-pool-summary + .current-card-pool-summary { margin-top:2rem; padding-top:1.5rem; border-top:2px solid #d7e2f4; }
.current-card-pool-rules { display:grid; gap:.35rem; margin:.75rem 0 1.2rem; padding-left:1.5rem; }
.current-card-pool-rules strong { display:inline-block; padding:.1rem .45rem; border-radius:.45rem; background:#eef1f5; }
.current-card-pool-table-wrap { width:100%; overflow-x:auto; border:1px solid #e1e7f0; border-radius:.65rem; }
.current-card-pool-table { margin-bottom:0; min-width:1050px; }
.current-card-pool-table th:not(:first-child), .current-card-pool-table td:not(:first-child) { text-align:right; }
.current-card-pool-table td { vertical-align:middle; }
.current-card-pool-by-card th:nth-child(2), .current-card-pool-by-card th:nth-child(3), .current-card-pool-by-card td:nth-child(2), .current-card-pool-by-card td:nth-child(3) { text-align:left; }
.transfer-editor-form .transfer-service-help { display:block; min-height:1.1rem; margin-top:.25rem; line-height:1.1rem; }
.transfer-rate-fields { display:grid; grid-column:span 2; grid-template-columns:1fr 1fr; gap:.75rem; align-items:start; }
.transfer-rate-fields:has(.transfer-saved-rate-field.operation-field-hidden) { grid-template-columns:1fr; }
.transfer-rate-fields .field-label { min-width:0; }
.transfer-source-debit { display:flex; align-items:center; margin-top:.25rem; background:#f4f7fb; color:#17345f; font-weight:700; }
.third-party-master-grid { min-width:100%; width:100%; table-layout:fixed; }
.third-party-master-grid .form-control, .third-party-master-grid .form-select { min-width:0; width:100%; }
.third-party-master-grid th { white-space:normal; }
.third-party-master-grid th:nth-child(1) { width:19%; }
.third-party-master-grid th:nth-child(2) { width:19%; }
.third-party-master-grid th:nth-child(3) { width:30%; }
.third-party-master-grid th:nth-child(4) { width:20%; }
.third-party-master-grid th:nth-child(5) { width:5%; }
.third-party-master-grid th:nth-child(6) { width:7%; }
.bank-account-grid { min-width: 1450px; }
.card-edit-grid { min-width: 1450px; }
.application-account-grid { min-width: 1565px; }
.application-account-grid th:nth-child(1) { min-width:145px; }
.application-account-grid th:nth-child(2) { min-width:125px; }
.application-account-grid th:nth-child(3),.application-account-grid th:nth-child(4) { min-width:120px; }
.application-account-grid th:nth-child(5) { min-width:120px; }
.application-account-grid th:nth-child(6) { min-width:150px; }
.application-account-grid th:nth-child(7) { min-width:90px; }
.application-account-grid th:nth-child(8) { min-width:205px; }
.application-account-grid th:nth-child(9),.application-account-grid th:nth-child(10) { min-width:115px; }
.application-account-grid th:nth-child(11) { min-width:65px; }
.application-account-grid th:nth-child(12),.application-account-grid td:nth-child(12) { width:100px; min-width:100px; }
.application-account-grid .input-group { flex-wrap:nowrap; min-width:150px; }
.application-account-grid .input-group .form-control { min-width:0; width:1%; }
.application-account-grid .input-group-text { flex:0 0 auto; white-space:nowrap; }
.application-account-grid th:last-child,.application-account-grid td:last-child { position:sticky; right:0; z-index:2; background:#fff; box-shadow:-8px 0 12px -12px rgba(21,37,65,.45); }
.application-account-grid th:last-child { z-index:12; }
.application-limits { display:grid; grid-template-columns:repeat(3,minmax(120px,1fr)); gap:.4rem; }
.grid-actions { display:flex; align-items:center; justify-content:flex-end; gap:.3rem; flex-wrap:nowrap; }
.grid-actions .btn { width:auto; padding:.28rem .5rem; font-size:.8rem; white-space:nowrap; }
.grid-display-skip { display:none !important; }
.grid-last-column-actions th:last-child,.grid-last-column-actions td:last-child { text-align:right; }
.grid-last-column-actions td:last-child > form,.grid-last-column-actions td:last-child > .grid-actions { margin-left:auto; }
.compact-rules-grid { min-width:1100px; }
.compact-rules-grid td:first-child { min-width:190px; }
.compact-rules-grid td .btn { white-space:nowrap; }
#application-transfer-services-table { width:100%; min-width:2420px; table-layout:fixed; }
#application-transfer-services-table th,#application-transfer-services-table td { padding:.55rem .5rem; overflow-wrap:normal; white-space:normal; vertical-align:middle; }
#application-transfer-services-table th:nth-child(1) { width:160px; }
#application-transfer-services-table th:nth-child(2) { width:210px; }
#application-transfer-services-table th:nth-child(3) { width:180px; }
#application-transfer-services-table th:nth-child(4) { width:95px; }
#application-transfer-services-table th:nth-child(5),#application-transfer-services-table th:nth-child(6),#application-transfer-services-table th:nth-child(7) { width:150px; }
#application-transfer-services-table th:nth-child(8) { width:170px; }
#application-transfer-services-table th:nth-child(9) { width:170px; }
#application-transfer-services-table th:nth-child(10),#application-transfer-services-table th:nth-child(11),#application-transfer-services-table th:nth-child(12) { width:160px; }
#application-transfer-services-table th:nth-child(13) { width:170px; }
#application-transfer-services-table th:nth-child(14) { width:105px; }
#application-transfer-services-table th:nth-child(15),#application-transfer-services-table td:nth-child(15),
#application-transfer-services-table .table-action-column { width:145px; min-width:145px; max-width:145px; }
#application-transfer-services-table th:nth-child(15),
#application-transfer-services-table td:nth-child(15),
#application-transfer-services-table .table-action-column {
    position:sticky;
    right:0;
    z-index:4;
    box-sizing:border-box;
    background:#fff!important;
    box-shadow:-10px 0 14px -14px rgba(21,37,65,.75);
}
#application-transfer-services-table th:nth-child(15),
#application-transfer-services-table th.table-action-column {
    z-index:14;
    background:#fff!important;
}
#application-transfer-services-table .grid-actions { flex-direction:column; align-items:stretch; }
#application-transfer-services-table .grid-actions,#application-transfer-services-table .grid-actions form,#application-transfer-services-table .grid-actions .btn { width:100%; max-width:100%; }
.financial-service-form { grid-template-columns:repeat(3,minmax(220px,1fr)); align-items:start; }
.financial-service-form .form-action { grid-column:1/-1; justify-self:end; width:min(320px,100%); min-height:42px; }
.financial-service-form .field-label { min-width:0; }
.financial-service-form .pool-service-picker { grid-column:span 2; }
.service-pool-select { min-height:7.5rem; }
@media(max-width:1100px){.financial-service-form{grid-template-columns:repeat(2,minmax(220px,1fr))}.financial-service-form .form-action{grid-column:1/-1}}
@media(max-width:620px){.financial-service-form{grid-template-columns:1fr}.financial-service-form .form-action{grid-column:auto;width:100%}}
.transfer-edit-grid { min-width:3900px; }
.transfer-edit-grid th:nth-child(1) { min-width:220px; }
.transfer-edit-grid th:nth-child(2),.transfer-edit-grid th:nth-child(9),.transfer-edit-grid th:nth-child(11),.transfer-edit-grid th:nth-child(16) { min-width:165px; }
.transfer-edit-grid th:nth-child(3),.transfer-edit-grid th:nth-child(4),.transfer-edit-grid th:nth-child(5),.transfer-edit-grid th:nth-child(6),.transfer-edit-grid th:nth-child(7),.transfer-edit-grid th:nth-child(8) { min-width:210px; }
.transfer-edit-grid th:nth-child(10),.transfer-edit-grid th:nth-child(12),.transfer-edit-grid th:nth-child(13),.transfer-edit-grid th:nth-child(14),.transfer-edit-grid th:nth-child(15) { min-width:145px; }
.transfer-edit-grid th:nth-child(17) { min-width:165px; }
.transfer-edit-grid th:nth-child(18) { min-width:190px; }
.transfer-edit-grid th:nth-child(19) { min-width:270px; }
.transfer-edit-grid .transfer-action-cell { position:sticky; right:0; z-index:3; width:165px; min-width:165px; max-width:165px; text-align:right; background:inherit !important; box-shadow:-8px 0 12px -12px rgba(21,37,65,.55); }
.transfer-edit-grid th:last-child { position:sticky; right:0; z-index:13; background:#fff !important; box-shadow:-8px 0 12px -12px rgba(21,37,65,.55); }
.commission-transfer-preview { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:.75rem; padding:.85rem 1rem; border:1px solid #b9d5ff; border-radius:.65rem; background:#f3f8ff; color:#34445f; }
.commission-transfer-preview span { display:flex; flex-direction:column; gap:.2rem; }
.commission-transfer-preview strong { color:#10213e; font-size:1.05rem; }
.commission-transfer-preview.third-party-balance-preview { grid-template-columns:repeat(3,minmax(150px,1fr)); }
.commission-transfer-preview.third-party-calculation { grid-template-columns:repeat(3,minmax(150px,1fr)); }
.test-data-counts { grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); }
.report-tabs { display:flex; flex-wrap:wrap; gap:.45rem; }
.reports-page main > section.panel { margin-top:0 !important; margin-bottom:1rem !important; }
.report-filter-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:.75rem; align-items:end; }
.report-filter-grid .form-action { display:flex; gap:.45rem; align-items:center; }
.report-group-row td { background:#eef4ff; color:#18355f; border-top:2px solid #ccdaf0; }
.main-party-grouped-table tbody tr > td:first-child > strong { display:none; }
.main-party-grouped-table tr.main-party-group-start > td { border-top:2px solid #ccdaf0; }
.main-party-grouped-table tr.main-party-group-start > td:first-child::before { display:block; width:max-content; max-width:100%; padding:.22rem .5rem; border-radius:999px; background:#dceaff; color:#174f9b; content:attr(data-group-label); font-size:.7rem; font-weight:800; letter-spacing:.025em; text-transform:uppercase; }
.position-rate-editor { display:flex; flex-wrap:wrap; align-items:end; gap:.7rem 1.1rem; margin:.8rem 0 1rem; padding:.75rem .85rem; border:1px solid #ccdaf0; border-radius:.55rem; background:#f7faff; }
.position-rate-editor > div { margin-right:auto; }
.position-rate-editor > div small { display:block; margin-top:.15rem; color:#64748b; }
.position-rate-field { display:grid; grid-template-columns:auto minmax(110px,145px) auto; align-items:center; gap:.4rem; font-size:.78rem; font-weight:700; }
.position-rate-field small { grid-column:1 / -1; color:#64748b; font-size:.68rem; font-weight:400; text-align:right; }
.position-converted-value { display:block; margin-top:.12rem; color:#2563a8; font-size:.7rem; font-weight:700; white-space:nowrap; }
.position-group-total td { background:#edf4ff; border-top:1px solid #bfd2ee; border-bottom:2px solid #abc5e8; color:#173b69; }
.report-subgroup-row td { background:#f7f9fd; color:#31547d; font-size:.82rem; border-top:1px solid #dce5f2; }
.capacity-legend { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem 1.15rem; margin:.8rem 0 1rem; padding:.65rem .8rem; border:1px solid #dce4f0; border-radius:.55rem; background:#f8fafc; color:#4b5870; font-size:.82rem; }
.capacity-legend-title { color:#172b4d; font-weight:700; }
.capacity-dot { display:inline-block; width:.7rem; height:.7rem; margin-right:.35rem; border-radius:50%; vertical-align:-.05rem; }
.capacity-status { display:inline-block; min-width:5.5rem; padding:.22rem .48rem; border-radius:999px; font-weight:700; text-align:center; white-space:nowrap; }
.capacity-available { color:#176b45; background:#e8f7ef; }
.capacity-near { color:#8a5700; background:#fff4d6; }
.capacity-full { color:#b42318; background:#ffebe9; }
.capacity-unconfigured { color:#667085; background:#f2f4f7; }
.card-reuse-hero { display:flex; justify-content:space-between; gap:1.25rem; margin-bottom:1rem; padding:1.25rem; border:1px solid #cfe0fb; border-radius:1rem; background:linear-gradient(135deg,#f7faff 0%,#edf4ff 100%); }
.card-reuse-hero h2 { margin:.15rem 0 .3rem; }
.card-reuse-hero p { max-width:720px; margin:0; color:#5b6880; }
.card-reuse-summary { display:grid; grid-template-columns:repeat(3,minmax(120px,1fr)); gap:.65rem; min-width:460px; }
.card-reuse-summary article { display:grid; align-content:center; padding:.8rem; border:1px solid #d9e5f7; border-radius:.75rem; background:#fff; }
.card-reuse-summary span,.card-reuse-figures small { color:#69758b; font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; }
.card-reuse-summary strong { margin-top:.15rem; color:#142a4c; font-size:1rem; }
.card-reuse-service-group { margin-bottom:1rem; padding:1rem; border:1px solid #d7e2f2; border-radius:1rem; background:#f8faff; }
.card-reuse-service-group > header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.85rem; padding-bottom:.75rem; border-bottom:1px solid #dfe7f2; }
.card-reuse-service-group > header h3 { margin:.12rem 0; color:#142a4c; font-size:1.15rem; }
.card-reuse-service-group > header p { margin:0; color:#52627a; font-weight:700; }
.card-reuse-group-counts { display:flex; gap:.4rem; flex-wrap:wrap; }
.card-reuse-group-counts span { padding:.28rem .55rem; border-radius:999px; background:#fff; color:#52627a; font-size:.76rem; font-weight:700; white-space:nowrap; }
.card-reuse-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(390px,1fr)); gap:1rem; }
.card-reuse-item { padding:1rem; border:1px solid #dce4f0; border-left:4px solid #2f7de1; border-radius:.85rem; background:#fff; box-shadow:0 4px 14px rgba(30,55,90,.05); }
.card-reuse-item.is-blocked { border-left-color:#d92d20; background:linear-gradient(135deg,#fff 65%,#fff5f4); }
.card-reuse-item-head { display:flex; justify-content:space-between; gap:.8rem; align-items:start; }
.card-reuse-item h3 { margin:.15rem 0; font-size:1.05rem; }
.card-reuse-item p { margin:0; color:#6a7589; font-size:.82rem; }
.card-reuse-category { color:#3676cf; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.card-reuse-period { margin-top:.9rem; padding-top:.8rem; border-top:1px solid #e5eaf1; }
.card-reuse-period-title { display:flex; justify-content:space-between; gap:.75rem; align-items:center; color:#52627a; font-size:.78rem; }
.card-reuse-period-title strong { color:#245fae; text-transform:uppercase; letter-spacing:.04em; }
.card-reuse-progress { height:.55rem; margin:.9rem 0 .7rem; overflow:hidden; border-radius:999px; background:#e9eef5; }
.card-reuse-progress i { display:block; height:100%; border-radius:inherit; background:#2f8f62; }
.card-reuse-item.is-blocked .card-reuse-progress i { background:#d92d20; }
.card-reuse-figures { display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; }
.card-reuse-figures span { display:grid; gap:.12rem; }
.card-reuse-figures strong { font-size:.9rem; }
.card-reuse-time { display:flex; justify-content:space-between; gap:.75rem; margin-top:.9rem; padding-top:.75rem; border-top:1px solid #e5eaf1; font-size:.8rem; }
.card-reuse-time span { color:#6a7589; }
.card-reuse-time strong { color:#176b45; text-align:right; }
.card-reuse-item.is-blocked .card-reuse-time strong { color:#b42318; }
.card-release-timeline>div { display:grid; grid-template-columns:105px 18px 1fr; gap:.6rem; min-height:58px; }
.card-release-timeline time,.card-release-timeline p { display:grid; align-content:start; margin:0; }
.card-release-timeline time span,.card-release-timeline p span { color:#6a7589; font-size:.8rem; }
.card-release-timeline i { position:relative; display:block; width:2px; height:100%; background:#d7e2f2; }
.card-release-timeline i::before { content:""; position:absolute; top:.25rem; left:-4px; width:10px; height:10px; border:2px solid #fff; border-radius:50%; background:#d92d20; box-shadow:0 0 0 1px #d92d20; }
@media(max-width:900px){.card-reuse-hero{flex-direction:column}.card-reuse-summary{min-width:0}.card-reuse-grid{grid-template-columns:1fr}}
@media(max-width:560px){.card-reuse-summary,.card-reuse-figures{grid-template-columns:1fr}.card-reuse-time,.card-reuse-service-group>header{align-items:flex-start;flex-direction:column}.card-reuse-time strong{text-align:left}}
.limit-related-modal .modal-dialog { width:calc(100vw - 2rem); max-width:none; height:calc(100vh - 2rem); margin:1rem auto; }
.limit-related-modal .modal-content { height:100%; border:0; border-radius:.85rem; overflow:hidden; }
.limit-related-modal .modal-header { flex:0 0 auto; padding:.9rem 1.1rem; }
.limit-related-modal .modal-body { min-height:0; padding:0; overflow:hidden; }
.limit-related-modal .modal-footer { flex:0 0 auto; padding:.65rem 1rem; }
.limit-related-table { height:100%; overflow:auto; }
.limit-related-table .table { margin:0; }
.limit-related-table .table thead th { position:sticky; top:0; z-index:2; background:#fff; box-shadow:0 1px 0 #dce4f0; }
.report-application-row td { background:#f4f7fc; color:#334e75; padding-left:1.5rem; }
.report-subtotal-row td { background:#f8fafc; border-top:1px solid #d8e0ea; }
.report-total-spacer td { height:1.25rem; padding:0 !important; border:0 !important; background:#fff !important; }
.report-total-heading td { padding:.85rem .7rem .55rem !important; border-top:2px solid #8da7cd; background:#f8fbff !important; color:#102a4c; }
.report-total-heading span { display:block; margin-top:.2rem; color:#64748b; font-size:.82rem; font-weight:400; }
.report-grand-total-row td { background:#e5eefc !important; border-top:1px solid #b8c9e2; color:#102a4c; }
.report-grand-total-detail-row td { padding:.55rem .7rem .9rem !important; background:#f3f7fd !important; border-bottom:1px solid #b8c9e2; color:#52647d; font-size:.82rem; }
.report-grand-total-detail-row strong { color:#18355f; }
.currency-provider-summary { overflow-x:auto; }
.currency-provider-summary-title { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding:.2rem .5rem .55rem; }
.currency-provider-summary-title span { color:#64748b; }
.currency-provider-summary-grid { display:grid; grid-template-columns:minmax(180px,1.5fr) 85px repeat(4,minmax(125px,1fr)); gap:.8rem; align-items:center; min-width:850px; padding:.48rem .6rem; }
.currency-provider-summary-grid:not(.currency-provider-summary-header):not(.currency-provider-summary-total) { margin-bottom:.25rem; border:1px solid #dce6f3; border-radius:.4rem; background:#fff; }
.currency-provider-summary-header { padding-top:.25rem; padding-bottom:.35rem; color:#64748b; font-size:.7rem; font-weight:700; letter-spacing:.035em; text-transform:uppercase; }
.currency-provider-summary-total { margin-top:.35rem; border-top:1px solid #9fb4d1; background:#e8f0fb; }
@media(max-width:700px){.currency-provider-summary-title{align-items:flex-start;flex-direction:column;gap:.15rem}}
.card-combination-view-controls { display:flex; align-items:center; flex-wrap:wrap; gap:.45rem; margin:.25rem 0 1rem; padding:.7rem .8rem; border:1px solid #dce6f3; border-radius:.55rem; background:#f7faff; }
.card-combination-view-controls > span { margin-right:.2rem; color:#52647d; font-size:.82rem; font-weight:700; }
#card-combination-table tr.card-combination-group-start > td { border-top:3px solid #9bb5da !important; }
#card-combination-table tr.card-combination-group-start > td:first-child::before { display:block; width:max-content; max-width:100%; margin:0 0 .38rem; padding:.18rem .45rem; border-radius:999px; background:#dceaff; color:#174f9b; content:attr(data-group-label); font-size:.68rem; font-weight:800; letter-spacing:.025em; text-transform:uppercase; }
#receivables-report-table tr.receivable-group-start > td { border-top:3px solid #9bb5da !important; }
#receivables-report-table tr.receivable-group-start > td:first-child::before { display:block; width:max-content; max-width:100%; margin:0 0 .38rem; padding:.18rem .45rem; border-radius:999px; background:#dceaff; color:#174f9b; content:attr(data-group-label); font-size:.68rem; font-weight:800; letter-spacing:.025em; text-transform:uppercase; }
.third-party-received-summary .third-party-summary-total > td { border-top:3px solid #8da7cd; background:#e5eefc !important; color:#102a4c; }
.third-party-received-summary .third-party-summary-state > td { background:#eef4fd !important; border-top:1px solid #b8cae5; color:#18355f; }
.third-party-received-summary .third-party-summary-state > td:first-child { padding-left:1.25rem; }
.third-party-received-summary .third-party-summary-paid > td:first-child { border-left:4px solid #198754; }
.third-party-received-summary .third-party-summary-open > td:first-child { border-left:4px solid #dc3545; }
.third-party-received-summary .third-party-summary-financial-accordion > td { padding:.45rem 1.25rem .7rem 2rem; background:#f8fbff !important; }
.third-party-summary-financial-accordion details > summary,.ready-to-sell-summary details > summary { width:max-content; cursor:pointer; color:#1769d1; font-weight:700; list-style-position:inside; }
.third-party-account-accordion { margin:.75rem 0 .25rem; padding:.75rem; overflow-x:auto; border:1px solid #dce6f3; border-radius:.45rem; background:#fff; }
.third-party-account-accordion .table { margin:0; }
.third-party-account-accordion .table th,.third-party-account-accordion .table td { padding:.55rem .7rem; }
.third-party-account-accordion .grid-toolbar { margin-bottom:.75rem; }
.third-party-account-accordion .grid-pager { margin-top:.75rem; }
.ready-to-sell-summary details[open] > summary,.third-party-summary-financial-accordion details[open] > summary { margin-bottom:.15rem; }
.third-party-received-summary .third-party-summary-financial > td { background:#f8fbff !important; }
.third-party-received-summary .third-party-summary-financial > td:first-child { padding-left:3rem; }
.third-party-received-summary .third-party-summary-financial > td:first-child span { display:block; font-weight:700; color:#18355f; }
.third-party-received-summary .third-party-summary-financial > td:first-child small { display:block; color:#64748b; }
.third-party-summary-note { margin:.75rem 0; padding:.75rem 1rem; border:1px solid #bfd1ec; border-radius:.5rem; background:#f7faff; color:#334e75; }
.ready-to-sell-division { margin-top:2rem; padding-top:1.5rem; border-top:2px solid #d8e3f1; }
.ready-to-sell-summary { margin:0; padding:1rem 1.1rem; border:1px solid #9fd6b6; border-radius:.6rem; background:#f1fbf5; }
.ready-to-sell-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.55rem; }
.ready-to-sell-heading > div:first-child strong,.ready-to-sell-heading > div:first-child span { display:block; }
.ready-to-sell-heading > div:first-child strong { color:#146c43; font-size:1rem; }
.ready-to-sell-heading > div:first-child span { margin-top:.15rem; color:#52647d; font-size:.82rem; }
.ready-to-sell-totals { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.4rem; }
.ready-to-sell-totals strong { padding:.35rem .6rem; border-radius:999px; background:#dff5e8; color:#146c43; white-space:nowrap; }
.accordion-filtered-total td { border-top:2px solid #9fcfb2 !important; background:#e8f7ee !important; color:#145c39; }
.accordion-filtered-total td:first-child span { display:block; margin-top:.1rem; color:#64748b; font-size:.76rem; font-weight:400; }
.accordion-filtered-total td:last-child strong { display:block; white-space:nowrap; }
@media(max-width:700px){.ready-to-sell-heading{align-items:flex-start;flex-direction:column}.ready-to-sell-totals{justify-content:flex-start}}
#reconciliation-report-table tr.reconciliation-group-start > td { border-top:3px solid #9bb5da !important; }
#reconciliation-report-table tr.reconciliation-group-start > td:first-child::before { display:block; width:max-content; max-width:100%; margin:0 0 .38rem; padding:.18rem .45rem; border-radius:999px; background:#dceaff; color:#174f9b; content:attr(data-group-label); font-size:.68rem; font-weight:800; letter-spacing:.025em; text-transform:uppercase; }
#reconciliation-report-table tr.reconciliation-status-total > td { border-top:1px solid #9fb4d1; background:#e8f0fb !important; color:#18355f; font-weight:700; }
.transfer-settlement-allocations { grid-column:1/-1; padding:1rem; border:1px solid #b9d2f5; border-radius:.7rem; background:#f5f9ff; }
.settlement-allocation-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.65rem; }
.settlement-allocation-heading strong,.settlement-allocation-heading small { display:block; }
.settlement-allocation-heading small { color:var(--muted); margin-top:.15rem; }
.settlement-allocation-row { display:grid; grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) minmax(145px,.65fr) minmax(170px,.75fr) auto; align-items:end; gap:.65rem; padding:.55rem 0; border-top:1px solid #d8e5f6; }
@media(max-width:1100px){.settlement-allocation-row{grid-template-columns:1fr 1fr}.settlement-allocation-row [data-remove-settlement-allocation]{justify-self:start}}
.settlement-allocation-row:first-child { border-top:0; }
.settlement-allocation-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; margin-top:.65rem; }
.settlement-allocation-summary span { padding:.6rem .75rem; border-radius:.45rem; background:#fff; color:#53647d; }
.settlement-allocation-summary strong { display:block; margin-top:.15rem; color:#14213a; }
@media(max-width:700px){.settlement-allocation-row,.settlement-allocation-summary{grid-template-columns:1fr}.settlement-allocation-heading{align-items:flex-start;flex-direction:column}}
.provision-entry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
@media(max-width:1000px){.provision-entry-grid{grid-template-columns:1fr}}
.test-data-counts .metric { border:1px solid var(--line); box-shadow:none; }
.test-data-reset-form { display:grid; grid-template-columns:minmax(240px,420px) auto; align-items:end; gap:.75rem; max-width:760px; }
@media(max-width:620px){.test-data-reset-form{grid-template-columns:1fr}}
@media (max-width:900px){.commission-transfer-preview{grid-template-columns:repeat(2,minmax(140px,1fr));}}
.editable-grid td { vertical-align: middle; }
.editable-grid .form-control, .editable-grid .form-select { min-width: 140px; }
.editable-grid .account-limit-form { min-width: 720px; }
.cash-internal-account-grid { width:100%; min-width:0; table-layout:fixed; font-size:.88rem; }
.cash-internal-account-grid th,
.cash-internal-account-grid td { padding:.48rem .4rem; white-space:normal; overflow-wrap:anywhere; }
.cash-internal-account-grid th:nth-child(1) { width:10%; }
.cash-internal-account-grid th:nth-child(2) { width:9%; }
.cash-internal-account-grid th:nth-child(3) { width:10%; }
.cash-internal-account-grid th:nth-child(4) { width:15%; }
.cash-internal-account-grid th:nth-child(5) { width:9%; }
.cash-internal-account-grid th:nth-child(6) { width:12%; }
.cash-internal-account-grid th:nth-child(7) { width:14%; }
.cash-internal-account-grid th:nth-child(8) { width:12%; }
.cash-internal-account-grid th:nth-child(9) { width:5%; }
.cash-internal-account-grid th:nth-child(10) { width:4%; }
.cash-internal-account-grid .form-control,
.cash-internal-account-grid .form-select { width:100%; min-width:0; padding-left:.45rem; padding-right:1.65rem; font-size:.84rem; }
.cash-internal-account-grid td:nth-child(6),
.cash-internal-account-grid td:nth-child(7),
.cash-internal-account-grid td:nth-child(8) { white-space:nowrap; }
.cash-internal-account-grid td:nth-child(9) { text-align:center; }
.cash-internal-account-grid td:last-child .btn { width:100%; padding:.28rem .3rem; font-size:.78rem; }
@media(max-width:1199.98px){.cash-internal-account-grid{min-width:1050px;table-layout:auto}}
.account-service-limits-wrap { overflow-x:hidden; }
.account-service-limit-grid { width:100%; min-width:0; table-layout:fixed; }
.account-service-limit-grid th,
.account-service-limit-grid td { padding-left:.55rem; padding-right:.55rem; white-space:normal; overflow-wrap:anywhere; }
.account-service-limit-grid th:nth-child(1) { width:10%; }
.account-service-limit-grid th:nth-child(2) { width:16%; }
.account-service-limit-grid th:nth-child(3) { width:15%; }
.account-service-limit-grid th:nth-child(4) { width:8%; }
.account-service-limit-grid th:nth-child(5),
.account-service-limit-grid th:nth-child(6),
.account-service-limit-grid th:nth-child(7) { width:11%; }
.account-service-limit-grid th:nth-child(8) { width:10%; }
.account-service-limit-grid th:nth-child(9) { width:8%; }
.account-service-limit-grid .form-control,
.account-service-limit-grid .form-select { width:100%; min-width:0; }
.account-service-limit-grid .grid-actions { min-width:0; flex-wrap:wrap; }
.account-service-limit-grid .grid-actions .btn { width:100%; padding-left:.35rem; padding-right:.35rem; white-space:normal; }
.service-report-filters { display:flex; flex-wrap:wrap; gap:.5rem; margin:.85rem 0 1rem; }
.service-report-filters .btn { border-radius:999px; padding:.38rem .85rem; }
.service-report-filters .service-zero-usage-toggle { margin-left:auto; }

/* Make every data grid easier to scan: alternating rows plus a clear hover target. */
.table > tbody > tr:nth-child(odd) > * { background-color:#f4f7fb !important; }
.table > tbody > tr:nth-child(even) > * { background-color:#fff !important; }
.table > tbody > tr:not(:has(.empty)):hover > * { background-color:#dceaff !important; }
.table > tbody > tr > * { transition:background-color .12s ease-in-out; }
.grid-scroll-viewport .table > :not(caption) > * > * { padding:.48rem .55rem; }
.grid-scroll-viewport .table { font-size:.88rem; }
.grid-scroll-viewport .table th { font-size:.69rem; }
.table > tbody > tr > .sticky-action,
.table > tbody > tr > td[style*="position:sticky"] { background-color:inherit !important; }
.ledger-action-cell { position:sticky; right:0; z-index:3; min-width:105px; white-space:nowrap; background:inherit !important; box-shadow:-8px 0 12px -12px rgba(21,37,65,.55); }
th.ledger-action-cell { z-index:13; background:#fff !important; }
.table .table-action-column {
    width:1%;
    max-width:190px;
    white-space:nowrap;
    text-align:right;
    vertical-align:middle;
}
.table th.table-action-column { text-align:right; }
.table td.table-action-column > form { display:inline-flex; margin:0 0 0 .3rem; }
.table td.table-action-column > .grid-actions { width:max-content; margin-left:auto; }
.table .table-action-column .btn { width:auto; white-space:nowrap; }
.table .reconciliation-action-cell,
.table .reconciliation-action-cell.table-action-column {
    position:sticky;
    right:0;
    z-index:3;
    box-sizing:border-box;
    max-width:340px;
    padding-left:.55rem;
    padding-right:.55rem;
    text-align:right;
    white-space:nowrap;
    background:#fff !important;
    box-shadow:-8px 0 12px -12px rgba(21,37,65,.55);
}
.table th.reconciliation-action-cell,
.table th.reconciliation-action-cell.table-action-column { z-index:13; background:#fff !important; }
.table td.reconciliation-action-cell > .grid-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:nowrap;
    gap:.3rem;
    width:100%;
    margin:0;
}
.table td.reconciliation-action-cell > .grid-actions > * { flex:0 0 auto; margin:0; }

/* Action columns are an opaque control surface across every data grid. */
.table > thead > tr > .table-action-column,
.table > thead > tr > .transfer-action-cell,
.table > thead > tr > .ledger-action-cell,
.table > thead > tr > .reconciliation-action-cell,
.table > tbody > tr > .table-action-column,
.table > tbody > tr > .transfer-action-cell,
.table > tbody > tr > .ledger-action-cell,
.table > tbody > tr > .reconciliation-action-cell,
.table > tbody > tr:not(:has(.empty)):hover > .table-action-column,
.table > tbody > tr:not(:has(.empty)):hover > .transfer-action-cell,
.table > tbody > tr:not(:has(.empty)):hover > .ledger-action-cell,
.table > tbody > tr:not(:has(.empty)):hover > .reconciliation-action-cell {
    background-color:#fff !important;
}
.grid-inline-readonly,
.grid-inline-readonly:disabled {
    pointer-events:none;
    border-color:transparent!important;
    background:transparent!important;
    box-shadow:none!important;
    color:inherit!important;
    opacity:1!important;
    -webkit-text-fill-color:currentColor;
}
select.grid-inline-readonly { appearance:none; background-image:none!important; padding-right:.5rem; }
textarea.grid-inline-readonly { resize:none; }
.grid-control-source-hidden { display:none!important; }
.grid-readonly-value { display:block; min-height:1.2rem; padding:.08rem .1rem; color:var(--ink); white-space:normal; overflow-wrap:anywhere; }
.grid-readonly-value.status { display:inline-flex; align-items:center; justify-content:center; min-width:4.6rem; padding:.25rem .55rem; }
.grid-status-active { color:#176b45; background:#e8f7ef; }
.grid-status-inactive { color:#667085; background:#f2f4f7; }
.application-limits .grid-readonly-value { margin-bottom:.2rem; }
.grid-edit-card-active { border-color:#8bb6ff; box-shadow:0 10px 28px rgba(47,111,237,.13); scroll-margin-top:6.5rem; }
.grid-edit-card-active h2 { color:#174ea6; }
/* Statement dates are edited through the complete transaction editor. */
.balance-statement-grid tbody td:first-child form > button { display:none!important; }
.transaction-opening-overlay {
    position:fixed;
    inset:0;
    z-index:1090;
    display:grid;
    place-items:center;
    background:rgba(244,247,251,.96);
    backdrop-filter:blur(3px);
}
.transaction-opening-card {
    display:flex;
    align-items:center;
    gap:1rem;
    min-width:min(430px,calc(100vw - 2rem));
    padding:1.25rem 1.4rem;
    border:1px solid #cbd9ee;
    border-radius:.85rem;
    background:#fff;
    box-shadow:0 18px 50px rgba(21,37,65,.16);
    color:var(--ink);
}
.transaction-opening-card .spinner-border { width:1.65rem; height:1.65rem; flex:0 0 auto; }
.transaction-opening-card div { display:flex; flex-direction:column; gap:.2rem; }
.transaction-opening-card strong { font-size:1rem; }
.transaction-opening-card span:not(.spinner-border) { color:var(--muted); font-size:.88rem; }
.context-transaction-modal .modal-dialog { width:min(1480px,96vw); max-width:none; }
.context-transaction-modal .modal-content { border:0; background:#f4f7fb; }
.context-transaction-loading { min-height:18rem; display:flex; align-items:center; justify-content:center; gap:.75rem; color:var(--ink); background:#f4f7fb; }
.context-transaction-modal .app-modal-editor-panel { margin:0; }
.provision-plan-panel { overflow:hidden; }
.provision-board { display:grid; gap:1rem; max-height:76vh; overflow-y:auto; padding:.15rem .35rem .5rem .05rem; }
.provision-day { border:1px solid #d8e2f0; border-radius:.85rem; background:#f7f9fc; overflow:hidden; }
.provision-day > header { position:sticky; top:0; z-index:4; display:flex; justify-content:space-between; align-items:center; padding:.8rem 1rem; border-bottom:1px solid #d8e2f0; background:#eef4fd; }
.provision-day h3 { margin:0; font-size:1rem; }
.provision-day-count { color:var(--muted); font-size:.85rem; }
.provision-day-dropzone { display:grid; gap:.8rem; min-height:4.5rem; padding:.8rem; }
.provision-day-dropzone.provision-drop-active { background:#e8f1ff; outline:2px dashed #2f6fed; outline-offset:-5px; }
.provision-step-card { border:1px solid #ced9e8; border-radius:.75rem; background:#fff; box-shadow:0 4px 14px rgba(21,37,65,.06); overflow:hidden; }
.provision-step-card.provision-dragging { opacity:.45; }
.provision-step-heading { display:grid; grid-template-columns:auto auto minmax(0,1fr) auto; align-items:center; gap:.65rem; padding:.75rem .85rem; border-bottom:1px solid #e4eaf2; }
.provision-step-heading > div { display:flex; flex-direction:column; min-width:0; }
.provision-step-heading > div span { color:var(--muted); font-size:.82rem; }
.provision-drag-handle { cursor:grab; color:#7b8ba5; font-weight:800; letter-spacing:-.15rem; }
.provision-step-number { padding:.25rem .5rem; border-radius:999px; color:#174ea6; background:#e8f1ff; font-size:.78rem; font-weight:700; white-space:nowrap; }
.provision-profit { padding:.3rem .55rem; border-radius:.5rem; font-weight:700; white-space:nowrap; }
.provision-profit.positive { color:#176b45; background:#e8f7ef; }
.provision-profit.neutral { color:#8a5b00; background:#fff3cd; }
.provision-step-controls { display:grid; grid-template-columns:repeat(2,minmax(180px,280px)); gap:.65rem; padding:.7rem .85rem 0; }
.provision-step-controls label { color:var(--muted); font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.provision-route { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:.8rem; padding:.8rem .85rem; }
.provision-route > div { display:flex; flex-direction:column; padding:.65rem .75rem; border-radius:.55rem; background:#f4f7fb; }
.provision-route span,.provision-balance-grid span,.provision-metrics span { color:var(--muted); font-size:.76rem; }
.provision-route-arrow { color:#2f6fed; font-size:1.35rem; }
.provision-balance-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; padding:0 .85rem .8rem; }
.provision-balance-grid > div { display:flex; flex-direction:column; gap:.15rem; padding:.65rem .75rem; border:1px solid #dce5f0; border-radius:.55rem; }
.provision-balance-grid small { color:var(--muted); }
.provision-metrics { display:grid; grid-template-columns:repeat(6,minmax(120px,1fr)); border-top:1px solid #e4eaf2; border-bottom:1px solid #e4eaf2; }
.provision-metrics > div { display:flex; flex-direction:column; padding:.65rem .75rem; border-right:1px solid #e4eaf2; }
.provision-limits summary { cursor:pointer; padding:.65rem .85rem; color:#174ea6; font-weight:700; }
.provision-limits > div { padding:0 .85rem .75rem; }
.provision-limits p { margin:0 0 .35rem; }
@media(max-width:1100px){.provision-metrics{grid-template-columns:repeat(3,1fr)}.provision-step-controls{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.provision-step-heading{grid-template-columns:auto auto 1fr}.provision-profit{grid-column:2/4}.provision-step-controls,.provision-balance-grid{grid-template-columns:1fr}.provision-metrics{grid-template-columns:repeat(2,1fr)}}
@media print { body * { visibility:hidden!important; } #provision-plan-results,#provision-plan-results * { visibility:visible!important; } #provision-plan-results { position:absolute; inset:0; box-shadow:none; } .provision-board { max-height:none; overflow:visible; } .provision-step-controls,.provision-drag-handle,[data-provision-print] { display:none!important; } .provision-day { break-inside:avoid; } .provision-step-card { break-inside:avoid; box-shadow:none; } .provision-limits > div { display:block!important; } }
.provision-workspace { display:grid; gap:.85rem; padding:1rem; border:1px solid #d9e2ef; border-radius:1rem; background:#f3f6fb; }
.provision-workspace-head,.provision-parameter-bar,.provision-summary,.provision-footer { border:1px solid #d9e2ef; border-radius:.75rem; background:#fff; }
.provision-workspace-head { padding:1rem; }
.provision-workspace-head h2 { margin:0 0 .2rem; font-size:1.25rem; }
.provision-workspace-head p,.provision-footer p { margin:0; color:var(--muted); font-size:.82rem; }
.provision-parameter-bar { display:grid; grid-template-columns:repeat(6,minmax(110px,1fr)); gap:.65rem; padding:.85rem; }
.provision-parameter-bar label { color:var(--muted); font-size:.72rem; }
.provision-parameter-bar .form-control,.provision-parameter-bar .form-select { margin-top:.2rem; font-size:.8rem; }
.provision-three-column { display:grid; grid-template-columns:220px minmax(520px,1fr) 235px; gap:.85rem; max-height:650px; overflow-y:auto; align-items:start; }
.provision-side-column,.provision-schedule-column { min-width:0; padding:.75rem; border:1px solid #d9e2ef; border-radius:.75rem; background:#fff; }
.provision-side-column { position:sticky; top:0; }
.provision-side-column h3,.provision-schedule-column h3 { margin:0 0 .65rem; font-size:.95rem; }
.provision-side-item { margin-bottom:.55rem; padding:.65rem; border-radius:.55rem; background:#edf3fb; }
.provision-side-item strong,.provision-side-item span { display:block; }
.provision-side-item span { margin-top:.12rem; color:var(--muted); font-size:.72rem; }
.provision-meter { height:6px; margin-top:.45rem; overflow:hidden; border-radius:10px; background:#dce5f0; }
.provision-meter i { display:block; height:100%; border-radius:inherit; background:#16845b; }
.provision-side-item.target .provision-meter i { background:#d48a19; }
.provision-day-tabs { display:flex; gap:.35rem; margin-bottom:.65rem; overflow-x:auto; padding-bottom:.2rem; }
.provision-day-tab { flex:0 0 auto; padding:.35rem .55rem; border:1px solid #d9e2ef; border-radius:.45rem; background:#fff; color:var(--ink); font-size:.76rem; }
.provision-day-tab span { display:inline-grid; place-items:center; min-width:1.15rem; margin-left:.2rem; padding:.05rem .25rem; border-radius:999px; background:#edf3fb; font-size:.67rem; }
.provision-day-tab.active { border-color:#1769e8; background:#1769e8; color:#fff; }
.provision-day-tab.active span { background:rgba(255,255,255,.22); }
.provision-schedule-column .provision-board { max-height:none; padding:0; overflow:visible; }
.provision-schedule-column .provision-day { border:0; background:transparent; }
.provision-schedule-column .provision-day-dropzone { padding:0; }
.provision-schedule-column .provision-step-card { border-left:4px solid #16845b; }
.provision-schedule-column .provision-step-heading { grid-template-columns:auto 30px minmax(0,1fr) auto; }
.provision-schedule-column .provision-step-number { display:grid; place-items:center; width:28px; height:28px; padding:0; }
.provision-schedule-column .provision-profit { display:flex; flex-direction:column; align-items:flex-end; }
.provision-schedule-column .provision-profit small { font-weight:400; }
.provision-schedule-column .provision-step-controls { grid-template-columns:minmax(160px,240px); padding:.6rem .85rem; }
.provision-schedule-column .provision-route > div { background:#edf3fb; }
.provision-schedule-column .provision-balance-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.provision-schedule-column .provision-metrics { grid-template-columns:repeat(5,minmax(100px,1fr)); }
.provision-schedule-column .provision-metrics strong { font-size:.78rem; overflow-wrap:anywhere; }
.provision-legend { display:flex; gap:1rem; margin-top:.65rem; color:var(--muted); font-size:.72rem; }
.provision-dot { display:inline-block; width:8px; height:8px; margin-right:.25rem; border-radius:50%; }
.provision-dot.executable { background:#16845b; }.provision-dot.near { background:#d48a19; }.provision-dot.blocked { background:#c43e4b; }
.provision-summary { display:grid; grid-template-columns:repeat(5,1fr); gap:.5rem; padding:.8rem; }
.provision-summary div { padding:.25rem .45rem; }
.provision-summary span,.provision-summary strong { display:block; }
.provision-summary span { color:var(--muted); font-size:.7rem; }.provision-summary strong { font-size:.95rem; }
.provision-footer { position:sticky; bottom:.5rem; z-index:8; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.8rem; box-shadow:0 -8px 20px rgba(21,37,65,.08); }
.provision-footer > div:last-child { display:flex; gap:.45rem; flex-shrink:0; }
@media(max-width:1100px){.provision-parameter-bar{grid-template-columns:repeat(3,1fr)}.provision-three-column{grid-template-columns:1fr;max-height:none}.provision-side-column{position:static}.provision-schedule-column .provision-balance-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.provision-parameter-bar{grid-template-columns:repeat(2,1fr)}.provision-summary{grid-template-columns:repeat(2,1fr)}.provision-footer{position:static;align-items:flex-start;flex-direction:column}.provision-schedule-column .provision-metrics{grid-template-columns:repeat(2,1fr)}}

/* Responsive application shell and reusable content patterns. */
html, body { max-width:100%; }
img, svg, video, canvas { max-width:100%; height:auto; }
.panel, .metric, .modal-content, .page-heading > *, .panel-heading-row > *, .panel-title > * { min-width:0; }
.table-responsive { width:100%; max-width:100%; -webkit-overflow-scrolling:touch; }
.table-responsive::after { content:""; position:sticky; right:0; display:block; width:1px; height:1px; }
.form-control, .form-select, .btn { max-width:100%; }

@media(max-width:991.98px) {
    .app-header { position:sticky; }
    .app-nav { padding:.65rem 0; }
    .app-nav > .container-fluid { align-items:center; }
    .app-nav .navbar-brand { max-width:calc(100% - 4rem); margin-right:auto; text-align:left; word-break:normal; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .app-nav .utc-badge { order:3; margin:.55rem 0 0; }
    .app-nav .navbar-collapse { flex-basis:100%; width:100%; max-height:calc(100dvh - 64px); margin-top:.55rem; padding:.35rem 0 .75rem; overflow-y:auto; overscroll-behavior:contain; }
    .app-nav .navbar-nav { width:100%; padding-top:0; }
    .app-nav .nav-link { min-height:44px; display:flex; align-items:center; padding:.65rem .75rem; border-radius:.45rem; }
    .app-nav .dropdown-menu { position:static!important; width:100%; margin:0 0 .4rem; border-color:#33415d; background:#192743; box-shadow:none; }
    .app-nav .dropdown-item { min-height:42px; display:flex; align-items:center; color:#e4eaf5; white-space:normal; }
    .app-nav .dropdown-item:hover,.app-nav .dropdown-item:focus { color:#fff; background:#263858; }
    .app-nav .dropdown-divider { border-color:#41506b; }
    .app-nav .navbar-collapse > .navbar-nav:last-child { padding-top:.45rem; border-top:1px solid #33415d; }
    .app-editor-modal .modal-dialog, .context-transaction-modal .modal-dialog { width:auto; max-width:calc(100vw - 1rem); margin:.5rem; }
    .modal-dialog.modal-xl { max-width:calc(100vw - 1rem); margin:.5rem; }
    .panel-heading-row, .add-panel-header, .panel-title { align-items:flex-start; flex-wrap:wrap; }
    .panel-heading-actions, .add-panel-header-actions { width:100%; justify-content:flex-start; }
}

@media(max-width:767.98px) {
    html { font-size:14px; }
    .app-page-container { padding-left:.75rem; padding-right:.75rem; }
    main.app-main, main[role="main"] { padding-top:1rem; }
    .page-heading { align-items:flex-start; flex-direction:column; gap:.8rem; margin-bottom:1rem; }
    .page-heading h1 { font-size:clamp(1.55rem,7vw,1.9rem); line-height:1.15; }
    .page-heading-actions { width:100%; justify-content:flex-start; }
    .page-heading-actions > .btn, .page-heading > .btn { flex:1 1 auto; }
    .panel { padding:.9rem; border-radius:11px; }
    .metric { padding:.9rem; }
    .metric strong { font-size:1.3rem; overflow-wrap:anywhere; }
    .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
    .form-grid, .rate-form-grid, .account-form-grid, .account-edit-form, .card-limit-form, .commission-transfer-preview, .commission-transfer-preview.third-party-balance-preview, .commission-transfer-preview.third-party-calculation { grid-template-columns:1fr; }
    .transfer-operation-step { grid-column:auto; }
    .setup-grid, .two-field-grid { grid-template-columns:1fr; }
    .inline-form { min-width:0; width:100%; flex-direction:column; align-items:stretch; }
    .inline-form > *, .form-action, .form-action .btn, .rate-action, .rate-action .btn { width:100%; }
    .editable-row, .editable-beneficiary, .editable-rate { grid-template-columns:1fr; }
    .request-row { align-items:flex-start; flex-direction:column; gap:.3rem; }
    .request-row strong { overflow-wrap:anywhere; }
    .table-responsive { max-height:70dvh; margin-right:0; border-radius:.35rem; }
    .table { width:max-content; min-width:100%; }
    .table th, .table td { max-width:20rem; }
    .table .form-control, .table .form-select { min-height:40px; }
    .grid-toolbar, .grid-pager { align-items:stretch; flex-direction:column; }
    .grid-search-wrap { width:100%; flex-wrap:wrap; }
    .grid-search { flex:1 1 100%; min-width:0; }
    .grid-search-wrap > .btn { flex:1 1 auto; }
    .grid-count { align-self:flex-end; }
    .grid-export-toolbar, .grid-export-actions { width:100%; }
    .grid-export-actions { justify-content:flex-end; flex-wrap:wrap; }
    .grid-page-navigation { width:100%; justify-content:space-between; }
    .grid-filter-field, .grid-filter-panel .btn { width:100%; min-width:0; }
    .balance-filter-form, .balance-custom-dates { grid-template-columns:1fr; }
    .balance-periods, .balance-custom-dates, .balance-filter-actions { grid-column:1/-1; }
    .balance-periods { display:grid; grid-template-columns:repeat(3,1fr); }
    .balance-filter-actions { flex-direction:column; }
    .balance-filter-actions .btn { width:100%; }
    .modal-dialog:not(.modal-fullscreen) { width:auto; max-width:calc(100vw - 1rem); margin:.5rem; }
    .modal-content { max-height:calc(100dvh - 1rem); }
    .modal-header, .modal-body, .modal-footer { padding:.8rem; }
    .modal-header > div { min-width:0; }
    .modal-title, .modal-header p { overflow-wrap:anywhere; }
    .commission-assignment-accordion .accordion-button { align-items:flex-start; flex-wrap:wrap; padding:.8rem; }
    .commission-assignment-summary { width:100%; margin-left:0; padding-right:1.5rem; white-space:normal; }
    .limit-related-modal .modal-dialog { width:calc(100vw - 1rem); height:calc(100dvh - 1rem); margin:.5rem; }
    .provision-parameter-bar { grid-template-columns:1fr; }
    .provision-three-column { grid-template-columns:1fr; max-height:none; }
    .provision-side-column { position:static; }
    .provision-schedule-column .provision-balance-grid, .provision-schedule-column .provision-metrics { grid-template-columns:1fr; }
    .provision-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .provision-footer { position:static; align-items:stretch; flex-direction:column; }
    .provision-footer > div:last-child { width:100%; flex-wrap:wrap; }
    .provision-footer .btn { flex:1 1 auto; }
    .footer { padding:.8rem 0; line-height:1.4; white-space:normal; text-align:center; }
    .toast-container { width:100%; margin-bottom:0; padding:.75rem!important; }
    .app-toast { width:100%; min-width:0; }
    .table .reconciliation-action-cell,
    .table .reconciliation-action-cell.table-action-column {
        width:148px;
        min-width:148px;
        max-width:148px;
        white-space:normal;
    }
    .table td.reconciliation-action-cell > .grid-actions {
        align-items:stretch;
        flex-direction:column;
        gap:.4rem;
    }
    .table td.reconciliation-action-cell > .grid-actions > *,
    .table td.reconciliation-action-cell > .grid-actions form,
    .table td.reconciliation-action-cell > .grid-actions .btn {
        width:100%;
        max-width:100%;
    }
    .table td.reconciliation-action-cell > .grid-actions .btn {
        min-height:38px;
        padding:.35rem .4rem;
        overflow:hidden;
        text-overflow:ellipsis;
    }
}

@media(max-width:479.98px) {
    .brand-mark { width:27px; height:27px; }
    .navbar-brand { font-size:1rem; }
    .utc-badge { display:none; }
    .metric-grid { grid-template-columns:1fr; }
    .page-heading-actions, .panel-heading-actions, .add-panel-header-actions { flex-direction:column; align-items:stretch; }
    .page-heading-actions .btn, .panel-heading-actions .btn, .add-panel-header-actions .btn { width:100%; }
    .balance-periods { grid-template-columns:repeat(2,1fr); }
    .grid-export-actions .btn { flex:1 1 8rem; }
    .modal-footer { flex-wrap:wrap; }
    .modal-footer .btn { flex:1 1 auto; }
    .auth-page main section { padding:1.25rem; }
}
.transfer-service-section {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
    padding: 1rem;
    border: 1px solid var(--border-color, #d8e0ea);
    border-radius: .75rem;
}

.transfer-service-section legend {
    float: none;
    width: auto;
    margin: 0;
    padding: 0 .35rem;
    color: #0d3f8f;
    font-size: .95rem;
    font-weight: 700;
}

.transfer-service-section > p {
    grid-column: 1 / -1;
    margin: 0;
}

.financial-service-form > .transfer-service-limits { order: 1; }
.financial-service-form > .transfer-card-limits { order: 2; }
.financial-service-form > .form-action { order: 3; }

@media (max-width: 900px) {
    .transfer-service-section { grid-template-columns: 1fr; }
}
.enhanced-service-limit-report .grid-scroll-viewport { max-height:none; overflow:visible; }
.enhanced-service-limit-report .grid-scroll-viewport > table { width:100%; min-width:0; table-layout:fixed; }
.enhanced-service-limit-report .table th { padding:.42rem .3rem; font-size:.61rem; overflow-wrap:anywhere; }
.enhanced-service-limit-report .table td { padding:.5rem .36rem; font-size:.77rem; overflow-wrap:anywhere; vertical-align:top; }
.enhanced-service-limit-report td small { margin-bottom:.2rem; white-space:normal; line-height:1.28; color:#44516a; }
.enhanced-service-limit-report td small strong { color:#14213a; }
.enhanced-service-limit-report .account-service-usage-value { color:#14213a; font-size:.78rem; }
.enhanced-service-limit-report .account-service-usage-value strong { font-weight:800; }
.enhanced-service-limit-report th:nth-child(1) { width:12%; }
.enhanced-service-limit-report th:nth-child(2) { width:8%; }
.enhanced-service-limit-report th:nth-child(3) { width:10%; }
.enhanced-service-limit-report th:nth-child(4) { width:17%; }
.enhanced-service-limit-report th:nth-child(5) { width:12%; }
.enhanced-service-limit-report th:nth-child(6) { width:19%; }
.enhanced-service-limit-report th:nth-child(7) { width:13%; }
.enhanced-service-limit-report th:nth-child(8) { width:5%; }
.enhanced-service-limit-report th:nth-child(9) { width:4%; }
.enhanced-service-limit-report .pool-scope-badge { display:inline-block; margin-bottom:.3rem; padding:.16rem .45rem; border-radius:999px; background:#e7f0ff; color:#075fd8; font-size:.68rem; font-weight:800; }
.enhanced-service-limit-report .pool-member-list { color:#23344f; font-weight:700; }
.enhanced-service-limit-report .report-usage-number { display:block; margin:.05rem 0 .35rem; color:#0b1f44; font-size:.9rem; }
.enhanced-service-limit-report .report-highest-percent { display:block; color:#0b1f44; font-size:.9rem; }
