.loan-control-note{display:flex;align-items:flex-start;gap:12px;margin:14px 0 18px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--gold,#d7aa24) 34%,transparent);border-radius:12px;background:color-mix(in srgb,var(--gold,#d7aa24) 7%,transparent);color:var(--command-text,var(--text,#171717))}
.loan-control-note .ui-icon{width:20px;min-width:20px;color:var(--gold,#b88a08)}
.loan-control-note span{display:grid;gap:3px;font-size:12px;line-height:1.5}.loan-control-note b{font-size:13px}
.loan-term-pending{display:inline-flex;align-items:center;color:var(--command-muted,var(--muted,#777));font-size:12px;font-weight:700}
.legacy-portfolio-disclosure{display:flex;align-items:flex-start;gap:8px;margin:0 0 16px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--gold,#d7aa24) 32%,transparent);border-radius:10px;background:color-mix(in srgb,var(--gold,#d7aa24) 7%,transparent);font-size:11px;line-height:1.45}.legacy-portfolio-disclosure b{white-space:nowrap}.legacy-portfolio-disclosure span{color:var(--command-muted,var(--muted,#777))}
.loan-basis-badge{display:block;width:max-content;max-width:160px;margin-top:6px;padding:3px 7px;border:1px solid;border-radius:999px;font-size:8px;font-weight:700;line-height:1.25;letter-spacing:.3px;text-transform:uppercase}.loan-basis-badge.legacy{border-color:color-mix(in srgb,var(--gold,#d7aa24) 38%,transparent);background:color-mix(in srgb,var(--gold,#d7aa24) 9%,transparent);color:var(--gold,#b88a08)}.loan-basis-badge.verified{border-color:rgba(43,191,131,.32);background:rgba(43,191,131,.09);color:#2bbf83}
.loan-legacy-date{display:inline-flex;align-items:center;gap:7px;color:var(--command-text,var(--text,#171717));font-size:11px;font-weight:700}.loan-legacy-date .ui-icon{width:14px;color:var(--gold,#b88a08)}
.legacy-evidence-panel{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid color-mix(in srgb,var(--gold,#d7aa24) 30%,transparent);border-radius:10px;background:color-mix(in srgb,var(--gold,#d7aa24) 7%,transparent)}.legacy-evidence-panel>.ui-icon{width:20px;min-width:20px;color:var(--gold,#b88a08)}.legacy-evidence-panel>div{display:grid;gap:4px;flex:1}.legacy-evidence-panel small{color:var(--command-muted,var(--muted,#777));line-height:1.45}.legacy-evidence-panel .filter-btn{white-space:nowrap}
.legacy-evidence-panel.verified{border-color:rgba(43,191,131,.32);background:rgba(43,191,131,.08)}.legacy-evidence-panel.verified>.ui-icon{color:#2bbf83}
.historical-evidence-upload input[type=file]{padding:10px;border:1px dashed color-mix(in srgb,var(--gold,#d7aa24) 45%,var(--line,#ddd));border-radius:9px;background:color-mix(in srgb,var(--gold,#d7aa24) 5%,transparent)}
.historical-audit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.historical-audit-grid>div{display:grid;gap:6px;padding:13px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:10px;background:var(--command-surface,var(--panel,#fff))}.historical-audit-grid>div.full{grid-column:1/-1}.historical-audit-grid small{color:var(--command-muted,var(--muted,#777))}.historical-audit-grid b{overflow-wrap:anywhere}.historical-evidence-link{justify-content:flex-start;width:max-content;max-width:100%}
.command-treasury-position{display:grid;gap:12px}.command-treasury-position>div{display:grid;gap:4px}.command-treasury-position small{color:var(--command-muted,var(--muted,#777));font-size:9px;letter-spacing:.08em;text-transform:uppercase}.command-treasury-position b{color:var(--command-text);font-size:18px}.command-treasury-position span,.command-treasury-position em{color:var(--command-muted,var(--muted,#777));font-size:10px;line-height:1.4}.command-treasury-position .projected{padding-top:11px;border-top:1px solid var(--command-line,var(--line,#ddd))}.command-treasury-position .projected span{color:var(--command-gold,#c99b28);font-weight:700}.command-treasury-position em{font-style:normal}
.loan-table td>small{display:block;margin-top:5px;color:var(--command-muted,var(--muted,#777));font-size:10px}
.status.awaiting-disbursement,.status.disbursement-pending,.status.payout-unverified{border-color:#a87d16;background:rgba(207,158,32,.12);color:#c99b28}
.status.part-paid,.status.active{border-color:#157e5a;background:rgba(20,135,92,.12);color:#2bbf83}
.status.payment-arrangement{border-color:#3183a5;background:rgba(49,131,165,.12);color:#49add3}
.status.default,.status.written-off{border-color:#a84235;background:rgba(168,66,53,.12);color:#e26455}
.loan-detail-grid .panel small:last-child{display:block;margin-top:5px;color:var(--muted,#777)}
html[data-roc-theme="dark"] .loan-control-note{color:var(--command-text);background:rgba(208,164,37,.08)}
@media(max-width:760px){.loan-control-note{margin-inline:0}.loan-detail-grid,.historical-audit-grid{grid-template-columns:1fr}.historical-audit-grid>div.full{grid-column:auto}.legacy-portfolio-disclosure,.legacy-evidence-panel{display:grid}.legacy-portfolio-disclosure b{white-space:normal}}

/* Ordinary-loan portfolio dashboard visual system */
.loan-dashboard-section{margin:0 0 14px;padding:14px 0 0;border:1px solid var(--command-line,var(--line,#ddd));border-radius:14px;background:var(--command-bg,var(--soft,#f5f3ed))}.loan-dashboard-section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 12px}.loan-dashboard-section>header span{display:flex;align-items:center;gap:8px;color:var(--command-gold,var(--gold,#a9770d));font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.loan-dashboard-section>header span svg{width:16px}.loan-dashboard-section>header small{color:var(--command-muted,var(--muted,#777));font-size:9px}.loan-dashboard-section .kpi-grid{margin:0;padding:0 12px 12px}.loan-dashboard-section .kpi-card{min-height:116px;border-radius:11px}.loan-receivables-section .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.loan-performance-chart{margin:0 0 14px;padding:16px!important;border-radius:14px!important;background:var(--command-surface,var(--panel,#fff))!important;border-color:var(--command-line,var(--line,#ddd))!important}.loan-performance-chart .panel-head{margin-bottom:12px}.loan-performance-chart .panel-head h3{display:flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.8px}.loan-performance-chart .panel-head h3 svg{width:16px;color:var(--command-gold,var(--gold,#a9770d))}.loan-chart-ranges{display:flex;gap:4px;flex-wrap:wrap}.loan-chart-ranges button{padding:6px 8px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:6px;background:transparent;color:var(--command-muted,var(--muted,#777));font-size:8px}.loan-chart-ranges button.active,.loan-chart-ranges button:hover{border-color:var(--command-gold,var(--gold));color:var(--command-gold,var(--gold));background:color-mix(in srgb,var(--command-gold,#c9a84b) 10%,transparent)}.loan-chart-legend{display:flex;align-items:center;gap:13px;margin:0 0 6px;color:var(--command-muted,var(--muted,#777));font-size:9px}.loan-chart-legend button{display:inline-flex;align-items:center;gap:5px;border:0;background:none;color:inherit;font-size:9px;padding:0}.loan-chart-legend button i{width:8px;height:8px;border-radius:50%;background:#21c3b6}.loan-chart-legend button i.principal{background:#d3a52e}.loan-chart-legend span{margin-left:auto}.loan-performance-svg{display:block;width:100%;height:auto;min-height:210px}.loan-chart-grid line{stroke:var(--command-line,var(--line,#ddd));stroke-width:1}.loan-chart-grid text,.loan-chart-labels text{fill:var(--command-muted,var(--muted,#777));font:9px "DM Sans",sans-serif}.loan-chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.loan-chart-line.gross{stroke:#20c2b5}.loan-chart-line.principal{stroke:#d3a52e}.loan-chart-dots circle{fill:var(--command-surface,var(--panel,#fff));stroke:#20c2b5;stroke-width:2}.loan-chart-dots circle:nth-child(odd){stroke:#d3a52e}.loan-chart-line.is-hidden{display:none}.loan-chart-empty{min-height:175px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px dashed var(--command-line,var(--line,#ddd));border-radius:10px;color:var(--command-muted,var(--muted,#777))}.loan-chart-empty>svg{width:24px;color:var(--command-gold,var(--gold,#a9770d))}.loan-chart-empty div{display:grid;gap:4px}.loan-chart-empty b{color:var(--command-text,var(--ink,#171717));font-size:12px}.loan-chart-empty small{font-size:9px}
html[data-roc-theme="dark"] .loan-dashboard-section{background:#0b0f12}.loan-dashboard-section .kpi-card{box-shadow:none}.loan-performance-chart{box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important}.loan-chart-empty{background:#10161a}
html[data-roc-theme="light"] .loan-dashboard-section{background:#f7f5ef}.loan-performance-chart{box-shadow:0 10px 28px rgba(39,34,23,.05)!important}
@media(max-width:760px){.loan-dashboard-section>header{align-items:flex-start;flex-direction:column}.loan-receivables-section .kpi-grid{grid-template-columns:1fr}.loan-chart-legend{align-items:flex-start;flex-direction:column;gap:7px}.loan-chart-legend span{margin-left:0}.loan-chart-ranges{width:100%}.loan-chart-ranges button{flex:1}.loan-performance-svg{min-height:180px}}

/* KPI card internals for the command-centre dashboard */
.loan-kpi-body{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-width:0}.loan-kpi-body>div:first-child{min-width:0}.loan-kpi-body .delta{display:block;max-width:190px;line-height:1.35}.loan-kpi-card .kpi-value{font-variant-numeric:tabular-nums}.loan-info{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;margin-left:3px;border:1px solid currentColor;border-radius:50%;font-size:8px;font-style:normal;opacity:.7;vertical-align:1px}.loan-kpi-spark,.loan-kpi-bars{width:42%;min-width:86px;height:32px;overflow:visible;opacity:.95}.loan-kpi-spark polyline{fill:none;stroke:var(--command-gold,#d3a52e);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.loan-kpi-bars rect{fill:#1fc2b5;opacity:.8}.loan-kpi-donut{width:54px;height:54px;min-width:54px;border-radius:50%;background:conic-gradient(#1fc2b5 var(--progress),color-mix(in srgb,var(--command-line,#2a3438) 85%,transparent) 0);position:relative}.loan-kpi-donut::after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--command-surface,var(--panel,#fff))}.loan-kpi-trend-empty{display:block;max-width:100px;color:var(--command-muted,var(--muted,#777));font-size:9px;line-height:1.3;text-align:right}

/* Stable desktop loan register: values, badges and controls keep a single baseline. */
.loan-table-panel{overflow:visible}.loan-table-scroll{position:relative;max-width:100%;overflow:auto;border-top:1px solid var(--command-line,var(--line,#ddd));scrollbar-gutter:stable}.loan-table{width:100%;min-width:1260px;table-layout:fixed;border-collapse:separate;border-spacing:0}.loan-table th,.loan-table td{padding:13px 14px;vertical-align:middle;white-space:normal}.loan-table thead th{position:sticky;top:0;z-index:3;background:var(--command-surface,var(--panel,#fff));box-shadow:0 1px 0 var(--command-line,var(--line,#ddd));font-size:9px;line-height:1.2}.loan-table tbody tr{height:78px}.loan-table tbody td{border-bottom:1px solid var(--command-line,var(--line,#ddd));font-variant-numeric:tabular-nums}.loan-table th:nth-child(1){width:245px}.loan-table th:nth-child(2){width:105px}.loan-table th:nth-child(3){width:125px}.loan-table th:nth-child(4){width:240px}.loan-table th:nth-child(5){width:130px}.loan-table th:nth-child(6){width:185px}.loan-table th:nth-child(7){width:140px}.loan-table th:nth-child(8){width:170px}.loan-table th:nth-child(9){width:44px}.loan-table .loan-client,.loan-table .days-control,.loan-table .due-date-link,.loan-table .loan-paid-indicator{min-height:36px;align-items:center}.loan-table .loan-client{width:100%;min-width:0}.loan-table .loan-client>span:last-child{min-width:0}.loan-table .loan-client b,.loan-table .loan-client small{max-width:175px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loan-table .repayment-cell{min-width:0}.loan-table .repayment-cell b,.loan-table .repayment-cell small{white-space:nowrap}.loan-table .status,.loan-table .loan-basis-badge{max-width:168px;white-space:normal;text-align:center}.loan-table td:last-child{text-align:center}.loan-table td:last-child button{margin-inline:auto}.loan-table tbody tr:hover{background:color-mix(in srgb,var(--command-gold,#c99b28) 4%,transparent)}html[data-roc-theme="dark"] .loan-table thead th{background:#0d1215}html[data-roc-theme="light"] .loan-table thead th{background:#fffdf8}
@media(max-width:1100px){.loan-table-scroll{overscroll-behavior-inline:contain}}@media(max-width:850px){.loan-table-scroll{display:none}.loan-mobile-list{display:grid}.loan-table-panel{overflow:hidden}}

/* Bank & Treasury reconciliation */
.loan-treasury-control{margin:0 0 18px;border:1px solid color-mix(in srgb,var(--command-gold,#c99b28) 36%,var(--command-line,#d8d3c8));border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--command-gold,#c99b28) 7%,var(--command-surface,#fff)) 0%,var(--command-surface,#fff) 52%);overflow:hidden;box-shadow:0 14px 34px rgba(16,20,22,.05)}
.loan-treasury-control>header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.loan-treasury-control>header>div:first-child{display:grid;gap:5px}.loan-treasury-control .eyebrow{color:var(--command-gold,#b48613);font-size:9px;letter-spacing:1.5px}.loan-treasury-control h2{margin:0;color:var(--command-text,var(--ink,#171717));font:700 22px/1.15 "DM Sans",sans-serif}.loan-treasury-control p{margin:0;color:var(--command-muted,var(--muted,#777));font-size:11px}.loan-treasury-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.loan-treasury-actions button{white-space:nowrap}
.loan-treasury-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}.loan-treasury-grid article{position:relative;display:grid;align-content:start;gap:6px;min-height:128px;padding:18px;border-right:1px solid var(--command-line,var(--line,#ddd))}.loan-treasury-grid article:last-child{border-right:0}.loan-treasury-grid article>span{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--command-gold,#c99b28) 10%,transparent);color:var(--command-gold,#b48613)}.loan-treasury-grid article>span svg{width:16px}.loan-treasury-grid small{max-width:calc(100% - 36px);color:var(--command-muted,var(--muted,#777));font-size:9px;font-weight:700;letter-spacing:.65px;text-transform:uppercase}.loan-treasury-grid strong{margin-top:12px;color:var(--command-text,var(--ink,#171717));font-size:22px;font-variant-numeric:tabular-nums}.loan-treasury-grid em{color:var(--command-muted,var(--muted,#777));font-size:9px;font-style:normal;line-height:1.4}.loan-treasury-grid .deployable{background:color-mix(in srgb,#13a87c 7%,transparent)}.loan-treasury-grid .deployable>span,.loan-treasury-grid .matched>span{background:rgba(30,170,120,.11);color:#20a879}.loan-treasury-grid .exception{background:color-mix(in srgb,#d04f45 7%,transparent)}.loan-treasury-grid .exception>span{background:rgba(208,79,69,.12);color:#d9584f}.loan-treasury-grid .exception strong{color:#d9584f}.loan-treasury-grid .pending strong{font-size:17px}.loan-treasury-control>footer{display:flex;align-items:flex-start;gap:10px;padding:13px 18px;border-top:1px solid var(--command-line,var(--line,#ddd));background:color-mix(in srgb,var(--command-gold,#c99b28) 5%,transparent);color:var(--command-muted,var(--muted,#777));font-size:10px;line-height:1.45}.loan-treasury-control>footer svg{width:17px;min-width:17px;color:var(--command-gold,#b48613)}.loan-treasury-control>footer b{color:var(--command-text,var(--ink,#171717))}
.treasury-modal-summary,.treasury-form-position{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 20px}.treasury-modal-summary>div,.treasury-form-position>div{display:grid;gap:7px;padding:14px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:11px;background:var(--command-surface,var(--panel,#fff))}.treasury-modal-summary small,.treasury-form-position small{color:var(--command-muted,var(--muted,#777));font-size:9px;letter-spacing:.55px;text-transform:uppercase}.treasury-modal-summary b,.treasury-form-position b{color:var(--command-text,var(--ink,#171717));font-size:19px;font-variant-numeric:tabular-nums}.treasury-modal-summary .exception{border-color:rgba(208,79,69,.34);background:rgba(208,79,69,.07)}.treasury-modal-summary .exception b{color:#d9584f}.treasury-modal-summary .matched{border-color:rgba(30,170,120,.32);background:rgba(30,170,120,.07)}.treasury-ledger-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:10px 0}.treasury-ledger-title h3,.treasury-ledger-title p{margin:0}.treasury-ledger-title p{margin-top:4px;color:var(--command-muted,var(--muted,#777));font-size:10px}.treasury-ledger-title>div:last-child{display:flex;gap:8px}.treasury-ledger-table{border:1px solid var(--command-line,var(--line,#ddd));border-radius:11px;overflow:auto}.treasury-ledger-head,.treasury-ledger-row{display:grid;grid-template-columns:minmax(230px,1.7fr) minmax(110px,.7fr) minmax(120px,.8fr) minmax(160px,1fr);align-items:center;gap:12px;min-width:720px}.treasury-ledger-head{padding:10px 14px;background:color-mix(in srgb,var(--command-gold,#c99b28) 7%,var(--command-surface,#fff));color:var(--command-muted,var(--muted,#777));font-size:8px;font-weight:700;letter-spacing:.75px;text-transform:uppercase}.treasury-ledger-row{padding:13px 14px;border-top:1px solid var(--command-line,var(--line,#ddd));font-size:10px}.treasury-ledger-row>span{display:grid;gap:4px;min-width:0}.treasury-ledger-row b{color:var(--command-text,var(--ink,#171717));overflow-wrap:anywhere}.treasury-ledger-row small{color:var(--command-muted,var(--muted,#777));line-height:1.35;overflow-wrap:anywhere}.treasury-ledger-row strong{font-size:12px;font-variant-numeric:tabular-nums}.treasury-ledger-row .positive{color:#1e9b70}.treasury-ledger-row .negative{color:#d9584f}.treasury-ledger-row .neutral{color:var(--command-muted,var(--muted,#777))}.treasury-no-overwrite{display:flex;align-items:flex-start;gap:10px;margin-top:15px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--command-gold,#c99b28) 32%,var(--command-line,#ddd));border-radius:10px;background:color-mix(in srgb,var(--command-gold,#c99b28) 7%,transparent);color:var(--command-muted,var(--muted,#777));font-size:10px;line-height:1.45}.treasury-no-overwrite svg{width:18px;min-width:18px;color:var(--command-gold,#b48613)}.treasury-no-overwrite b{color:var(--command-text,var(--ink,#171717))}
html[data-roc-theme="dark"] .loan-treasury-control{background:linear-gradient(145deg,rgba(208,164,37,.09),#0d1215 46%);box-shadow:0 16px 38px rgba(0,0,0,.22)}html[data-roc-theme="dark"] .loan-treasury-grid article,html[data-roc-theme="dark"] .treasury-modal-summary>div,html[data-roc-theme="dark"] .treasury-form-position>div{background:#10161a}html[data-roc-theme="dark"] .loan-treasury-grid .deployable{background:rgba(30,170,120,.07)}html[data-roc-theme="dark"] .loan-treasury-grid .exception{background:rgba(208,79,69,.07)}html[data-roc-theme="dark"] .treasury-ledger-head{background:#11171b}
@media(max-width:1200px){.loan-treasury-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.loan-treasury-grid article:nth-child(3){border-right:0}.loan-treasury-grid article:nth-child(-n+3){border-bottom:1px solid var(--command-line,var(--line,#ddd))}}
@media(max-width:760px){.loan-treasury-control>header{align-items:flex-start;flex-direction:column;padding:16px}.loan-treasury-actions{width:100%;justify-content:stretch}.loan-treasury-actions button{flex:1}.loan-treasury-grid{grid-template-columns:1fr}.loan-treasury-grid article{min-height:108px;border-right:0;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.loan-treasury-grid article:nth-child(3){border-bottom:1px solid var(--command-line,var(--line,#ddd))}.loan-treasury-grid article:last-child{border-bottom:0}.treasury-modal-summary,.treasury-form-position{grid-template-columns:1fr}.treasury-ledger-title{align-items:flex-start;flex-direction:column}.treasury-ledger-title>div:last-child{width:100%}.treasury-ledger-title button{flex:1}.loan-toolbar>div:last-child{display:grid;grid-template-columns:1fr 1fr}.loan-toolbar>div:last-child .gold-btn{grid-column:1/-1}}

/* Collections command centre and controlled cashflow forecast */
.cashflow-forecast,.collections-hero,.collections-queue{margin:0 0 18px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:16px;background:var(--command-surface,var(--surface,#fff));overflow:hidden;box-shadow:0 12px 32px rgba(16,20,22,.045)}
.cashflow-forecast>header,.collections-hero>header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 22px;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.cashflow-forecast>header>div:first-child,.collections-hero>header>div:first-child{display:grid;gap:5px}.cashflow-forecast h2,.collections-hero h2{margin:0;color:var(--command-text,var(--ink,#171717));font:700 22px/1.15 "DM Sans",sans-serif}.cashflow-forecast p,.collections-hero p{margin:0;color:var(--command-muted,var(--muted,#777));font-size:11px}.cashflow-actions{display:flex;gap:8px;flex-wrap:wrap}
.cashflow-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.cashflow-summary article,.cashflow-summary-card,.collections-metrics article{display:grid;gap:6px;min-height:112px;padding:18px;border-right:1px solid var(--command-line,var(--line,#ddd))}.cashflow-summary-card{position:relative;width:100%;border:0;border-right:1px solid var(--command-line,var(--line,#ddd));border-radius:0;background:transparent;text-align:left;color:inherit;cursor:pointer}.cashflow-summary-card:hover{background:color-mix(in srgb,var(--command-gold,#c99b28) 6%,transparent)}.cashflow-summary-card:last-child{border-right:0}.cashflow-summary-card i{position:absolute;right:12px;bottom:12px;opacity:.45}.cashflow-summary article:last-child,.collections-metrics article:last-child{border-right:0}.cashflow-summary small,.collections-metrics small{color:var(--command-muted,var(--muted,#777));font-size:9px;font-weight:700;letter-spacing:.65px;text-transform:uppercase}.cashflow-summary strong,.collections-metrics strong{color:var(--command-text,var(--ink,#171717));font-size:21px;font-variant-numeric:tabular-nums}.cashflow-summary span,.collections-metrics em{color:var(--command-muted,var(--muted,#777));font-size:9px;font-style:normal}.cashflow-summary .positive strong{color:#14996f}.cashflow-summary .projected{background:color-mix(in srgb,var(--command-gold,#c99b28) 7%,transparent)}.cashflow-forecast.is-warning{border-color:rgba(208,79,69,.55)}.cashflow-forecast.is-warning .projected strong{color:#d9584f}
.cashflow-source-note{display:flex;gap:12px;align-items:flex-start;padding:18px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:12px;background:color-mix(in srgb,var(--command-gold,#c99b28) 5%,transparent)}.cashflow-source-note svg{width:20px;color:var(--command-gold,#c99b28)}.cashflow-source-note div{display:grid;gap:5px}.cashflow-source-note small{color:var(--command-muted,var(--muted,#777));line-height:1.5}.cashflow-drill-table{max-height:55vh;overflow:auto}.cashflow-drill-table table{width:100%;min-width:620px}
.loan-kpi-card{font:inherit;text-align:left;color:inherit;cursor:pointer}.loan-kpi-card:hover{border-color:color-mix(in srgb,var(--command-gold,#c99b28) 55%,var(--line,#ddd));transform:translateY(-1px)}.loan-metric-drill-table{max-height:55vh;overflow:auto}.loan-metric-drill-table table{width:100%;min-width:560px}
.cashflow-visual{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(360px,1.2fr);align-items:center;gap:24px;padding:18px 22px;border-top:1px solid var(--command-line,var(--line,#ddd));background:color-mix(in srgb,var(--command-gold,#c99b28) 3%,transparent)}.cashflow-visual>div:first-child{display:grid;gap:6px}.cashflow-visual b{display:flex;align-items:center;gap:7px;color:var(--command-text,var(--ink,#171717));font-size:12px}.cashflow-visual b svg{width:17px;color:var(--command-gold,#b48613)}.cashflow-forecast.is-warning .cashflow-visual b svg{color:#d9584f}.cashflow-visual small{color:var(--command-muted,var(--muted,#777));font-size:10px;line-height:1.5}.cashflow-visual svg{width:100%;height:70px;overflow:visible}.cashflow-visual polyline{fill:none;stroke:var(--command-gold,#c99b28);stroke-width:1.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 4px rgba(201,155,40,.22))}.cashflow-empty-line{padding:20px;border:1px dashed var(--command-line,var(--line,#ddd));border-radius:10px;color:var(--command-muted,var(--muted,#777));font-size:10px;text-align:center}.cashflow-forecast>footer{padding:12px 18px;border-top:1px solid var(--command-line,var(--line,#ddd));color:var(--command-muted,var(--muted,#777));font-size:9px}.cashflow-forecast>footer svg{width:15px;vertical-align:middle;color:var(--command-gold,#b48613)}
.cashflow-commitments{border-top:1px solid var(--command-line,var(--line,#ddd));padding:15px 20px}.cashflow-commitment{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.cashflow-commitment:last-child{border-bottom:0}.cashflow-commitment>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:color-mix(in srgb,var(--command-gold,#c99b28) 10%,transparent);color:var(--command-gold,#b48613)}.cashflow-commitment>div{display:grid;gap:3px}.cashflow-commitment small{color:var(--command-muted,var(--muted,#777));font-size:9px}.cashflow-commitment strong{font-size:13px}.cashflow-commitment .filter-btn{padding:8px 11px}
.collections-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.collections-metrics article{position:relative}.collections-metrics article>span{position:absolute;right:16px;top:15px;color:var(--command-gold,#b48613)}.collections-metrics article>span svg{width:18px}.collections-metrics .overdue strong{color:#d9584f}.collections-metrics .arranged strong{color:#118d79}.collections-queue>.panel-head{padding:18px 22px;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.collection-case{display:grid;grid-template-columns:minmax(280px,1fr) auto minmax(360px,auto);align-items:center;gap:18px;padding:14px 22px;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.collection-case:last-child{border-bottom:0}.collection-case-priority{display:flex;align-items:center;gap:12px}.collection-case-priority>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,var(--command-gold,#c99b28) 10%,transparent);color:var(--command-gold,#b48613)}.collection-case.overdue .collection-case-priority>span,.collection-case.broken-arrangement .collection-case-priority>span{background:rgba(208,79,69,.1);color:#d9584f}.collection-case-priority>div{display:grid;gap:2px}.collection-case-priority small{color:var(--command-gold,#b48613);font-size:9px;font-weight:800;letter-spacing:.45px;text-transform:uppercase}.collection-case-priority b{font-size:13px}.collection-case-priority em{color:var(--command-muted,var(--muted,#777));font-size:9px;font-style:normal}.collection-case>strong{font-size:16px;font-variant-numeric:tabular-nums}.collection-case-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.collection-case-actions .whatsapp{color:#15966f}.contact-missing{color:var(--command-muted,var(--muted,#777));font-size:9px}
.approval-liquidity-notice{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:12px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:10px;background:color-mix(in srgb,var(--command-gold,#c99b28) 5%,transparent)}.approval-liquidity-notice svg{width:18px;min-width:18px;color:var(--command-gold,#b48613)}.approval-liquidity-notice span{display:grid;gap:3px}.approval-liquidity-notice b{font-size:11px}.approval-liquidity-notice small{font-size:9px;line-height:1.45}.approval-liquidity-notice.safe{border-color:rgba(20,153,111,.35);background:rgba(20,153,111,.06)}.approval-liquidity-notice.safe svg{color:#14996f}.approval-liquidity-notice.warning{border-color:rgba(208,79,69,.4);background:rgba(208,79,69,.07)}.approval-liquidity-notice.warning svg{color:#d9584f}
.collections-morning-pulse{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;width:calc(100% - 56px);margin:0 28px 14px;padding:0;border:1px solid color-mix(in srgb,var(--command-gold,#c99b28) 30%,var(--command-line,#ddd));border-radius:13px;background:var(--command-surface,#fff);color:var(--command-text,#171717);text-align:left;overflow:hidden}.collections-morning-pulse>span{display:grid;gap:3px;padding:13px 15px;border-right:1px solid var(--command-line,#ddd)}.collections-morning-pulse small{color:var(--command-muted,#777);font-size:8px;font-weight:750;letter-spacing:.6px;text-transform:uppercase}.collections-morning-pulse b{font-size:13px}.collections-morning-pulse em{color:var(--command-muted,#777);font-size:8px;font-style:normal}.collections-morning-pulse .danger b{color:#d9584f}.collections-morning-pulse>i{display:grid;place-items:center;width:40px;color:var(--command-gold,#b48613)}.collections-morning-pulse>i svg{width:16px;transform:rotate(-90deg)}
html[data-roc-theme="dark"] .cashflow-forecast,html[data-roc-theme="dark"] .collections-hero,html[data-roc-theme="dark"] .collections-queue{background:#0d1215;box-shadow:0 16px 38px rgba(0,0,0,.2)}html[data-roc-theme="dark"] .cashflow-summary article,html[data-roc-theme="dark"] .collections-metrics article{background:#10161a}html[data-roc-theme="dark"] .cashflow-summary .projected{background:rgba(208,164,37,.08)}html[data-roc-theme="dark"] .cashflow-visual{background:#0f1518}
@media(max-width:1200px){.cashflow-summary,.collections-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cashflow-summary article:nth-child(2n),.collections-metrics article:nth-child(2n){border-right:0}.cashflow-summary article,.collections-metrics article{border-bottom:1px solid var(--command-line,var(--line,#ddd))}.cashflow-summary article:last-child,.collections-metrics article:last-child{grid-column:1/-1;border-bottom:0}.collection-case{grid-template-columns:minmax(240px,1fr) auto}.collection-case-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:760px){.cashflow-forecast>header,.collections-hero>header{align-items:flex-start;flex-direction:column;padding:16px}.cashflow-actions,.collections-hero>header>button{width:100%}.cashflow-actions button,.collections-hero>header>button{flex:1}.cashflow-summary,.collections-metrics{grid-template-columns:1fr}.cashflow-summary article,.collections-metrics article,.cashflow-summary article:nth-child(2n),.collections-metrics article:nth-child(2n){min-height:94px;border-right:0}.cashflow-summary article:last-child,.collections-metrics article:last-child{grid-column:auto}.cashflow-visual{grid-template-columns:1fr;padding:16px}.collection-case{grid-template-columns:1fr;padding:14px 16px}.collection-case>strong{justify-self:start}.collection-case-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr;width:100%}.collection-case-actions .gold-btn,.collection-case-actions .contact-missing{grid-column:1/-1}.cashflow-commitment{grid-template-columns:auto 1fr auto}.cashflow-commitment .filter-btn,.cashflow-commitment .text-link{grid-column:2/-1}.cashflow-commitment .text-link{justify-self:start}}
@media(max-width:760px){.collections-morning-pulse{grid-template-columns:1fr 1fr;width:calc(100% - 32px);margin:0 16px 12px}.collections-morning-pulse>span{border-bottom:1px solid var(--command-line,#ddd)}.collections-morning-pulse>span:nth-child(2n){border-right:0}.collections-morning-pulse>span:nth-child(5){grid-column:1/-1}.collections-morning-pulse>i{display:none}}

/* Loan Management information architecture */
.loan-management-tabs{display:flex;align-items:center;gap:5px;margin:0 0 14px;padding:4px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:12px;background:var(--command-surface,var(--panel,#fff));width:max-content;max-width:100%;overflow:auto}.loan-management-tabs button{border:0;border-radius:8px;padding:9px 14px;background:transparent;color:var(--command-muted,var(--muted,#777));font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}.loan-management-tabs button:hover,.loan-management-tabs button.active{background:color-mix(in srgb,var(--command-gold,#c99b28) 13%,transparent);color:var(--command-text,var(--ink,#171717));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--command-gold,#c99b28) 42%,transparent)}.loan-portfolio-toolbar{align-items:flex-start;gap:12px;flex-wrap:wrap}.loan-portfolio-filter-group,.loan-portfolio-toolbar-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.loan-portfolio-filter-group .filter-btn{gap:6px}.loan-portfolio-filter-group .filter-btn b{font-size:9px;opacity:.7}.loan-portfolio-toolbar-actions{margin-left:auto}.loan-portfolio-search{display:flex;align-items:center;gap:8px;min-width:240px;padding:8px 11px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:9px;background:var(--command-surface,var(--panel,#fff));color:var(--command-muted,var(--muted,#777))}.loan-portfolio-search svg{width:15px;min-width:15px}.loan-portfolio-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--command-text,var(--ink,#171717));font:inherit;font-size:11px}.loan-portfolio-search input::placeholder{color:var(--command-muted,var(--muted,#777))}.loan-portfolio-summary{margin:0 0 16px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:14px;background:var(--command-surface,var(--panel,#fff));overflow:hidden}.loan-portfolio-summary>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.loan-portfolio-summary>header h2{margin:2px 0 4px;color:var(--command-text,var(--ink,#171717));font-size:17px}.loan-portfolio-summary>header p{margin:0;color:var(--command-muted,var(--muted,#777));font-size:10px}.loan-portfolio-summary .kpi-grid{margin:0;padding:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.loan-portfolio-summary .kpi-card{min-height:100px;box-shadow:none}.loan-sort-note{color:var(--command-muted,var(--muted,#777));font-size:9px;white-space:nowrap}.loan-view-empty{display:flex;align-items:center;justify-content:center;gap:12px;min-height:180px;padding:24px;color:var(--command-muted,var(--muted,#777));text-align:left}.loan-view-empty svg{width:25px;color:var(--command-gold,#b48613)}.loan-view-empty div{display:grid;gap:4px}.loan-view-empty b{color:var(--command-text,var(--ink,#171717));font-size:13px}.loan-view-empty small{font-size:10px}
.loan-supporting-toolbar{align-items:center;gap:12px;flex-wrap:wrap}.loan-supporting-toolbar>div:first-child{display:flex;align-items:baseline;gap:10px;min-width:0}.loan-supporting-copy{color:var(--command-muted,var(--muted,#777));font-size:10px}.loan-portfolio-sort{display:flex;align-items:center;gap:6px;color:var(--command-muted,var(--muted,#777));font-size:10px}.loan-portfolio-sort select{min-height:34px;padding:7px 25px 7px 9px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:9px;background:var(--command-surface,var(--panel,#fff));color:var(--command-text,var(--ink,#171717));font:inherit;font-size:10px}
html[data-roc-theme="dark"] .loan-management-tabs,html[data-roc-theme="dark"] .loan-portfolio-summary,html[data-roc-theme="dark"] .loan-portfolio-search{background:#0d1215}html[data-roc-theme="light"] .loan-management-tabs,html[data-roc-theme="light"] .loan-portfolio-summary,html[data-roc-theme="light"] .loan-portfolio-search{background:#fffdf8}
@media(max-width:1100px){.loan-portfolio-summary .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.loan-portfolio-toolbar-actions{margin-left:0}.loan-portfolio-search{min-width:220px}}
@media(max-width:760px){.loan-management-tabs{width:100%}.loan-management-tabs button{flex:1}.loan-portfolio-toolbar{display:grid}.loan-portfolio-filter-group,.loan-portfolio-toolbar-actions{width:100%}.loan-portfolio-filter-group .filter-btn{flex:1;justify-content:center}.loan-portfolio-toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.loan-portfolio-search{grid-column:1/-1;min-width:0}.loan-portfolio-toolbar-actions .gold-btn{grid-column:1/-1}.loan-portfolio-summary>header{padding:14px 16px}.loan-portfolio-summary .kpi-grid{grid-template-columns:1fr}.loan-sort-note{display:none}}

/* Capital velocity and loan profitability */
.capital-velocity,.loan-profitability,.facility-profitability{margin:0 0 18px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:16px;background:var(--command-surface,var(--surface,#fff));overflow:hidden;box-shadow:0 12px 32px rgba(16,20,22,.045)}
.capital-velocity>header,.loan-profitability>header,.facility-profitability>header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:20px 22px;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.capital-velocity>header>div,.loan-profitability>header>div,.facility-profitability>header>div{display:grid;gap:5px}.capital-velocity h2,.loan-profitability h2,.facility-profitability h3{margin:0;color:var(--command-text,var(--ink,#171717));font:700 22px/1.15 "DM Sans",sans-serif}.facility-profitability h3{font-size:17px}.capital-velocity p,.loan-profitability p,.facility-profitability p{margin:0;color:var(--command-muted,var(--muted,#777));font-size:11px;line-height:1.45}
.capital-basis-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.capital-basis-badge svg{width:14px}.capital-basis-badge.configured{border-color:rgba(30,170,120,.34);background:rgba(30,170,120,.08);color:#17976b}.capital-basis-badge.pending{border-color:rgba(201,155,40,.36);background:rgba(201,155,40,.08);color:var(--command-gold,#b48613)}
.capital-velocity-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.capital-velocity-grid article{position:relative;display:grid;align-content:start;gap:6px;min-height:126px;padding:18px;border-right:1px solid var(--command-line,var(--line,#ddd))}.capital-velocity-grid article:last-child{border-right:0}.capital-velocity-grid article>span{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--command-gold,#c99b28) 10%,transparent);color:var(--command-gold,#b48613)}.capital-velocity-grid article>span svg{width:16px}.capital-velocity-grid small,.facility-profitability-grid small{color:var(--command-muted,var(--muted,#777));font-size:9px;font-weight:700;letter-spacing:.55px;text-transform:uppercase}.capital-velocity-grid strong{max-width:calc(100% - 34px);margin-top:12px;color:var(--command-text,var(--ink,#171717));font-size:22px;font-variant-numeric:tabular-nums}.capital-velocity-grid em{color:var(--command-muted,var(--muted,#777));font-size:9px;font-style:normal;line-height:1.4}.capital-velocity-grid .idle{background:color-mix(in srgb,#13a87c 7%,transparent)}.capital-velocity-grid .idle>span{background:rgba(30,170,120,.11);color:#20a879}
.capital-utilisation{display:grid;gap:8px;padding:16px 20px;border-top:1px solid var(--command-line,var(--line,#ddd));background:color-mix(in srgb,var(--command-gold,#c99b28) 3%,transparent)}.capital-utilisation>div:first-child{display:flex;align-items:center;justify-content:space-between;color:var(--command-text,var(--ink,#171717));font-size:11px}.capital-utilisation>div:first-child span{color:#17976b;font-size:15px;font-weight:800}.capital-utilisation small{color:var(--command-muted,var(--muted,#777));font-size:9px}.capital-velocity>footer,.loan-profitability>footer,.facility-profitability>footer{display:flex;align-items:flex-start;gap:8px;padding:12px 18px;border-top:1px solid var(--command-line,var(--line,#ddd));color:var(--command-muted,var(--muted,#777));font-size:9px;line-height:1.45}.capital-velocity>footer svg,.loan-profitability>footer svg,.facility-profitability>footer svg{width:15px;min-width:15px;color:var(--command-gold,#b48613)}
.profitability-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.profitability-summary article{display:grid;gap:6px;min-height:104px;padding:18px;border-right:1px solid var(--command-line,var(--line,#ddd));border-bottom:1px solid var(--command-line,var(--line,#ddd))}.profitability-summary article:last-child{border-right:0}.profitability-summary small{color:var(--command-muted,var(--muted,#777));font-size:9px;font-weight:700;letter-spacing:.55px;text-transform:uppercase}.profitability-summary strong{color:var(--command-text,var(--ink,#171717));font-size:21px}.profitability-summary span{color:var(--command-muted,var(--muted,#777));font-size:9px}.profitability-list{display:grid}.profitability-row{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(130px,.7fr) minmax(160px,.8fr) auto;align-items:center;gap:16px;padding:13px 18px;border:0;border-bottom:1px solid var(--command-line,var(--line,#ddd));background:transparent;color:var(--command-text,var(--ink,#171717));text-align:left}.profitability-row:last-child{border-bottom:0}.profitability-row:hover{background:color-mix(in srgb,var(--command-gold,#c99b28) 5%,transparent)}.profitability-row>span{display:grid;gap:4px}.profitability-row small{color:var(--command-muted,var(--muted,#777));font-size:9px}.profitability-row b{font-size:12px}.profitability-row>i svg{width:15px;color:var(--command-muted,var(--muted,#777));transform:rotate(-90deg)}.profitability-customer{display:flex!important;align-items:center;gap:11px}.profitability-customer>i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--command-gold,#c99b28) 9%,transparent);color:var(--command-gold,#b48613)}.profitability-customer>i svg{width:16px}.profitability-customer>span{display:grid;gap:3px}.profitability-row.positive>span:nth-child(3) b{color:#17976b}.profitability-row.loss>span:nth-child(3) b{color:#d9584f}.profitability-row.loss .profitability-customer>i{background:rgba(208,79,69,.1);color:#d9584f}
.facility-profitability{margin:16px 0}.facility-profitability.unconfigured{border-style:dashed}.facility-profitability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.facility-profitability-grid>div{display:grid;gap:7px;min-height:82px;padding:15px;border-right:1px solid var(--command-line,var(--line,#ddd));border-bottom:1px solid var(--command-line,var(--line,#ddd))}.facility-profitability-grid>div:nth-child(4n){border-right:0}.facility-profitability-grid b{color:var(--command-text,var(--ink,#171717));font-size:16px;font-variant-numeric:tabular-nums}.facility-profitability-grid .net{background:color-mix(in srgb,#13a87c 7%,transparent)}.facility-profitability-grid .net b{color:#17976b}.facility-profitability-grid .net.loss{background:rgba(208,79,69,.07)}.facility-profitability-grid .net.loss b{color:#d9584f}.profitability-input-grid .field small{color:var(--command-muted,var(--muted,#777));font-size:9px;line-height:1.4}
html[data-roc-theme="dark"] .capital-velocity,html[data-roc-theme="dark"] .loan-profitability,html[data-roc-theme="dark"] .facility-profitability{background:#0d1215;box-shadow:0 16px 38px rgba(0,0,0,.2)}html[data-roc-theme="dark"] .capital-velocity-grid article,html[data-roc-theme="dark"] .profitability-summary article,html[data-roc-theme="dark"] .facility-profitability-grid>div{background:#10161a}html[data-roc-theme="dark"] .capital-velocity-grid .idle,html[data-roc-theme="dark"] .facility-profitability-grid .net{background:rgba(30,170,120,.07)}html[data-roc-theme="dark"] .facility-profitability-grid .net.loss{background:rgba(208,79,69,.07)}
html[data-roc-theme="light"] .capital-velocity,html[data-roc-theme="light"] .loan-profitability,html[data-roc-theme="light"] .facility-profitability{background:#fffdf8;box-shadow:0 12px 30px rgba(39,34,23,.055)}
.reconciliation-control{margin:0 0 18px;padding:18px 20px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:16px;background:var(--command-surface,var(--surface,#fff));box-shadow:0 12px 32px rgba(16,20,22,.045)}.reconciliation-control header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.reconciliation-control h3{margin:3px 0;color:var(--command-text,var(--ink,#171717));font-size:18px}.reconciliation-control p{margin:0;color:var(--command-muted,var(--muted,#777));font-size:11px}.reconciliation-release{display:block;margin-top:5px;color:var(--command-gold,#b48613);font-size:10px;font-weight:700}.reconciliation-status{padding:6px 10px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.5px;background:rgba(23,151,107,.12);color:#17976b}.reconciliation-control.fail .reconciliation-status{background:rgba(208,79,69,.12);color:#d9584f}.reconciliation-control.unavailable .reconciliation-status{background:rgba(180,134,19,.12);color:var(--command-gold,#b48613)}.reconciliation-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0 0;border-top:1px solid var(--command-line,var(--line,#ddd));border-bottom:1px solid var(--command-line,var(--line,#ddd))}.reconciliation-summary article{display:grid;gap:5px;padding:11px 12px;border-right:1px solid var(--command-line,var(--line,#ddd))}.reconciliation-summary article:last-child{border-right:0}.reconciliation-summary small,.reconciliation-check small{color:var(--command-muted,var(--muted,#777));font-size:9px}.reconciliation-summary b{color:var(--command-text,var(--ink,#171717));font-size:13px;font-variant-numeric:tabular-nums}.reconciliation-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px}.reconciliation-check{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:9px}.reconciliation-check>span{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:rgba(23,151,107,.1);color:#17976b}.reconciliation-check.fail>span{background:rgba(208,79,69,.1);color:#d9584f}.reconciliation-check.insufficient_data>span{background:rgba(180,134,19,.12);color:var(--command-gold,#b48613)}.reconciliation-check>div{display:grid;gap:2px;min-width:0}.reconciliation-check b{font-size:10px;color:var(--command-text,var(--ink,#171717))}.reconciliation-check strong{font-size:10px;color:#17976b}.reconciliation-check.fail strong{color:#d9584f}.reconciliation-check.insufficient_data strong{color:var(--command-gold,#b48613)}.reconciliation-control>footer{display:flex;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid var(--command-line,var(--line,#ddd));color:#d9584f;font-size:10px}.reconciliation-control>footer svg{width:14px}@media(max-width:760px){.reconciliation-summary,.reconciliation-checks{grid-template-columns:1fr}.reconciliation-summary article{border-right:0;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.reconciliation-summary article:last-child{border-bottom:0}.reconciliation-control header{flex-direction:column}}
@media(max-width:1200px){.capital-velocity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capital-velocity-grid article{border-bottom:1px solid var(--command-line,var(--line,#ddd))}.capital-velocity-grid article:nth-child(2n){border-right:0}.capital-velocity-grid article:last-child{grid-column:1/-1;border-bottom:0}.facility-profitability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.facility-profitability-grid>div:nth-child(2n){border-right:0}.profitability-row{grid-template-columns:minmax(220px,1.4fr) minmax(120px,.7fr) minmax(150px,.8fr) auto}}
@media(max-width:760px){.capital-velocity>header,.loan-profitability>header,.facility-profitability>header{flex-direction:column;padding:16px}.capital-basis-badge,.facility-profitability>header .filter-btn{width:100%;justify-content:center}.capital-velocity-grid,.profitability-summary,.facility-profitability-grid{grid-template-columns:1fr}.capital-velocity-grid article,.capital-velocity-grid article:nth-child(2n),.profitability-summary article,.facility-profitability-grid>div,.facility-profitability-grid>div:nth-child(2n){min-height:96px;border-right:0;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.capital-velocity-grid article:last-child{grid-column:auto}.profitability-row{grid-template-columns:1fr auto;padding:14px 16px}.profitability-row>span:nth-child(2),.profitability-row>span:nth-child(3){padding-left:45px}.profitability-row>i{grid-column:2;grid-row:1}.facility-profitability-grid>div:last-child{border-bottom:0}.profitability-input-grid{grid-template-columns:1fr}}

/* Single Loan Command Page */
.loan-command-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:0;border:0;background:transparent;color:var(--command-muted,var(--muted,#777));font-size:11px;font-weight:700;cursor:pointer}.loan-command-back:hover{color:var(--command-gold,#c99b28)}.loan-command-back svg{width:13px;transform:rotate(90deg)}
.loan-command-tabs{display:flex;align-items:center;gap:4px;margin:0 0 16px;padding:4px;border-bottom:1px solid var(--command-line,var(--line,#ddd));overflow-x:auto}.loan-command-tabs button{flex:0 0 auto;padding:10px 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--command-muted,var(--muted,#777));font-size:11px;font-weight:700;cursor:pointer}.loan-command-tabs button:hover,.loan-command-tabs button.active{border-bottom-color:var(--command-gold,#c99b28);color:var(--command-text,var(--ink,#171717));background:color-mix(in srgb,var(--command-gold,#c99b28) 8%,transparent)}
.loan-command-summary-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:0 0 16px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:12px;background:var(--command-surface,var(--panel,#fff));overflow:hidden}.loan-command-summary-strip article{display:grid;gap:5px;min-height:84px;padding:12px;border-right:1px solid var(--command-line,var(--line,#ddd))}.loan-command-summary-strip article:last-child{border-right:0}.loan-command-summary-strip article>span{color:var(--command-gold,#c99b28)}.loan-command-summary-strip article>span svg{width:15px}.loan-command-summary-strip small{color:var(--command-muted,var(--muted,#777));font-size:9px;line-height:1.25}.loan-command-summary-strip b{color:var(--command-text,var(--ink,#171717));font-size:15px;font-variant-numeric:tabular-nums}
.loan-command-context{display:grid;gap:16px;margin:16px 0;padding:18px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:14px;background:var(--command-surface,var(--panel,#fff));color:var(--command-text,var(--ink,#171717))}.loan-command-context-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.loan-command-context-head h3{margin:3px 0;color:var(--command-text,var(--ink,#171717));font-size:18px}.loan-command-context-head p{margin:0;color:var(--command-muted,var(--muted,#777));font-size:10px}.loan-command-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.loan-command-table-wrap{overflow-x:auto}.loan-command-table{width:100%;border-collapse:collapse;min-width:760px;font-size:10px}.loan-command-table th{padding:9px;text-align:left;color:var(--command-muted,var(--muted,#777));font-size:9px;letter-spacing:.45px;text-transform:uppercase;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.loan-command-table td{padding:11px 9px;border-bottom:1px solid var(--command-line,var(--line,#ddd));vertical-align:middle}.loan-command-table tr:last-child td{border-bottom:0}.loan-command-risk-grid,.loan-command-collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.loan-command-risk-grid article,.loan-command-collection-grid article{display:grid;gap:6px;min-height:85px;padding:13px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:10px;background:color-mix(in srgb,var(--command-surface,var(--panel,#fff)) 88%,var(--command-gold,#c99b28) 12%)}.loan-command-risk-grid small,.loan-command-collection-grid small{color:var(--command-muted,var(--muted,#777));font-size:9px;text-transform:uppercase;letter-spacing:.4px}.loan-command-risk-grid b,.loan-command-collection-grid b{font-size:15px}.loan-command-risk-grid span,.loan-command-collection-grid span{color:var(--command-muted,var(--muted,#777));font-size:10px}.loan-command-empty{display:flex;align-items:center;justify-content:center;gap:12px;min-height:130px;padding:20px;color:var(--command-muted,var(--muted,#777));text-align:left}.loan-command-empty svg{width:27px;color:var(--command-gold,#c99b28)}.loan-command-empty div{display:grid;gap:4px}.loan-command-empty b{color:var(--command-text,var(--ink,#171717));font-size:13px}.loan-command-empty small{font-size:10px}.loan-command-activity-list{display:grid}.loan-command-activity-list article{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.loan-command-activity-list article:last-child{border-bottom:0}.loan-command-activity-list article>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:color-mix(in srgb,var(--command-gold,#c99b28) 12%,transparent);color:var(--command-gold,#c99b28)}.loan-command-activity-list article>div{display:grid;gap:4px}.loan-command-activity-list small,.loan-command-activity-list p{margin:0;color:var(--command-muted,var(--muted,#777));font-size:10px}.loan-command-activity-list p{color:var(--command-text,var(--ink,#171717))}.modal-card--loan-detail #modalContent>[hidden]{display:none!important}
html[data-roc-theme="dark"] .loan-command-context{background:#0d1215}html[data-roc-theme="light"] .loan-command-context{background:#fffdf8}
@media(max-width:760px){.loan-command-tabs{margin-inline:-4px;padding-inline:4px}.loan-command-tabs button{padding:9px 11px}.loan-command-context{padding:14px}.loan-command-context-head{flex-direction:column}.loan-command-actions{width:100%;justify-content:stretch}.loan-command-actions>*{flex:1;justify-content:center}.loan-command-risk-grid,.loan-command-collection-grid{grid-template-columns:1fr 1fr}.loan-command-table{min-width:680px}}
@media(max-width:1100px){.loan-command-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.loan-command-summary-strip article:nth-child(4){border-right:0}.loan-command-summary-strip article:nth-child(n+5){border-top:1px solid var(--command-line,var(--line,#ddd))}}
@media(max-width:760px){.loan-command-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.loan-command-summary-strip article:nth-child(odd){border-right:1px solid var(--command-line,var(--line,#ddd))}.loan-command-summary-strip article:nth-child(even){border-right:0}.loan-command-summary-strip article:nth-child(n+3){border-top:1px solid var(--command-line,var(--line,#ddd))}}

/* Exceptions & Corrections Centre */
.exceptions-hero{display:grid;gap:16px;margin-bottom:16px;padding:20px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:16px;background:var(--command-surface,var(--panel,#fff))}.exceptions-hero>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.exceptions-hero h2{margin:4px 0;color:var(--command-text,var(--ink,#171717));font-size:24px}.exceptions-hero p{margin:0;color:var(--command-muted,var(--muted,#777));font-size:11px}.exceptions-actions{display:flex;gap:8px;flex-wrap:wrap}.exception-kpi-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--command-line,var(--line,#ddd));border-radius:12px;overflow:hidden}.exception-kpi{display:grid;gap:6px;min-height:88px;padding:12px;border:0;border-right:1px solid var(--command-line,var(--line,#ddd));background:transparent;color:var(--command-text,var(--ink,#171717));text-align:left;cursor:pointer}.exception-kpi:last-child{border-right:0}.exception-kpi:hover{background:color-mix(in srgb,var(--command-gold,#c99b28) 8%,transparent)}.exception-kpi span{color:var(--command-gold,#c99b28)}.exception-kpi span svg{width:16px}.exception-kpi small{color:var(--command-muted,var(--muted,#777));font-size:9px;text-transform:uppercase;letter-spacing:.4px}.exception-kpi b{font-size:20px}.exceptions-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:start}.exceptions-queue,.system-health-summary,.resolved-exceptions{padding:16px}.exception-table-wrap{overflow:auto}.exception-table{min-width:900px}.exception-table tbody tr{cursor:pointer}.exception-table tbody tr:hover{background:color-mix(in srgb,var(--command-gold,#c99b28) 6%,transparent)}.exception-empty{display:flex;align-items:center;justify-content:center;gap:12px;min-height:150px;color:var(--command-muted,var(--muted,#777));text-align:left}.exception-empty svg{width:25px;color:#17976b}.exception-empty div{display:grid;gap:4px}.exception-empty b{color:var(--command-text,var(--ink,#171717));font-size:13px}.exception-empty small{font-size:10px}.exception-empty.compact{min-height:90px;justify-content:flex-start}.health-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--command-line,var(--line,#ddd));font-size:11px}.health-row span{font-size:9px;font-weight:800;letter-spacing:.5px}.health-row.healthy span{color:#17976b}.health-row.attention span{color:#d98f1e}.exception-control-note{display:flex;gap:8px;margin-top:14px;color:var(--command-muted,var(--muted,#777));font-size:9px;line-height:1.45}.exception-control-note svg{width:15px;min-width:15px;color:var(--command-gold,#c99b28)}.resolved-exceptions{margin-top:16px}.exception-detail{display:grid;gap:16px}.exception-detail-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.exception-detail-top small{color:var(--command-muted,var(--muted,#777));font-size:10px}.exception-expected-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--command-line,var(--line,#ddd));border-radius:10px;overflow:hidden}.exception-expected-grid article{display:grid;gap:6px;padding:14px;border-right:1px solid var(--command-line,var(--line,#ddd))}.exception-expected-grid article:last-child{border-right:0}.exception-expected-grid small{color:var(--command-muted,var(--muted,#777));font-size:9px;text-transform:uppercase}.exception-expected-grid b{font-size:20px}.exception-difference b{color:#d9584f}.exception-source,.exception-causes{display:grid;gap:6px;padding:14px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:10px}.exception-source span,.exception-source p,.exception-causes p{margin:0;color:var(--command-muted,var(--muted,#777));font-size:10px}.exception-correction-actions{display:flex;gap:8px;flex-wrap:wrap}.exception-rule-list{display:grid;gap:8px}.exception-rule-list article{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:9px}.exception-rule-list article>span{color:var(--command-gold,#c99b28)}.exception-rule-list article>div{display:grid;gap:4px}.exception-rule-list small{color:var(--command-muted,var(--muted,#777));font-size:10px}
.loan-risk-portfolio-summary{display:flex;gap:10px;flex-wrap:wrap}.loan-risk-portfolio-summary span{display:grid;gap:5px;min-width:150px;padding:11px 13px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:9px}.loan-risk-portfolio-summary small{color:var(--command-muted,var(--muted,#777));font-size:9px;text-transform:uppercase}.loan-risk-portfolio-summary b{font-size:16px}
.roc-credit-behaviour{margin-top:16px}.roc-credit-behaviour .panel-head{align-items:flex-start}.roc-credit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.roc-credit-summary article,.roc-score-components article{display:grid;gap:5px;padding:13px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:10px}.roc-credit-summary small,.roc-score-hero small,.roc-score-components small{color:var(--command-muted,var(--muted,#777));font-size:9px;text-transform:uppercase;letter-spacing:.4px}.roc-credit-summary b,.roc-score-components b{font-size:20px}.roc-credit-summary span,.roc-score-components span{color:var(--command-muted,var(--muted,#777));font-size:10px}.roc-score-link{display:inline-grid;gap:2px;border:0;padding:0;background:transparent;color:var(--command-gold,#b48613);font-weight:800;text-align:left;cursor:pointer}.roc-score-link small{font-size:9px;font-weight:600}.roc-score-unavailable{color:var(--command-muted,var(--muted,#777));font-size:10px}.roc-score-breakdown{display:grid;gap:14px}.roc-score-hero{display:grid;gap:5px;padding:18px;border:1px solid var(--command-gold,#c99b28);border-radius:12px;background:color-mix(in srgb,var(--command-gold,#c99b28) 9%,transparent)}.roc-score-hero b{font-size:32px}.roc-score-hero span{color:var(--command-gold,#b48613);font-weight:800}.roc-score-components{display:grid;grid-template-columns:1fr 1fr;gap:10px}.roc-score-inputs{display:grid;gap:5px;padding:12px;border-top:1px solid var(--command-line,var(--line,#ddd));color:var(--command-muted,var(--muted,#777));font-size:10px}
.roc-score-actions{display:flex;gap:8px;flex-wrap:wrap}.roc-assessment-grid .field small{color:var(--command-muted,var(--muted,#777));font-size:9px}
@media(max-width:760px){.roc-credit-summary,.roc-score-components{grid-template-columns:1fr}.roc-credit-summary article{min-height:82px}}
html[data-roc-theme="dark"] .exceptions-hero,html[data-roc-theme="dark"] .exceptions-queue,html[data-roc-theme="dark"] .system-health-summary,html[data-roc-theme="dark"] .resolved-exceptions{background:#0d1215}html[data-roc-theme="light"] .exceptions-hero,html[data-roc-theme="light"] .exceptions-queue,html[data-roc-theme="light"] .system-health-summary,html[data-roc-theme="light"] .resolved-exceptions{background:#fffdf8}
@media(max-width:1050px){.exception-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.exception-kpi:nth-child(3){border-right:0}.exception-kpi:nth-child(n+4){border-top:1px solid var(--command-line,var(--line,#ddd))}.exceptions-layout{grid-template-columns:1fr}.system-health-summary{order:-1}}
@media(max-width:760px){.exceptions-hero{padding:14px}.exceptions-hero>header{flex-direction:column}.exceptions-actions{width:100%}.exceptions-actions>*{flex:1;justify-content:center}.exception-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.exception-kpi:nth-child(odd){border-right:1px solid var(--command-line,var(--line,#ddd))}.exception-kpi:nth-child(even){border-right:0}.exception-kpi:nth-child(n+3){border-top:1px solid var(--command-line,var(--line,#ddd))}.exception-expected-grid{grid-template-columns:1fr}.exception-expected-grid article{border-right:0;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.exception-expected-grid article:last-child{border-bottom:0}}
@media(max-width:430px){.loan-command-risk-grid,.loan-command-collection-grid{grid-template-columns:1fr}.loan-command-tabs button{font-size:10px}}
/* ROC scoring presentation: compact, auditable positive and negative metrics. */
.roc-score-link{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;border:0;background:none;color:var(--gold2,#c9a43b);padding:0;cursor:pointer;font:inherit;text-align:left}.roc-score-link b{font-size:11px}.roc-score-link small{font-size:8px;color:var(--green,#2e9b72);letter-spacing:.2px}.roc-score-unavailable{color:#8e938f;font-size:9px}.roc-score-breakdown{display:grid;gap:12px}.roc-score-hero{padding:18px;border:1px solid rgba(201,164,59,.42);border-radius:10px;background:linear-gradient(135deg,rgba(201,164,59,.14),rgba(15,20,18,.2));display:flex;flex-direction:column;gap:5px}.roc-score-hero small,.roc-score-components small{font-size:9px;letter-spacing:1.1px;text-transform:uppercase;color:#9b9f9a}.roc-score-hero b{font-size:30px;color:#f3f1e8}.roc-score-hero span{font-size:11px;color:#42c58b}.roc-score-components{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.roc-score-components article{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid rgba(130,139,135,.28);border-radius:8px;background:rgba(18,24,22,.65)}.roc-score-components article b{font-size:16px;color:#f2f0e9}.roc-score-components article span,.roc-score-components article small:last-child{font-size:9px;line-height:1.4;color:#aab1ac}.roc-score-formula,.roc-score-history,.roc-score-hold{padding:10px 12px;border-radius:7px;border:1px solid rgba(130,139,135,.25);display:flex;justify-content:space-between;gap:12px;font-size:10px}.roc-score-formula span,.roc-score-history span{color:#d5d8d3}.roc-score-hold{border-color:rgba(205,72,59,.5);color:#f09a8f;background:rgba(120,28,23,.16);font-weight:700}.roc-credit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.roc-credit-summary article{padding:13px;border:1px solid rgba(130,139,135,.25);border-radius:8px}.roc-credit-summary article small{display:block;font-size:9px;color:#aab1ac;text-transform:uppercase;letter-spacing:.6px}.roc-credit-summary article b{display:block;margin:8px 0 4px;font-size:19px;color:#f3f1e8}.roc-credit-summary article span{font-size:9px;color:#8fc5ad}.loan-command-risk-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.loan-command-risk-grid article:nth-child(1){border-color:rgba(201,164,59,.4)}
.roc-underwriting-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:9px 11px;margin:10px 0;border:1px solid rgba(201,164,59,.28);border-radius:7px;background:rgba(201,164,59,.08);font-size:9px}.roc-underwriting-meta b{color:#d8b14b;letter-spacing:1px}.roc-underwriting-meta span{color:#b9c0ba}
@media(max-width:800px){.roc-score-components,.roc-credit-summary,.loan-command-risk-grid{grid-template-columns:1fr 1fr}.roc-score-formula,.roc-score-history{flex-direction:column;gap:5px}}
.modal-card--loan-detail:has(.roc-score-breakdown){width:min(430px,calc(100vw - 24px));max-height:100vh;margin-left:auto;margin-right:0;border-radius:14px 0 0 14px;align-self:stretch}
@media(max-width:600px){.modal-card--loan-detail:has(.roc-score-breakdown){width:100%;border-radius:18px 18px 0 0;align-self:end}}
.loan-detail-badges .status,.loan-detail-badges .loan-basis-badge{display:inline-flex;align-items:center;gap:5px;max-width:none;margin-top:0}.loan-detail-badges .status small,.loan-detail-badges .loan-basis-badge small{font-size:7px;opacity:.7;letter-spacing:.08em}.loan-detail-badges .servicing-status{border-color:rgba(70,170,230,.35);background:rgba(70,170,230,.08);color:#4aaee6}.loan-detail-badges .lifecycle-status{border-color:rgba(201,155,40,.4);background:rgba(201,155,40,.09);color:var(--gold,#c99b28)}
.loan-state-stack{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.loan-state-stack .status,.loan-state-stack .loan-basis-badge{margin-top:0}

/* Portfolio status hierarchy: one lifecycle badge, then compact servicing/evidence metadata. */
.loan-table .loan-state-stack,.loan-mobile-card .loan-state-stack{display:flex;align-items:flex-start;justify-content:center;gap:5px;min-width:0}
.loan-state-stack .lifecycle-status{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;max-width:100%;padding:5px 9px;white-space:nowrap;font-size:9px;font-weight:800;line-height:1.1}
.loan-state-secondary{display:flex;align-items:center;flex-wrap:wrap;row-gap:3px;column-gap:6px;min-width:0;max-width:100%;color:var(--command-muted,var(--muted,#777));font-size:9px;line-height:1.2;white-space:nowrap}
.loan-servicing-meta{display:inline-flex;align-items:center;min-width:0;max-width:100%;white-space:nowrap;color:var(--command-muted,var(--muted,#777));font-size:9px}
.loan-servicing-meta:not(:empty)::after{content:"·";margin-left:6px;color:var(--command-line,var(--line,#aaa))}
.loan-state-secondary .loan-basis-badge{display:inline-flex;align-items:center;min-width:0;max-width:100%;margin:0;padding:2px 6px;white-space:nowrap;font-size:8px;line-height:1.15;letter-spacing:.25px}
.loan-table td:nth-child(6){padding-inline:10px}.loan-table td:nth-child(6) .loan-state-stack{align-items:flex-start}
.loan-table tbody tr{height:82px}.loan-table tbody td{height:82px;vertical-align:middle}.loan-table .repayment-cell{display:grid;gap:0;align-content:center}.loan-table .repayment-cell .progress-track{margin-top:6px}
.loan-table td:nth-child(7),.loan-table td:nth-child(8),.loan-table td:nth-child(9){vertical-align:middle}.loan-table .days-control,.loan-table .due-date-link,.loan-table .loan-paid-indicator{display:inline-flex;vertical-align:middle}
@media(max-width:1100px){.loan-table{min-width:1240px}.loan-table th:nth-child(1){width:235px}.loan-table th:nth-child(4){width:220px}.loan-table th:nth-child(6){width:205px}}
@media(max-width:850px){.loan-mobile-card{display:grid;gap:11px;min-height:0}.loan-mobile-card .loan-state-stack{justify-content:flex-start;gap:5px}.loan-mobile-card .loan-state-secondary{white-space:normal;flex-wrap:wrap}.loan-mobile-card .loan-servicing-meta{max-width:none}.loan-mobile-card .loan-state-secondary .loan-basis-badge{max-width:180px}}

/* Portfolio client side panel: presentation-only detail surface. */
.loan-portfolio-split{display:grid;grid-template-columns:minmax(0,1fr);min-width:0}.loan-portfolio-main{min-width:0}.loan-portfolio-side-panel{display:grid;align-content:start;gap:16px;min-width:0;max-height:calc(100vh - 150px);overflow:auto;padding:18px;border-left:1px solid var(--command-line,var(--line,#ddd));background:var(--command-surface,var(--panel,#fff));color:var(--command-text,var(--ink,#171717));animation:loanSidePanelIn .2s ease-out}.loan-table-panel.has-side-panel .loan-portfolio-split{grid-template-columns:minmax(0,1fr) 420px}.loan-side-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:11px;padding-bottom:14px;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.loan-side-header h3{margin:3px 0 3px;font-size:19px;line-height:1.15}.loan-side-header small{color:var(--command-muted,var(--muted,#777));font-size:10px;overflow-wrap:anywhere}.loan-side-header .eyebrow{color:var(--command-gold,#c99b28);font-size:8px;letter-spacing:1.2px}.loan-side-statuses{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:9px}.loan-side-statuses .loan-state-secondary{white-space:normal}.loan-side-close{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:50%;background:transparent;color:var(--command-text,var(--ink,#171717));cursor:pointer}.loan-side-close svg{width:16px}.loan-side-communications{display:flex;flex-wrap:wrap;gap:6px}.loan-side-communications button{flex:1 1 74px;justify-content:center;padding:8px 9px;font-size:10px}.loan-side-section{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--command-line,var(--line,#ddd))}.loan-side-section:first-of-type{border-top:0;padding-top:0}.loan-side-section h4{margin:0;font-size:13px}.loan-side-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.loan-side-section-heading>b{font-size:13px}.loan-side-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--command-line,var(--line,#ddd));border-radius:10px;overflow:hidden}.loan-side-facts>div{display:grid;gap:5px;min-height:73px;padding:10px;border-right:1px solid var(--command-line,var(--line,#ddd));border-bottom:1px solid var(--command-line,var(--line,#ddd))}.loan-side-facts>div:nth-child(3n){border-right:0}.loan-side-facts>div:nth-last-child(-n+3){border-bottom:0}.loan-side-facts small,.loan-side-promise-grid small{color:var(--command-muted,var(--muted,#777));font-size:8px;letter-spacing:.45px;text-transform:uppercase}.loan-side-facts b,.loan-side-promise-grid b{font-size:12px;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.loan-side-ageing{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;height:9px;border-radius:999px;overflow:hidden;background:var(--command-line,var(--line,#ddd))}.loan-side-ageing span{display:block;background:color-mix(in srgb,var(--command-line,#ccd0cc) 70%,transparent)}.loan-side-ageing span.active{background:var(--command-gold,#c99b28)}.loan-side-ageing.is-current span:first-child{background:#22a879}.loan-side-muted{color:var(--command-muted,var(--muted,#777));font-size:9px}.loan-side-promise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.loan-side-promise-grid>div{display:grid;gap:4px;padding:9px;border-radius:8px;background:color-mix(in srgb,var(--command-gold,#c99b28) 8%,transparent)}.loan-side-promise .status{font-size:8px}.loan-side-activity{display:grid;gap:0;margin:0;padding:0;list-style:none}.loan-side-activity li{display:flex;align-items:flex-start;gap:8px;padding:9px 0;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.loan-side-activity li:last-child{border-bottom:0}.loan-side-activity-icon{display:grid;place-items:center;min-width:23px;width:23px;height:23px;border-radius:7px;background:color-mix(in srgb,var(--command-gold,#c99b28) 12%,transparent);color:var(--command-gold,#c99b28)}.loan-side-activity-icon svg{width:13px}.loan-side-activity li>span:last-child{display:grid;gap:3px;min-width:0}.loan-side-activity b{font-size:10px}.loan-side-activity small{color:var(--command-muted,var(--muted,#777));font-size:9px}.loan-side-empty{align-items:center;color:var(--command-muted,var(--muted,#777));font-size:10px}.loan-side-empty>svg{width:16px;color:var(--command-gold,#c99b28)}.loan-side-actions{position:sticky;bottom:0;display:grid;gap:7px;padding-top:13px;border-top:1px solid var(--command-line,var(--line,#ddd));background:var(--command-surface,var(--panel,#fff))}.loan-side-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.loan-side-actions button{min-width:0;justify-content:center;font-size:10px}.loan-side-action-wide{width:100%}.loan-table tbody tr[aria-selected="true"]{background:color-mix(in srgb,var(--command-gold,#c99b28) 10%,transparent);box-shadow:inset 3px 0 var(--command-gold,#c99b28),inset 0 0 0 1px color-mix(in srgb,var(--command-gold,#c99b28) 42%,transparent)}.loan-table tbody tr[data-loan]{cursor:pointer}.loan-table tbody tr[data-loan]:focus-visible{outline:2px solid var(--command-gold,#c99b28);outline-offset:-2px}.loan-table-panel.has-side-panel{overflow:visible}.loan-side-actions .gold-btn{min-height:34px}
@keyframes loanSidePanelIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
@media(max-width:1439px) and (min-width:901px){.loan-table-panel.has-side-panel{position:relative}.loan-table-panel.has-side-panel .loan-portfolio-side-panel{position:absolute;z-index:8;top:0;right:0;bottom:0;width:min(420px,calc(100vw - 40px));max-height:none;border-left:1px solid var(--command-gold,#c99b28);box-shadow:-18px 0 42px rgba(0,0,0,.18)}}
@media(max-width:900px){.loan-table-panel.has-side-panel .loan-portfolio-side-panel{position:fixed;z-index:40;inset:0;width:100%;max-height:none;border:0;padding:20px;box-shadow:0 0 0 100vmax rgba(5,9,10,.62)}.loan-side-header{position:sticky;top:-20px;z-index:2;padding-top:4px;background:var(--command-surface,var(--panel,#fff))}.loan-side-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.loan-side-facts>div:nth-child(3n){border-right:1px solid var(--command-line,var(--line,#ddd))}.loan-side-facts>div:nth-child(even){border-right:0}.loan-side-facts>div:nth-last-child(-n+3){border-bottom:1px solid var(--command-line,var(--line,#ddd))}.loan-side-facts>div:nth-last-child(-n+2){border-bottom:0}.loan-side-actions{bottom:-20px;padding-bottom:20px}}
@media(max-width:480px){.loan-side-facts{grid-template-columns:1fr}.loan-side-facts>div,.loan-side-facts>div:nth-child(even){border-right:0}.loan-side-facts>div:nth-last-child(-n+2){border-bottom:1px solid var(--command-line,var(--line,#ddd))}.loan-side-facts>div:last-child{border-bottom:0}.loan-side-communications button{flex-basis:calc(50% - 6px)}}

/* ROC Score Breakdown: compact underwriting drawer presentation only. */
.modal-card--loan-detail:has(.roc-score-drawer){width:min(430px,calc(100vw - 24px));max-height:calc(100vh - 24px);margin-left:auto;margin-right:0;align-self:stretch;border-radius:16px 0 0 16px;overflow:auto;background:var(--command-surface,var(--panel,#fff));color:var(--command-text,var(--ink,#171717))}.modal-card--loan-detail:has(.roc-score-drawer) .modal-close{z-index:3;background:var(--command-surface,var(--panel,#fff));color:var(--command-text,var(--ink,#171717))}.roc-score-drawer{display:grid;gap:12px;padding:4px 2px 2px}.roc-score-drawer-header{padding:3px 38px 10px 2px;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.roc-score-drawer-header h2{margin:4px 0 10px;font:700 20px/1.15 inherit;color:var(--command-text,var(--ink,#171717))}.roc-score-drawer-header .eyebrow,.roc-score-section-title>span,.roc-score-hero-card small,.roc-score-formula-card small,.roc-score-status-card small{color:var(--command-gold,#c99b28);font-size:8px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase}.roc-score-client{display:flex;align-items:center;gap:9px;min-width:0}.roc-score-client .avatar{flex:0 0 auto}.roc-score-client>div{display:grid;gap:2px;min-width:0}.roc-score-client b{font-size:12px;overflow-wrap:anywhere}.roc-score-client small{color:var(--command-muted,var(--muted,#777));font-size:9px;overflow-wrap:anywhere}.roc-score-client .status{margin-left:auto;white-space:nowrap}.roc-score-hero-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--command-gold,#c99b28) 45%,var(--command-line,#ddd));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--command-gold,#c99b28) 12%,transparent),var(--command-surface,var(--panel,#fff)))}.roc-score-hero-card>div:first-child{display:grid;gap:4px}.roc-score-hero-card strong{font-size:30px;line-height:1;font-variant-numeric:tabular-nums}.roc-score-band{color:#15966b;font-size:11px;font-weight:800}.roc-score-ring{display:grid;place-items:center;width:82px;height:82px;flex:0 0 82px;border-radius:50%;background:conic-gradient(#15966b calc(var(--score)*1%),color-mix(in srgb,var(--command-line,#ddd) 72%,transparent) 0);position:relative}.roc-score-ring::after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--command-surface,var(--panel,#fff))}.roc-score-ring span{position:relative;z-index:1;font-size:18px;font-weight:800}.roc-score-ring.is-empty{background:var(--command-line,#ddd)}.roc-score-ring.is-empty span{color:var(--command-muted,var(--muted,#777));font-size:22px}.roc-score-breakdown-card{display:grid;border:1px solid var(--command-line,var(--line,#ddd));border-radius:11px;overflow:hidden}.roc-score-breakdown-card article{display:grid;grid-template-columns:22px minmax(0,1fr) minmax(128px,.85fr);gap:10px;align-items:start;padding:12px;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.roc-score-breakdown-card article:last-child{border-bottom:0}.roc-score-index{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:color-mix(in srgb,var(--command-gold,#c99b28) 14%,transparent);color:var(--command-gold,#c99b28);font-size:10px;font-weight:800}.roc-score-component-main,.roc-score-component-meta{display:grid;gap:3px;min-width:0}.roc-score-component-main small,.roc-score-component-meta small,.roc-score-driver-columns>article>small,.roc-score-history-compact small{color:var(--command-muted,var(--muted,#777));font-size:8px;letter-spacing:.55px;text-transform:uppercase}.roc-score-component-main b{font-size:16px;font-variant-numeric:tabular-nums}.roc-score-component-main span{color:#15966b;font-size:10px;font-weight:700}.roc-score-component-meta{grid-template-columns:auto 1fr;align-items:baseline;column-gap:7px}.roc-score-component-meta b{font-size:9px;text-align:right;overflow-wrap:anywhere}.roc-score-formula-card{display:grid;gap:5px;padding:11px 12px;border:1px solid color-mix(in srgb,#15966b 35%,var(--command-line,#ddd));border-radius:9px;background:color-mix(in srgb,#15966b 7%,transparent)}.roc-score-formula-card b{font-size:11px;color:#15966b;overflow-wrap:anywhere}.roc-score-insights{display:grid;grid-template-columns:1.1fr .9fr;gap:12px}.roc-score-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:7px}.roc-score-section-title small{color:var(--command-muted,var(--muted,#777));font-size:8px}.roc-score-driver-columns{display:grid;grid-template-columns:1fr 1fr;gap:7px}.roc-score-driver-columns>article{min-width:0;padding:9px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:8px}.roc-score-driver-columns ul{display:grid;gap:6px;margin:7px 0 0;padding:0;list-style:none}.roc-score-driver-columns li{font-size:9px;line-height:1.3;overflow-wrap:anywhere}.roc-score-driver-columns li::before{content:"•";margin-right:5px;color:#15966b}.roc-score-driver-columns>article:last-child li::before{color:#d9584f}.roc-score-empty{margin:7px 0 0;color:var(--command-muted,var(--muted,#777));font-size:9px;line-height:1.35}.roc-score-history-compact{display:flex;align-items:flex-start;gap:5px;min-height:54px}.roc-score-history-compact>span{display:grid;gap:4px;min-width:0;padding:8px 6px;border-bottom:2px solid #15966b}.roc-score-history-compact b{font-size:14px}.roc-score-history-list{display:grid;gap:7px}.roc-score-history-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:8px}.roc-score-history-list article>div{display:grid;gap:4px}.roc-score-history-list b{font-size:12px}.roc-score-history-list small,.roc-score-history-list article>span{color:var(--command-muted,var(--muted,#777));font-size:9px}.roc-score-drawer-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding-top:12px;border-top:1px solid var(--command-line,var(--line,#ddd))}.roc-score-status-card{display:grid;gap:4px;padding:10px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:8px}.roc-score-status-card b{font-size:12px}.roc-score-status-card span{color:var(--command-muted,var(--muted,#777));font-size:9px;line-height:1.35}.roc-score-drawer-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch}.roc-score-drawer-actions button{justify-content:center;white-space:nowrap;font-size:9px}.roc-score-drawer-actions .gold-btn{min-height:34px}
@media(max-width:760px){.modal-card--loan-detail:has(.roc-score-drawer){width:100%;max-height:100vh;border-radius:18px 18px 0 0;align-self:end}.roc-score-insights{grid-template-columns:1fr}.roc-score-breakdown-card article{grid-template-columns:22px minmax(0,1fr)}.roc-score-component-meta{grid-column:2;grid-template-columns:auto 1fr}.roc-score-drawer-footer{grid-template-columns:1fr;position:sticky;bottom:0;padding-bottom:8px;background:var(--command-surface,var(--panel,#fff))}.roc-score-drawer-actions{display:grid;grid-template-columns:1fr 1fr}.roc-score-drawer-actions button:first-child:last-child{grid-column:1/-1}}
@media(max-width:430px){.roc-score-driver-columns{grid-template-columns:1fr}.roc-score-hero-card{padding:12px}.roc-score-ring{width:72px;height:72px;flex-basis:72px}.roc-score-hero-card strong{font-size:26px}}
.modal-card--loan-metric-drilldown{width:min(440px,calc(100vw - 24px));max-height:100vh;height:100%;margin-left:auto;margin-right:0;align-self:stretch;border-radius:16px 0 0 16px;overflow:auto;background:var(--command-surface,var(--panel,#fff));color:var(--command-text,var(--ink,#171717))}.loan-kpi-drawer{display:grid;gap:14px;padding:4px 2px 2px}.loan-kpi-drawer>header{display:grid;gap:5px;padding:3px 38px 12px 2px;border-bottom:1px solid var(--command-line,var(--line,#ddd))}.loan-kpi-drawer>header .eyebrow{color:var(--command-gold,#c99b28);font-size:8px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase}.loan-kpi-drawer>header h2{margin:0;font-size:21px;line-height:1.15}.loan-kpi-drawer>header strong{font-size:28px;line-height:1.05;font-variant-numeric:tabular-nums}.loan-kpi-drawer>header p{margin:2px 0 0;color:var(--command-muted,var(--muted,#777));font-size:10px}.loan-kpi-section{display:grid;gap:10px}.loan-kpi-section>h3,.loan-kpi-drawer section>h3{margin:0;font-size:12px}.loan-kpi-section>h3 small,.loan-kpi-drawer section>h3 small{color:var(--command-muted,var(--muted,#777));font-size:9px;font-weight:500}.loan-kpi-calc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.loan-kpi-calc-grid>div{display:grid;gap:4px;padding:10px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:8px;background:color-mix(in srgb,var(--command-surface,var(--panel,#fff)) 92%,var(--command-gold,#c99b28) 8%)}.loan-kpi-calc-grid small,.loan-kpi-reconciliation span,.loan-kpi-reconciliation small{color:var(--command-muted,var(--muted,#777));font-size:8px}.loan-kpi-calc-grid b{font-size:12px;line-height:1.25}.loan-kpi-records,.loan-kpi-movements{display:grid;gap:7px;max-height:52vh;overflow:auto}.loan-kpi-record{display:grid;grid-template-columns:1.15fr 1fr 1fr 1.1fr;gap:8px;width:100%;padding:10px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer}.loan-kpi-record:hover,.loan-kpi-record:focus-visible{border-color:var(--command-gold,#c99b28);box-shadow:0 0 0 2px color-mix(in srgb,var(--command-gold,#c99b28) 18%,transparent);outline:0}.loan-kpi-record span{display:grid;gap:3px;min-width:0}.loan-kpi-record b{font-size:10px;overflow-wrap:anywhere}.loan-kpi-record small{color:var(--command-muted,var(--muted,#777));font-size:8px;line-height:1.3;overflow-wrap:anywhere}.loan-kpi-reconciliation{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:10px;border:1px solid var(--command-line,var(--line,#ddd));border-radius:8px}.loan-kpi-reconciliation b{text-align:right;font-size:10px}.loan-kpi-reconciliation .matched{color:#15966b}.loan-kpi-reconciliation .error{color:#c7433a}.loan-kpi-reconciliation small{grid-column:1/-1;line-height:1.35}.loan-kpi-movement{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;padding:9px;border-bottom:1px solid var(--command-line,var(--line,#ddd));font-size:9px}.loan-kpi-movement span{color:var(--command-muted,var(--muted,#777));font-size:8px}.loan-kpi-movement strong{font-size:10px}.loan-kpi-empty{display:flex;align-items:center;gap:9px;padding:18px 10px;border:1px dashed var(--command-line,var(--line,#ddd));border-radius:8px;color:var(--command-muted,var(--muted,#777))}.loan-kpi-empty svg{width:18px;color:var(--command-gold,#c99b28)}.loan-kpi-empty div{display:grid;gap:3px}.loan-kpi-empty b{color:var(--command-text,var(--ink,#171717));font-size:10px}.loan-kpi-empty small{font-size:8px}.loan-kpi-drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid var(--command-line,var(--line,#ddd))}.loan-kpi-drawer-footer>span{display:flex;align-items:center;gap:5px;color:var(--command-muted,var(--muted,#777));font-size:8px}.loan-kpi-drawer-footer svg{width:13px;color:var(--command-gold,#c99b28)}
@media(max-width:600px){.modal-card--loan-metric-drilldown{width:100%;max-height:100vh;border-radius:18px 18px 0 0;align-self:end}.loan-kpi-drawer{padding-bottom:env(safe-area-inset-bottom)}.loan-kpi-record{grid-template-columns:1fr 1fr}.loan-kpi-record span:last-child{grid-column:1/-1}.loan-kpi-movement{grid-template-columns:1fr auto}.loan-kpi-movement span:nth-child(3){grid-column:1}.loan-kpi-movement strong{grid-column:2;grid-row:1/3}.loan-kpi-records,.loan-kpi-movements{max-height:none}}
