/*
 * Sector 2 - Poverty and Social Protection.
 * Scoped frontend-only UI for #sectorPovertyView.
 */
/* sector chrome consolidated in core bundle */
#sectorPovertyView {
    display: block;
}
#sectorPovertyView[hidden] {
    display: none;
}
.sp-root {
    --sp-bg: #f8fafc;
    --sp-surface: #ffffff;
    --sp-surface-soft: #f1f5f9;
    --sp-line: #e6edf5;
    --sp-line-strong: #c9d8e8;
    --sp-text: #0f172a;
    --sp-muted: #64748b;
    --sp-navy: #2d51a1;
    --sp-blue: #33a7df;
    --sp-sky: #b2e6fa;
    --sp-orange: #f68d32;
    --sp-green: #0f766e;
    --sp-teal: #0e7490;
    --sp-purple: #7c3aed;
    --sp-focus: #2d51a1;
    --sp-radius: 18px;
    --sp-radius-sm: 10px;
    --sp-radius-pill: 999px;
    --sp-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04);
    --sp-shadow: 0 1px 3px rgba(15, 23, 42, 0.06), 0 12px 32px rgba(15, 23, 42, 0.07);
    --sp-shadow-lg: 0 4px 6px rgba(15, 23, 42, 0.05), 0 20px 44px rgba(15, 23, 42, 0.08);
    --sp-space-1: 4px;
    --sp-space-2: 8px;
    --sp-space-3: 12px;
    --sp-space-4: 16px;
    --sp-space-5: 20px;
    --sp-space-6: 24px;
    --sp-space-7: 32px;
    color: var(--sp-text);
    font-family: "Source Sans 3", "Public Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.sp-root *,
