/* Driver Profiles: aligned with the current-calendar Atlas surface. */

.dashboard-scroll {
    max-width: none;
    padding-bottom: var(--space-12);
}

.dash-hero {
    margin-bottom: var(--space-5);
}

.dash-hero .hero-titles h2 {
    font: var(--console-page-title);
    letter-spacing: var(--console-page-title-tracking);
    text-transform: uppercase;
}

.dash-hero .hero-titles p {
    max-width: 68ch;
    color: var(--pc-on-surface-muted);
    font: var(--console-page-copy);
}

.profiles-workbench {
    --profile-rule: color-mix(in srgb, var(--pc-border) 82%, transparent);
    --profile-rule-soft: color-mix(in srgb, var(--pc-border) 58%, transparent);
    --profile-surface: color-mix(in srgb, var(--pc-bg) 88%, var(--pc-low));
    --profile-surface-hot: color-mix(in srgb, var(--pc-mid) 48%, var(--pc-bg));
    --profile-muted: var(--pc-on-surface-muted);
    --driver-color: var(--pc-primary);
    display: grid;
    grid-template-columns: minmax(292px, 352px) minmax(0, 1fr);
    gap: clamp(var(--space-5), 2vw, var(--space-8));
    align-items: start;
    width: 100%;
}

.driver-selector-sidebar {
    position: sticky;
    top: var(--space-5);
    max-height: calc(100vh - 72px);
    padding: var(--space-5);
    overflow: hidden;
    border: 1px solid var(--profile-rule);
    background: var(--profile-surface);
}

.profiles-workbench .driver-selector-sidebar {
    padding: var(--space-5);
}

.driver-selector-sidebar .panel-header {
    min-height: 50px;
    margin: 0;
    padding: 0 0 var(--space-3);
    border-bottom: 1px solid var(--profile-rule);
}

