.reports-shell {
    width: min(1180px, calc(100vw - 2rem));
    margin: 0 auto;
    padding: 1.5rem 0 4rem;
}

.reports-shell--dashboard {
    display: grid;
    gap: 1.25rem;
}

.reports-panel {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(14, 34, 56, 0.08);
    border-radius: 24px;
    padding: 1.4rem;
    box-shadow: 0 18px 48px rgba(14, 34, 56, 0.08);
}

.reports-hero,
.reports-section {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(14, 34, 56, 0.08);
    border-radius: 24px;
    padding: 1.4rem;
    box-shadow: 0 18px 48px rgba(14, 34, 56, 0.08);
}

.reports-panel--hero {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, 0.95fr);
    gap: 1.2rem;
    align-items: start;
}

.reports-eyebrow {
    margin: 0 0 0.45rem;
    font-size: 0.82rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #6b7b8f;
    font-weight: 700;
}

.reports-panel h1,
.reports-panel h2,
.reports-panel h3,
.reports-panel p {
    margin-top: 0;
}

.reports-panel h1 {
    margin-bottom: 0.8rem;
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 0.96;
    letter-spacing: -0.05em;
    max-width: 12ch;
    color: #102640;
}

.reports-lead,
.reports-section-head p,
.reports-chart-caption,
.reports-example p {
    color: #536376;
}

.reports-hero-side {
    display: grid;
    gap: 1rem;
    justify-items: start;
}

.reports-hero-meta,
.reports-actions,
.reports-row-actions,
.reports-metric-strip,
.reports-pill-nav,
.reports-grid,
.reports-kpis,
.reports-list,
.reports-territory-callouts,
.reports-admin-meta {
    display: flex;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.reports-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.5rem 0.85rem;
    background: #102640;
    color: #fff;
    font-weight: 600;
    font-size: 0.92rem;
}

.reports-badge--muted {
    background: #eef3f8;
    color: #24415f;
}

.reports-metric-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.reports-kpis {
    margin-top: 1rem;
}

