/* WOACC Electric Edition — layout moderno, palette storica WOACC. */
:root {
  --bg: #07101f;
  --surface: #0b1a30;
  --surface-2: #0f2340;
  --surface-3: #142d4e;
  --line: #1b4775;
  --text: #edf6ff;
  --muted: #9bb9d9;
  --accent: #39b8ff;
  --accent-2: #7b61ff;
  --green: #2ee59d;
  --blue: #39b8ff;
  --shadow: 0 24px 70px rgba(0, 8, 24, .46);
  color-scheme: dark;
}

/* Mantiene l'identità Electric anche se nel browser era rimasto salvato il tema chiaro. */
:root[data-theme="light"] {
  --bg: #07101f;
  --surface: #0b1a30;
  --surface-2: #0f2340;
  --surface-3: #142d4e;
  --line: #1b4775;
  --text: #edf6ff;
  --muted: #9bb9d9;
  --accent: #39b8ff;
  --accent-2: #7b61ff;
  --green: #2ee59d;
  --blue: #39b8ff;
  --shadow: 0 24px 70px rgba(0, 8, 24, .46);
  color-scheme: dark;
}

body {
  background:
    radial-gradient(circle at 78% -12%, rgba(57, 184, 255, .13), transparent 34%),
    radial-gradient(circle at 28% 110%, rgba(123, 97, 255, .09), transparent 35%),
    var(--bg);
}