.sp-root *::before,
.sp-root *::after {
    box-sizing: border-box;
}
.sp-hero,
.sp-section,
.sp-card,
.sp-kpi,
.sp-footer,
.sp-table-card {
    border: 1px solid var(--sp-line);
    border-radius: var(--sp-radius);
    background: var(--sp-surface);
    box-shadow: var(--sp-shadow);
}
.sp-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(16px, 2.2vw, 28px);
    align-items: start;
    padding: clamp(18px, 2.5vw, 28px);
    background:
        linear-gradient(135deg, rgba(30, 58, 138, 0.08), transparent 38%),
        linear-gradient(315deg, rgba(249, 115, 22, 0.09), transparent 32%),
        var(--sp-surface);
}
.sp-hero-copy {
    max-width: 78ch;
}
.sp-kicker,
.sp-section-kicker,
.sp-card-kicker,
.sp-filter-label {
    margin: 0;
    color: var(--sp-orange);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    line-height: 1.35;
    text-transform: uppercase;
}
.sp-hero h1 {
    margin: var(--sp-space-1) 0 0;
    color: var(--sp-text);
    font-family: "Outfit", "Source Sans 3", sans-serif;
    font-size: clamp(1.55rem, 3vw, 2.35rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.08;
}
.sp-status-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--sp-space-2);
    min-width: 220px;
}
.sp-root .dashboard-refresh-status {
    min-height: 1.2rem;
    color: var(--sp-muted);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: right;
}
.sp-root .dashboard-refresh-status[data-refresh-tone="error"] {
    color: #b91c1c;
}
.sp-root .dashboard-refresh-status[data-refresh-tone="loading"] {
    color: #b45309;
}
.sp-refresh,
.sp-chip,
.sp-jump-nav a,
.sp-table th button {
    font: inherit;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.sp-refresh {
    min-height: 38px;
    padding: 0 var(--sp-space-4);
    border: 1px solid var(--sp-line-strong);
    border-radius: var(--sp-radius-sm);
    background: var(--sp-surface);
    color: var(--sp-navy);
    cursor: pointer;
    font-size: 0.84rem;
    font-weight: 800;
}
.sp-refresh:hover {
    border-color: var(--sp-navy);
    transform: translateY(-1px);
}
.sp-jump-nav {
    position: sticky;
    top: 0;
    z-index: 8;
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-space-2);
    margin-block: var(--sp-space-4);
    padding: var(--sp-space-2);
    border: 1px solid var(--sp-line);
    border-radius: var(--sp-radius);
    background: rgba(248, 250, 252, 0.92);
    backdrop-filter: blur(12px);
}
.sp-jump-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 var(--sp-space-4);
    border: 1px solid transparent;
    border-radius: var(--sp-radius-sm);
    color: var(--sp-muted);
    font-size: 0.84rem;
    font-weight: 800;
    text-decoration: none;
}
.sp-jump-nav a:hover {
    border-color: var(--sp-line-strong);
    background: var(--sp-surface);
    color: var(--sp-navy);
}
.sp-main {
    display: grid;
    gap: clamp(18px, 2.4vw, 28px);
    padding: clamp(10px, 1.6vw, 18px);
    border-radius: var(--sp-radius);
    background: var(--sp-bg);
}
.sp-section {
    display: grid;
    gap: var(--sp-space-5);
    padding: clamp(16px, 2.2vw, 24px);
    scroll-margin-top: 72px;
}
.sp-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--sp-space-5);
}
.sp-section-head h2 {
    margin: var(--sp-space-1) 0 0;
    color: var(--sp-text);
    font-family: "Outfit", "Source Sans 3", sans-serif;
    font-size: clamp(1.02rem, 1.7vw, 1.35rem);
    font-weight: 850;
    line-height: 1.15;
}
.sp-section-head p {
    max-width: 72ch;
    margin: var(--sp-space-2) 0 0;
    color: var(--sp-muted);
    font-size: 0.86rem;
    line-height: 1.5;
}
.sp-count {
    flex: 0 0 auto;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--sp-surface-soft);
    color: var(--sp-muted);
    font-size: 0.76rem;
    font-weight: 850;
}
.sp-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(14px, 1.8vw, 20px);
}
.sp-kpi {
    position: relative;
    container-type: inline-size;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--sp-space-3);
    min-height: 128px;
    padding: 18px 20px;
    overflow: hidden;
    border-top-width: 3px;
    transition: transform 180ms cubic-bezier(0.16,1,0.3,1), box-shadow 180ms ease, border-color 180ms ease;
}
.sp-kpi::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: var(--sp-navy);
    opacity: 0.9;
}
.sp-kpi.is-orange::before { background: var(--sp-orange); }
.sp-kpi.is-blue::before { background: var(--sp-navy); }
.sp-kpi.is-green::before { background: var(--sp-green); }
.sp-kpi.is-purple::before { background: var(--sp-purple); }
.sp-kpi.is-teal::before { background: var(--sp-teal); }
.sp-kpi.is-navy::before { background: var(--sp-navy); }
.sp-kpi:hover {
    transform: translateY(-2px);
    box-shadow: var(--sp-shadow-lg);
    border-color: #d6e2f0;
}
.sp-kpi h3 {
    margin: 0;
    color: var(--sp-muted);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    line-height: 1.4;
    text-transform: uppercase;
}
.sp-kpi-value {
    margin: 10px 0 0;
    color: var(--sp-text);
    font-family: "Outfit", "Source Sans 3", sans-serif;
    font-size: clamp(1.65rem, 3.2vw, 2.15rem);
    font-weight: 800;
    line-height: 0.95;
    letter-spacing: -0.03em;
    font-variant-numeric: tabular-nums;
}
.sp-kpi.is-orange .sp-kpi-value { color: var(--sp-text); }
.sp-kpi.is-green .sp-kpi-value { color: var(--sp-text); }
.sp-kpi.is-purple .sp-kpi-value { color: var(--sp-text); }
.sp-kpi.is-teal .sp-kpi-value { color: var(--sp-text); }
.sp-kpi-sub {
    margin: 8px 0 0;
    color: var(--sp-muted);
    font-size: 0.76rem;
    line-height: 1.45;
    font-weight: 500;
}
.sp-kpi-icon {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: var(--sp-radius-pill);
    background: #f1f5f9;
    color: var(--sp-navy);
    border: 1px solid #e2e8f0;
}
.sp-kpi-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}
.sp-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(14px, 2vw, 22px);
}
.sp-card {
    container-type: inline-size;
    display: flex;
    min-width: 0;
    min-height: 420px;
    flex-direction: column;
    padding: 20px;
    gap: 0;
}
.sp-card:has(.sp-chart--xlarge) {
    grid-column: 1 / -1;
}
.sp-card-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--sp-space-4);
    align-items: start;
    margin-bottom: var(--sp-space-3);
}
.sp-card h3 {
    margin: 0;
    color: var(--sp-text);
    font-family: "Outfit", sans-serif;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.005em;
    line-height: 1.35 !important;
    color: #0F172A !important;
    display: block !important;
    overflow: visible !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}
