.rating-unrated { background: #eef2f6; color: #475467; }
.report-rating-unrated { background: #eef2f6; color: #475467; border-color: #cfd8e3; }
.single-analysis-chart-line { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.single-analysis-line-primary { stroke: var(--primary); color: var(--primary); }
.single-analysis-line-secondary { stroke: #667085; color: #667085; }
.single-analysis-line-tertiary { stroke: #8a5a00; color: #8a5a00; }
.single-analysis-legend { display: inline-block; width: 22px; height: 3px; margin-right: 6px; background: currentColor; vertical-align: middle; }
.assumption-item-with-value { align-items: center; }
.assumption-text-wrap { display: grid; gap: 3px; }
.assumption-value { color: var(--muted); font-size: 13px; }
.scenario-control-panel { grid-column: 1 / -1; display: grid; gap: 12px; margin: 14px 0; padding: 14px; border: 1px solid var(--border); border-radius: 14px; background: #f8fafc; }
.scenario-control-panel legend { padding: 0 6px; font-weight: 900; color: var(--primary); }
.scenario-control-toggle { display: flex; align-items: center; gap: 8px; font-weight: 800; }
.scenario-control-toggle input { width: auto; }
.scenario-control-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; opacity: .58; }
.scenario-controls-active .scenario-control-grid { opacity: 1; }
.scenario-control-grid label { display: grid; grid-template-columns: 1fr auto; gap: 5px 10px; align-items: center; font-size: 13px; font-weight: 700; }
.scenario-control-grid input[type="range"] { grid-column: 1 / -1; width: 100%; }
.scenario-control-grid output { color: var(--primary); font-variant-numeric: tabular-nums; }

.kpi-assessment-card .kpi-value-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 5px 8px;
}

.kpi-assessment-card .dashboard-kpi-assessment {
    padding: 0;
    border-radius: 0;
    background: transparent;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.kpi-assessment-card .dashboard-kpi-dot {
    width: 7px;
    height: 7px;
}

.kpi-assessment-card .dashboard-kpi-extra {
    gap: 4px;
    margin-top: 6px;
    padding-top: 0;
    border-top: 0;
}

.kpi-assessment-card .dashboard-kpi-reason,
.kpi-assessment-card .dashboard-kpi-thresholds {
    font-size: 11px;
    line-height: 1.35;
}

.kpi-assessment-card .dashboard-kpi-thresholds {
    gap: 1px;
}

.kpi-assessment-card .dashboard-kpi-thresholds span::before {
    content: "";
}

.dashboard-kpi-assessment-not_applicable,
.dashboard-kpi-assessment-insufficient {
    color: var(--muted);
    background: #f8fafc;
}

.scenario-rating-cell {
    display: grid;
    gap: 5px;
    min-width: 150px;
}

.scenario-rating-pill {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    justify-content: center;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .04em;
}

.scenario-rating-reason {
    color: var(--muted);
    font-size: 11px;
    line-height: 1.35;
}

.financing-debt-chart {
    min-width: 700px;
    width: 100%;
    height: auto;
}

.financing-debt-grid-line,
.financing-debt-vertical-grid-line {
    stroke: var(--border);
    stroke-width: 1;
}

.financing-debt-vertical-grid-line {
    stroke-dasharray: 3 4;
}

.financing-debt-axis-line {
    stroke: var(--muted);
    stroke-width: 1;
}

.financing-debt-axis-label {
    fill: var(--muted);
    font-size: 11px;
}

.financing-debt-line {
    fill: none;
    stroke: var(--primary);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.financing-debt-point {
    fill: #ffffff;
    stroke: var(--primary);
    stroke-width: 3;
}

.financing-debt-point-label {
    fill: var(--primary);
    font-size: 10px;
    font-weight: 700;
    paint-order: stroke;
    stroke: #ffffff;
    stroke-width: 4px;
    stroke-linejoin: round;
}

.financing-debt-reset-line {
    stroke: #c0841a;
    stroke-width: 2;
    stroke-dasharray: 6 6;
}

.financing-debt-reset-label {
    fill: #9a6700;
    font-size: 11px;
    font-weight: 800;
    paint-order: stroke;
    stroke: #ffffff;
    stroke-width: 4px;
    stroke-linejoin: round;
}

.financing-debt-note {
    margin-top: 12px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

@media (max-width: 700px) {
    .scenario-control-grid { grid-template-columns: 1fr; }
    .kpi-assessment-card .kpi-value-row { align-items: flex-start; }
    .scenario-rating-reason { max-width: 240px; }
}
