/* Round 6b "Nachtschicht": Stintplaner v2 – Übersicht, Assistent, Planansicht, Renntag (portal-stintplan.js).
   Building blocks (.r4-*) come from portal-round4.css, form fields (.r4-fc .field) from portal-round6.css,
   the lap-time fieldset from racing.css. CSP: no inline styles – widths/positions via data-w / data-x. */
.stintplan-page .sp-head{align-items:flex-end}
.stintplan-page .sp-head>div:first-child{min-width:0}
.stintplan-page .sp-head h2{margin:2px 0 4px;font-size:clamp(20px,2.4vw,26px);letter-spacing:-.02em;line-height:1.15;overflow-wrap:anywhere}
.stintplan-page .sp-head .eyebrow{margin:0;color:var(--redt);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.stintplan-page .sp-head p{max-width:760px}
.sp-back{all:unset;cursor:pointer;color:var(--muted);font-size:12.5px;display:inline-block;margin-bottom:6px}
.sp-back:hover,.sp-back:focus-visible{color:#fff;text-decoration:underline}
.sp-views button[aria-pressed="true"]{font-weight:600}
.sp-actions{align-items:center}
.sp-notice{border:1px solid var(--line);border-left:3px solid var(--info);background:#111a26;border-radius:10px;padding:10px 14px;font-size:13px;color:#d7dae1;overflow-wrap:anywhere}
.sp-notice.warn{border-left-color:var(--r4-warn);background:#1f1a0e}
.sp-notice.crit{border-left-color:var(--red);background:#2a0b0f}
.sp-notice.ok{border-left-color:var(--ok);background:#0f1f15}
.sp-notice small{color:var(--muted)}
.sp-checklist{display:grid;gap:8px}
/* Driver colours (index in the plan's driver list) */
.sp-c0{--sp-color:#d20a17}.sp-c1{--sp-color:#6cb4ff}.sp-c2{--sp-color:#46c969}.sp-c3{--sp-color:#f0b24a}.sp-c4{--sp-color:#b57cff}.sp-c5{--sp-color:#ff8a5c}.sp-c6{--sp-color:#5ce1e6}.sp-c7{--sp-color:#e3a2c3}.sp-c-none{--sp-color:#2a2f3a}
.sp-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none;background:var(--sp-color,#2a2f3a)}
.sp-dot.sp-tire{background:#fff;box-shadow:0 0 0 2px rgb(0 0 0/.4)}
.sp-night-sample{display:inline-block;width:18px;height:5px;background:repeating-linear-gradient(90deg,#8d96ff 0 6px,transparent 6px 10px)}
.r4-av.sp-c0,.r4-av.sp-c1,.r4-av.sp-c2,.r4-av.sp-c3,.r4-av.sp-c4,.r4-av.sp-c5,.r4-av.sp-c6,.r4-av.sp-c7{background:var(--sp-color);border-color:var(--sp-color);color:#fff}
.r4-meter i.sp-c0,.r4-meter i.sp-c1,.r4-meter i.sp-c2,.r4-meter i.sp-c3,.r4-meter i.sp-c4,.r4-meter i.sp-c5,.r4-meter i.sp-c6,.r4-meter i.sp-c7{background:var(--sp-color)}
/* Overview */
.sp-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sp-toolbar .r4-search{min-width:260px}
.sp-chips{flex-wrap:wrap}
.sp-event .r4-ph h2 small{overflow-wrap:anywhere}
.sp-event.legacy{border-style:dashed}
.sp-plan-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sp-plan-card{all:unset;box-sizing:border-box;display:grid;gap:4px;align-content:start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);cursor:pointer;min-width:0;position:relative;overflow:hidden;color:var(--text)}
.sp-plan-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--line)}
.sp-plan-card.live::before{background:var(--brand)}
.sp-plan-card:hover,.sp-plan-card:focus-visible{border-color:#4a505c;background:#20242d}
.sp-plan-card .sp-card-top{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:2px}
.sp-plan-card b{font-size:14px;overflow-wrap:anywhere}
.sp-plan-card small{color:var(--muted);font-size:11.5px;overflow-wrap:anywhere}
.sp-plan-card .sp-card-meta{font-variant-numeric:tabular-nums}
/* Timeline */
.sp-tl{position:relative;border:1px solid var(--line);border-radius:12px;background:#101216;padding:12px 12px 8px;overflow:hidden}
.sp-tl-axis{display:flex;justify-content:space-between;color:var(--r4-grey);font-size:11px;margin-bottom:6px;font-variant-numeric:tabular-nums}
.sp-tl-bar{display:flex;height:54px;border-radius:8px;overflow:hidden;background:#0c0e12;position:relative}
.sp-blk{position:relative;display:grid;align-content:center;padding:0 8px;border-right:2px solid #0c0e12;min-width:0;overflow:hidden;color:#fff;font-size:12px;line-height:1.2;background:var(--sp-color,#2a2f3a)}
.sp-blk b{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-blk small{opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10.5px}
.sp-blk.open{background:repeating-linear-gradient(135deg,#2a2f3a 0 8px,#1b1f27 8px 16px);color:var(--muted)}
.sp-blk.night::after{content:"";position:absolute;inset:auto 0 0 0;height:5px;background:repeating-linear-gradient(90deg,#8d96ff 0 6px,transparent 6px 10px)}
.sp-blk.tire::before{content:"";position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgb(0 0 0/.4)}
.sp-blk.done{filter:brightness(.5)}
.sp-blk.active{box-shadow:inset 0 0 0 2px #fff}
.sp-now{position:absolute;top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 8px #fff;z-index:2}
.sp-now::after{content:"JETZT";position:absolute;top:-2px;left:5px;font-size:9px;font-weight:800;letter-spacing:.1em;background:#fff;color:#000;padding:1px 4px;border-radius:3px}
.sp-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:11.5px;color:var(--muted)}
.sp-legend span{display:inline-flex;align-items:center;gap:6px}
/* Plan table */
.sp-table td{white-space:nowrap}
.sp-table tr.active td{background:rgb(210 10 23/.12)}
.sp-table tr.done td{color:var(--r4-grey)}
.sp-table tr.me td{box-shadow:inset 3px 0 var(--info)}
.sp-num{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--reds);color:#ffb5bd;font-weight:800;font-size:12px}
.sp-inl{border:1px solid transparent;background:transparent;border-radius:7px;padding:4px 6px;min-height:30px;min-width:128px;max-width:170px;color:var(--text);font-size:13px;box-shadow:inset 3px 0 var(--sp-color,transparent)}
.sp-inl:hover,.sp-inl:focus{border-color:var(--line);background:#161a22}
.sp-inl:disabled{opacity:.6;cursor:not-allowed}
.sp-check{display:inline-flex;gap:6px;align-items:center;cursor:pointer;font-size:12.5px}
.sp-check input{width:16px;height:16px;min-height:0;margin:0;accent-color:var(--brand)}
.sp-dev{font-weight:700;font-variant-numeric:tabular-nums}
.sp-dev.plus{color:var(--r4-warn)}.sp-dev.minus{color:var(--ok)}
.sp-table small{display:block;color:var(--muted);font-size:11px}
.sp-grid{align-items:start}
.sp-drv-stat{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:13px}
.sp-drv-stat:first-child{border-top:0}
.sp-drv-stat>div{min-width:0;display:grid;gap:4px}
.sp-drv-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.sp-drv-head b{overflow-wrap:anywhere}
.sp-notes{margin:0;white-space:pre-wrap;font-size:13px;color:#d5d9e1}
.sp-discord-state{margin:0 0 6px;font-size:13px}
/* Race day */
.sp-live-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;border:1px solid #6f111b;border-radius:16px;padding:20px;background:linear-gradient(145deg,rgb(77 8 17/.72),var(--panel))}
.sp-live-hero>div{min-width:0}
.sp-cd{margin-top:10px;font-size:clamp(44px,7vw,78px);font-weight:800;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.sp-cd small{font-size:14px;font-weight:600;color:var(--muted);letter-spacing:0;display:block;margin-top:6px;overflow-wrap:anywhere}
.sp-live-ctl{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.sp-pit-btn{height:48px;font-size:15px;padding:0 20px}
.sp-adjust{min-width:72px;justify-content:center}
.sp-clock{margin:12px 0 0;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.sp-clock b{color:#fff}
.sp-who{display:grid;gap:10px;align-content:start}
.sp-who>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:10px;border-radius:10px;background:rgb(0 0 0/.25)}
.sp-who>div>div{min-width:0}
.sp-who span{display:block;font-size:11.5px;color:var(--muted)}
.sp-who b{font-size:16px;overflow-wrap:anywhere}
.sp-who small{font-size:11.5px;color:var(--muted)}
.sp-mine{border-color:#6f111b}
.sp-mine p{margin:0 0 6px;font-size:14px}
/* Wizard */
.sp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sp-step{all:unset;box-sizing:border-box;display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--muted);cursor:pointer;min-width:0}
.sp-step .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:12px;background:var(--panel2);flex:none}
.sp-step.on{border-color:var(--brand);color:#fff}.sp-step.on .n{background:var(--brand);color:#fff}
.sp-step.done .n{background:#16351f;color:#8fe3a5}
.sp-step b{display:block;font-size:13px}.sp-step small{font-size:11px;display:block}
.sp-step>span:last-child{min-width:0}
.sp-wgrid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}
.sp-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.sp-fields>.sp-f{display:grid;gap:5px;min-width:0}
.sp-fields>.sp-f>span:first-child,.sp-f>span:first-child{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--muted)}
.sp-f .field-help{font-size:11.5px;color:var(--r4-grey);text-transform:none;letter-spacing:0;font-weight:400}
.sp-f.full{grid-column:1/-1}
.sp-f small{color:var(--r4-grey);font-size:11px}
.sp-fields fieldset.lap-time-field{margin:0;padding:0;border:0;min-width:0}
.sp-fields .lap-time-field legend{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:6px}
.sp-fields .lap-time-inputs label{display:grid;gap:4px;font-size:11px;color:var(--muted)}
.sp-fields .lap-time-inputs input{min-height:38px;border:1px solid var(--line);border-radius:9px;background:var(--bg);padding:8px 10px;color:var(--text);font-size:14px}
.sp-sim button,.sp-mode button{min-height:36px}
.sp-howto{margin:0;padding-left:18px;display:grid;gap:8px;font-size:13px;color:#d5d9e1}
.sp-tpl{display:grid;gap:8px}
.sp-tpl button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);cursor:pointer;color:var(--text)}
.sp-tpl button b{font-size:13px;min-width:0;overflow-wrap:anywhere}
.sp-tpl button small{color:var(--muted);font-size:11.5px;grid-column:1/-1}
.sp-tpl button.on{border-color:var(--brand)}
.sp-fuel-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.sp-fuel-row .r4-ctl{min-width:0;max-width:100%}
.sp-fuel-row .r4-ctl select{max-width:min(520px,70vw)}
#sp-fuel-box{margin-bottom:8px}
.sp-driver-row{display:grid;grid-template-columns:auto minmax(140px,1.3fr) repeat(4,minmax(90px,1fr)) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);margin-bottom:8px;min-width:0}
.sp-driver-row>*{min-width:0}
.sp-driver-row .r4-av{width:34px;height:34px;font-size:12px}
.sp-driver-name b{display:block;overflow-wrap:anywhere}
.sp-driver-name small{display:block;color:var(--muted);font-size:11px}
.sp-driver-row .field input,.sp-driver-row .field select{min-height:34px;padding:6px 8px}
.sp-add-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:4px 0 8px}
.sp-save-row .r4-btn{height:42px}
.sp-nav{align-items:center}
.stintplan-page .check-row{margin:0}
@media(max-width:1180px){.sp-plan-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-wgrid{grid-template-columns:1fr}.sp-driver-row{grid-template-columns:auto minmax(0,1fr) auto;grid-auto-rows:auto}.sp-driver-row .field{grid-column:span 1}.sp-driver-row>.field:nth-of-type(1){grid-column:1/3}}
@media(max-width:1023px){.sp-live-hero{grid-template-columns:1fr}}
@media(max-width:699px){
 .sp-plan-cards{grid-template-columns:1fr}
 .sp-toolbar .r4-search{min-width:0;width:100%}
 .sp-steps{grid-template-columns:1fr;gap:6px}
 .sp-step{padding:8px 10px}
 .sp-step small{display:none}
 .sp-fields{grid-template-columns:1fr 1fr}
 .sp-fields>.sp-f.full,.sp-fields>fieldset{grid-column:1/-1}
 .sp-driver-row{grid-template-columns:1fr 1fr}
 .sp-driver-row>.r4-av{display:none}
 .sp-driver-row .sp-driver-name{grid-column:1/-1}
 .sp-driver-row>button{grid-column:1/-1;justify-content:center}
 .sp-tl-bar{height:44px}.sp-blk{padding:0 4px;font-size:10.5px}.sp-blk small{display:none}
 .sp-cd{font-size:52px}
 .sp-live-hero{padding:16px}
 .sp-who b{font-size:14px}
 .sp-table.stack td{white-space:normal}
 .sp-inl{max-width:100%;width:60%}
 /* One-handed race day: the pit-stop button sits above the bottom navigation. */
 .stintplan-live-page #sp-live-ctl{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));z-index:45;margin:0;padding:10px 14px;background:#0d0f14;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .stintplan-live-page #sp-live-ctl .sp-pit-btn{grid-column:1/-1;height:56px;font-size:16px;justify-content:center}
 .stintplan-live-page #sp-live-ctl .sp-adjust{height:40px}
 .stintplan-live-page #sp-live-ctl .r4-note{grid-column:1/-1;text-align:center}
 .stintplan-live-page #stintplan-live{padding-bottom:140px}
 .sp-save-row .r4-btn{flex:1 1 100%;justify-content:center}
}