.sp-card-note {
    max-width: 70ch;
    margin: 6px 0 0;
    color: var(--sp-muted);
    font-size: 0.78rem;
    line-height: 1.5;
    font-weight: 500;
}
.sp-card-tools,
.sp-atlas-controls,
.sp-filter-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--sp-space-2);
}
.sp-card-tools {
    justify-content: flex-end;
    max-width: 360px;
}
.sp-filter-label {
    color: var(--sp-muted);
}
.sp-chip {
    min-height: 32px;
    padding: 0 14px;
    border: 1px solid #e2e8f0;
    border-radius: var(--sp-radius-pill);
    background: #ffffff;
    color: var(--sp-muted);
    cursor: pointer;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    transition: all 140ms cubic-bezier(0.16,1,0.3,1);
}
.sp-chip:hover {
    border-color: var(--sp-navy);
    background: #f8fafc;
    color: var(--sp-navy);
    transform: translateY(-1px);
    box-shadow: var(--sp-shadow-sm);
}
.sp-chip.is-active {
    border-color: var(--sp-navy);
    background: var(--sp-navy);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(45, 81, 161, 0.25);
}
.sp-chip:focus-visible {
    outline: 2px solid var(--sp-navy);
    outline-offset: 2px;
}
.sp-chart {
    display: block;
    flex: 1 1 auto;
    width: 100%;
    min-height: 286px;
}
.sp-chart--large {
    min-height: 350px;
}
.sp-chart--xlarge {
    min-height: 430px;
}
.sp-chart-empty,
.sp-map-loading,
.sp-empty {
    display: grid;
    place-items: center;
    min-height: 170px;
    padding: var(--sp-space-6);
    border: 1px dashed var(--sp-line-strong);
    border-radius: var(--sp-radius-sm);
    background: var(--sp-surface-soft);
    color: var(--sp-muted);
    text-align: center;
}
.sp-empty strong,
.sp-chart-empty strong {
    color: var(--sp-text);
}
.sp-data {
    margin-top: var(--sp-space-3);
    border-top: 1px solid var(--sp-line);
    padding-top: var(--sp-space-2);
}
.sp-data summary {
    cursor: pointer;
    color: var(--sp-navy);
    font-size: 0.8rem;
    font-weight: 800;
}
.sp-data summary span {
    color: var(--sp-muted);
    font-weight: 700;
}
.sp-table-wrap {
    max-width: 100%;
    overflow: auto;
    border: 1px solid var(--sp-line);
    border-radius: var(--sp-radius-sm);
    background: var(--sp-surface);
}
.sp-table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
    font-size: 0.82rem;
}
.sp-table caption {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}
.sp-table th,
.sp-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--sp-line);
    color: var(--sp-text);
    text-align: left;
    vertical-align: middle;
}
.sp-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--sp-surface-soft);
    color: var(--sp-muted);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.sp-table td.is-number,
