.racing-workspace{--racing-accent:#d8071d;display:grid;gap:18px;max-width:1560px;margin:0 auto}.racing-hero,.racing-detail-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(120deg,rgba(216,7,29,.16),rgba(29,29,32,.94) 46%,var(--panel));box-shadow:0 18px 42px rgba(0,0,0,.18)}.racing-hero h2,.racing-detail-head h2{margin:0 0 6px;font-size:clamp(24px,3vw,36px)}.racing-hero p,.racing-detail-head p{margin-bottom:0;color:var(--muted)}.racing-hero .primary{flex:0 0 auto;padding:12px 18px}.racing-subnav{display:flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.racing-subnav button{min-height:42px;padding:9px 16px;border-radius:8px;color:var(--muted);background:transparent}.racing-subnav button.active,.racing-subnav button:hover{color:var(--white);background:var(--panel2);border-left:0;box-shadow:inset 0 -2px var(--racing-accent)}.racing-filter-card{min-height:auto;padding:14px}.racing-plan-filters{grid-template-columns:repeat(6,minmax(120px,1fr));gap:9px}.racing-plan-card{display:grid;align-content:start;gap:7px;min-height:176px;overflow:hidden;transition:transform .16s ease,border-color .16s ease,background .16s ease}.racing-plan-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--racing-accent)}.racing-plan-card:hover{transform:translateY(-2px);border-color:#666;background:linear-gradient(145deg,#242428,var(--panel))}.racing-plan-card .eyebrow{width:max-content;padding:4px 8px;border:1px solid #71101a;border-radius:999px;background:#26080c}.racing-breadcrumb{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}.racing-breadcrumb button{padding:0;color:var(--white);background:transparent}.racing-breadcrumb button:hover{text-decoration:underline}.racing-detail-head{min-height:126px}.racing-detail-head .status-pill.archived{background:var(--panel2);color:var(--muted)}.racing-plan-form{display:grid;gap:16px}.racing-plan-form>.notice{margin:0}.racing-actions{position:sticky;z-index:8;top:10px;align-items:center;margin:0;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(13,13,15,.94);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(0,0,0,.24)}.racing-actions .ghost{margin:0}.racing-actions .danger{margin-left:auto;border-color:var(--racing-accent);color:#ffb5bd}.racing-form-section{min-height:auto}.racing-form-section>h2,.racing-live-panel>h2,.racing-schedule-panel>h2,.stint-references>h2{display:flex;align-items:center;gap:9px;margin-bottom:16px;font-size:19px}.racing-form-section>h2:before,.racing-live-panel>h2:before,.racing-schedule-panel>h2:before,.stint-references>h2:before{content:"";width:4px;height:20px;border-radius:3px;background:var(--racing-accent)}.racing-plan-form .form-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.racing-plan-form label{display:grid;align-content:start;gap:6px}.racing-plan-form label>span{color:var(--muted);font-size:12px;font-weight:700}.racing-plan-form input,.racing-plan-form select,.racing-plan-form textarea,.racing-filter-card input,.racing-filter-card select{min-height:44px;background:#101012}.racing-plan-form input:focus,.racing-plan-form select:focus,.racing-plan-form textarea:focus,.racing-filter-card input:focus,.racing-filter-card select:focus{outline:2px solid rgba(216,7,29,.5);outline-offset:1px;border-color:var(--racing-accent)}.racing-plan-form :disabled{cursor:not-allowed;opacity:.68}.racing-live-panel{min-height:auto;border-color:#6f111b;background:linear-gradient(145deg,rgba(77,8,17,.72),var(--panel))}.racing-live-panel .detail-metrics{grid-template-columns:repeat(4,minmax(135px,1fr))}.racing-live-panel .detail-metrics>div{min-height:76px;background:rgba(8,8,9,.35)}.racing-schedule-panel{min-height:auto;padding:0;overflow:hidden}.racing-schedule-panel>h2{padding:18px 18px 0}.racing-schedule-panel .table-scroll{overflow:auto;max-height:min(68vh,760px);outline:none}.racing-schedule-panel table{min-width:1540px}.racing-schedule-panel th{z-index:2;top:0;background:#111113}.racing-schedule-panel tbody tr:nth-child(even){background:rgba(255,255,255,.018)}.racing-schedule-panel tbody tr:hover{background:rgba(216,7,29,.08)}.racing-schedule-panel td:first-child,.racing-schedule-panel th:first-child{position:sticky;left:0;z-index:3;background:#111113}.driver-row{grid-template-columns:minmax(220px,1fr) auto;align-items:end;padding:10px;border:1px solid var(--line);border-radius:10px;background:#111113}.stint-row{position:relative;grid-template-columns:42px repeat(5,minmax(135px,1fr)) auto;align-items:end;padding:12px;border:1px solid var(--line);border-radius:12px;background:#111113}.stint-number{display:grid;place-items:center;align-self:center;width:34px;height:34px;border:1px solid #71101a;border-radius:50%;background:#26080c;font-weight:800}.stint-row .ghost,.driver-row .ghost{margin:0}.reference-plan{align-items:center;padding:14px;border:1px solid var(--line);border-radius:10px;background:#111113}.reference-plan+.reference-plan{margin-top:9px}.archived-plan .racing-form-section{background:var(--panel)}
@media(max-width:1180px){.racing-plan-filters{grid-template-columns:repeat(3,minmax(140px,1fr))}.racing-plan-form .form-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.racing-live-panel .detail-metrics{grid-template-columns:repeat(2,minmax(135px,1fr))}.stint-row{grid-template-columns:42px repeat(2,minmax(150px,1fr));}.stint-row>.ghost{grid-column:-2/-1}}
@media(max-width:760px){.racing-workspace{gap:12px}.racing-hero,.racing-detail-head{align-items:flex-start;flex-direction:column;padding:18px}.racing-hero .primary{width:100%}.racing-subnav{overflow:auto}.racing-subnav button{flex:1 0 auto}.racing-plan-filters,.racing-plan-form .form-grid,.racing-live-panel .detail-metrics{grid-template-columns:1fr}.racing-actions{top:4px;overflow:auto;flex-wrap:nowrap}.racing-actions>*{flex:0 0 auto}.stint-row{grid-template-columns:42px minmax(0,1fr);padding:12px}.stint-row>label{grid-column:2}.stint-row>.ghost{grid-column:2}.driver-row{grid-template-columns:1fr}.reference-plan{grid-template-columns:1fr}.reference-plan .note-actions{display:grid;grid-template-columns:1fr}.racing-schedule-panel .table-scroll{max-height:62vh}}
.racing-workspace .plan-card{display:grid;align-content:start;gap:7px;min-height:176px;overflow:hidden;transition:transform .16s ease,border-color .16s ease,background .16s ease}.racing-workspace .plan-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--racing-accent)}.racing-workspace .plan-card:hover{transform:translateY(-2px);border-color:#666;background:linear-gradient(145deg,#242428,var(--panel))}
.archived-plan .remove,.archived-plan #add-driver,.archived-plan #add-stint{display:none}.archived-plan .driver-row,.archived-plan .stint-row{grid-template-columns:minmax(0,1fr)}.archived-plan .stint-row{grid-template-columns:42px repeat(5,minmax(135px,1fr))}
@media(max-width:760px){.archived-plan .stint-row{grid-template-columns:42px minmax(0,1fr)}.archived-plan .stint-row>label{grid-column:2}}
.stint-editor-picker{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#101012}.stint-editor-picker label{min-width:220px}.stint-editor-picker p{margin:0}.stint-row[hidden]{display:none}.stint-editor-section>.ghost{margin-top:10px}.racing-schedule-panel tbody tr{cursor:pointer}.racing-schedule-panel tbody tr:focus{outline:2px solid var(--racing-accent);outline-offset:-2px}.archived-plan .stint-editor-section{display:none}
@media(max-width:760px){.stint-editor-picker{align-items:stretch;flex-direction:column}.stint-editor-picker label{min-width:0}.stint-row .save-single-stint{grid-column:2}}

/* Keep wide schedules inside their own scroll region. */
.racing-workspace,.racing-plan-form,.racing-form-section,.racing-filter-card{min-width:0;width:100%;box-sizing:border-box}
.racing-workspace [hidden]{display:none!important}
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;margin:20px 0}
.permission-grid label{display:grid;gap:6px;min-width:0}.permission-grid label span{overflow-wrap:anywhere}
.nav-management[open]{display:grid;gap:4px}.nav-management summary{cursor:pointer;padding:12px}
@media(max-width:760px){.racing-actions{flex-wrap:wrap}.stint-row .save-single-stint{grid-column:2}.racing-plan-form select{min-width:0;max-width:100%}}

/* Human-readable lap-time entry; milliseconds remain an internal value. */
.racing-plan-form .lap-time-field{grid-column:span 2;min-width:0;margin:0;padding:0;border:0}
.lap-time-field legend{color:var(--muted);font-size:12px;font-weight:700;margin-bottom:8px}
.lap-time-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.3fr);gap:6px;align-items:end;max-width:410px}
.lap-time-inputs>span{padding-bottom:12px;font-weight:700}.lap-time-inputs input{width:100%;min-width:0;box-sizing:border-box;font-variant-numeric:tabular-nums}
.lap-time-preview{display:block;margin-top:7px;font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted)}
@media(max-width:760px){.racing-plan-form .lap-time-field{grid-column:1/-1}.lap-time-inputs label>span{font-size:11px}}

