.insurance-panel { gap: 12px; color: #20372f; font-size: 12px; }
.insurance-panel [hidden] { display: none !important; }
.insurance-view { display: grid; gap: 12px; min-width: 0; }
.insurance-mode-tabs { display: flex; gap: 5px; }
.insurance-panel .insurance-mode-tabs button[aria-selected="true"] { background: #e6f2eb; color: #11523d; border-color: #83b19a; font-weight: 700; }
.insurance-forecast-intro { border-left: 3px solid #17664c; }
.insurance-model-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.insurance-model-badges span { padding: 4px 8px; border-radius: 4px; background: #eef4f1; color: #355947; font-size: 11px; }
.insurance-model-guide summary { cursor: pointer; color: #17664c; font-weight: 600; }
.insurance-panel .insurance-model-current { margin: 12px 0; line-height: 1.8; }
.insurance-model-table { max-height: none; }
.insurance-model-table.insurance-table table { white-space: normal; table-layout: fixed; }
.insurance-model-table.insurance-table td, .insurance-model-table.insurance-table th { text-align: left; vertical-align: top; line-height: 1.8; font-size: 12px; overflow-wrap: anywhere; }
.insurance-model-table th:first-child { width: 16%; }
.insurance-model-table tbody th { position: static; background: #f8faf9; }
.insurance-model-table td:nth-child(2) { width: 28%; }
.insurance-model-formula { padding: 12px; margin: 12px 0; background: #f5f8f6; border-radius: 6px; line-height: 1.8; }
.insurance-model-formula ol { padding-left: 22px; margin: 6px 0; }
.insurance-model-example .insurance-table-title { flex-wrap: wrap; margin-bottom: 10px; }
.insurance-model-example label { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.insurance-model-example p { overflow-wrap: anywhere; }
.insurance-forecast-controls { padding: 0; }
.insurance-forecast-controls input[type="number"] { width: 110px; }
.insurance-panel .insurance-forecast-help { margin: 12px 0 20px; }
.insurance-event-list { display: grid; gap: 10px; }
.insurance-event-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; padding: 12px; border: 1px solid #d8e5dc; border-radius: 6px; background: #f7faf8; }
.insurance-event-row label { display: flex; flex-direction: column; gap: 6px; }
.insurance-event-row input[type="number"] { width: 125px; }
.insurance-forecast-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 15px; color: #62726b; }
.insurance-forecast-mae { display: block; font-size: 18px; margin: 15px 0; }
.insurance-forecast-diagnostics p { overflow-wrap: anywhere; }
.insurance-card { background: #fff; border: 1px solid #d9e3df; border-radius: 9px; padding: 15px; min-width: 0; }
.insurance-card h3 { margin: 0 0 6px; font-size: 14px; }
.insurance-card p, .insurance-card small { color: #6b7b74; font-size: 11px; font-weight: 400; line-height: 1.6; }
.insurance-card p { margin: 0 0 12px; }
.insurance-filters { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.insurance-filters label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; }
.insurance-panel input, .insurance-panel select, .insurance-panel button { min-height: 32px; border: 1px solid #ccd9d2; border-radius: 5px; padding: 5px 9px; background: white; color: inherit; font: inherit; }
.insurance-panel button { cursor: pointer; }
.insurance-panel button:hover:not(:disabled) { background: #edf6f0; }
.insurance-panel button:disabled { opacity: .5; cursor: default; }
.insurance-panel :focus-visible { outline: 2px solid #17664c; outline-offset: 2px; }
.insurance-panel .insurance-primary { background: #17664c; color: white; min-width: 75px; }
.insurance-panel .insurance-primary:hover:not(:disabled) { background: #11523d; border-color: #11523d; color: #fff; }
.insurance-panel .insurance-primary:active:not(:disabled) { background: #0d4030; border-color: #0d4030; }
.insurance-panel .insurance-primary:disabled { background: #e5eee9; border-color: #cbd8d0; color: #576d61; opacity: 1; }
.insurance-presets { display: flex; gap: 4px; }
.insurance-context, .insurance-table-title { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: #62726b; }
.insurance-context { min-height: 32px; }
.insurance-detail-title { flex-wrap: wrap; }
.insurance-detail-title h3 { margin-right: auto; }
.insurance-detail-title label { display: flex; align-items: center; gap: 6px; }
#insurance-status { line-height: 1.7; }
#insurance-results { display: grid; gap: 12px; min-width: 0; }
.insurance-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.insurance-kpis .insurance-card { display: flex; flex-direction: column; gap: 8px; }
.insurance-kpis strong { font-size: 24px; font-variant-numeric: tabular-nums; }
.insurance-daily-average { font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.insurance-kpis .insurance-card:first-child { border-top: 3px solid #17664c; }
.insurance-charts { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(300px, 1fr); gap: 12px; }
.insurance-chart { position: relative; height: 300px; }
.insurance-component-charts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 20px 0; }
.insurance-component-charts > div { min-width: 0; }
@media (max-width: 1050px) { .insurance-component-charts { grid-template-columns: 1fr; } }
.insurance-chart-controls { display: flex; gap: 5px; flex-wrap: wrap; }
.insurance-card:has(.insurance-chart-controls) > .insurance-table-title { flex-wrap: wrap; }
.insurance-chart-scroll { overflow-x: scroll; overflow-y: hidden; height: 20px; scrollbar-color: #93b3a2 #edf3ef; overscroll-behavior-x: contain; }
.insurance-chart-scroll > div { height: 1px; }
.insurance-chart-navigation { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-top: 6px; color: #62726b; font-size: 11px; }
.insurance-table { overflow: auto; max-height: 520px; margin-top: 10px; }
.insurance-fund-table { max-height: 300px; }
.insurance-table table { width: 100%; border-collapse: collapse; white-space: nowrap; font-variant-numeric: tabular-nums; }
.insurance-table th, .insurance-table td { padding: 10px; text-align: right; border-bottom: 1px solid #e8eeeb; }
.insurance-table th { position: sticky; top: 0; background: #f1f6f3; font-size: 11px; z-index: 1; }
.insurance-table th:first-child, .insurance-table td:first-child { text-align: left; }
.insurance-table tbody tr:hover { background: #f7faf8; }
.insurance-table td button { padding: 0; min-height: 24px; background: none; border: none; color: #17664c; text-decoration: underline; }
.insurance-positive { color: #12654a; font-weight: 700; }
.insurance-negative { color: #b24939; font-weight: 700; }
.insurance-pagination { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-top: 12px; }
.insurance-notes summary { cursor: pointer; font-weight: 600; }
.insurance-notes ul { margin: 12px 0 0; padding-left: 20px; color: #62726b; line-height: 1.9; }
#tab1.insurance-cashflow-active .base-date-control { opacity: .5; }
.base-view-toolbar { flex-wrap: wrap; }
.base-view-toolbar .base-view-tabs { flex-wrap: wrap; }
.base-view-toolbar .base-view-tab { white-space: nowrap; flex: 0 0 auto; }
@media (max-width: 1050px) { .insurance-charts { grid-template-columns: 1fr; } }
@media (max-width: 650px) { .insurance-kpis { grid-template-columns: 1fr; } .insurance-context { align-items: flex-start; flex-direction: column; } .insurance-kpis strong { font-size: 21px; } }