.sidebar-nav {
  background: linear-gradient(180deg, #081426 0%, #07101d 100%);
  border-color: #15375e;
}

.brand-mark {
  background: linear-gradient(145deg, #19a9ff, #5d6cff);
  box-shadow: 0 0 0 1px rgba(118, 211, 255, .25), 0 8px 30px rgba(57, 184, 255, .38);
}

.brand { display: block; }
.brand-heading { display: flex; align-items: center; gap: 11px; }
.brand-heading strong { font-size: 18px; line-height: 1.15; }
.brand-copy { display: block; padding: 8px 1px 0; }
.brand-copy small { line-height: 1.25; }
.brand-games {
  max-width: 190px;
  color: #b7d8f5 !important;
  font-size: 10px !important;
  font-weight: 650;
}
.brand-edition {
  margin-top: 3px;
  color: #50c2ff !important;
  font-size: 9px !important;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.brand-tagline {
  max-width: 190px;
  margin-top: 5px;
  color: #7598bc !important;
  font-size: 9px !important;
  font-style: italic;
}

.brand small,
.tab-button,
.support-link,
.access-counter { color: #88a9cc; }

.tab-button:hover { background: rgba(57, 184, 255, .08); color: #fff; }
.tab-button.active {
  background: linear-gradient(90deg, rgba(57, 184, 255, .17), rgba(57, 184, 255, .045));
  box-shadow: inset 3px 0 var(--accent), 0 0 24px rgba(57, 184, 255, .07);
}
.tab-button b { background: rgba(57, 184, 255, .15); color: #73ceff; }

.topbar { background: rgba(7, 16, 31, .88); border-color: #183a61; }

.panel,
.kpi-card,
.filters,
.live-item,
#popup-box,
#sm-popup,
.track-modal-panel {
  box-shadow: inset 0 1px rgba(120, 205, 255, .025), var(--shadow);
}

.kpi-card { background: linear-gradient(145deg, rgba(15, 35, 64, .96), rgba(9, 25, 47, .96)); }
.kpi-card:hover,.panel:hover { border-color: #28679f; }

.race-status.is-offline {
  background: linear-gradient(135deg, #0d4f7d, #247fc0);
  box-shadow: 0 14px 38px rgba(25, 132, 202, .24);
}
.race-status.is-starting { background: linear-gradient(135deg, #5a3da8, #7b61ff); }
.race-status.is-online { background: linear-gradient(135deg, #087b68, #22c99a); }

.server-selected,.multi-selected { background: rgba(57, 184, 255, .1) !important; }
.check input:checked + span { background: rgba(57, 184, 255, .14); }
.bar-fill { box-shadow: 0 0 12px rgba(57, 184, 255, .4); }
.track-curve-list b,.track-modal-curves b { background: rgba(57, 184, 255, .14); }
.dashboard-filter-notice { box-shadow: inset 0 0 30px rgba(57, 184, 255, .04); }
.status-chip i,.live-dot.live { filter: saturate(1.2); }
::selection { background: rgba(57, 184, 255, .34); color: #fff; }

/* Race Analyze */
.race-analyze-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}
.race-secondary-button,.race-primary-button{border:1px solid var(--line);border-radius:11px;padding:10px 14px;color:var(--text);background:var(--surface-2);font-weight:700;transition:.18s}
.race-secondary-button:hover:not(:disabled){border-color:var(--accent);background:rgba(57,184,255,.1)}
.race-secondary-button.is-copied{border-color:rgba(46,229,157,.55);color:#86edc5;background:rgba(46,229,157,.09)}
.race-primary-button{border-color:transparent;background:linear-gradient(135deg,#159fe9,#5968f1);box-shadow:0 10px 28px rgba(57,184,255,.2)}
.race-primary-button:disabled,.race-secondary-button:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}
.race-filters{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(180px,.8fr) minmax(160px,.6fr) auto}
.race-archive-summary{display:flex;justify-content:space-between;align-items:end;margin:26px 2px 13px}
.race-archive-summary h2{margin:3px 0 0;font-size:22px}.race-archive-summary>strong{font-size:28px;color:var(--accent)}
.race-list{display:grid;gap:9px}
.race-list-item{width:100%;display:grid;grid-template-columns:130px minmax(280px,1fr) minmax(190px,.48fr) 24px;align-items:center;gap:20px;text-align:left;border:1px solid var(--line);border-radius:15px;padding:15px 18px;background:linear-gradient(135deg,rgba(15,35,64,.96),rgba(9,25,47,.96));transition:.18s}
.race-list-item:hover{border-color:#3184c5;transform:translateY(-1px);box-shadow:0 12px 32px rgba(0,9,28,.28)}
.race-list-date,.race-list-main,.race-list-winner{display:flex;flex-direction:column;min-width:0}.race-list-date b{font-size:13px}.race-list-date small,.race-list-main small,.race-list-winner small{color:var(--muted);font-size:10px}.race-list-main strong{font-size:17px;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-list-main em,.race-list-winner em{font-size:11px;color:#7f9fc0;font-style:normal}.race-list-winner b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-list-arrow{font-size:20px;color:var(--accent)}
.race-pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:24px 0}.race-pagination span{color:var(--muted);font-size:12px}
.race-error{display:grid;place-content:center;min-height:220px;text-align:center;color:var(--muted)}.race-error strong{color:var(--text);font-size:18px}.race-error span{margin-top:5px}
.race-hero{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:25px;margin-bottom:14px;background:radial-gradient(circle at 90% 0,rgba(57,184,255,.16),transparent 42%),var(--surface)}.race-hero h2{font-size:34px;text-transform:capitalize;margin:5px 0}.race-hero p{margin:0;color:var(--muted)}.race-hero-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:end}.race-hero-meta span{border:1px solid var(--line);border-radius:99px;padding:7px 10px;color:#b7d8f5;background:rgba(57,184,255,.06);font-size:11px}
.race-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.race-kpi{display:flex;flex-direction:column;min-height:112px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.race-kpi span,.race-kpi small{color:var(--muted);font-size:11px}.race-kpi strong{margin:auto 0 3px;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.race-overview-reading{padding:20px;margin:14px 0}.race-overview-reading>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:13px;border-bottom:1px solid var(--line)}.race-overview-reading h3{margin:3px 0 0}.race-overview-reading>header>span{border:1px solid rgba(46,229,157,.3);border-radius:99px;padding:6px 10px;color:#86edc5;background:rgba(46,229,157,.07);font-size:10px}.race-overview-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:13px}.race-overview-facts p{margin:0;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:#9bb9d9;font-size:11px}.race-overview-facts strong{color:var(--text)}
.race-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.race-overview-card{padding:17px;min-height:330px}.race-overview-wide{grid-column:1/-1}.race-overview-wide .race-overview-canvas{height:330px}.race-overview-canvas{height:245px;padding-top:12px}.race-overview-note{text-align:center;color:#9bb9d9;font-size:11px;margin-top:-3px}
.race-detail-toolbar,.race-analysis-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:28px 2px 13px}.race-detail-toolbar h2,.race-analysis-toolbar h2{margin:3px 0}.race-detail-toolbar p,.race-analysis-toolbar p{margin:0;color:var(--muted)}.race-analysis-toolbar>div:last-child{display:flex;align-items:end;gap:10px}.race-analysis-toolbar label{display:grid;gap:4px;color:var(--muted);font-size:10px}.race-analysis-toolbar select{min-width:220px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);padding:9px 11px}
.race-toolbar-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.race-table-shell{overflow:auto}.race-table{width:100%;border-collapse:collapse;min-width:900px}.race-table th,.race-table td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left}.race-table th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.race-table tbody tr{transition:.15s}.race-table tbody tr:hover,.race-table tbody tr.is-selected{background:rgba(57,184,255,.075)}.race-table tbody tr:last-child td{border:0}.race-select input{position:absolute;opacity:0}.race-select span{display:block;width:18px;height:18px;border:1px solid #35618a;border-radius:5px;background:#09182b}.race-select input:checked+span{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 4px #0b1a30}.race-position{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-3)}.race-position.top-1{background:#e9b949;color:#172133}.race-position.top-2{background:#b9c7d8;color:#172133}.race-position.top-3{background:#b87543;color:#fff}.race-driver-open{display:flex;flex-direction:column;border:0;background:transparent;text-align:left;padding:0}.race-driver-open:hover strong{color:var(--accent)}.race-driver-open small{color:var(--muted);font-size:10px}
.race-driver-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:14px 0}.race-driver-summary article{position:relative;display:flex;flex-direction:column;min-height:105px;border:1px solid var(--line);border-radius:13px;padding:14px 15px;background:var(--surface);overflow:hidden}.race-driver-summary article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--driver-color)}.race-driver-summary span{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-driver-summary strong{font-size:23px;margin:auto 0 2px}.race-driver-summary small{color:#7f9fc0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.race-reading{padding:20px;margin:14px 0;background:radial-gradient(circle at 100% 0,rgba(123,97,255,.10),transparent 40%),var(--surface)}.race-reading>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:14px;border-bottom:1px solid var(--line)}.race-reading h3{margin:3px 0 0}.race-reference-chip{border:1px solid rgba(57,184,255,.32);border-radius:99px;padding:7px 10px;color:#a9dafe;background:rgba(57,184,255,.08);font-size:10px}.race-reading-comparisons{display:grid;gap:8px;padding:14px 0}.race-reading-comparisons>div{display:grid;grid-template-columns:5px minmax(0,1fr);gap:10px;align-items:stretch;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(7,16,31,.45)}.race-reading-comparisons i{border-radius:9px}.race-reading-comparisons span{display:flex;flex-direction:column}.race-reading-comparisons small{color:#9bb9d9;margin-top:2px}.race-decisive-title{display:flex;align-items:end;justify-content:space-between;margin:5px 0 9px}.race-decisive-title span{font-weight:800}.race-decisive-title small,.race-reading-empty{color:var(--muted)}.race-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.race-events>div{display:grid;grid-template-columns:62px minmax(0,1fr);gap:3px 10px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.race-events>b{grid-row:1/3;color:var(--accent)}.race-events span{line-height:1.35}.race-events em{color:#fff;font-style:normal}.race-events small{color:var(--muted)}
.race-gap-guide{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:10px 0 0;font-size:10px}.race-gap-guide span{border-radius:99px;padding:5px 8px}.race-gap-guide .is-behind{color:#ff9cae;background:rgba(255,91,121,.1)}.race-gap-guide .is-reference{color:#a9dafe;background:rgba(57,184,255,.1)}.race-gap-guide .is-ahead{color:#86edc5;background:rgba(46,229,157,.1)}
.race-events>div>span,.race-events>div>small{grid-column:2}
.race-chart-reading{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:12px}.race-chart-reading>div{display:flex;flex-direction:column;min-width:0;padding:9px 10px;border:1px solid rgba(57,184,255,.18);border-radius:9px;background:rgba(57,184,255,.045)}.race-chart-reading>div>span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.race-chart-reading>div>strong{margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-chart-reading>div>small{color:#9bb9d9}.race-chart-reading>p{grid-column:1/-1;margin:0;padding:8px 10px;border-left:2px solid var(--accent);color:#a9c3dd;background:rgba(7,16,31,.35);font-size:11px}.race-chart-card:not(.race-chart-wide) .race-chart-reading{grid-template-columns:1fr}.race-chart-card:not(.race-chart-wide) .race-chart-reading>p{grid-column:1}
.race-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.race-chart-card{padding:18px;min-height:390px}.race-chart-wide{grid-column:1/-1}.race-chart-head{display:flex;justify-content:space-between;align-items:start;padding-bottom:12px;border-bottom:1px solid var(--line)}.race-chart-head h3{margin:3px 0}.race-chart-head>span{color:var(--muted);font-size:10px}.race-chart-canvas{height:320px;padding-top:13px}.race-metric-list{display:grid;gap:9px;padding-top:16px}.race-metric-list>div{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.race-metric-list i{width:8px;height:34px;border-radius:8px}.race-metric-list span{display:flex;flex-direction:column}.race-metric-list small{color:var(--muted)}
@media(max-width:1000px){.race-filters{grid-template-columns:1fr 1fr}.race-list-item{grid-template-columns:110px 1fr 24px}.race-list-winner{display:none}.race-kpis{grid-template-columns:1fr 1fr}.race-overview-grid{grid-template-columns:1fr 1fr}.race-overview-wide{grid-column:1/-1}.race-overview-facts{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.race-analyze-heading,.race-hero,.race-detail-toolbar,.race-analysis-toolbar{align-items:stretch;flex-direction:column}.race-filters{grid-template-columns:1fr}.race-list-item{grid-template-columns:1fr 20px;gap:8px}.race-list-date{grid-column:1}.race-list-main{grid-column:1}.race-list-arrow{grid-column:2;grid-row:1/3}.race-kpis,.race-chart-grid,.race-overview-grid{grid-template-columns:1fr}.race-chart-wide,.race-overview-wide{grid-column:auto}.race-overview-facts{grid-template-columns:1fr}.race-overview-reading>header{align-items:flex-start;flex-direction:column}.race-analysis-toolbar>div:last-child{align-items:stretch;flex-direction:column}.race-analysis-toolbar select{min-width:0;width:100%}.race-reading>header{align-items:flex-start;flex-direction:column}.race-events{grid-template-columns:1fr}}
