/* Live Results — Fase 10G */

.lr-page {
    max-width: 960px;
    margin: 0 auto;
    padding: 16px;
}

.lr-header {
    text-align: center;
    margin-bottom: 24px;
}

.lr-header h1 {
    font-size: var(--t-22);
    margin: 0 0 4px;
}

.lr-header p {
    color: var(--c-ink-subtle);
    font-size: var(--t-14);
    margin: 0;
}

.lr-header-stats {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 8px;
    font-size: var(--t-14);
}

.lr-stat {
    color: var(--c-ink-subtle);
}

.lr-live-badge {
    color: var(--c-danger);
    font-weight: 700;
    animation: pulse-live 2s infinite;
}

@keyframes pulse-live {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* Layout */
.lr-layout {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 20px;
    align-items: start;
}

@media (max-width: 768px) {
    .lr-layout {
        grid-template-columns: 1fr;
    }
}

/* Sidebar */
.lr-sidebar {
    background: white;
    border-radius: 10px;
    border: 1px solid var(--c-surface-alt);
    overflow: hidden;
}

.lr-sidebar-title {
    font-size: var(--t-12);
    color: var(--c-ink-subtle);
    padding: 12px 14px 6px;
    margin: 0;
}

.lr-race-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    font-size: var(--t-14);
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--m-base) ease;
}

.lr-race-link:hover {
    background: var(--c-ground);
}

.lr-race-selected {
    background: var(--c-action-soft);
    box-shadow: inset 3px 0 0 var(--c-action);
    font-weight: 600;
}

.lr-race-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
}

.lr-race-icons {
    font-size: var(--t-12);
    flex-shrink: 0;
}

.lr-official-badge {
    font-size: var(--t-12);
    color: var(--c-success);
    font-weight: 700;
}

.lr-empty {
    padding: 20px 14px;
    text-align: center;
    color: var(--c-ink-subtle);
    font-size: var(--t-14);
}

/* Results card */
.lr-results-card {
    background: white;
    border-radius: 10px;
    border: 1px solid var(--c-surface-alt);
    overflow: hidden;
}

.lr-results-header {
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--c-surface-alt);
}

.lr-results-header h2 {
    margin: 0;
    font-size: var(--t-16);
}

.lr-badge-official {
    font-size: var(--t-12);
}

.lr-badge-provisional {
    font-size: var(--t-12);
}

.lr-result-count {
    font-size: var(--t-12);
    color: var(--c-ink-subtle);
    margin-left: auto;
}

/* Table */
.lr-table {
    width: 100%;
    border-collapse: collapse;
}

.lr-table thead th {
    padding: 10px 16px;
    font-size: var(--t-12);
    font-weight: 700;
    color: var(--c-ink-subtle);
    text-align: left;
    background: var(--c-ground);
    border-bottom: 1px solid var(--c-surface-alt);
}

.lr-table tbody tr {
    border-bottom: 1px solid var(--c-ground);
    transition: background 0.1s;
}

.lr-table tbody tr:hover {
    background: var(--c-surface-alt);
}

.lr-table tbody td {
    padding: 10px 16px;
    font-size: var(--t-14);
}

/* Column widths */
.lr-col-pos { width: 60px; text-align: center; }
.lr-col-name { min-width: 160px; }
.lr-col-society { min-width: 120px; color: var(--c-ink-muted); font-size: var(--t-14); }
.lr-col-time { width: 100px; text-align: right; }
.lr-col-score { width: 90px; text-align: right; }
.lr-col-penalty { width: 60px; text-align: right; color: var(--c-ink-subtle); font-size: var(--t-12); }

/* Podium */
.lr-row-podium {
    background: var(--c-caution-soft);
}

.lr-row-podium:hover {
    background: var(--c-caution-soft) !important;
}

.lr-medal {
    font-size: var(--t-18);
}

/* DQ / DNS */
.lr-row-dq td {
    opacity: 0.5;
    text-decoration: line-through;
}

.lr-row-dns td {
    opacity: 0.5;
}

.lr-dq, .lr-dns {
    font-size: var(--t-12);
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 3px;
}

.lr-dq { background: var(--c-danger-soft); color: var(--c-danger); }
.lr-dns { background: var(--c-surface-alt); color: var(--c-ink-subtle); }

/* Time & Score */
.lr-time {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: var(--t-14);
}

.lr-score {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: var(--t-14);
}

/* Empty states */
.lr-no-results {
    padding: 32px;
    text-align: center;
    color: var(--c-ink-subtle);
}

.lr-empty-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 24px;
    color: var(--c-ink-subtle);
}

.lr-empty-icon {
    font-size: var(--t-48);
    margin-bottom: 12px;
}

/* Mobile */
@media (max-width: 768px) {
    .lr-table thead { display: none; }

    .lr-table tbody tr {
        display: flex;
        flex-wrap: wrap;
        padding: 10px 16px;
        gap: 4px;
    }

    .lr-table tbody td {
        padding: 0;
    }

    .lr-col-pos { width: auto; margin-right: 8px; }
    .lr-col-name { flex: 1; min-width: 0; }
    .lr-col-society { width: 100%; font-size: var(--t-12); padding-left: 30px; }
    .lr-col-time, .lr-col-score { margin-left: auto; }
    .lr-col-penalty { display: none; }
}

/* DR-44 (20/09/2026): classifiche per livello dagli sbarramenti */
.lr-level-title {
    margin: 1.25rem 0 0.5rem;
    font-size: var(--t-16);
    color: var(--c-ink-muted);
}

/* R0a (25/09/2026): fuori gara in coda, classifica a parte */
.lr-row-section td {
    padding-top: var(--s-3);
    font-size: var(--t-14);
    color: var(--c-ink-muted);
    border-bottom: 1px solid var(--c-line);
}

/* Rilascio 38, parte E: intestazione del blocco dell'anno di nascita (classifica per anno) */
.lr-row-year td {
    background: var(--c-surface-alt);
    color: var(--c-ink);
    font-weight: 600;
}

.lr-row-exhibition {
    color: var(--c-ink-muted);
}

.lr-exhibition {
    font-family: var(--t-mono);
    font-size: var(--t-14);
}

/* S7 (RG-20/RG-21): posizione assoluta indicativa accanto alla posizione nel livello; classifica unica */
.lr-overall { font-size: var(--t-12); font-weight: 500; color: var(--c-ink-muted); white-space: nowrap; }
.lr-level-note { margin: 12px 0 0; font-size: var(--t-14); color: var(--c-ink-muted); }

/* Audit operativo 2026-10 (B-10, CO-5): frazioniste, riserve e fatti di gara sotto il nome della squadra */
.lr-team {
    display: block;
    color: var(--c-ink-muted);
    font-size: var(--t-14);
}