.reports-kpi,
.reports-card,
.reports-row {
    padding: 1rem 1.05rem;
    border-radius: 18px;
    background: linear-gradient(180deg, #f7fafc 0%, #eef4f9 100%);
    border: 1px solid rgba(14, 34, 56, 0.06);
}

.reports-kpi strong {
    display: block;
    font-size: 1.45rem;
    color: #102640;
}

.reports-kpi span {
    color: #607286;
}

.reports-card {
    flex: 1 1 220px;
}

.reports-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.reports-metric {
    padding: 1rem 1.05rem;
    border-radius: 18px;
    background: linear-gradient(180deg, #f7fafc 0%, #eef4f9 100%);
    border: 1px solid rgba(14, 34, 56, 0.06);
}

.reports-metric strong {
    display: block;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: -0.04em;
    color: #102640;
}

.reports-metric span {
    display: block;
    margin-top: 0.4rem;
    color: #5d6e82;
}

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

.reports-section-head h2 {
    margin-bottom: 0.35rem;
    font-size: 1.18rem;
    color: #102640;
}

.reports-pill-nav {
    gap: 0.6rem;
}

.reports-pill {
    display: inline-flex;
    align-items: center;
    min-height: 2.5rem;
    padding: 0.55rem 0.95rem;
    border-radius: 999px;
    border: 1px solid rgba(16, 38, 64, 0.09);
    background: #f6f8fb;
    color: #294461;
    text-decoration: none;
    font-weight: 600;
}

.reports-pill.is-active {
    background: #102640;
    color: #fff;
    border-color: #102640;
}

.reports-pill--subtle.is-active {
    background: #dcecf4;
    color: #0c3c4f;
    border-color: #a9cedf;
}

.reports-subnav {
    display: grid;
    gap: 0.55rem;
    margin-top: 1rem;
}

.reports-subnav-label {
    color: #68788a;
    font-size: 0.88rem;
    font-weight: 600;
}

.reports-territory-form,
.reports-admin-form {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) auto;
    gap: 0.9rem;
    align-items: end;
    margin-top: 1rem;
}

.reports-field {
    display: grid;
    gap: 0.38rem;
}

.reports-field--wide {
    min-width: 0;
}

.reports-field span {
    color: #68788a;
    font-size: 0.88rem;
    font-weight: 600;
}

.reports-field select,
.reports-admin-form input,
.reports-admin-form select,
.reports-admin-form textarea {
    width: 100%;
    min-height: 2.8rem;
    border-radius: 14px;
    border: 1px solid rgba(16, 38, 64, 0.12);
    background: #fff;
    padding: 0.72rem 0.9rem;
    font: inherit;
    color: #102640;
}

.reports-admin-form--editor {
    grid-template-columns: 1fr;
}

.reports-admin-form--editor textarea {
    min-height: 8rem;
    resize: vertical;
}

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

.reports-chart-list,
.reports-ranking-list,
.reports-example-list {
    display: grid;
    gap: 0.7rem;
}

.reports-chart-row,
.reports-ranking-row,
.reports-example,
.reports-note {
    display: grid;
    align-items: center;
    gap: 0.8rem;
    border-radius: 18px;
    background: #f7fafd;
    border: 1px solid rgba(16, 38, 64, 0.06);
    padding: 0.9rem 1rem;
}

.reports-chart-row,
.reports-ranking-row {
    grid-template-columns: minmax(0, 1.2fr) minmax(140px, 1fr) auto;
}

.reports-chart-row.is-highlight,
.reports-ranking-row.is-highlight,
.reports-example {
    background: linear-gradient(180deg, #eef7fb 0%, #e4f0f7 100%);
    border-color: rgba(18, 96, 123, 0.22);
}

.reports-chart-copy,
.reports-ranking-copy {
    min-width: 0;
}

.reports-chart-copy strong,
.reports-ranking-copy strong,
.reports-example strong,
.reports-note strong {
    display: block;
    color: #102640;
}

.reports-chart-copy span,
.reports-ranking-copy span,
.reports-example span,
.reports-note span {
    color: #607286;
    font-size: 0.92rem;
}

.reports-bar-track {
    position: relative;
    height: 0.9rem;
    border-radius: 999px;
    background: #dfe7ef;
    overflow: hidden;
}

.reports-bar-track--ranking {
    height: 1rem;
}

.reports-bar-fill {
    position: absolute;
    inset: 0 auto 0 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #0f4f6f 0%, #1e7a9a 100%);
}

.reports-bar-fill--ai {
    background: linear-gradient(90deg, #0c645f 0%, #1ea39a 100%);
}

.reports-bar-fill--territory {
    background: linear-gradient(90deg, #9a4a1b 0%, #dd8d4b 100%);
}

.reports-bar-fill--function {
    background: linear-gradient(90deg, #305a91 0%, #6e96d8 100%);
}

.reports-bar-fill--contract {
    background: linear-gradient(90deg, #5a4aa1 0%, #8e7ee0 100%);
}

.reports-bar-fill--remote {
    background: linear-gradient(90deg, #57722c 0%, #8fad4f 100%);
}

.reports-bar-fill--subsegment {
    background: linear-gradient(90deg, #5f4b2a 0%, #c99a4b 100%);
}

.reports-chart-value {
    color: #102640;
    font-weight: 700;
    white-space: nowrap;
}

.reports-territory-callouts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.reports-note {
    gap: 0.35rem;
}

.reports-example p {
    margin-bottom: 0;
}

.reports-panel--locked {
    background: linear-gradient(180deg, rgba(239, 245, 250, 0.96) 0%, rgba(231, 238, 244, 0.96) 100%);
}

.reports-lockup {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
}

.reports-paywall {
    padding: 1rem 1.1rem;
    border-radius: 18px;
    background: #0f2740;
    color: #fff;
}

.reports-admin-status {
    display: inline-flex;
    align-items: center;
    padding: 0.55rem 0.8rem;
    border-radius: 999px;
    background: #e7f1ff;
    color: #0f2740;
    font-weight: 600;
}

.auth-shell--split {
    width: min(720px, calc(100vw - 2rem));
    margin: 0 auto;
}

.auth-email-form {
    display: grid;
    gap: 0.75rem;
}

.auth-divider {
    text-align: center;
    margin: 1rem 0;
    color: #5b6a7d;
}

@media print {
    .reports-shell {
        width: 100%;
        padding: 0;
    }

    .reports-panel,
    .reports-hero,
    .reports-section {
        box-shadow: none;
        break-inside: avoid;
    }

    .reports-actions,
    .reports-territory-form {
        display: none;
    }
}

@media (max-width: 940px) {
    .reports-panel--hero,
    .reports-grid--two,
    .reports-lockup,
    .reports-chart-row,
    .reports-ranking-row {
        grid-template-columns: 1fr;
    }

    .reports-metric-strip,
    .reports-territory-callouts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reports-territory-form,
    .reports-admin-form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .reports-shell {
        width: min(100vw - 1rem, 100%);
        padding-top: 1rem;
    }

    .reports-panel {
        border-radius: 20px;
        padding: 1rem;
    }

    .reports-hero,
    .reports-section,
    .reports-row {
        border-radius: 20px;
    }

    .reports-metric-strip,
    .reports-territory-callouts {
        grid-template-columns: 1fr;
    }

    .reports-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .reports-hero-meta {
        gap: 0.55rem;
    }
}