.driver-selector-sidebar .panel-title-cluster {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.driver-selector-sidebar .panel-glyph {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 30px;
    color: var(--pc-primary);
    font: 700 0.68rem/1 var(--font-f1);
    letter-spacing: 0.08em;
    border: 1px solid color-mix(in srgb, var(--pc-primary) 46%, var(--pc-border));
    background: color-mix(in srgb, var(--pc-primary) 10%, transparent);
}

.driver-selector-sidebar .panel-header h3,
.vital-stats-panel .panel-header h3,
.track-record-panel .panel-header h3 {
    margin: 0;
    color: var(--pc-on-surface);
    font: 700 0.92rem/1.2 var(--font-f1);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.driver-list-scroll {
    max-height: calc(100vh - 172px);
    overflow-y: auto;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.driver-list-scroll::-webkit-scrollbar {
    width: 4px;
}

.driver-list-scroll::-webkit-scrollbar-track {
    background: transparent;
}

.driver-list-scroll::-webkit-scrollbar-thumb {
    background: var(--pc-border-strong);
    border-radius: 0;
}

.driver-item-row {
    min-height: 58px;
    padding: 0 var(--space-3);
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 40px;
    gap: var(--space-3);
    align-items: center;
    background: transparent;
    border: 1px solid transparent;
    border-bottom-color: var(--profile-rule-soft);
    cursor: pointer;
    transition: background var(--trans-fast), border-color var(--trans-fast), color var(--trans-fast);
}

.driver-item-row:hover,
.driver-item-row:focus-visible {
    background: var(--profile-surface-hot);
    outline: none;
}

.driver-item-row.active {
    background: color-mix(in srgb, var(--driver-color, var(--pc-primary)) 8%, var(--profile-surface));
    border-color: color-mix(in srgb, var(--driver-color, var(--pc-primary)) 44%, var(--pc-border));
}

.driver-code {
    color: var(--profile-muted);
    font: 700 0.78rem/1 var(--font-f1);
    letter-spacing: 0.02em;
}

.driver-item-row.active .driver-code {
    color: var(--driver-color, var(--pc-primary));
}

.driver-rank {
    justify-self: end;
    color: var(--profile-muted);
    font: 700 0.72rem/1 var(--font-f1);
    letter-spacing: 0.02em;
}

.driver-item-row .names {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.driver-item-row .names h4 {
    margin: 0;
    overflow: hidden;
    color: var(--pc-on-surface);
    font: 700 0.82rem/1.2 var(--font-main);
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.driver-item-row .names p {
    margin: 0;
    overflow: hidden;
    color: var(--profile-muted);
    font: 700 0.64rem/1.25 var(--font-main);
    letter-spacing: 0.08em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.driver-item-row.active .names p {
    color: color-mix(in srgb, var(--driver-color, var(--pc-primary)) 88%, var(--pc-on-surface));
}

.main-profile-area {
    min-width: 0;
    display: grid;
    gap: 0;
    border: 1px solid var(--profile-rule);
    background: color-mix(in srgb, var(--pc-bg) 88%, var(--pc-low));
}

.driver-hero {
    min-height: clamp(360px, 43vh, 520px);
    display: grid;
    grid-template-columns: minmax(240px, 0.52fr) minmax(0, 1fr) minmax(76px, auto);
    grid-template-areas:
        "photo identity number"
        "photo summary summary";
    gap: 0;
    align-items: stretch;
    position: relative;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--profile-rule);
    overflow: hidden;
}

.driver-photo {
    grid-area: photo;
    min-height: 100%;
    display: flex;
    align-items: stretch;
    justify-content: center;
    position: relative;
    overflow: hidden;
    background: color-mix(in srgb, var(--driver-color, var(--pc-primary)) 9%, var(--pc-bg));
    border-right: 1px solid var(--profile-rule);
}

.driver-photo::after {
    content: none;
}

.driver-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: none;
    transform: none;
    transform-origin: center;
    z-index: 1;
}

.photo-overlay {
    display: none;
}

.driver-info-main {
    grid-area: identity;
    min-width: 0;
    align-self: start;
    display: grid;
    gap: var(--space-4);
    padding: clamp(var(--space-6), 3.2vw, var(--space-12));
}

.driver-team-tag {
    margin: 0;
    color: var(--driver-color, var(--pc-primary));
    font: 700 0.72rem/1.2 var(--font-main);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.driver-full-name {
    max-width: 15ch;
    margin: 0;
    color: var(--pc-on-surface);
    font: 800 clamp(2.8rem, 4.7vw, 5.8rem)/0.95 var(--font-main);
    letter-spacing: 0;
    text-transform: none;
}

.driver-full-name span {
    display: block;
    margin: 0;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
}

.driver-number-hero {
    grid-area: number;
    align-self: start;
    min-width: 82px;
    display: grid;
    gap: var(--space-2);
    justify-items: end;
    padding: clamp(var(--space-5), 2.2vw, var(--space-8));
    color: var(--profile-muted);
    text-align: right;
    pointer-events: none;
}

.driver-number-hero .number-label {
    font: 700 0.66rem/1 var(--font-main);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.driver-number-hero #profile-number {
    color: color-mix(in srgb, var(--driver-color, var(--pc-primary)) 52%, var(--pc-on-surface));
    font: 700 clamp(3.2rem, 5.6vw, 6.6rem)/0.84 var(--font-f1);
    letter-spacing: -0.02em;
}

.season-summary-panel {
    grid-area: summary;
    align-self: end;
    display: grid;
    background: color-mix(in srgb, var(--driver-color, var(--pc-primary)) 4%, transparent);
    border-top: 1px solid var(--profile-rule);
    border-left: 1px solid var(--profile-rule);
}

.stat-band-header {
    min-height: 42px;
    padding: 0 var(--space-5);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    border-bottom: 1px solid var(--profile-rule-soft);
}

.stat-band-title {
    margin: 0;
    color: var(--driver-color, var(--pc-primary));
    font: 700 0.68rem/1 var(--font-f1);
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.stat-band-meta {
    min-width: 0;
    overflow: hidden;
    color: var(--profile-muted);
    font: 700 0.62rem/1.2 var(--font-main);
    letter-spacing: 0.08em;
    text-align: right;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.stats-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
}

.summary-stat-card {
    min-height: 76px;
    padding: var(--space-3) var(--space-5);
    display: grid;
    align-content: center;
    justify-content: start;
    justify-items: start;
    gap: var(--space-1);
    background: transparent;
    border: 0;
    border-right: 1px solid var(--profile-rule-soft);
    text-align: left;
}

.summary-stat-card:last-child {
    display: none;
}

.summary-stat-card:nth-child(3) {
    border-right: 0;
}

.summary-stat-cardLabel {
    color: var(--profile-muted);
    font: 700 0.62rem/1.2 var(--font-main);
    letter-spacing: 0.11em !important;
    text-align: left;
    text-transform: uppercase !important;
}

.summary-stat-cardValue {
    min-width: 0;
    overflow: hidden;
    color: var(--pc-on-surface);
    font: 700 clamp(1.42rem, 1.9vw, 2.08rem)/1 var(--font-f1);
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.career-record-section {
    display: grid;
    background: color-mix(in srgb, var(--pc-bg) 95%, var(--pc-low));
    border-bottom: 1px solid var(--profile-rule);
}

.career-record-header {
    min-height: 46px;
    background: color-mix(in srgb, var(--pc-low) 18%, transparent);
}

.career-record-header .stat-band-title {
    color: var(--pc-on-surface);
}

.career-record-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: transparent;
}

.career-record-item {
    min-height: 78px;
    padding: var(--space-3) var(--space-5);
    display: grid;
    align-content: center;
    gap: var(--space-2);
    border-right: 1px solid var(--profile-rule-soft);
    border-bottom: 1px solid var(--profile-rule-soft);
}

.career-record-item:nth-child(4n),
.career-record-item:last-child {
    border-right: 0;
}

.career-record-label {
    color: var(--profile-muted);
    font: 700 0.62rem/1.2 var(--font-main);
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.career-record-value {
    min-width: 0;
    overflow: hidden;
    color: color-mix(in srgb, var(--pc-on-surface) 92%, var(--profile-muted));
    font: 700 clamp(1.05rem, 1.36vw, 1.46rem)/1.1 var(--font-f1);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.career-record-item--wide .career-record-value {
    line-height: 1.22;
    white-space: normal;
}

.profile-detail-grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.92fr) minmax(420px, 1.08fr);
    align-items: stretch;
    background: transparent;
}

.vital-stats-panel,
.track-record-panel {
    min-height: 0;
    background: transparent;
    border: 0;
}

.profiles-workbench .vital-stats-panel,
.profiles-workbench .track-record-panel {
    padding: clamp(var(--space-5), 2vw, var(--space-6));
}

.vital-stats-panel {
    border-right: 1px solid var(--profile-rule);
}

.vital-stats-panel .panel-header,
.track-record-panel .panel-header {
    min-height: 50px;
    margin: 0;
    padding: 0 0 var(--space-3);
    border-bottom: 1px solid var(--profile-rule);
}

.stats-vertical-list {
    display: grid;
    gap: 0;
    margin: 0;
    border-top: 0;
}

.v-stat-item {
    min-height: 58px;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(116px, 150px) minmax(0, 1fr);
    gap: var(--space-5);
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--profile-rule-soft);
}

.v-stat-item .label,
.progress-label {
    color: var(--profile-muted);
    font: 700 0.68rem/1.35 var(--font-main) !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

.v-stat-item .value {
    min-width: 0;
    overflow: visible;
    color: var(--pc-on-surface);
    font: 700 0.94rem/1.34 var(--font-main);
    overflow-wrap: anywhere;
    text-overflow: initial;
    white-space: normal;
}

.progress-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    margin: 0;
    border: 0;
}

.progress-item {
    min-height: 76px;
    padding: var(--space-4) 0;
    display: grid;
    gap: var(--space-3);
    border: 0;
    border-bottom: 1px solid var(--profile-rule-soft);
}

.progress-meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-4);
    align-items: baseline;
}

.progress-value-text {
    color: var(--pc-on-surface);
    font: 700 1.02rem/1 var(--font-f1);
}

.progress-rail {
    height: 10px;
    overflow: hidden;
    background: color-mix(in srgb, var(--pc-bg) 72%, var(--pc-low));
    border: 1px solid var(--profile-rule);
    border-radius: 0;
}

.progress-fill {
    height: 100%;
    width: 0%;
    background: var(--driver-color, var(--pc-primary));
    border-radius: 0;
    transition: width 0.35s cubic-bezier(0.2, 0, 0, 1), background var(--trans-fast);
}

.progress-fill-subtle {
    background: var(--driver-color, var(--pc-primary));
}

.glass-note {
    margin-top: var(--space-5) !important;
    padding: var(--space-4) 0 0 !important;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--profile-rule);
}

.glass-note p {
    max-width: 72ch;
    color: var(--profile-muted);
    font: 600 0.84rem/1.55 var(--font-main);
}

.empty-inline {
    padding: var(--space-5) 0;
    color: var(--profile-muted);
    font: 700 0.72rem/1.4 var(--font-main);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

@media (max-width: 1280px) {
    .driver-hero {
        grid-template-columns: minmax(212px, 0.48fr) minmax(0, 1fr) minmax(74px, auto);
    }

    .driver-full-name {
        font-size: clamp(2.5rem, 4.3vw, 4.9rem);
    }
}

@media (max-width: 1180px) {
    .profiles-workbench {
        grid-template-columns: 1fr;
    }

    .driver-selector-sidebar {
        position: static;
        max-height: none;
    }

    .driver-list-scroll {
        max-height: 360px;
    }

    .driver-hero {
        grid-template-columns: minmax(220px, 0.46fr) minmax(0, 1fr) minmax(74px, auto);
    }

    .profile-detail-grid {
        grid-template-columns: 1fr;
    }

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

    .career-record-item:nth-child(2n) {
        border-right: 0;
    }

    .vital-stats-panel {
        border-right: 0;
        border-bottom: 1px solid var(--profile-rule);
    }
}

@media (max-width: 760px) {
    .driver-selector-sidebar,
    .vital-stats-panel,
    .track-record-panel {
        padding: var(--space-4);
    }

    .driver-list-scroll {
        max-height: 260px;
    }

    .driver-hero {
        min-height: 0;
        grid-template-columns: 112px minmax(0, 1fr);
        grid-template-areas:
            "photo identity"
            "number number"
            "summary summary";
    }

    .driver-photo {
        min-height: 150px;
        border-right: 1px solid var(--profile-rule);
        border-bottom: 1px solid var(--profile-rule);
    }

    .driver-photo::after {
        inset: var(--space-3);
    }

    .driver-info-main {
        padding: var(--space-5);
    }

    .driver-full-name {
        max-width: 11ch;
        font-size: clamp(2rem, 11vw, 3.2rem);
        line-height: 0.98;
    }

    .driver-full-name span {
        display: inline;
    }

    .driver-number-hero {
        justify-items: start;
        padding: var(--space-4) var(--space-5);
        border-bottom: 1px solid var(--profile-rule);
        text-align: left;
    }

    .driver-number-hero #profile-number {
        font-size: 3.2rem;
    }

    .season-summary-panel {
        border-left: 0;
    }

    .summary-stat-card {
        min-height: 78px;
        padding: var(--space-3);
    }

    .career-record-item {
        min-height: 76px;
        padding: var(--space-3);
    }
}

@media (max-width: 520px) {
    .driver-item-row {
        grid-template-columns: 40px minmax(0, 1fr);
    }

    .driver-rank {
        display: none;
    }

    .driver-hero {
        grid-template-columns: 94px minmax(0, 1fr);
    }

    .driver-photo {
        min-height: 130px;
    }

    .driver-info-main {
        padding: var(--space-4);
    }

    .stats-summary-grid {
        grid-template-columns: 1fr;
    }

    .stat-band-header {
        min-height: 0;
        padding: var(--space-3);
        display: grid;
        justify-content: stretch;
        gap: var(--space-1);
    }

    .stat-band-meta {
        text-align: left;
    }

    .summary-stat-card {
        border-right: 0;
        border-bottom: 1px solid var(--profile-rule-soft);
    }

    .summary-stat-card:nth-child(3) {
        border-bottom: 0;
    }

    .career-record-grid {
        grid-template-columns: 1fr;
    }

    .career-record-item,
    .career-record-item:nth-child(2n),
    .career-record-item:nth-child(4n) {
        border-right: 0;
    }

    .v-stat-item {
        grid-template-columns: minmax(104px, 0.68fr) minmax(0, 1fr);
        gap: var(--space-3);
    }

    .progress-meta {
        grid-template-columns: 1fr;
        gap: var(--space-1);
    }
}