.sp-table th.is-number {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.sp-table tbody tr:hover {
    background: #f8fafc;
}
.sp-section--atlas {
    overflow: hidden;
}
.sp-atlas-controls {
    justify-content: flex-end;
    max-width: 560px;
}
.sp-atlas {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
    gap: var(--sp-space-4);
    min-height: 520px;
}
.sp-atlas-stage {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 520px;
}
.sp-atlas .district-map-frame {
    border-radius: var(--sp-radius);
}
.sp-atlas-aside {
    min-width: 0;
}
.sp-atlas-table {
    min-width: 0;
}
.sp-table-card {
    padding: var(--sp-space-4);
}
.sp-table-card-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--sp-space-3);
    margin-bottom: var(--sp-space-3);
}
.sp-table-card h3 {
    margin: 0;
    color: var(--sp-text);
    font-size: 0.84rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.sp-table-card p {
    margin: 0;
    color: var(--sp-muted);
    font-size: 0.78rem;
}
.sp-table th button {
    appearance: none;
    border: 0;
    background: none;
    color: inherit;
    cursor: pointer;
    font: inherit;
    letter-spacing: inherit;
    padding: 0;
    text-transform: inherit;
}
.sp-table th button:hover {
    color: var(--sp-navy);
}
.sp-rank-table tbody tr[data-sp-district] {
    cursor: pointer;
}
.sp-rank-table tbody tr.is-selected {
    background: #eff6ff;
    box-shadow: inset 3px 0 0 var(--sp-navy);
}
.sp-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: #eff6ff;
    color: var(--sp-navy);
    font-size: 0.72rem;
    font-weight: 850;
}
.sp-footer {
    padding: var(--sp-space-5);
    color: var(--sp-muted);
    font-size: 0.78rem;
    line-height: 1.5;
}
.sp-footer strong {
    color: var(--sp-text);
}
.sp-refresh:focus-visible,
.sp-chip:focus-visible,
.sp-jump-nav a:focus-visible,
.sp-table th button:focus-visible,
.sp-rank-table tbody tr:focus-visible,
.sp-data summary:focus-visible {
    outline: 3px solid var(--sp-focus);
    outline-offset: 2px;
}
@container (max-width: 280px) {
    .sp-kpi {
        grid-template-columns: 1fr;
    }
    .sp-kpi-icon {
        display: none;
    }
}
@media (max-width: 1180px) {
    .sp-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sp-grid {
        grid-template-columns: 1fr;
    }
    .sp-card:has(.sp-chart--xlarge) {
        grid-column: auto;
    }
}
@media (max-width: 920px) {
    .sp-hero,
    .sp-section-head,
    .sp-card-head {
        grid-template-columns: 1fr;
    }
    .sp-section-head {
        align-items: start;
    }
    .sp-status-row,
    .sp-card-tools,
    .sp-atlas-controls {
        justify-content: flex-start;
        max-width: none;
    }
    .sp-root .dashboard-refresh-status {
        text-align: left;
    }
    .sp-atlas {
        grid-template-columns: 1fr;
        min-height: 0;
    }
    .sp-atlas-stage {
        min-height: 420px;
    }
}
@media (max-width: 720px) {
    .sp-main {
        padding: 10px;
    }
    .sp-jump-nav {
        position: static;
        overflow-x: auto;
        flex-wrap: nowrap;
    }
    .sp-jump-nav a {
        flex: 0 0 auto;
    }
    .sp-kpis {
        grid-template-columns: 1fr;
    }
    .sp-card {
        min-height: 390px;
    }
    .sp-chart,
    .sp-chart--large,
    .sp-chart--xlarge {
        min-height: 330px;
    }
    .sp-chip {
        flex: 1 1 8rem;
        justify-content: center;
    }
    /* sector chrome consolidated in core bundle */
    .dashboard-shell.is-sector-poverty .mobile-bottom-nav {
        display: flex;
    }
}
@media (max-width: 520px) {
    .sp-hero,
    .sp-section,
    .sp-card {
        padding: var(--sp-space-4);
    }
    .sp-atlas-stage {
        min-height: 360px;
    }
    .sp-table {
        min-width: 560px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .sp-refresh,
    .sp-chip,
    .sp-jump-nav a,
    .sp-table th button {
        transition: none;
    }
}

/* ------------------------------------------------------------------
   Card provenance + honesty chips (shared styles in
   public-dashboard-18-card-source.css); here we only set the sector accent
   and a couple of layout tweaks for the poverty hero/KPI grid.
   ------------------------------------------------------------------ */
.sp-root .card-source {
    --card-source-accent: var(--sp-navy);
}
/* Keep KPI source lines from stretching the small cards. */
.sp-kpi .card-source {
    margin-top: var(--sp-space-3);
    padding-top: var(--sp-space-2);
}
.sp-card .data-note,
.sp-section .data-note {
    margin-left: 0;
    margin-right: 0;
}

/* ==========================================================================
   Flagship alignment — Poverty & Social Protection
   --------------------------------------------------------------------------
   Brings this bespoke view in line with the Gender & Health (sector 10)
   flagship design language: 16px elevated cards with hover lift, tinted
   chart wells, pill controls, navy focus rings, and the shared provenance
   chip footer. The sector keeps its identity (orange kickers, district
   atlas); only the surface/motion language is unified. Appended last so
   these rules refine the baseline above.
   ========================================================================== */

/* Cards & panels: shared flagship elevation. */
.sp-card,
.sp-table-card,
.sp-hero,
.sp-section,
.sp-footer {
    border-color: #dce5f0;
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 12px 28px rgba(15, 23, 42, 0.06);
}

.sp-card {
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.sp-card:hover {
    transform: translateY(-2px);
    border-color: rgba(45, 81, 161, 0.28);
    box-shadow: 0 2px 4px rgba(15, 23, 42, 0.06), 0 20px 40px rgba(45, 81, 161, 0.10);
}

.sp-card h3 {
    letter-spacing: -0.005em;
}

/* Chart wells — premium inset canvas wells, harmonized to flagship */
.sp-chart,
.sp-atlas-stage,
.sp-chart-frame,
#sectorPovertyView .ec-chart-frame {
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #f8fafc;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
    padding: 12px;
}
#sectorPovertyView .ec-chart-frame {
    padding: 10px;
    min-height: 0;
}
#sectorPovertyView .ec-chart-frame .sp-chart {
    border: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
    min-height: 286px;
}
/* Ensure ec-panel inside poverty gets flagship panel styles (same as sector 10) */
#sectorPovertyView .ec-panel {
    border: 1px solid #dce5f0;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 12px 28px rgba(15, 23, 42, 0.06);
}
#sectorPovertyView .ec-panel:hover {
    transform: translateY(-2px);
    border-color: rgba(45, 81, 161, 0.28);
    box-shadow: 0 2px 4px rgba(15, 23, 42, 0.06), 0 20px 40px rgba(45, 81, 161, 0.10);
}
#sectorPovertyView .ec-card-title {
    font-family: "Outfit", sans-serif;
    letter-spacing: -0.02em;
    color: #0f172a;
    font-weight: 700;
    font-size: 0.95rem;
}
#sectorPovertyView .ec-insight {
    border-left: 3px solid #2d51a1;
    border-radius: 0 8px 8px 0;
    background: #f1f5f9;
    padding: 8px 12px;
    font-size: 0.78rem;
    color: #475569;
}
#sectorPovertyView .ec-panel {
    transition: transform 180ms cubic-bezier(0.16,1,0.3,1), box-shadow 180ms ease, border-color 180ms ease;
}

