/* Live race room: compact timing, spatial view and driver task remain separate. */
.live-room{padding-top:22px;padding-bottom:24px;max-width:1600px}
.live-room .live-header{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:7px 24px;margin-bottom:18px}
.live-room .live-header h1{font:600 clamp(27px,3vw,36px)/1.1 var(--disp);text-transform:none;letter-spacing:-.02em}
.live-status{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;color:var(--calmo);font-size:12px}
.live-room .spia,.live-room .band{height:auto;min-height:28px;padding:4px 8px;letter-spacing:0;font:500 12px/1.3 var(--sans);border-radius:5px}
.live-room .spia{background:transparent;border:none;padding-left:0;color:var(--calmo)}
.live-room .spia.viva{color:var(--testo);background:transparent;border:none}
.live-room #etichSess{margin:0;color:var(--calmo);font-size:13px;grid-column:1/-1}
.live-room #freshness{font-variant-numeric:tabular-nums;color:var(--calmo)}
.live-room #freshness.data-stopped{color:var(--ambra)}
.live-room .live-source-status{grid-column:1/-1;display:flex;gap:5px 14px;flex-wrap:wrap;color:var(--calmo);font-size:12px;line-height:1.4;font-variant-numeric:tabular-nums}
.live-room #sourceWarning{color:var(--ambra)}
.live-room #sourceWarning.source-stale{font-weight:600}
.live-room .live-context{grid-column:1/-1;display:flex;align-items:center;gap:18px;padding:11px 0 0;margin-top:5px;border-top:1px solid var(--bordo)}
.live-context #focusDriver{font:600 17px/1.3 var(--sans);text-align:left;min-height:44px}
.live-context #focusGap,.live-context #giroTorre{color:var(--calmo);font-size:12px;font-variant-numeric:tabular-nums}
.live-context #giroTorre{margin-left:auto;white-space:nowrap}
.live-context #invitoMuretto{min-height:44px;font-size:12px;padding:0 14px;flex-shrink:0}
.live-context #salvaMomento{min-height:44px;font-size:12px;padding:0 12px;flex-shrink:0}
.live-room .live-moment-status{grid-column:1/-1;margin:0;font-size:13px;line-height:1.4;color:var(--calmo)}
.live-room .live-moment-status:empty{display:none}
.live-moment-status a{color:var(--testo);text-underline-offset:3px}
.live-context #salvaMomento:disabled{opacity:.5;cursor:default}
.live-room .live-workspace{display:grid;grid-template-columns:320px minmax(260px,1fr) 292px;gap:18px;align-items:stretch;min-height:440px}
.live-room .live-timing,.live-room .live-driver,.live-room .live-track{min-width:0;border:0;border-radius:0;background:transparent;overflow:visible}
.live-room .live-timing{display:flex;flex-direction:column;border-right:1px solid var(--bordo);padding-right:16px}
.live-room .live-section-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;min-height:58px;padding:4px 0}
.live-room h2{font:600 21px/1.2 var(--disp);text-transform:none;letter-spacing:0;margin:0}
.live-room .live-gap-toggle{display:flex;align-items:center;gap:2px;background:var(--carbonio);padding:3px;border-radius:6px}
.live-gap-toggle button{min-height:44px;padding:0 9px;font:500 12px/1.2 var(--sans);color:var(--calmo);border-radius:4px}
.live-gap-toggle button[aria-pressed=true]{color:var(--testo);background:var(--bordo-2)}
.live-gap-toggle button:disabled{opacity:.48;cursor:default}
.live-room .live-table-head{display:grid;grid-template-columns:27px minmax(50px,1fr) 78px 74px;gap:6px;padding:9px 5px;color:var(--calmo);font:500 12px/1.3 var(--sans)}
.live-table-head span:last-child{text-align:right}
.live-room .torreLive .lista{max-height:calc(100dvh - 290px);min-height:220px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--bordo-2) transparent}
.live-room .tw-row{margin:0;border:0;border-radius:4px;min-height:50px;padding:0 5px;cursor:pointer;outline-offset:-2px;background:transparent}
.live-room .tw-row:nth-child(even){background:rgba(255,255,255,.025)}
.live-room .tw-row:hover{background:rgba(255,255,255,.07)}
.live-room .tw-row.tw-sel{background:rgba(238,60,142,.13);box-shadow:inset 0 0 0 1px rgba(238,60,142,.6)}
.live-room .tw-main{display:grid;grid-template-columns:27px 5px minmax(42px,1fr) 78px 74px;gap:6px;min-height:50px;font:500 13px/1.2 var(--sans)}
.live-room .tw-pos{color:var(--calmo);font:500 12px/1.3 var(--sans);font-variant-numeric:tabular-nums}
.live-room .tw-col{width:5px;height:18px;border-radius:2px}
.live-room .tw-sig{font:600 14px/1.2 var(--sans)}
.live-room .tw-main>.tw-gap{grid-column:5;grid-row:1;min-width:0;margin:0;font:500 12px/1.2 var(--sans);font-variant-numeric:tabular-nums;text-align:right;color:var(--testo)}
.live-room .tw-main>.tw-gomma{grid-column:4;grid-row:1;width:auto;min-width:0;justify-content:flex-start;gap:3px}
.live-room .tw-gomma .tyre-sm .tyre-art{width:27px;height:27px}
.live-room .tw-gomma .tyre-copy{gap:3px;font-size:12px}
.live-room .tw-set{font-size:11px}
.live-room .tw-main>.tw-tags{grid-column:3/-1;grid-row:2;margin:-4px 0 6px;justify-content:flex-start;min-height:0}
.live-room .tw-main>.tw-tags:empty{display:none}
.live-room .tw-tag{font:600 11px/1.2 var(--sans);padding:3px 5px}
.live-room .live-timing-help{padding:12px 5px;color:var(--calmo);font:400 12px/1.45 var(--sans);margin:0}
.live-room .live-track{display:flex;flex-direction:column;justify-content:flex-start;background:var(--carbonio);min-height:440px}
.live-room .arenaLive{margin:0;border:0;border-radius:0;background:transparent;overflow:hidden}
.live-room .arenaLive .cap{padding:19px 18px 14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;border-bottom:0;gap:8px;letter-spacing:0;text-transform:none;font:400 11px/1.4 var(--sans);color:var(--calmo)}
.live-room .arenaLive .tele{display:block;min-width:0;padding:0}
.live-room .arenaLive canvas{width:100%;display:block}
.live-room .notaPista{padding:24px 18px;margin:auto 0;border:none;background:transparent;border-radius:0;line-height:1.6;color:var(--calmo);font-size:14px}
.live-room .live-empty-track{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;flex:1;padding:28px 24px;gap:14px}
.live-room .live-empty-track .notaPista{padding:0;margin:0;max-width:42ch;font-family:var(--sans)}
.live-room .live-empty-track .btn{min-height:44px;max-width:100%;font-size:13px}
.live-room #sourceClock:focus-visible{outline:2px solid var(--testo);outline-offset:4px}
.live-room .live-empty-driver{padding:0 0 22px}
.live-room .live-empty-driver p{margin:0 0 15px;font:400 14px/1.55 var(--sans);color:var(--calmo)}
.live-room .live-empty-driver .btn{min-height:44px;max-width:100%;font-size:13px}
.live-room .live-map-context{margin:auto 18px 18px;color:var(--calmo);font-size:11px}
.live-room .live-driver{padding:0 0 0 17px;border-left:1px solid var(--bordo);max-height:calc(100dvh - 230px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--bordo-2) transparent}
.live-driver-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 0 20px}
.live-room .live-driver-heading h2{font:600 38px/1 var(--disp);letter-spacing:-.02em}
.live-driver-heading p{margin:5px 0 0;color:var(--calmo);font-size:12px}
.live-driver-heading>b{font:500 25px/1 var(--sans)}
.live-current-tyre{padding:0 0 20px;display:flex;justify-content:flex-start;align-items:center;gap:14px}
.live-set-state{font:500 11px/1.4 var(--sans);color:var(--calmo)}
.live-room .live-current-tyre .tyre-lg .tyre-art{width:78px;height:78px}
.live-room .live-current-tyre .tyre-lg .tyre-wheel{width:78px;height:78px}
.live-room .live-current-tyre .tyre-lg .tyre-copy{font-size:20px}
.live-driver-gaps{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:22px;margin:0;border-bottom:1px solid var(--bordo)}
.live-driver-gaps dt{font-size:11px;line-height:1.5;color:var(--calmo)}
.live-driver-gaps dd{margin:4px 0 0;font:500 17px/1.3 var(--sans);font-variant-numeric:tabular-nums}
.live-measured-details{padding:19px 0;border-bottom:1px solid var(--bordo)}
.live-room .live-measured-details .tw-tempi{display:grid;grid-template-columns:1fr 1fr;min-width:0;gap:15px}
.live-room .live-measured-details .tw-time,.live-room .live-measured-details .tw-best{font:500 16px/1.4 var(--sans);color:var(--testo)}
.live-room .live-measured-details .tw-time::before,.live-room .live-measured-details .tw-best::before{content:attr(data-label);display:block;font:400 11px/1.5 var(--sans);color:var(--calmo);margin-bottom:4px}
.live-room .live-measured-details .tw-sectors{margin:16px 0 0;gap:8px}
.live-room .live-measured-details .tw-sec{min-width:0;flex:1}
.live-room .live-measured-details .tw-sec-t{font:500 12px/1.3 var(--sans)}
.live-room .live-measured-details .tw-bar{margin-top:6px}
.live-room .live-measured-details .tw-tags{justify-content:flex-start;margin-top:12px}
.live-strategy{padding:18px 0;border-bottom:1px solid var(--bordo)}
.live-strategy>summary{min-height:44px;cursor:pointer;font:600 15px/1.4 var(--sans);color:var(--testo);padding:12px 0;list-style-position:inside}
.live-room .live-strategy-body>p{color:var(--calmo);font:400 12px/1.55 var(--sans);margin:10px 0 14px}
.live-room .mesc{margin:15px 0;gap:6px}
.live-room .mesc button{display:flex;flex-direction:column;gap:7px;min-height:78px;padding:8px 4px;letter-spacing:0;font:500 11px/1.3 var(--sans);background:var(--carbonio);border:1px solid var(--bordo)}
.live-room .mesc button.on{background:rgba(238,60,142,.12);border-color:var(--rosso);color:var(--testo)}
.live-room .mesc button .tyre-age,.live-room .mesc button .tyre-copy{display:none}
.live-room .live-pit-action{position:sticky;bottom:0;background:var(--nero);padding:10px 0;z-index:2}
.live-room .live-pit-action button{width:100%;min-height:46px}
.live-room .esitoLive{padding:14px 0;border-radius:0;background:transparent;line-height:1.55;font-size:13px}
.live-room .live-rientro b.pos{font:600 30px/1.2 var(--disp);color:var(--testo)}
.live-room .live-tyre-credit{font:400 11px/1.5 var(--sans);margin:16px 0;color:var(--calmo)}
.live-room .prossima{padding:24px;margin:18px 0;background:var(--carbonio)}
.live-room .prossima .occhiello{font:500 13px/1.4 var(--sans);letter-spacing:0;text-transform:none}
.live-room .prossima .gp{font:600 clamp(25px,3vw,34px)/1.15 var(--disp);letter-spacing:-.02em;text-transform:none}
.live-room .conto{max-width:330px;margin-top:20px;gap:12px}
.live-room .conto div{padding:0;background:none;border-radius:0;text-align:left}
.live-room .conto b{font:500 25px/1.2 var(--sans)}
.live-room .conto span{font:400 11px/1.4 var(--sans);letter-spacing:0;margin-top:3px}
.live-room .ses b{font:600 14px/1.4 var(--sans);letter-spacing:0;text-transform:none}
.live-room .ses span{font:400 12px/1.4 var(--sans)}
.live-room .live-next-session{margin:19px 0 0;font:500 15px/1.45 var(--sans);color:var(--testo)}
.live-room .live-next-session b{display:block;margin-top:4px;font-size:13px;color:var(--calmo);font-weight:400}
.live-room .live-schedule{margin-top:22px}
.live-room .live-schedule summary{min-height:44px;padding:12px 0;font:500 13px/1.4 var(--sans);color:var(--testo);cursor:pointer}
.live-room .live-schedule .sessioni{margin-top:7px}
.live-room[data-live=false] .live-workspace{display:block;min-height:0}
.live-room[data-live=false] .live-driver{border-left:0;padding:10px 0;max-height:none;overflow:visible;max-width:600px}
.live-room[data-live=false] .live-driver h3{font:600 24px/1.3 var(--disp);text-transform:none}
.live-room[data-live=false] .live-driver p{font:400 14px/1.6 var(--sans);margin:10px 0 16px}
.live-mobile-nav{display:none}
.live-room button:focus-visible,.live-room summary:focus-visible,.live-room [role=button]:focus-visible{outline:2px solid var(--testo);outline-offset:3px}
@media(min-width:901px) and (max-width:1150px){.live-room .live-workspace{grid-template-columns:290px minmax(230px,1fr) 252px;gap:13px}.live-room .live-timing{padding-right:12px}.live-room .live-driver{padding-left:12px}.live-gap-toggle button{padding:0 6px}.live-context #focusGap{max-width:350px}}
@media(max-width:900px){
  .live-room{padding:13px 14px 20px}
  .live-room[data-live=true]{height:calc(100dvh - var(--barra-h,58px));min-height:440px;display:flex;flex-direction:column;padding-bottom:0}
  .live-room .live-header{grid-template-columns:1fr;margin-bottom:10px;gap:6px;flex:0 0 auto}
  .live-room .live-header h1{font-size:25px}
  .live-status{justify-content:flex-start;gap:7px;font-size:12px}
  .live-room .spia,.live-room .band{font-size:12px;min-height:26px}
  .live-room #etichSess{font-size:12px}
  .live-room .live-context{margin:4px 0 0;padding-top:7px;gap:8px;flex-wrap:wrap}
  .live-context #focusDriver{font-size:14px;min-height:44px;margin-right:auto}
  .live-context #giroTorre{margin-left:0;font-size:12px}
  .live-context #focusGap{order:4;flex-basis:100%;font-size:12px;line-height:1.4;padding-bottom:5px}
  .live-context #invitoMuretto{font-size:12px;min-height:44px;padding:0 9px}
  .live-context #salvaMomento{font-size:12px;padding:0 9px;min-height:44px}
  .live-room .live-workspace{display:flex;flex:1;min-height:0;gap:0;overflow:hidden}
  .live-room .live-timing,.live-room .live-track,.live-room .live-driver{display:none;width:100%;max-height:none;min-height:0;border:none;padding:0}
  .live-room[data-view=timing] .live-timing{display:flex}
  .live-room[data-view=track] .live-track{display:flex;overflow-y:auto}
  .live-room[data-view=driver] .live-driver{display:block;overflow-y:auto;padding:0 7px 12px}
  .live-room .live-section-head{min-height:52px}
  .live-room .live-section-head h2{font-size:21px}
  .live-gap-toggle button{font-size:12px}
  .live-room .torreLive .lista{max-height:none;min-height:0;flex:1;overflow-y:auto}
  .live-room .live-table-head{grid-template-columns:27px minmax(50px,1fr) 85px 80px}
  .live-room .tw-main{grid-template-columns:27px 5px minmax(45px,1fr) 85px 80px;min-height:51px}
  .live-room .tw-row{min-height:51px}
  .live-room .live-timing-help{display:none}
  .live-room .live-driver-heading{padding-top:18px}
  .live-room .live-driver-heading h2{font-size:36px}
  .live-room .arenaLive .cap{padding:15px 12px}
  .live-room .live-map-context{margin-top:12px}
  .live-mobile-nav{display:grid;grid-template-columns:repeat(3,1fr);flex:0 0 auto;border-top:1px solid var(--bordo);margin:10px -14px 0;padding-bottom:env(safe-area-inset-bottom);background:var(--nero)}
  .live-mobile-nav button{min-height:54px;font:600 13px/1.3 var(--sans);color:var(--calmo)}
  .live-mobile-nav [aria-pressed=true]{color:var(--testo);box-shadow:inset 0 2px var(--rosso);background:var(--carbonio)}
  .live-room[data-live=false] .live-driver{display:block}
  .live-room .prossima{padding:20px 17px;margin-top:10px}
  .live-room .sessioni{margin-top:20px}
  .live-room .ses{gap:8px;flex-wrap:wrap}
  .live-room .ses b{min-width:105px}
  .live-room .ses span{font-size:11px}
  body:has(.live-room[data-live=true])>.piede{display:none}
}
@media(prefers-reduced-motion:reduce){.live-room button{transition:none}}

/* Public Live modes retain their behavior inside the approved race room. */
.live-room .invitoMuretto{display:flex;margin:0;text-decoration:none;background:var(--rosso);border-color:var(--rosso);color:var(--testo)}
.live-room .invitoMuretto::after{display:none}
.live-room .modoMappa{margin-left:auto;border-color:var(--bordo-2)}
.live-room .modoMappa button{min-height:44px;font:500 12px/1.2 var(--sans);color:var(--calmo);text-transform:none;letter-spacing:0;border-color:var(--bordo-2)}
.live-room .modoMappa button[aria-pressed=true]{background:var(--bordo-2);color:var(--testo)}
.live-session-details{padding:18px 0;color:var(--testo)}
.live-session-details h3{font:600 21px/1.3 var(--disp);text-transform:none}
.live-room .passoRiga.sel{box-shadow:none;outline:1px solid var(--rosso);outline-offset:-1px}
.live-session-details h4{font:600 15px/1.4 var(--sans);margin:22px 0 10px}
.live-room .live-session-details p{font:400 12px/1.5 var(--sans);color:var(--calmo)}
.live-room .live-strategy-body .st-mescbox{margin:15px 0}
.live-room .live-strategy-body .st-mesc{gap:6px}
.live-room .live-strategy-body .st-m{min-height:96px;font:500 12px/1.3 var(--sans);letter-spacing:0;background:var(--carbonio);border:1px solid var(--bordo);color:var(--testo)}
.live-room .live-strategy-body .st-m.on{border-color:var(--rosso);background:rgba(238,60,142,.12)}
.live-room .live-choice-tyre .tyre-copy{display:none}
.live-room .live-session-details .giroRiga,.live-room .live-session-details .microTesta{min-height:44px;font-size:12px}
.live-room .live-lap-tyre .tyre-copy{font-size:12px}
