.radar-shell {
    padding: 1.25rem 0 2.25rem;
    overflow-x: clip;
}

.radar-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
    gap: 1rem;
    align-items: stretch;
    margin-bottom: 1rem;
    border: 1px solid #d8e1ea;
    background: linear-gradient(135deg, #ffffff 0%, #f6f9fc 100%);
}

.radar-hero-main {
    padding: 1.35rem;
}

.radar-eyebrow,
.radar-card-eyebrow,
.radar-kpi-label,
.radar-section-kicker,
.radar-metric-label,
.radar-chart-label {
    color: #526579;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.radar-hero h1,
.radar-section-head h1,
.radar-section-head h2 {
    margin: 0.2rem 0 0.55rem;
    font-size: clamp(2.25rem, 5vw, 4.75rem);
    line-height: 0.96;
    letter-spacing: 0;
}

.radar-section-head h1 {
    font-size: clamp(2.2rem, 5vw, 4.5rem);
}

.radar-hero p,
.radar-section-head p {
    max-width: 58rem;
    margin: 0;
    color: #40566f;
    font-weight: 700;
}

.radar-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.radar-hero-side {
    display: grid;
    align-content: stretch;
    border-left: 1px solid #d8e1ea;
    background: #f8fafc;
}

.radar-freshness {
    display: grid;
    gap: 0.5rem;
    padding: 1rem;
    border-bottom: 1px solid #d8e1ea;
}

.radar-freshness strong {
    color: #081a2f;
    font-size: 1.2rem;
}

.radar-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.radar-mini-grid > div {
    min-width: 0;
    padding: 0.85rem 1rem;
    border-right: 1px solid #d8e1ea;
    border-bottom: 1px solid #d8e1ea;
}

.radar-mini-grid > div:nth-child(2n) {
    border-right: 0;
}

.radar-mini-grid strong {
    display: block;
    color: #081a2f;
    font-size: 1.55rem;
    line-height: 1.05;
}

.radar-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0 0 1rem;
}

.radar-nav a,
.radar-button,
.radar-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.35rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid #bfd0e0;
    background: #ffffff;
    color: #003366;
    font-weight: 800;
    text-decoration: none;
}

.radar-nav a:focus-visible,
.radar-button:focus-visible,
.radar-link:focus-visible,
.radar-card:focus-visible,
.radar-title-link:focus-visible {
    outline: 3px solid #7fb7df;
    outline-offset: 2px;
}

.radar-nav a[aria-current="page"],
.radar-button.is-primary {
    color: #ffffff;
    background: #003366;
    border-color: #003366;
}

.radar-section-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
    margin-bottom: 1rem;
}

.radar-card,
.radar-panel,
.radar-item {
    border: 1px solid #d8e1ea;
    background: #ffffff;
}

.radar-card {
    display: grid;
    min-height: 14.5rem;
    grid-template-rows: auto 1fr auto;
    text-decoration: none;
}

.radar-card-main {
    padding: 0.95rem;
}

.radar-card h2,
.radar-panel h2,
.radar-item h3 {
    margin: 0.25rem 0 0.35rem;
    font-family: "IBM Plex Sans", sans-serif;
    font-size: 1.05rem;
    letter-spacing: 0;
}

.radar-card p,
.radar-item p {
    margin: 0;
    color: #40566f;
    font-weight: 650;
}

.radar-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.6rem;
}

.radar-card-title {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.55rem;
    align-items: start;
    min-width: 0;
}

.radar-section-icon,
.radar-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 1px solid #cfe0ef;
    background: #f4f8fc;
    color: #003366;
}

.radar-section-icon {
    width: 2rem;
    height: 2rem;
}

.radar-section-icon svg,
.radar-icon svg {
    width: 1.15rem;
    height: 1.15rem;
}

.radar-section-icon.is-sector-rotation,
.radar-icon.is-structure {
    color: #137c45;
    background: #edf8f2;
    border-color: #bfe5cf;
}

.radar-section-icon.is-prediction-pulse,
.radar-icon.is-prediction {
    color: #5b3bd8;
    background: #f2efff;
    border-color: #d7cffb;
}

