/* Shared current-control surfaces - no nested hero cards. */
.live-control,.bank-cfo,.bank-panel{padding:20px;border:1px solid var(--rule);border-radius:16px;background:var(--sheet);margin-bottom:18px;min-width:0}
.live-control{border-top:3px solid var(--acc)}
.live-toolbar,.bank-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}
.live-toolbar .on{background:var(--acc);color:white;border-color:var(--acc)}
.live-toolbar .ux-field{min-width:135px}
.live-data-stamp{display:flex;gap:8px 16px;align-items:baseline;flex-wrap:wrap;color:var(--ink2);font-size:12px;margin:12px 0}
.live-data-stamp strong{color:var(--ink)}
.live-profit-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.live-profit-grid .ux-metric{min-width:0;background:var(--paper)}
.live-profit-grid .ux-metric-value{font-size:clamp(18px,1.55vw,28px);overflow-wrap:anywhere}
.live-drivers{display:flex;gap:10px 24px;flex-wrap:wrap;padding:12px 0;color:var(--ink2);font-size:12px;font-variant-numeric:tabular-nums}
.bank-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.bank-kpis .ux-metric-value{font-size:20px;white-space:normal;overflow-wrap:anywhere}
.live-accounting{margin-top:18px;border:1px solid var(--rule);border-radius:14px;background:var(--sheet)}
.live-accounting>summary{padding:14px 18px;font-weight:650;cursor:pointer;color:var(--ink2)}
.live-accounting .ux-detail-body{padding:0 18px 18px}
.bank-page{min-width:0}
.bank-page>.ux-tabs{margin-bottom:12px;max-width:100%;overflow:auto;flex-wrap:wrap}
.bank-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--rule);border-radius:10px;margin:14px 0}
.bank-table{min-width:1040px;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.bank-table th{text-align:left;padding:10px 12px;background:var(--paper);border-bottom:1px solid var(--rule);font-weight:650;color:var(--ink2)}
.bank-table td{padding:11px 12px;border-bottom:1px solid var(--hair);vertical-align:top}
.bank-table tr:last-child td{border-bottom:0}
.bank-table td:nth-child(n+3){white-space:nowrap}
.bank-table td:first-child{min-width:130px;max-width:250px;overflow-wrap:anywhere}
.bank-table td .ghost{font-size:11px;letter-spacing:0}
.bank-alerts{background:color-mix(in srgb,var(--warn) 5%,var(--sheet));border:1px solid color-mix(in srgb,var(--warn) 40%,var(--rule));border-radius:10px;padding:12px 14px}
.bank-alerts>summary{cursor:pointer;font-weight:650}
.bank-alert-list{max-height:180px;overflow:auto;font-size:12px;color:var(--ink2)}
.bank-alert-list p{margin:6px 0;overflow-wrap:anywhere}
.bank-form-pane{width:min(800px,96vw);max-width:96vw;background:var(--sheet);color:var(--ink);padding:22px;overflow:auto;max-height:96dvh;position:relative}
.bank-form-pane .phd{padding:0 42px 14px 0}
.bank-form-pane .phd h2{font-size:23px;line-height:1.25;margin:0}
.bank-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bank-form-grid .wide{grid-column:1/-1}
.bank-form-grid .ux-field{min-width:0;display:flex;flex-direction:column;gap:5px;align-items:stretch}
.bank-form-grid input,.bank-form-grid select,.bank-form-grid textarea{min-width:0;width:100%;max-width:100%;background:var(--sheet);color:var(--ink);padding:9px;border:1px solid var(--rule);border-radius:8px;font-family:var(--sans);font-size:13px;box-sizing:border-box}
.bank-form-grid textarea{min-height:75px;resize:vertical}
.bank-form-grid .ux-field>span{white-space:normal;font-size:11px;color:var(--ink2)}
.bank-form-actions{display:flex;gap:10px;justify-content:flex-end;position:sticky;bottom:-22px;background:var(--sheet);padding:15px 0;border-top:1px solid var(--rule);margin-top:18px}
.bank-history{padding:10px;font-family:var(--mono);font-size:11px;max-height:220px;overflow:auto}
.bank-cfo .ux-section-head p{max-width:100%}
@media(max-width:1200px){.live-profit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bank-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.live-control,.bank-cfo,.bank-panel{padding:14px;border-radius:12px}.live-profit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.live-profit-grid .ux-metric-value{font-size:21px}.live-toolbar .ghost,.bank-actions .ghost{font-size:11px;padding:8px;letter-spacing:0}.bank-page>.ux-tabs{flex-wrap:nowrap}.bank-form-grid{grid-template-columns:1fr}.bank-form-grid .wide{grid-column:auto}.bank-form-pane{padding:16px}.bank-form-actions{bottom:-16px}.bank-cfo .ux-section-head,.bank-panel .ux-section-head{flex-wrap:wrap}.bank-kpis .ux-metric-value{font-size:18px}}
@media(max-width:400px){.live-profit-grid,.bank-kpis{grid-template-columns:1fr}.live-toolbar .ux-field{width:100%;min-width:0}.live-data-stamp{font-size:11px}.bank-form-pane .phd h2{font-size:20px}}
@media print{.bank-actions,.bank-page>.ux-tabs,.bank-form-actions,.bank-cfo{display:none!important}.bank-table-wrap{overflow:visible!important;border:0}.bank-table{min-width:0!important;width:100%;font-size:8px}.bank-table th,.bank-table td{white-space:normal!important;padding:4px!important}.bank-panel{border:0;padding:0}.bank-alert-list{max-height:none}.live-profit-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.live-accounting:not([open]){display:none}}

/* V120.3.40 - decision KPIs, liability coverage and deliberate removal. */
.cfo-control-kpis{margin-top:18px;padding-top:16px;border-top:1px solid var(--rule)}
.cfo-kpi-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}
.cfo-kpi-heading h3{font-family:var(--disp);font-size:15px;margin:0}
.cfo-kpi-heading>span{font-size:11px;color:var(--ink3)}
.cfo-ratio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cfo-ratio-grid .ux-metric{background:var(--sheet);min-width:0}
.cfo-ratio-grid .ux-metric-value{font-size:24px;font-variant-numeric:tabular-nums}
.cfo-ratio-grid .ux-metric-sub{font-size:11px;line-height:1.45}
.cfo-basis-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;padding:12px 0;border-top:1px solid var(--hair)}
.cfo-basis-strip>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.cfo-basis-strip span{font-size:11px;color:var(--ink2)}
.cfo-basis-strip strong{font-family:var(--mono);font-size:14px;overflow-wrap:anywhere}
.cfo-kpi-definitions{font-size:12px;color:var(--ink2);margin-top:6px}
.cfo-kpi-definitions summary{cursor:pointer;font-weight:600;padding:7px 0}
.cfo-kpi-definitions dl{display:grid;grid-template-columns:160px minmax(0,1fr);gap:9px 16px;line-height:1.5;border-top:1px solid var(--hair);padding-top:12px;margin:5px 0}
.cfo-kpi-definitions dt{font-weight:600;color:var(--ink)}
.cfo-kpi-definitions dd{margin:0}
.cfo-opos-panel .bank-table{min-width:1040px}
.cfo-undercoverage{color:var(--neg);font-weight:650}
.bank-row-actions{display:flex;align-items:center;gap:6px}
.bank-table:has([data-testid="guarantee-remove"]) th:last-child,.bank-table:has([data-testid="guarantee-remove"]) td:last-child{position:sticky;right:0;background:var(--sheet);z-index:2;border-left:1px solid var(--rule)}
.bank-table:has([data-testid="guarantee-remove"]) th:last-child{background:var(--paper)}
.ghost.bank-danger{color:var(--neg);border-color:color-mix(in srgb,var(--neg) 42%,var(--rule))}
.ghost.bank-danger:hover{background:color-mix(in srgb,var(--neg) 6%,var(--sheet));border-color:var(--neg)}
.ghost.bank-danger-solid{background:var(--neg);border-color:var(--neg);color:var(--sheet)}
.ghost.bank-danger-solid:hover{background:var(--neg);color:var(--sheet);filter:brightness(.95)}
.bank-remove-editor{margin-right:auto}
.bank-delete-pane{width:min(650px,96vw)}
.bank-delete-pane>h2{font-family:var(--disp);font-size:24px;margin:0 0 14px}
.bank-delete-pane textarea{width:100%;min-height:70px;border:1px solid var(--rule);border-radius:8px;padding:9px;background:var(--sheet);color:var(--ink);font-family:var(--sans);font-size:13px}
.bank-delete-pane>.ux-field{display:flex;flex-direction:column;gap:6px;font-size:12px}
.bank-delete-summary{display:grid;grid-template-columns:145px minmax(0,1fr);gap:8px 14px;padding:14px;background:var(--paper);border-radius:10px;font-size:13px}
.bank-delete-summary dt{color:var(--ink2)}
.bank-delete-summary dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.bank-delete-pane .bank-form-actions{flex-wrap:wrap}
@media(max-width:900px){.cfo-ratio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cfo-kpi-heading{align-items:flex-start;flex-direction:column}.cfo-basis-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.cfo-ratio-grid{grid-template-columns:1fr}.cfo-kpi-definitions dl,.bank-delete-summary{grid-template-columns:1fr;gap:4px}.cfo-kpi-definitions dd,.bank-delete-summary dd{margin-bottom:10px}.bank-delete-pane .bank-form-actions{justify-content:stretch}.bank-delete-pane .bank-form-actions button{flex:1 1 auto;font-size:11px;letter-spacing:0;padding:9px}.bank-form-actions{flex-wrap:wrap}}
@media print{.bank-row-actions,.bank-delete-pane,.cfo-kpi-definitions:not([open]){display:none!important}.cfo-ratio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cfo-control-kpis{break-inside:avoid}}