@media(max-width:760px){#content .racing-subnav,#content .racing-actions{flex-wrap:wrap;overflow:visible}#content .racing-subnav button,#content .racing-actions>*{flex:1 1 130px;white-space:normal}}
.stint-budget{grid-column:1/-1;white-space:normal;overflow-wrap:anywhere}
.racing-subnav-link{display:flex;align-items:center;min-height:42px;padding:9px 16px;border-radius:8px;color:var(--muted);text-decoration:none}.racing-subnav-link:hover,.racing-subnav-link:focus-visible{color:var(--white);background:var(--panel2);box-shadow:inset 0 -2px var(--racing-accent);outline:none}
@media(max-width:760px){#content .racing-subnav-link{flex:1 1 130px;white-space:normal}}

.performance-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;min-height:auto}.performance-filters label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.performance-filters select{min-width:0;min-height:44px;background:#101012}.performance-result{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,2fr);gap:14px}.team-best-card{display:grid;align-content:center;min-height:260px;padding:24px;border:1px solid #71101a;border-radius:var(--radius);background:radial-gradient(circle at top right,rgba(216,7,29,.28),transparent 48%),linear-gradient(145deg,#211014,var(--panel));box-shadow:0 18px 40px rgba(0,0,0,.24)}.team-best-card>strong{font-size:clamp(36px,6vw,64px);font-variant-numeric:tabular-nums;letter-spacing:-.04em}.team-best-card h3{margin:12px 0 3px}.team-best-card p,.team-best-card small{margin:0;color:var(--muted)}.performance-ranking{min-height:260px}.performance-table{display:grid}.performance-table article,.recent-laps article{display:grid;grid-template-columns:36px minmax(0,1fr) auto 72px;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.performance-table .rank{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#26080c;color:#ffb5bd}.performance-table span,.recent-laps span{display:grid;min-width:0}.performance-table small,.recent-laps small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.performance-table .time,.recent-laps b{font-variant-numeric:tabular-nums}.performance-table em{color:var(--muted);font-style:normal;font-variant-numeric:tabular-nums}.recent-laps{grid-column:1/-1}.recent-laps article{grid-template-columns:minmax(0,1fr) auto auto}.badge.valid{border-color:#315f46;color:#9ed1b2}.badge.invalid{border-color:#71101a;color:#f2b3b3}.badge.unknown{color:var(--muted)}.performance-loading{grid-column:1/-1;min-height:180px;display:grid;place-items:center}.error-state{border-color:#71101a;color:#f2b3b3}
@media(max-width:900px){.performance-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-result{grid-template-columns:1fr}.recent-laps{grid-column:auto}}
@media(max-width:600px){.performance-filters{grid-template-columns:1fr}.performance-table article{grid-template-columns:32px minmax(0,1fr) auto}.performance-table em{grid-column:3}.performance-table small{white-space:normal}.recent-laps article{grid-template-columns:minmax(0,1fr) auto}.recent-laps .badge{grid-column:1/-1;width:max-content}.team-best-card{min-height:220px}}
.driver-performance-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pace-kpis,.pace-history{grid-column:1/-1}.pace-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.pace-history,.pace-improvements,.driver-performance-result>.performance-ranking{min-height:0}.pace-history h3,.pace-improvements h3{margin:2px 0 0}.pace-chart{min-width:0;margin-top:12px}.pace-chart svg{display:block;width:100%;height:260px;overflow:visible}.pace-chart text{fill:var(--muted);font-size:13px}.pace-axis{stroke:var(--line);stroke-width:1}.pace-line{fill:none;stroke:var(--racing-accent);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.pace-point{fill:#fff;stroke:var(--racing-accent);stroke-width:3}.pace-reference{stroke:#aaadb7;stroke-width:1.5;stroke-dasharray:6 5}.pace-chart-note{margin:8px 0 0;font-size:12px}.pace-improvement-list{display:grid}.pace-improvement-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.pace-improvement-list span{display:grid;min-width:0}.pace-improvement-list small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.pace-improvement-list b{color:#9ed1b2;font-variant-numeric:tabular-nums}.performance-table article.is-selected{margin:0 -8px;padding:12px 8px;border-radius:8px;background:rgba(216,7,29,.12)}
@media(max-width:980px){.driver-performance-result{grid-template-columns:1fr}.pace-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pace-kpis{grid-template-columns:1fr}.pace-chart svg{height:210px}.pace-chart text{font-size:11px}.pace-improvement-list article{grid-template-columns:minmax(0,1fr) auto}.pace-improvement-list small{white-space:normal}.driver-performance-result>.performance-ranking{grid-column:auto}}