.radar-section-icon.is-value-quality,
.radar-icon.is-factor,
.radar-icon.is-svqf {
    color: #006b83;
    background: #eefaff;
    border-color: #bfe5ee;
}

.radar-section-icon.is-risk-watch,
.radar-icon.is-risk {
    color: #c25a00;
    background: #fff6ed;
    border-color: #f1d0ac;
}

.radar-section-icon.is-breakouts,
.radar-icon.is-price {
    color: #003366;
    background: #eef5fb;
    border-color: #bfd0e0;
}

.radar-icon.is-commodity {
    color: #9a5a00;
    background: #fff8e8;
    border-color: #ead39d;
}

.radar-icon.is-crypto {
    color: #0a7d6b;
    background: #ecfbf8;
    border-color: #b9e7df;
}

.radar-score {
    flex: 0 0 auto;
    min-width: 4.5rem;
    padding: 0.35rem 0.5rem;
    color: #003366;
    background: #eef5fb;
    text-align: right;
    font-weight: 900;
}

.radar-card-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.65rem 0.95rem;
    border-top: 1px solid #d8e1ea;
    color: #003366;
    font-weight: 900;
}

.radar-dashboard-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 0.75fr);
    gap: 1rem;
    align-items: start;
}

.radar-panel {
    margin-bottom: 1rem;
    padding: 1rem;
}

.radar-panel-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    margin-bottom: 0.85rem;
}

.radar-panel-head h2 {
    margin: 0.1rem 0 0;
    font-family: "Source Serif 4", serif;
    font-size: 1.65rem;
}

.radar-item-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.radar-item {
    display: grid;
    gap: 0.7rem;
    padding: 0.85rem;
    min-width: 0;
}

.radar-item.is-warning {
    border-left: 4px solid #c25a00;
}

.radar-item.is-positive {
    border-left: 4px solid #137c45;
}

.radar-item.is-neutral {
    border-left: 4px solid #003366;
}

.radar-item-top {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.7rem;
}

.radar-icon {
    width: 2.25rem;
    height: 2.25rem;
}

.radar-item-copy {
    min-width: 0;
}

.radar-title-link {
    color: #081a2f;
    text-decoration: none;
}

.radar-title-link:hover,
.radar-title-link:focus {
    color: #003366;
    text-decoration: underline;
}

.radar-badge {
    display: inline-flex;
    max-width: 100%;
    padding: 0.25rem 0.45rem;
    border: 1px solid #cfe0ef;
    background: #f7fafc;
    color: #40566f;
    font-size: 0.75rem;
    font-weight: 900;
}

.radar-value {
    color: #081a2f;
    text-align: right;
    font-size: 1.25rem;
    font-weight: 900;
    white-space: nowrap;
}

.radar-value span {
    display: block;
    color: #526579;
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.radar-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.35rem;
}

.radar-metric {
    min-width: 0;
    padding: 0.45rem;
    background: #f7f9fb;
}

.radar-metric strong {
    display: block;
    overflow: hidden;
    color: #081a2f;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.radar-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.radar-link {
    min-height: 2rem;
    padding: 0.35rem 0.55rem;
    font-size: 0.82rem;
}

.radar-chart-list {
    display: grid;
    gap: 0.55rem;
    min-width: 0;
}

.radar-bar-row {
    display: grid;
    grid-template-columns: minmax(7rem, 0.9fr) minmax(0, 1.6fr) minmax(4rem, auto);
    gap: 0.55rem;
    align-items: center;
    min-width: 0;
}

.radar-bar-row > * {
    min-width: 0;
}

.radar-bar-track {
    height: 0.7rem;
    background: #eef2f6;
    overflow: hidden;
}

.radar-bar {
    display: block;
    height: 100%;
    min-width: 0.25rem;
    background: #003366;
}

.radar-bar.is-positive {
    background: #137c45;
}

.radar-bar.is-warning {
    background: #c25a00;
}

.radar-playbooks {
    display: grid;
    gap: 0.65rem;
}

.radar-country-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: 0.65rem;
}

.radar-country-card {
    display: grid;
    gap: 0.35rem;
    min-height: 7rem;
    align-content: start;
    padding: 0.85rem;
    border: 1px solid #d8e1ea;
    background: #f8fafc;
    color: #102033;
    text-decoration: none;
}