/* Filter chips: flagship pills (calm hover, navy active). */
.sp-chip {
    min-height: 34px;
    padding: 0 14px;
    border-color: rgba(45, 81, 161, 0.28);
    border-radius: 999px;
    background: #ffffff;
    color: #2d51a1;
    font-size: 0.74rem;
    font-weight: 700;
}

.sp-chip:hover {
    background: rgba(45, 81, 161, 0.08);
    border-color: rgba(45, 81, 161, 0.45);
    color: #2d51a1;
    transform: none;
}

.sp-chip.is-active {
    border-color: #2d51a1;
    background: #2d51a1;
    color: #ffffff;
    box-shadow: 0 1px 3px rgba(45, 81, 161, 0.25);
}

/* Refresh + jump-nav: pill ghost controls. */
.sp-refresh {
    border-color: rgba(45, 81, 161, 0.35);
    border-radius: 999px;
    font-size: 0.78rem;
}

.sp-refresh:hover {
    background: rgba(45, 81, 161, 0.08);
    border-color: #2d51a1;
    transform: none;
}

.sp-jump-nav {
    border-color: #dce5f0;
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.sp-jump-nav a {
    border-radius: 999px;
}

.sp-jump-nav a:hover {
    border-color: transparent;
    background: rgba(45, 81, 161, 0.08);
    color: #2d51a1;
}

/* Focus: the flagship navy ring replaces the yellow highlighter. */
.sp-refresh:focus-visible,
.sp-chip:focus-visible,
.sp-jump-nav a:focus-visible,
.sp-table th button:focus-visible,
.sp-rank-table tbody tr:focus-visible,
.sp-data summary:focus-visible {
    outline: 2px solid #2d51a1;
    outline-offset: 2px;
}

/* Provenance chip reads as a card footer, like the flagship KPI cards. */
.sp-card .card-source,
.sp-section-head .card-source {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #e6edf5;
    font-size: 0.68rem;
}

/* Empty states: navy-tinted, rounded, calm. */
.sp-chart-empty,
.sp-map-loading,
.sp-empty {
    border-color: #c9d8e8;
    border-radius: 12px;
    background: #f8fbff;
}

.sp-empty strong,
.sp-chart-empty strong {
    color: #2d51a1;
    font-family: "Outfit", "Source Sans 3", sans-serif;
}

/* Table frame alignment. */
.sp-table-wrap {
    border-color: #e3ecf6;
    border-radius: 12px;
}

@media (prefers-reduced-motion: reduce) {
    .sp-card {
        transition: none;
    }

    .sp-card:hover {
        transform: none;
    }
}