.radar-country-card:hover,
.radar-country-card:focus {
    border-color: #003366;
    box-shadow: 0 16px 35px rgb(16 32 51 / 0.08);
}

.radar-country-card strong {
    color: #081a2f;
    font-size: 1.2rem;
}

.radar-country-card span:last-child {
    color: #40566f;
    font-weight: 750;
}

.radar-country-heat {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.radar-macro-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.radar-macro-panel {
    min-width: 0;
    padding: 0.85rem;
    border: 1px solid #d8e1ea;
    background: #fbfcfe;
}

.radar-tile-chart {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    margin-top: 0.55rem;
}

.radar-tile {
    display: grid;
    min-height: 5.2rem;
    align-content: space-between;
    gap: 0.35rem;
    padding: 0.65rem;
    border: 1px solid #d8e1ea;
    background: #ffffff;
    color: #102033;
    text-decoration: none;
}

.radar-tile.is-positive {
    border-left: 4px solid #137c45;
}

.radar-tile.is-warning {
    border-left: 4px solid #c25a00;
}

.radar-tile strong {
    color: #081a2f;
    font-size: 0.9rem;
    line-height: 1.15;
}

.radar-tile span {
    color: #003366;
    font-weight: 950;
}

.radar-tile small,
.radar-rank-row small {
    color: #526579;
    font-weight: 750;
}

.radar-rank-stack {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.55rem;
}

.radar-rank-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.2rem 0.75rem;
    align-items: center;
    padding: 0.65rem;
    border: 1px solid #d8e1ea;
    background: #ffffff;
    color: #102033;
    text-decoration: none;
}

.radar-rank-row strong {
    color: #003366;
    font-size: 1.05rem;
}

.radar-rank-row small {
    grid-column: 1 / -1;
}

.radar-playbook {
    display: block;
    padding: 0.75rem;
    border: 1px solid #d8e1ea;
    background: #f8fafc;
    text-decoration: none;
}

.radar-playbook strong {
    display: block;
    color: #003366;
}

.radar-playbook span {
    display: block;
    margin-top: 0.2rem;
    color: #40566f;
    font-weight: 650;
}

.radar-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.35fr);
    gap: 1rem;
    align-items: end;
    margin-bottom: 1rem;
    padding: 1.25rem;
    border: 1px solid #d8e1ea;
    background: #ffffff;
}

.radar-section-meta {
    display: grid;
    gap: 0.5rem;
    padding-left: 1rem;
    border-left: 4px solid #003366;
}

.radar-section-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
}

@media (max-width: 1180px) {
    .radar-section-grid,
    .radar-section-list,
    .radar-country-heat,
    .radar-macro-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .radar-dashboard-layout,
    .radar-hero,
    .radar-section-head {
        grid-template-columns: 1fr;
    }

    .radar-hero-side {
        border-left: 0;
        border-top: 1px solid #d8e1ea;
    }
}

@media (max-width: 760px) {
    .radar-shell {
        padding-top: 0.8rem;
    }

    .radar-hero-main,
    .radar-panel,
    .radar-section-head {
        padding: 0.85rem;
    }

    .radar-section-grid,
    .radar-item-grid,
    .radar-section-list,
    .radar-country-heat,
    .radar-macro-grid,
    .radar-tile-chart {
        grid-template-columns: 1fr;
    }

    .radar-panel-head {
        display: grid;
        align-items: start;
    }

    .radar-nav a {
        flex: 1 1 10rem;
    }

    .radar-item-top {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .radar-value {
        grid-column: 1 / -1;
        text-align: left;
    }

    .radar-card {
        min-height: 0;
    }

    .radar-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .radar-bar-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.25rem;
    }

    .radar-mini-grid {
        grid-template-columns: 1fr;
    }

    .radar-mini-grid > div {
        border-right: 0;
    }
}

@media (max-width: 440px) {
    .radar-hero h1,
    .radar-section-head h1,
    .radar-section-head h2 {
        font-size: clamp(2rem, 14vw, 3rem);
    }

    .radar-metrics {
        grid-template-columns: 1fr;
    }

    .radar-links {
        display: grid;
        grid-template-columns: 1fr;
    }
}
