/* SP-IN · Copyright (c) 2026 Diego Cavalli. Tutti i diritti riservati.
   Autore: Diego Cavalli. È vietato copiare, modificare, distribuire o usare questo codice, in tutto o in parte, senza l'autorizzazione scritta dell'autore.
   Pagine pubbliche (home, eventi, sezioni, accesso): pensate prima per il telefono, si allargano su tablet e computer.
   La compilazione del referto usa styles.css, lo stesso dell'app Referto Training. */

/* ---------- barra superiore e menu ---------- */





.pbar .btn{height:42px;padding:0 var(--space-12);text-decoration:none;color:var(--ink)}
.pbar .acc-in .bl{max-width:120px;overflow:hidden;text-overflow:ellipsis}
.tnav{display:none;gap:6px;margin-left:var(--space-24)}
/* Barra in alto su PC "Prima serata" (Diego 2026-10-20): voci inclinate in maiuscolo nel corsivo condensato, DEV, account
   e Accedi inclinati. Dal 2026-10-21 fondo scuro e sezione aperta nel riquadro bianco: design-system/app-shell.css (kit Landing) */
.pbar{--pb-skew:-12deg;--pb-unskew:12deg;height:64px;gap:var(--space-16);padding:0 var(--space-24)}
/* logo "Corsie veloci" (2026-10-21, docs/Logo SP-IN/LOGO-SP-IN.md): marchio e scritta in tracciati, in negativo sulla barra scura */
.pbar .logo-h{height:36px;width:auto;flex:none;display:block}
.pbar .bt{flex-direction:row;align-items:center;gap:var(--space-16)}
.tnav a,.pbar .acc-in .bl{font-family:var(--font-display);font-weight:900;font-stretch:62%;font-style:italic;text-transform:uppercase}
.pbar .bt .chip{align-self:center;height:28px;padding:0 var(--space-12);border:1.5px solid var(--crit);border-radius:0;background:transparent;color:var(--crit);transform:skewX(var(--pb-skew));font-size:var(--fs-11);font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.tnav a{height:40px;display:inline-flex;align-items:center;padding:0 var(--space-16);color:var(--ink);text-decoration:none;transform:skewX(var(--pb-skew))}
.tnav a>span{transform:skewX(var(--pb-unskew));font-size:var(--fs-17);padding-right:var(--space-2);white-space:nowrap}
.tnav a:focus-visible,.pbar .acc-in:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.pbar .btn.acc-in{height:40px;border-radius:0;transform:skewX(var(--pb-skew));padding:0 var(--space-16)}
.pbar .btn.acc-in>*{transform:skewX(var(--pb-unskew))}
.pbar .acc-in .bl{font-size:var(--fs-17);padding-right:var(--space-2)}
.pbar a.btn.acc-in:not(.ghost){border:0;background:var(--primary-fill);color:var(--on-fill);font-family:var(--font-display);font-weight:900;font-stretch:62%;font-style:italic;text-transform:uppercase;font-size:var(--fs-17)}




@media (min-width:900px){.tnav{display:flex}.tabbar{display:none}}
@media (max-width:420px){.pbar .bt .chip{display:none}.pbar .acc-in .bl{display:none}.pbar{gap:var(--space-8);padding:0 var(--space-12)}}
/* Telefono (sotto 900 px, Diego 2026-10-20): niente barra in alto col logo; barra dei tab flottante sopra la pagina, con
   lo spazio in fondo alla pagina perché l'ultimo contenuto non resti sotto. Barra "Salva" del calendario e avvisi si spostano */
@media (max-width:899px){
  :root{--tabh:calc(72px + var(--space-12))}
  .pbar{display:none}
  #app>.tabbar{position:absolute;left:calc(var(--space-12) + env(safe-area-inset-left,0px));right:calc(var(--space-12) + env(safe-area-inset-right,0px));bottom:calc(var(--space-12) + env(safe-area-inset-bottom,0px));z-index:35;
    border:1px solid var(--line);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-3);overflow:hidden}
  #app .page .wrap{padding-bottom:calc(var(--space-40) + var(--tabh) + var(--kb))}
  #app>.page{scroll-padding-bottom:calc(var(--tabh) + var(--space-12))}
  #app .pendbar{bottom:calc(var(--tabh) + var(--space-12))}
  .toasts{top:calc(var(--space-12) + var(--top-pad))}
}

/* ---------- pagina ---------- */
.page{overflow:auto;-webkit-overflow-scrolling:touch;-webkit-user-select:none;user-select:none}
.wrap{max-width:1080px;margin:0 auto;padding:var(--space-20) var(--space-16) var(--space-40);display:flex;flex-direction:column;gap:var(--space-16)}
@media (min-width:700px){.wrap{padding:var(--space-32) var(--space-32) var(--space-48);gap:var(--space-20)}}
.h1{font-family:var(--font-display);font-stretch:var(--display-w);font-size:var(--fs-30);line-height:1.05;margin:0;overflow-wrap:anywhere}
.h2{font-family:var(--font-display);font-stretch:var(--display-w);font-size:var(--fs-24);margin:0}
.h3{font-family:var(--font-display);font-stretch:var(--display-w);font-size:var(--fs-20);margin:0 0 var(--space-12)}
.sub{color:var(--muted);margin:var(--space-4) 0 0;line-height:1.45}
.sec{display:flex;flex-direction:column;gap:var(--space-12)}
.sech{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);flex-wrap:wrap}
.sech.top{align-items:flex-end}
.lnk{color:var(--focus);font-weight:700;text-decoration:none;font-size:var(--fs-14)}
.back{display:inline-flex;align-items:center;gap:var(--space-4);color:var(--muted);font-weight:700;text-decoration:none;align-self:flex-start;margin:calc(-1 * var(--space-4)) 0 calc(-1 * var(--space-8)) calc(-1 * var(--space-4));padding:var(--space-4)}
.back svg{width:18px;height:18px}

a.btn{text-decoration:none;color:var(--ink)}
a.btn.primary{color:var(--surface)}
.vsm{color:var(--muted);font-weight:400;font-size:.85em;margin:0 var(--space-2)}

/* ---------- home ---------- */
.hero{display:flex;flex-direction:column;gap:var(--space-12);padding:var(--space-24) var(--space-20);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary-soft),var(--surface));border:1px solid var(--line)}
.hero h1{font-family:var(--font-display);font-stretch:var(--display-w);font-size:var(--fs-42);line-height:1;margin:0}
.hero p{margin:0;color:var(--muted);line-height:1.5;max-width:620px;font-size:var(--fs-17)}
@media (min-width:700px){.verts{grid-template-columns:repeat(3,1fr)}}
@media (min-width:700px){.vert{flex-direction:column;align-items:flex-start}.vert .chip{margin-top:auto}}

/* ---------- eventi ---------- */
.types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8)}
@media (max-width:380px){.ttype b{font-size:var(--fs-17)}.ttype .chip{font-size:var(--fs-11);padding:var(--space-2) var(--space-4)}}



.evlist{display:grid;grid-template-columns:1fr;gap:var(--space-12)}
@media (min-width:760px){.evlist{grid-template-columns:repeat(2,minmax(0,1fr))}}
.evcard{display:flex;gap:var(--space-16);align-items:stretch;padding:var(--space-16);border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;text-align:left;min-width:0;width:100%;font:inherit}
.evd{width:56px;flex:none;border-radius:var(--radius-md);background:var(--sunk);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) 0;line-height:1}
.evd b{font-family:var(--font-display);font-stretch:var(--display-w);font-size:var(--fs-30)}
.evd small{font-size:var(--fs-12);color:var(--muted);font-weight:700;text-transform:uppercase;margin-top:var(--space-2)}
.evd small+small{font-weight:400;text-transform:none;font-size:var(--fs-11)}
.evd .d{font-family:var(--font-display);font-stretch:var(--display-w);font-size:var(--fs-24);font-weight:700}
.evb{display:flex;flex-direction:column;gap:var(--space-4);flex:1;min-width:0}
.evt{display:flex;gap:var(--space-8);flex-wrap:wrap}
.evt .chip{font-size:var(--fs-11);padding:var(--space-2) var(--space-8);white-space:normal}
.evn{font-size:var(--fs-17);line-height:1.25;overflow-wrap:anywhere}
.evsq{font-weight:700;color:var(--ink);line-height:1.3;overflow-wrap:anywhere}
.evw{color:var(--muted);line-height:1.35;overflow-wrap:anywhere}
.evcard.sk .evd{background:var(--sunk)}
.evcard.sk .evb i{display:block;height:12px;border-radius:var(--radius-sm);background:var(--sunk);width:60%}
.evcard.sk .evb i+i{width:85%}.evcard.sk .evb i+i+i{width:40%}
.rrow{display:flex;gap:var(--space-8);align-items:center}
.rrow .evcard{flex:1}

/* ---------- dettaglio dell'evento ---------- */
.evhead{display:flex;flex-direction:column;gap:var(--space-12)}
.evmeta{display:flex;flex-direction:column;gap:var(--space-8);color:var(--muted);line-height:1.4}
.evmeta>span{display:flex;gap:var(--space-8);align-items:flex-start}
.evmeta svg{width:18px;height:18px;flex:none;margin-top:var(--space-2)}
@media (min-width:700px){.evmeta{flex-direction:row;gap:var(--space-24);flex-wrap:wrap}}
.card.vs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-12);text-align:center}
.vs .vt{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}
.vs .vt b{font-family:var(--font-display);font-stretch:var(--display-w);font-size:var(--fs-24);line-height:1.1;overflow-wrap:anywhere}
.refc{display:flex;flex-direction:column;gap:var(--space-12);border:2px solid var(--ink)}
.refh{display:flex;gap:var(--space-12);align-items:center}
.refh b{font-size:var(--fs-17)}
.refh small{display:block;color:var(--muted);line-height:1.4;margin-top:var(--space-2)}
.refh .evt{margin-top:var(--space-4)}
.rico{width:44px;height:44px;border-radius:var(--radius-md);background:var(--sunk);display:grid;place-items:center;flex:none}
.rico svg{width:24px;height:24px}
.rsc{font-size:var(--fs-30);font-weight:700}
.tabhint{margin:0;font-size:var(--fs-13);color:var(--muted);display:none}
.btn.pcoff{white-space:normal;height:auto;min-height:52px;padding-top:var(--space-12);padding-bottom:var(--space-12);line-height:1.25;text-align:center;justify-content:center}   /* 1.13: da PC/Mac il referto non si compila */
@media (max-width:760px){.tabhint{display:block}}

.rdet{margin-top:var(--space-12)}
.rdet summary{cursor:pointer;color:var(--focus);font-weight:700}
.rgrp{display:flex;flex-direction:column;gap:var(--space-8);margin-top:var(--space-16)}
.rgrp .ck small{color:var(--muted)}

/* ---------- modulo dell'evento ---------- */
.flabel{font-size:var(--fs-12);color:var(--muted);font-weight:700}
.evform{display:flex;flex-direction:column;gap:var(--space-16)}
.fgrid{display:grid;grid-template-columns:1fr;gap:var(--space-16)}
@media (min-width:640px){.fgrid{grid-template-columns:1fr 1fr}.fgrid .span2{grid-column:span 2}}
.fgrid .h3{margin:0}
.fgrid input{font-size:var(--fs-17)}
.rules-ed summary{display:flex;align-items:center;gap:var(--space-12);cursor:pointer;list-style:none}
.rules-ed summary::-webkit-details-marker{display:none}
.rules-ed summary b{font-size:var(--fs-17)}
.rules-ed summary small{color:var(--muted)}
.rules-ed summary .opt{font-weight:400}
.rules-ed[open] summary .lnk{visibility:hidden}
.rules-ed .sub{margin:var(--space-12) 0 0}
.rchk{display:flex;gap:var(--space-12);align-items:flex-start;padding:var(--space-12) var(--space-12);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);cursor:pointer}
.rchk>input{width:22px;height:22px;flex:none;margin:var(--space-2) 0 0;accent-color:var(--ink)}
.rchk>span{display:flex;flex-direction:column;gap:var(--space-2);line-height:1.35;min-width:0}
.rchk small{color:var(--muted)}
.rchk .cat{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-16);margin-top:var(--space-8)}
.rchk .cat[hidden]{display:none}
.rchk .cat label{display:flex;gap:var(--space-8);align-items:center;font-weight:700;font-size:var(--fs-14)}
.rchk .cat input{width:18px;height:18px;accent-color:var(--ink)}
.rules-ed>.btn{margin-top:var(--space-12)}

/* ---------- coming soon ---------- */
.soon{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-12);padding:var(--space-40) var(--space-16)}
.soon p{margin:0;color:var(--muted);line-height:1.5;max-width:440px}
.soon-ic{width:76px;height:76px;border-radius:var(--radius-xl);background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}
.soon-ic svg{width:40px;height:40px}
.card.soon{padding:var(--space-32) var(--space-16)}

/* ---------- accesso dentro la pagina ---------- */
.page .auth{overflow:visible;padding:var(--space-4) 0 0}

/* ---------- nota delle regole nella preparazione del referto ---------- */
.rnote{display:flex;flex-direction:column;gap:var(--space-8);line-height:1.45;border-color:var(--primary);background:var(--primary-soft)}

/* ---------- registrazione: scelta del ruolo ---------- */
.rolepick{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-8)}
.rolepick legend{font-size:var(--fs-12);color:var(--muted);font-weight:700;margin-bottom:var(--space-8);padding:0}
.rp{display:flex;gap:var(--space-12);align-items:flex-start;padding:var(--space-12) var(--space-16);border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);cursor:pointer}
.rp input{width:22px;height:22px;flex:none;margin:var(--space-2) 0 0;accent-color:var(--primary)}
.rp span{display:flex;flex-direction:column;gap:var(--space-4);line-height:1.35}
.rp b{font-size:var(--fs-17)}.rp small{color:var(--muted)}
.rp:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}

/* ---------- referti condivisi ---------- */
.refc.soft{border:1px solid var(--line)}
.refc.ok{border-color:var(--ok)}
.refc.ok .rico{background:var(--ok-soft);color:var(--ok)}
.refc .arow .btn{flex:1;justify-content:center;min-width:110px}
.cloud{display:flex;gap:var(--space-12);align-items:center;padding:var(--space-12) var(--space-12);border-radius:var(--radius-md);background:var(--sunk);font-size:var(--fs-14);line-height:1.4}
.cloud svg{width:20px;height:20px;flex:none}
.cloud.ok{background:var(--ok-soft);color:var(--ink)}.cloud.ok svg{color:var(--ok)}
.cloud.bad{background:var(--warn-soft)}.cloud.bad span{flex:1}
.spin.sm{width:18px;height:18px;border-width:3px;flex:none}

/* ---------- tastiera aperta: spazio sotto ai contenuti, così il campo in modifica sta sopra la tastiera ---------- */
:root{--kb:0px}
.pane-body{margin-bottom:var(--kbp,0px)}   /* l'area che scorre finisce sopra la tastiera (la barra in fondo resta sotto la tastiera) */
.page .wrap{padding-bottom:calc(var(--space-40) + var(--kb))}

/* ---------- bozze e tornei (dalla 1.1) ---------- */
.evcard.draft{border-style:dashed;border-color:var(--warn);background:color-mix(in srgb,var(--warn-soft) 35%,var(--surface))}
.fhint{color:var(--muted);font-size:var(--fs-12);line-height:1.4}
.tform{display:flex;flex-direction:column;gap:var(--space-16)}
.tform .seg.tabs button{height:auto;min-height:42px;padding:var(--space-4) var(--space-8);line-height:1.2}
.tform .seg.tabs button:disabled{opacity:.45}
.stepper{display:flex;align-items:center;gap:var(--space-8)}
.stepper .btn{width:48px;height:46px;justify-content:center;font-size:var(--fs-20);padding:0}
.stepper b{min-width:44px;text-align:center;font-family:var(--font-display);font-stretch:var(--display-w);font-size:var(--fs-30)}
.tstep{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-12);display:flex}
.tprev{display:flex;flex-direction:column;gap:var(--space-4)}
.tprev .h3{margin:0 0 var(--space-4)}
.tprev .pv{display:flex;justify-content:space-between;gap:var(--space-12);font-size:var(--fs-14);padding:var(--space-4) 0;border-top:1px solid var(--line)}
.tprev .pv:first-of-type{border-top:0}
.tprev .pv b{text-align:right}
.tsteps{display:flex;flex-direction:column;gap:var(--space-8)}
.tstepl{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-16);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;min-height:44px}
.tstepl b{display:block;font-size:var(--fs-17)}.tstepl small{display:block;color:var(--muted);font-size:var(--fs-13);margin-top:var(--space-2);line-height:1.35}
.tstepl svg{width:18px;height:18px;flex:none;color:var(--muted)}
.tsi{width:28px;height:28px;flex:none;border-radius:var(--radius-round);display:grid;place-items:center;font-weight:700}
.tsi.ok{background:var(--ok-soft);color:var(--ok)}.tsi.todo{border:2px dashed var(--warn)}.tsi.nu{background:var(--sunk);color:var(--muted)}
.tmiss{display:flex;flex-direction:column;gap:var(--space-4);font-size:var(--fs-14)}.tmiss span{color:var(--warn)}
.tgrp{display:flex;flex-direction:column;gap:var(--space-8)}
.tgh{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-8) 0 var(--space-2)}
.tgh b{font-family:var(--font-display);font-stretch:var(--display-w);font-size:var(--fs-20);flex:1}
.tgh .lnk{background:none;border:0;padding:var(--space-8) 0;font:inherit;font-weight:700;font-size:var(--fs-13);color:var(--focus)}
.tm{display:flex;align-items:center;gap:var(--space-8);width:100%;text-align:left;font:inherit;padding:var(--space-12);border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;min-height:48px}
.tm .vs2{display:block;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.tm small{display:block;color:var(--muted);font-size:var(--fs-12);margin-top:var(--space-2)}
.tm .tfase{display:block;font-weight:700;color:var(--muted);font-size:var(--fs-12);margin:0 0 var(--space-2)}
.tm .miss{color:var(--warn);font-weight:700}
.tm svg{width:16px;height:16px;flex:none;color:var(--muted)}
.tm .tsc{font-size:var(--fs-20)}
.tm.del{opacity:.6}.tm.del .vs2{text-decoration:line-through}
.stand{width:100%;border-collapse:collapse;font-size:var(--fs-14)}
.stand th{text-align:left;font-size:var(--fs-12);color:var(--muted);padding:var(--space-8) var(--space-8);border-bottom:1px solid var(--line)}
.stand td{padding:var(--space-8) var(--space-8);border-top:1px solid var(--line)}
.stand td:nth-child(n+3),.stand th:nth-child(n+3){text-align:center;white-space:nowrap}
.card .tw{overflow-x:auto;margin-top:var(--space-8)}
.tlock{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4) var(--space-16);background:var(--sunk);border-radius:var(--radius-md);padding:var(--space-12) var(--space-12);font-size:var(--fs-14)}
.tlock span{color:var(--muted)}
.tsq{display:flex;flex-direction:column;gap:var(--space-12)}
.trow{flex-direction:row;align-items:center;gap:var(--space-12);display:flex}
.trow label{width:84px;flex:none}
.trow input{flex:1;min-width:0}
.olist{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-8) var(--space-16)}
.orow{display:flex;align-items:center;gap:var(--space-12);min-height:56px;border-top:1px solid var(--line)}
.orow:first-child{border-top:0}
.orow b{display:block}.orow small{display:block;color:var(--muted);font-size:var(--fs-12)}
.avatar.sm{width:38px;height:38px;font-size:var(--fs-15)}
button.back{border:0;background:none;font:inherit;font-weight:700;cursor:pointer}
/* torneo: un'unica card, come più card di eventi sovrapposte (richiesta di Diego del 2026-10-01) */
.evcard.stack{position:relative;margin-bottom:var(--space-12);box-shadow:0 6px 0 -1px var(--surface),0 6px 0 0 var(--line),0 12px 0 -2px var(--surface),0 12px 0 -1px var(--line)}
.evcard.stack.draft{box-shadow:0 6px 0 -1px var(--surface),0 6px 0 0 var(--warn),0 12px 0 -2px var(--surface),0 12px 0 -1px var(--warn)}
.evcard.stack .evd{background:var(--primary-soft)}
.evd.rng{gap:0;padding:var(--space-8) 0}
.evd.rng b{font-size:var(--fs-20);line-height:1}
.evd.rng small{margin-top:var(--space-2)}
.evd.rng i{font-style:normal;color:var(--muted);font-weight:700;line-height:1;margin:var(--space-2) 0}


/* ---------- campo da gioco cliccabile verso le mappe (dalla 1.3) ---------- */
.evmeta>a.maplink{display:flex;gap:var(--space-8);align-items:flex-start}
a.maplink{display:inline-flex;align-items:center;gap:var(--space-8);color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--primary) 60%,transparent);text-underline-offset:3px}
a.maplink svg{color:var(--primary)}

/* versione e copyright in chiaro, in fondo a ogni pagina (dalla 1.3.2) */
.legal{margin:var(--space-8) 0 0;text-align:center;color:var(--muted);font-size:var(--fs-12);line-height:1.4}

/* partite sovrapposte o ravvicinate nel torneo (dalla 1.4) */
.tclash{padding:var(--space-12) var(--space-16);border-radius:var(--radius-md);background:var(--crit-soft);border:1px solid color-mix(in srgb,var(--crit) 35%,transparent)}
.tclash span{color:var(--ink)}.tclash b:first-child{color:var(--crit)}
.twarn{padding:var(--space-12) var(--space-16);border-radius:var(--radius-md);background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}
.twarn span{color:var(--ink)}.twarn b:first-child{color:var(--warn)}
.tclash .hint,.twarn .hint{color:var(--muted);font-size:var(--fs-13);margin-top:var(--space-2)}
.tm .tclx{font-weight:700;margin-top:var(--space-4)}.tm .tclx.crit{color:var(--crit)}.tm .tclx.warn{color:var(--warn)}

/* legenda della classifica (dalla 1.4.1) */
.stleg{display:block;margin-top:var(--space-8);line-height:1.4}

/* aggiunta di un ruolo dalla finestra dell'account (dalla 1.6) */

/* ---------- Utenti (dalla 1.7, admin e owner) ---------- */
.tbi{position:relative;display:inline-flex}
.ufilt{display:flex;flex-wrap:wrap;gap:var(--space-8)}
.ufb{height:38px;padding:0 var(--space-16);border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;font-weight:700;font-size:var(--fs-14);cursor:pointer}
.ufb b{color:var(--ink);margin-left:var(--space-2)}
.ufb[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.ufb[aria-pressed="true"] b{color:var(--surface)}
.utab{padding:0;overflow:hidden;container-type:inline-size;container-name:ut}   /* colonne secondo la larghezza della tabella (con la barra della pagina utente è più stretta della finestra, 2026-10-23) */
.urow{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8) var(--space-16);padding:var(--space-16) var(--space-16);border-top:1px solid var(--line);align-items:start}
.urow:first-child{border-top:0}
.uhead{display:none}
.uc{display:flex;flex-direction:column;gap:var(--space-4);min-width:0;overflow-wrap:anywhere}
.ue,.ur,.ua{grid-column:1/-1}
.ue a{color:inherit}
.ulb{font-size:var(--fs-11);color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.umut{color:var(--muted);font-size:var(--fs-12)}
.uchips{display:flex;flex-wrap:wrap;gap:var(--space-4)}
.uc>.chip{align-self:flex-start}
@container ut (min-width:600px) and (max-width:979px){.urow{grid-template-columns:1fr 1fr 1fr 1fr}.ue{grid-column:span 2}.ur,.us{grid-column:span 2}.ua{grid-column:1/-1}}
.ua{flex-direction:row;flex-wrap:wrap;gap:var(--space-8);align-items:center}
.ua .btn{min-height:40px}
.udel{color:var(--crit)}
@container ut (min-width:980px){
  .urow{grid-template-columns:minmax(80px,1fr) minmax(80px,1fr) minmax(170px,1.8fr) minmax(110px,1.2fr) 130px 290px;align-items:center}
  .uhead{display:grid;background:var(--sunk);font-size:var(--fs-12);color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:var(--space-12) var(--space-16)}
  .ue,.ur,.ua{grid-column:auto}
  .uc .ulb{display:none}
  .ua{justify-content:flex-end}
}

/* ---------- Squadre e atleti (Team Manager, 1.9) ---------- */
.evd.sqd b,.evd.atd b{font-size:var(--fs-24)}
.evd.atd small{text-transform:none}
@media (min-width:760px){.evlist.two{grid-template-columns:repeat(2,minmax(0,1fr))}}
.atrow{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-12);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}
.atrow small{display:block;color:var(--muted);line-height:1.35}
.atrow .grow{min-width:0;overflow-wrap:anywhere}
.atn{min-width:42px;height:42px;border-radius:var(--radius-md);background:var(--sunk);display:grid;place-items:center;font-family:var(--font-display);font-stretch:var(--display-w);font-size:var(--fs-20);font-weight:700;flex:none}
.atder{display:flex;flex-direction:column;gap:var(--space-12)}
.atder .rolev{font-size:var(--fs-17)}
.rchk .atdn{margin-top:var(--space-8);height:42px;border:1px solid var(--line);border-radius:var(--radius-md);padding:0 var(--space-12);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-17);width:100%}
.cvlist{display:flex;flex-direction:column;gap:var(--space-8)}
.cvrow{display:flex;align-items:center;gap:var(--space-12);flex-wrap:wrap;padding:var(--space-8) var(--space-12);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}
.cvrow.on{border-color:var(--primary);background:var(--primary-soft)}
.cvrow.off{opacity:.55}
.cvp{display:flex;align-items:center;gap:var(--space-12);flex:1;min-width:220px;cursor:pointer}
.cvp input{width:22px;height:22px;flex:none;accent-color:var(--primary)}
.cvp small{display:block;color:var(--muted);line-height:1.35}
.cvp .grow{min-width:0;overflow-wrap:anywhere}
.cvrow .seg button{min-width:52px}
.stg{display:grid;grid-template-columns:1fr;gap:var(--space-12)}
@media (min-width:640px){.stg{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.stg .irr{grid-column:1/-1}}
.stc{display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-16);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);min-width:0}
.stc b{font-family:var(--font-display);font-stretch:var(--display-w);font-size:var(--fs-30);line-height:1}
.stc small{color:var(--muted);line-height:1.3;font-size:var(--fs-12)}
.stc.stk{background:var(--sunk);border-color:transparent;justify-content:center;gap:var(--space-16)}
.stc.stk span{display:flex;flex-direction:column;gap:var(--space-4)}
.stc.stk em{font-style:normal;font-size:var(--fs-17);color:var(--muted);font-weight:600}
.stc.stw{flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--space-16)}
.stc.irr{flex-direction:column;align-items:stretch}
.stwr{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-16)}
.stv{display:flex;flex-direction:column;gap:var(--space-4);min-width:96px}
.irl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8) var(--space-16);border-top:1px solid var(--line);padding-top:var(--space-12)}
@media (min-width:480px){.irl{grid-template-columns:repeat(4,minmax(0,1fr))}}
.irl span{display:flex;flex-direction:column;gap:var(--space-2)}
.irl b{font-size:var(--fs-20)}
.stalt{display:block;color:var(--muted);font-size:var(--fs-12);line-height:1.35}
.irl span.stalt{display:block}
.stc .stalt b{font-family:inherit;font-stretch:normal;font-size:var(--fs-13);font-weight:700;color:var(--ink)}
.pie{display:flex;align-items:center;gap:var(--space-12);flex:1 0 auto;min-width:0}
.pie svg{width:84px;height:84px;flex:none}
.ps{stroke:var(--surface);stroke-width:2;stroke-linejoin:round}
.ps.p1,.pleg i.p1{fill:var(--accent);background:var(--accent)}
.ps.p2,.pleg i.p2{fill:var(--A);background:var(--A)}
.ps.p0{fill:var(--sunk)}
.pleg{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-8);min-width:0;font-size:var(--fs-13)}
.pleg li{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:var(--space-8)}
.pleg li i{width:12px;height:12px;border-radius:var(--radius-xs);align-self:center}
.pleg li span{color:var(--ink);white-space:nowrap}
.pleg li b{font-size:var(--fs-13);font-weight:700;color:var(--ink);white-space:nowrap}
.beta{display:flex;gap:var(--space-12);align-items:flex-start;padding:var(--space-12) var(--space-16);border-radius:var(--radius-md);border:2px solid var(--warn);background:var(--warn-soft);line-height:1.45;font-size:var(--fs-14);color:var(--ink)}
.beta .chip{flex:none;margin-top:var(--space-2)}
.rcard{display:flex;flex-direction:column;align-items:center;gap:var(--space-8)}
.rcard .h3{margin:0;align-self:flex-start}
.rcard>.sub{align-self:flex-start}
.rcard .rdet{align-self:stretch}
.radar{width:100%;max-width:340px;height:auto;overflow:visible}
.rcard.sm .radar{max-width:240px}
.rrowx .radar{width:110px;max-width:110px;flex:none}
.radar .rg{fill:none;stroke:var(--line);stroke-width:1}
.radar .rl{fill:var(--muted);font-size:var(--fs-11);font-weight:700}
.radar .rs{fill:color-mix(in srgb,var(--primary) 22%,transparent);stroke:var(--primary);stroke-width:2;stroke-linejoin:round}
.radar .rs.cmp{fill:none;stroke:var(--muted);stroke-dasharray:5 4}
.radar .rd{fill:var(--primary);stroke:var(--surface);stroke-width:2}
.rleg{display:flex;gap:var(--space-16);flex-wrap:wrap;font-size:var(--fs-13);color:var(--ink)}
.rleg span{display:flex;align-items:center;gap:var(--space-8)}
.rleg i{width:18px;height:0;border-top:3px solid var(--primary)}
.rleg i.cmp{border-top:2px dashed var(--muted)}
.rhelp{margin:var(--space-8) 0 0;padding-left:var(--space-20);color:var(--muted);line-height:1.45;font-size:var(--fs-13)}
.rgrid{display:grid;grid-template-columns:1fr;gap:var(--space-12)}
@media (min-width:700px){.rgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.rgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.stmini{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-16);align-self:stretch}
.stmini span{display:flex;flex-direction:column;min-width:64px}
.stmini b{font-family:var(--font-display);font-stretch:var(--display-w);font-size:var(--fs-20);line-height:1.05}
.stmini small{color:var(--muted);font-size:var(--fs-11);line-height:1.25}
.stmini.col{flex-direction:column;gap:var(--space-8)}
.rrowx{display:flex;align-items:center;gap:var(--space-16);align-self:stretch}
a.alink2{color:var(--ink);text-decoration:none}

/* ---------- Statistiche delle squadre nella pagina dell'evento (1.9): righe allineate tra le due colonne ---------- */
.esd{color:var(--muted)}
@media (min-width:700px){.esh,.esv{padding-right:var(--space-20)}.esh.esb,.esv.esb{padding-left:var(--space-20);padding-right:0}}
/* risultato finale sotto i nomi delle squadre */
/* liberatoria dell'atleta */
.libc{display:flex;flex-direction:column;gap:var(--space-12)}
.libc.ok{border-color:var(--ok)}
.libc.ok .rico{background:var(--ok-soft);color:var(--ok)}
.libsteps{margin:0;padding-left:var(--space-20);color:var(--muted);line-height:1.5;font-size:var(--fs-14)}
.libc label.btn{cursor:pointer}
.libflag{padding:var(--space-12) var(--space-12);border:1px solid var(--line);border-radius:var(--radius-md)}
.libflag small{color:var(--muted)}
/* Campionati (1.11): gironi e playoff nello schema, schede, serie dei playoff, classifica; sezioni territoriali */
.cgir{display:flex;flex-direction:column;gap:var(--space-12)}
.cgh{display:flex;align-items:flex-end;gap:var(--space-12)}
.cgh .field{min-width:0}
.cgrow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8) var(--space-16)}
.cgrow .flabel{margin:0}
.cchips{display:flex;flex-wrap:wrap;gap:var(--space-8)}
.chipb{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-pill);padding:var(--space-8) var(--space-16);font:inherit;font-weight:700;font-size:var(--fs-14);min-height:40px}
.chipb[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.chipb:disabled{opacity:.4}
.crnds{display:flex;flex-direction:column;gap:var(--space-8)}
.crnd{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8) var(--space-12)}
.crnd>span{font-weight:700;min-width:140px}
.crnd .seg.tabs{flex:1;min-width:220px;width:auto}
.cpts .field input{max-width:120px}
.ctabs{flex-wrap:wrap}
.ctabs button{flex:1 1 auto;min-width:96px;padding:0 var(--space-12)}
.cstand tr.cq td:first-child{box-shadow:inset 3px 0 0 var(--ok)}
.cstand td small{font-weight:400}
.cseeds{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-16);margin-top:var(--space-8);font-size:var(--fs-14)}
.cseeds b{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:var(--radius-sm);background:var(--sunk);font-size:var(--fs-12);margin-right:var(--space-4)}
.cbye{display:block;padding:var(--space-2) 0 var(--space-4)}
.cser{display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-12);border-radius:var(--radius-md);background:var(--sunk)}
.csh{display:flex;align-items:center;gap:var(--space-12);padding:0 var(--space-4)}
.csh small{display:block;color:var(--muted);font-size:var(--fs-12)}
.csh small.ok{color:var(--ok);font-weight:700}
.csh b{overflow-wrap:anywhere}
.csh .num{font-size:var(--fs-20)}
.cstand tr.cqo td:first-child{box-shadow:inset 3px 0 0 var(--warn)}
.cgir.cout{border-color:var(--warn)}
/* trascinamento nel calendario del campionato (1.11.0-dev.3) */
.tm .dgrip{flex:none;display:grid;place-items:center;width:28px;height:36px;margin:calc(-1 * var(--space-4)) 0 calc(-1 * var(--space-4)) calc(-1 * var(--space-8));border-radius:var(--radius-sm);color:var(--muted);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.tm .dgrip svg{width:18px;height:18px}
.tm .dgrip:hover{background:var(--sunk)}
.tm .dteam{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);margin:0 calc(-1 * var(--space-4));background:linear-gradient(var(--sunk),var(--sunk)) bottom/100% 2px no-repeat}
.tm .dteam.dz-on{background:var(--ok-soft);outline:2px solid var(--ok)}
.tm.dz-on{outline:2px solid var(--ok);outline-offset:1px}
.tm.dz-no{outline:2px dashed var(--crit);outline-offset:1px}
/* calendario da definire (Diego, 2026-10-23): squadre simmetriche in verticale. Casa a destra, trattino al centro, ospite a
   sinistra in colonne uguali per ogni gara; data e luogo centrati; la freccia occupa quanto la maniglia */
.tm .vsym{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:var(--space-4)}
.tm .vsym .tfase{grid-column:1/-1;text-align:center}
.tm .vsym .vsh{text-align:right}.tm .vsym .vsa{text-align:left}
.tm .vsym .vsm{white-space:pre;color:var(--muted)}
.tm.tsym>.grow>small{text-align:center}
.tm.tsym>svg:last-child{width:28px;margin-right:calc(-1 * var(--space-8))}
.crip{justify-content:center}
.dsrc{opacity:.35}
.dghost{position:fixed;z-index:1000;pointer-events:none;margin:0;opacity:.95;box-shadow:0 10px 28px rgba(0,0,0,.22);background:var(--surface);border-radius:var(--radius-md);cursor:grabbing}
.dndh{margin:0 0 var(--space-8);font-size:var(--fs-13)}
/* Pagina dell'evento (1.31, Diego 2026-10-19): è tutta la scheda "Faccia a faccia" (design-system/event-poster.css), da
   bordo a bordo; sotto le statistiche le altre sezioni con lo stesso titolo centrato e la stessa colonna (840 px) */
.wrap.wrap-ep{max-width:none;padding:0 0 var(--space-40);gap:0}
.wrap-ep>.legal{padding:var(--space-16)}
.wrap-ep>.ep{flex:1}
/* Landing (2026-10-21): lo spazio per la barra dei tab flottante lo lascia già .wrap, non anche il componente */
.wrap-lpx .lpx{--tabh:0px}
/* Tab Squadre (2026-10-21): con il dialog aperto la pagina sotto non scorre */
#app>.page:has(.tmx-dlg){overflow:hidden}
/* Pagine di gestione "Almanacco" (2026-10-21): avvisi sopra il componente, che è a tutta larghezza */
.wrap-mgx>.mgx-pre{width:min(1200px,100% - 2 * var(--space-16));margin:var(--space-16) auto 0;display:flex;flex-direction:column;gap:var(--space-12)}
.wrap-mgx>.mgx-pre:empty{display:none}
.ep-more{width:100%;max-width:840px;box-sizing:border-box;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-24);padding:var(--space-24) var(--space-20) 0}
.ep-msgs{display:flex;flex-direction:column;gap:var(--space-12)}
.ep-sec{display:flex;flex-direction:column;gap:var(--space-12);padding-top:var(--space-24);border-top:1px solid var(--line)}
.ep-sec .card{box-shadow:none}
.ep-sec .varb{border-top:0;padding-top:0}.ep-sec .varl{display:none}
.ep-end{padding-top:var(--space-24);border-top:1px solid var(--line)}
@container ep (min-width:1280px){.ep-more{gap:var(--space-32);padding:var(--space-32) var(--space-40) 0}}
/* Racconto della gara (1.32.7, Diego 2026-10-26): articolo nella scheda evento dopo le statistiche; striscia di Segreteria
   per chi gestisce l'evento; finestra di revisione con i controlli (10-racconto-gara.js) */
.rcx-art{display:flex;flex-direction:column;gap:var(--space-12);min-width:0}
.rcx-kick{font-size:var(--fs-12);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--warn)}
.rcx-title{margin:0;font-family:var(--font-display);font-weight:900;font-stretch:62%;font-style:italic;text-transform:uppercase;font-size:var(--fs-30);line-height:1;text-wrap:balance;padding-right:var(--space-4)}
.rcx-dek{margin:0;font-size:var(--fs-17);line-height:1.45;font-weight:600;max-width:62ch}
.rcx-by{margin:0;font-size:var(--fs-13);color:var(--muted);border-top:1px solid var(--line);padding-top:var(--space-8)}
.rcx-body{display:flex;flex-direction:column;gap:var(--space-12)}
.rcx-body p{margin:0;max-width:65ch;line-height:1.62;font-size:var(--fs-15)}
.rcx-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:2px solid var(--ink)}
.rcx-facts>div{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-12) 0;min-width:0}
.rcx-facts>div+div{border-left:1px solid var(--line);padding-left:var(--space-16)}
.rcx-facts h4{margin:0 0 var(--space-4);font-family:var(--font-display);font-weight:900;font-stretch:62%;font-style:italic;text-transform:uppercase;font-size:var(--fs-17);line-height:1;padding-right:var(--space-4)}
.rcx-facts ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2);font-variant-numeric:tabular-nums}
.rcx-facts li{display:flex;justify-content:space-between;gap:var(--space-8);font-size:var(--fs-14)}
.rcx-facts small{color:var(--muted);font-size:var(--fs-12)}
.rcx-next{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-12) var(--space-16);background:var(--sunk);font-size:var(--fs-14)}
.rcx-next b{font-size:var(--fs-12);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rcx-sign,.rcx-none{margin:0;font-size:var(--fs-13);color:var(--muted)}
.rcx-share{gap:var(--space-8)}
.rcx-org{display:flex;align-items:center;gap:var(--space-12);flex-wrap:wrap;padding:var(--space-8) 0;border-bottom:1px solid var(--line)}
/* campi della revisione: il riquadro (.sp-input, alto 44 px nel kit) cresce con il testo, che va a capo e resta dentro */
.rcx-ed .sp-input:has(textarea){height:auto;align-items:stretch;padding:var(--space-8) var(--space-12)}
.rcx-ed textarea.rcx-grow{display:block;width:100%;height:auto;min-height:calc(1.5em * 2);resize:none;overflow:hidden;font:inherit;font-size:var(--fs-15);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;box-sizing:border-box}
.rcx-ed #rc_s{min-height:calc(1.5em * 3)}
.rcx-ed #rc_b{min-height:calc(1.5em * 14)}
.rcx-cks{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.rcx-ck{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2) var(--space-12);padding:var(--space-8) 0;border-bottom:1px solid var(--line)}
.rcx-ck>.sp-st{grid-row:span 2;align-self:start}
.rcx-ck small{color:var(--muted);font-size:var(--fs-13);line-height:1.4}
.rcx-ck mark{background:var(--crit-soft);color:var(--crit);font-weight:700;padding:0 var(--space-2)}
@container ep (min-width:700px){.rcx-title{font-size:var(--fs-42)}}
/* campionati nell'elenco Eventi (1.12): card verdi gara per gara; collegamento dalla gara al torneo o al campionato */
.evcard.camp .evd{background:var(--warn-soft)}
.evcard.camp .evd b{color:var(--accent-hover)}
.evcard.stack.camp .evd{background:var(--warn-soft)}
.evcard .evf{display:block;color:var(--muted);font-size:var(--fs-12);font-weight:700;margin-top:var(--space-2)}
.ctog{margin-top:var(--space-2)}
.cgcal{display:flex;flex-direction:column;gap:var(--space-8);border-top:1px solid var(--line);padding-top:var(--space-12)}
.cgcal .fgrid{gap:var(--space-12)}
.chipb.on{background:var(--sunk);border-color:var(--line);color:var(--ink)}
.cnoadd{display:inline-flex;gap:var(--space-8);align-items:center;flex-wrap:wrap}
.cnoadd input{height:40px;border:1px solid var(--line);border-radius:var(--radius-md);padding:0 var(--space-12);background:var(--surface);color:var(--ink);font:inherit}

/* Loghi delle squadre e pagina della squadra nei colori del logo (1.14) */
.tnm{display:inline-flex;align-items:center;gap:var(--space-8);vertical-align:middle;max-width:100%}
.tlogo{width:22px;height:22px;object-fit:contain;flex:none;border-radius:var(--radius-xs);background:#fff}
.lgbox{width:44px;height:44px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--line);display:grid;place-items:center;flex:none;padding:var(--space-4)}
.lgbox img{max-width:100%;max-height:100%;object-fit:contain}
.tcsw{display:flex;align-items:center;gap:var(--space-8);margin-top:var(--space-12)}
.tcsw span{width:26px;height:26px;border-radius:var(--radius-sm);border:1px solid var(--line)}
.tcsw small{color:var(--muted)}
.logoc .arow{margin-top:var(--space-12)}
.sqpage{display:flex;flex-direction:column;gap:var(--space-20)}
.sqhero{flex-direction:row;align-items:center;gap:var(--space-16)}
.lgbig{width:96px;height:96px;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--line);display:grid;place-items:center;padding:var(--space-8);flex:none}
.lgbig img{max-width:100%;max-height:100%;object-fit:contain}
.sqpage.themed .sqhero{background:var(--tc1);color:var(--tc1-tx);border-radius:var(--radius-lg);padding:var(--space-20);border-bottom:6px solid var(--tc2)}
.sqpage.themed .sqhero .lgbig{border-color:transparent;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.sqpage.themed .sqhero .chip{background:rgba(255,255,255,.22);color:inherit;border-color:transparent}
.sqpage.themed .sqhero .evmeta,.sqpage.themed .sqhero .evmeta *{color:inherit;text-decoration-color:currentColor;border-color:currentColor}
.sqpage.themed .btn.primary{background:var(--tc1);color:var(--tc1-tx);border-color:var(--tc1)}
.sqpage.themed .h2{box-shadow:inset 4px 0 0 var(--tc1);padding-left:var(--space-12)}
.sqpage.themed .seg button[aria-pressed="true"]{background:var(--tc1);color:var(--tc1-tx)}
@media (max-width:560px){.lgbig{width:72px;height:72px;border-radius:var(--radius-lg);padding:var(--space-8)}.sqhero{gap:var(--space-12)}.sqpage.themed .sqhero{padding:var(--space-16)}}
.svlist{display:flex;flex-direction:column;gap:var(--space-8);max-height:420px;overflow:auto}
.svrow{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
.svrow small{display:block;color:var(--muted);font-size:var(--fs-12)}
.svrow[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.archb{display:inline-flex;align-items:center;gap:var(--space-8);margin-top:var(--space-8);font-size:var(--fs-13)}.archb svg{width:16px;height:16px;flex:none}

/* ===== Redesign 1.16 (Diego, 2026-10-08): più larghezza, colonne laterali, elenco eventi per giorno ===== */
.wrap{max-width:1280px}
@media (min-width:1100px){.wrap{padding:var(--space-32) var(--space-32) var(--space-48)}}
.cols{display:flex;gap:var(--space-24);align-items:flex-start;flex-wrap:wrap}
.cmain{flex:999 1 600px;min-width:0;display:flex;flex-direction:column;gap:var(--space-16)}
.cside{flex:1 1 300px;min-width:260px;max-width:370px;display:flex;flex-direction:column;gap:var(--space-16)}
@media (max-width:980px){.cside{max-width:none}}
.card.side{display:flex;flex-direction:column;gap:var(--space-12);padding:var(--space-20)}
.card.side h3.lbl{margin:0}
/* filtri */
.evfil{display:flex;gap:var(--space-12);align-items:center;flex-wrap:wrap}
.evfil .seg.tabs{width:auto;flex:none}
.evfil .seg.tabs button{flex:none;padding:0 var(--space-16)}
.fchips{display:flex;gap:var(--space-8);flex-wrap:wrap;align-items:center}
@media (max-width:640px){.fchips{width:100%}.fchip{padding:0 var(--space-12)}.fchip.ic .fcl{display:none}.fchip.ic{width:44px;justify-content:center;padding:0}.evfil .seg.tabs{width:100%}.evfil .seg.tabs button{flex:1}}
.fchip{height:36px;padding:0 var(--space-16);border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-size:var(--fs-14);font-weight:600;cursor:pointer;gap:var(--space-8)}
.fchip .ty{width:20px;height:20px;background:none!important}
.fchip .ty svg{width:16px;height:16px}
.fchip.on{border-color:var(--ink);background:var(--ink);color:var(--surface)}
.fchip.on .ty{color:var(--surface)!important}
@media (max-width:640px){.sech.top .arow{width:100%}.sbox{width:auto;flex:1}}
/* simboli delle tipologie */
.ty{width:36px;height:36px;border-radius:var(--radius-round);display:inline-grid;place-items:center;flex:none}
.ty svg{width:20px;height:20px}
.ty-amichevole{color:var(--primary);background:var(--primary-soft)}
/* colori dei tipi di evento (Diego, 2026-10-20): amichevole blu, torneo verde, campionato arancio */
.ty-torneo{color:var(--ok);background:var(--ok-soft)}
.ty-campionato{color:var(--accent-hover);background:var(--warn-soft)}
/* giorni */
.day{display:grid;grid-template-columns:92px minmax(0,1fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden}
.dd{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--space-16) var(--space-8);border-right:2px solid var(--line);gap:var(--space-2);background:var(--surface)}
.dd .wd{font-size:var(--fs-12);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.dd .dn{font-family:var(--font-mono);font-size:var(--fs-30);font-weight:700;line-height:1.05;font-stretch:normal}
.dd .mo{font-size:var(--fs-13);color:var(--muted)}
.day.today .dd{background:var(--primary-soft);border-right-color:var(--brand-blue)}
.day.today .dd .wd,.day.today .dd .dn{color:var(--primary-hover)}
.drows{min-width:0}
.evcard.evrow{display:grid;grid-template-columns:62px 40px minmax(0,1fr) minmax(0,220px) minmax(0,120px);align-items:center;gap:var(--space-16);padding:var(--space-12) var(--space-20);border:0;border-radius:0;box-shadow:none;background:transparent;margin:0}
.evcard.evrow+.evcard.evrow{border-top:1px solid var(--line)}
.evcard.evrow:hover{background:color-mix(in srgb,var(--primary-soft) 55%,transparent);transform:none}
.evcard.evrow.draft{border-style:solid;background:transparent}
.evrow .evh{font-family:var(--font-mono);font-weight:700;font-size:var(--fs-17);font-stretch:normal}
.evrow .evm{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}
.evrow .evn{font-size:var(--fs-17);font-weight:700;overflow:hidden;text-overflow:ellipsis}
.evrow .evsq{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-8);min-width:0;font-size:var(--fs-15);font-weight:400}
.evrow b{font-weight:700}
.evrow .evsq .tnm{min-width:0}
.evrow .evsq .tnm b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.evrow .evw{color:var(--muted);font-size:var(--fs-13);overflow:hidden;text-overflow:ellipsis}
.evrow .evp{color:var(--muted);font-size:var(--fs-14);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.35;overflow-wrap:anywhere}
.evrow .evs{justify-self:end;text-align:right;font-size:var(--fs-13);color:var(--muted);display:flex;justify-content:flex-end;min-width:0}
.evrow .evres{font-family:var(--font-mono);font-size:var(--fs-17);color:var(--ink);font-stretch:normal}
.evrow .evok{color:var(--ok);font-weight:700}
.evrow .chip{white-space:normal;text-align:right}
.crest{width:30px;height:30px;border-radius:var(--radius-round);display:inline-grid;place-items:center;background:var(--sunk);color:var(--muted);font-weight:800;font-size:var(--fs-11);flex:none;box-shadow:0 0 0 2px var(--surface)}
.crest.sm{width:26px;height:26px;font-size:var(--fs-11)}
.evrow .tlogo{width:30px;height:30px;border-radius:var(--radius-round);object-fit:contain;background:#fff;box-shadow:0 0 0 1px var(--line)}
.crests{display:flex}.crests>*+*{margin-left:calc(-1 * var(--space-8))}
.crests .tlogo{width:26px;height:26px}
@media (max-width:760px){
  .day{grid-template-columns:1fr}
  .dd{flex-direction:row;align-items:baseline;justify-content:flex-start;gap:var(--space-8);padding:var(--space-12) var(--space-16);border-right:0;border-bottom:2px solid var(--line)}
  .day.today .dd{border-bottom-color:var(--brand-blue)}.day.drafts .dd{border-bottom-color:var(--warn)}
  .dd .dn{font-size:var(--fs-20);order:-1}
  .evcard.evrow{grid-template-columns:52px minmax(0,1fr) 30px;grid-template-areas:"h m t" "h p t" "h s t";gap:var(--space-4) var(--space-12);padding:var(--space-12) var(--space-16);align-items:start}
  .evrow .evh{grid-area:h;padding-top:var(--space-2)}.evrow .evm{grid-area:m}.evrow .ty{grid-area:t;width:30px;height:30px}.evrow .ty svg{width:16px;height:16px}
  .evrow .evp{grid-area:p;white-space:normal;font-size:var(--fs-13)}.evrow .evs{grid-area:s;justify-self:start;text-align:left}
  .evrow .evsq{flex-direction:column;align-items:flex-start;gap:var(--space-8)}.evrow .evsq .vsm{display:none}
  .evrow .evp:empty,.evrow .evs:empty{display:none}
}
/* calendario e colonna laterale */
/* Tab Eventi "Prima serata" (2026-10-20, design-system/events-tab.css): l'intestazione resta ferma in alto mentre scorre
   l'elenco; da 900 px (design system v2) la colonna laterale (calendario, competizioni) resta ferma sotto l'intestazione */
.evx-sticky{position:sticky;top:0;z-index:20;display:flex;flex-direction:column;gap:var(--space-12);background:var(--bg);margin:calc(-1 * var(--space-20)) calc(-1 * var(--space-16)) 0;padding:var(--space-20) var(--space-16) var(--space-12);border-bottom:1px solid var(--line)}
@media (min-width:700px){.evx-sticky{margin:calc(-1 * var(--space-32)) calc(-1 * var(--space-32)) 0;padding:var(--space-32) var(--space-32) var(--space-16)}}
.evx-extra{display:flex;flex-wrap:wrap;gap:6px var(--space-12);align-items:center;padding:0 var(--space-4)}
.evx-extra .evx-f{flex:none;padding:0 var(--space-12)}
.evx-extra .evx-f--x>span{display:inline-flex;align-items:center;gap:6px}
.evx-extra .evx-f--x svg{width:16px;height:16px;flex:none}
.evx-fdn{display:inline-flex;align-items:center;gap:6px}
.evx-extra .evx-f--n{width:40px;padding:0}
.evx-fl{font-size:var(--fs-11);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:var(--space-4)}
.evx .evx-f.evx-f--demo{border-color:var(--crit);color:var(--crit)}
.evx-title-x{display:flex;margin-left:auto}
.evx-title-x .evx-f{flex:none;padding:0 var(--space-12);height:40px}
.evx-title-x .evx-f--x>span{display:inline-flex;align-items:center;gap:6px}
/* Pagina pubblicata di tornei e campionati (2026-10-20, design-system/competition-page.css): parti proprie dell'app */
.cpx-main>.ainfo,.cpx-main>.aerr,.cpx-main>.tmiss{margin:0}
.cpx-editbar{display:flex;align-items:center;gap:var(--space-12);flex-wrap:wrap}
.cpx-editacts{display:flex;align-items:center;gap:var(--space-8);flex-wrap:wrap;margin-left:auto}
.cpx-rules{display:flex;flex-direction:column;gap:var(--space-12)}
.cpx-where{margin:0;color:var(--muted)}.cpx-where a{display:inline-flex;align-items:center;gap:var(--space-8)}.cpx-where svg{width:18px;height:18px}
.cpx-teams{display:flex;flex-direction:column;gap:var(--space-12)}
.cpx-tlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-8)}
.cpx-tm2{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12);background:var(--surface);box-shadow:var(--shadow-1);color:var(--ink);text-decoration:none;min-width:0}
.cpx-tm2>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cpx-tm2 .cpx-crest{width:36px;height:36px}
.evx-compr:not(:has(.evx-mini--lead)){grid-template-columns:minmax(0,1fr) 18px}   /* competizione senza squadra in testa */
.evx>.ainfo,.evx>.aerr{margin-top:var(--space-16)}
.evx-cols{margin-top:var(--space-20)}
@container evx (min-width:900px){.evx-side{position:sticky;top:calc(var(--evh,0px) + 16px);max-height:calc(var(--evvh,100vh) - var(--evh,0px) - 32px);overflow:auto;overscroll-behavior:contain;padding:var(--space-2);margin:calc(-1 * var(--space-2))}}
.day.flash,.evx-group.flash{animation:dflash 1.2s ease-out}
@keyframes dflash{0%{box-shadow:0 0 0 3px var(--primary)}100%{box-shadow:var(--shadow-1)}}
.myq{display:flex;align-items:center;gap:var(--space-12);color:inherit;text-decoration:none;padding:var(--space-4) 0}
.myq .grow{display:flex;flex-direction:column;min-width:0}
.myq small{color:var(--muted);font-size:var(--fs-13)}
.myq .tlogo{width:34px;height:34px;border-radius:var(--radius-round)}
.myq .crest{width:34px;height:34px}

/* pagina dell'evento (1.16) */
.ehtop{display:flex;align-items:center;gap:var(--space-12);flex-wrap:wrap}
.ehtop .back{margin:0}
.back.blink{color:var(--primary)}.back.blink.camp{color:var(--accent-hover)}
.eacts{gap:var(--space-8)}.eacts .btn{height:40px}
@media (max-width:640px){
  .ehtop .eacts{width:100%}.ehtop .grow{display:none}
}

/* squadre (1.16) */
.page{overflow-x:hidden}
.sqgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-16)}
.evcard.sqtile{display:flex;flex-direction:column;padding:0;gap:0;overflow:hidden;border-radius:var(--radius-lg)}
.sqband{position:relative;height:64px;background:var(--sunk);display:block;flex:none}
.sqband>i{position:absolute;right:0;top:0;bottom:0;width:26%}
.sqcr{position:absolute;left:16px;bottom:-26px;width:60px;height:60px;border-radius:var(--radius-round);background:#fff;box-shadow:0 0 0 4px var(--surface),0 2px 6px rgba(20,32,43,.12);display:grid;place-items:center;overflow:hidden}
.sqtl{width:46px;height:46px;object-fit:contain}
.sqtl.ini{width:60px;height:60px;border-radius:var(--radius-round);display:grid;place-items:center;font-weight:900;font-size:var(--fs-20);background:var(--sunk);color:var(--muted)}
.sqtb{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-40) var(--space-16) var(--space-16);min-width:0}
.sqtb .evn{font-size:var(--fs-17);font-weight:700;overflow-wrap:break-word}
.sqtb small{color:var(--muted);font-size:var(--fs-14)}
.sqmeta{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-12);color:var(--muted);font-size:var(--fs-13);margin-top:var(--space-8)}
.sqmeta b.num{color:var(--ink);font-family:var(--font-mono);font-stretch:normal}
/* pagina della squadra */
.sqpage{position:relative;gap:var(--space-20)}
.sqpage>*{position:relative;z-index:1}
.sqpage>.sqdeco{position:absolute;z-index:0;top:-8px;bottom:-60px;left:calc(50% - 50vw);width:100vw;overflow:hidden;pointer-events:none;background-repeat:no-repeat}
.sqdeco .sqwm{position:absolute;inset:180px 0 0 0;background-repeat:no-repeat;background-position:right -60px top 40px;background-size:min(760px,80vw) auto;opacity:.07}
.sqpage.themed .sqhero,.sqpage .sqhero{position:relative;overflow:hidden;display:flex;align-items:center;gap:var(--space-24);flex-wrap:wrap;border-radius:var(--radius-lg);padding:var(--space-24) var(--space-32);border-bottom:0;box-shadow:var(--shadow-2)}
.sqstripe{position:absolute;right:0;top:0;bottom:0;width:20%}
@media (max-width:640px){.sqstripe{width:16px}}
.sqhero>*:not(.sqstripe){position:relative}
.sqhero .lgbig{width:132px;height:132px;border-radius:var(--radius-xl);padding:var(--space-12);border:0;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.lgbig.ini{font-weight:900;font-size:var(--fs-42);background:#fff}
.sqht{min-width:240px;display:flex;flex-direction:column;gap:var(--space-8)}
.sqhero .h1{font-weight:900;font-size:var(--fs-42);letter-spacing:-.02em}
.sqha{gap:var(--space-8)}
.sqhero .btn{background:#fff;color:var(--ink);border-color:var(--on-fill)}
.sqhero .btn.sqon{background:rgba(255,255,255,.16);color:inherit;border-color:rgba(255,255,255,.55)}
.sqpage.themed .h2{box-shadow:none;padding-left:0}
.attc{display:flex;flex-direction:column;gap:var(--space-12);padding:var(--space-16) var(--space-20)}
.attc .h2 .cnt{font-family:var(--font-mono);color:var(--muted);font-size:var(--fs-17);font-stretch:normal}
.sqsub{margin:var(--space-8) 0 0;display:flex;gap:var(--space-8);align-items:center}
.attbl{width:100%;border-collapse:collapse;font-size:var(--fs-15)}
.attbl th{font-size:var(--fs-12);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:var(--space-8) var(--space-12);font-weight:700;border-bottom:1px solid var(--line)}
.attbl td{padding:var(--space-8) var(--space-12);border-bottom:1px solid var(--sunk);vertical-align:middle}
.attbl tr:last-child td{border-bottom:0}
.attbl .atnum{width:56px;font-family:var(--font-mono);font-weight:700;font-size:var(--fs-17);font-stretch:normal}
.attbl .atr{color:var(--tc-ink,var(--primary))}
.attbl a.atcard{color:var(--ink);text-decoration:none;display:inline;padding:0;border:0;background:none;box-shadow:none}
.attbl a.atcard:hover b{text-decoration:underline}
.attbl .atder{display:block;color:var(--muted);font-size:var(--fs-12)}
.attbl .chip{font-size:var(--fs-11);padding:var(--space-2) var(--space-8)}
@media (max-width:560px){.attbl .ats,.attbl th.ats,.attbl .atid,.attbl th.atid{display:none}.attbl td,.attbl th{padding:var(--space-8) var(--space-8)}}
.sqnums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-16);padding:var(--space-20)}
.sqnums>div{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}
.sqnums b.num{font-family:var(--font-mono);font-size:var(--fs-30);font-stretch:normal}
.sqtop{display:flex;flex-direction:column}.sqtop b{font-size:var(--fs-15)}.sqtop small{color:var(--muted);font-size:var(--fs-13)}
.sqsl{grid-column:1/-1;justify-self:start}
@media (max-width:640px){.sqnums{grid-template-columns:repeat(3,minmax(0,1fr))}.sqnums>div:nth-child(4){grid-column:1/-1;border-top:1px solid var(--line);padding-top:var(--space-12)}.sqnums b.num{font-size:var(--fs-20)}
  .sqhero .lgbig{width:84px;height:84px;border-radius:var(--radius-lg);padding:var(--space-8)}.sqhero .h1{font-size:var(--fs-30)}.sqpage .sqhero{padding:var(--space-20);gap:var(--space-16)}}
.sqd8{font-family:var(--font-mono);font-weight:700;width:52px;font-stretch:normal}
/* personalizza */
.swrow{display:flex;gap:var(--space-16);align-items:center;flex-wrap:wrap}
.swl{display:flex;flex-direction:column;align-items:center;gap:var(--space-8);cursor:pointer;position:relative}
.swl input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.swl .sw{width:48px;height:48px;border-radius:var(--radius-md);border:3px solid #fff;box-shadow:0 0 0 1.5px var(--line)}
.swl small{font-size:var(--fs-12);color:var(--muted)}
.swpal{display:flex;gap:var(--space-8);flex-wrap:wrap}
.swp{width:32px;height:32px;border-radius:var(--radius-round);border:3px solid #fff;box-shadow:0 0 0 1.5px var(--line);cursor:pointer;padding:0}
.bgopts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12)}
.bgo{display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-12);border-radius:var(--radius-md);border:1.5px solid var(--line);background:var(--surface);font:inherit;text-align:left;cursor:pointer;color:var(--ink)}
.bgo.on{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
.bgo small{font-size:var(--fs-12);color:var(--muted)}
.bgt{height:58px;border-radius:var(--radius-sm);position:relative;overflow:hidden;background:var(--bg);display:block}
.bgt.bg-tinta,.bgt.bg-forme,.bgt.bg-filigrana{background:color-mix(in srgb,var(--c1) 12%,var(--bg))}
.bgt i{position:absolute;opacity:0}
.bgt.bg-forme i:first-child{opacity:.35;right:-14px;top:-12px;width:70px;height:70px;border-radius:var(--radius-round);background:var(--c1)}
.bgt.bg-forme i:nth-child(2){opacity:.35;right:28px;top:0;width:12px;height:64px;background:var(--c2)}
.bgt.bg-filigrana i:first-child{opacity:.18;right:6px;top:6px;width:46px;height:46px;border-radius:var(--radius-round);background:var(--c1)}
.bgt b{position:absolute;left:10px;top:12px;width:56%;height:34px;border-radius:var(--radius-sm);background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.1)}
.sqok{flex-direction:row;align-items:flex-start;gap:var(--space-12);background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 25%,transparent)}
.sqok .ic{width:26px;height:26px;border-radius:var(--radius-round);background:var(--ok);color:var(--on-fill);display:grid;place-items:center;font-weight:800;flex:none}
.sqprev{border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-3);overflow:hidden;position:relative;min-height:420px;background:var(--bg)}
.sqprev .sqpage{padding:var(--space-16)}
.sqprev .sqpage>.sqdeco{left:0;width:100%;top:0;bottom:0}
.sqprev .sqhero .h1{font-size:var(--fs-30)}.sqprev .sqhero .lgbig{width:84px;height:84px}
.sqprow{display:flex;gap:var(--space-12);padding:var(--space-8) 0;border-top:1px solid var(--sunk)}.sqprow b{font-family:var(--font-mono);font-stretch:normal}
@media (min-width:980px){.cside.sqsl{max-width:420px}}

/* configurazione delle bozze (1.16) */
.dshead{display:flex;flex-direction:column;gap:var(--space-8)}
.dstitle{display:flex;align-items:center;gap:var(--space-12);flex-wrap:wrap}
.dshell{display:grid;grid-template-columns:260px minmax(0,1fr) 300px;gap:var(--space-20);align-items:start}
.dsteps{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-8);position:sticky;top:12px}
.dstep{display:grid;grid-template-columns:30px minmax(0,1fr);gap:var(--space-12);padding:var(--space-12) var(--space-12);border-radius:var(--radius-md);color:var(--ink);text-decoration:none;align-items:start}
.dstep:hover{background:var(--sunk)}
.dstep.cur{background:var(--primary-soft)}
.dstep.cur .dst b{color:var(--primary-hover)}
.dstep.off{opacity:.55}
.dsn{width:30px;height:30px;border-radius:var(--radius-round);display:grid;place-items:center;font-size:var(--fs-13);font-weight:800;background:var(--sunk);color:var(--muted)}
.dsn.ok{background:var(--ok);color:var(--on-fill)}
.dstep.cur .dsn{background:var(--primary);color:var(--on-fill)}
.dst{display:flex;flex-direction:column;min-width:0}.dst b{font-size:var(--fs-15)}
.dst small{color:var(--muted);font-size:var(--fs-12);line-height:1.3;overflow-wrap:break-word}
.dmain{display:flex;flex-direction:column;padding:0;min-width:0}
.dmh{padding:var(--space-20) var(--space-24) var(--space-8);display:flex;flex-direction:column;gap:var(--space-2)}
.dmb{padding:var(--space-12) var(--space-24) var(--space-20);display:flex;flex-direction:column;gap:var(--space-16);min-width:0}
.dmb>.evform{display:flex;flex-direction:column;gap:var(--space-16)}
.dmf{display:flex;gap:var(--space-12);align-items:center;padding:var(--space-16) var(--space-24);border-top:1px solid var(--line);background:color-mix(in srgb,var(--sunk) 40%,var(--surface));border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-wrap:wrap}
.dside{display:flex;flex-direction:column;gap:var(--space-16)}
.dck{display:flex;flex-direction:column;gap:var(--space-8)}
.dck .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.dcki{display:flex;gap:var(--space-12);align-items:flex-start;font-size:var(--fs-14);line-height:1.35}
.dcki i{width:20px;height:20px;border-radius:var(--radius-round);display:grid;place-items:center;font-style:normal;font-size:var(--fs-12);font-weight:800;color:var(--on-fill);flex:none}
.dcki.ok i{background:var(--ok)}.dcki.warn i{background:var(--warn)}.dcki.crit i{background:var(--crit)}
.dkv{display:grid;grid-template-columns:auto 1fr;gap:var(--space-8) var(--space-12);font-size:var(--fs-14)}.dkv span{color:var(--muted)}.dkv b.num{font-family:var(--font-mono);font-stretch:normal}
.btn.ghost.dsdel{color:var(--crit);align-self:flex-start;padding:0}
@media (max-width:1180px){.dshell{grid-template-columns:240px minmax(0,1fr)}.dside{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
@media (max-width:760px){.dshell{grid-template-columns:1fr}.dsteps{position:static;flex-direction:row;overflow:hidden;flex-wrap:wrap;gap:var(--space-4)}
  .dstep{grid-template-columns:28px;padding:var(--space-8)}.dst{display:none}.dstep.cur .dst{display:flex;position:static}.dstep.cur{grid-template-columns:28px minmax(0,1fr);flex:1 1 100%;order:-1}
  .dmh,.dmb{padding-left:var(--space-16);padding-right:var(--space-16)}.dmf{padding:var(--space-12) var(--space-16)}}

/* ===== Design system (dal 2026-10-07, SP-IN dal 2026-10-15): pagine pubbliche ===== */
.pbar{min-width:0}



.h1{font-weight:800;letter-spacing:-.02em}
.h2,.h3{font-weight:800}
.hero{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-1)}
.hero h1{font-weight:900;font-stretch:118%;text-transform:uppercase;letter-spacing:-.02em}
.vert,.evcard,.ttype{box-shadow:var(--shadow-1);transition:box-shadow .12s var(--ease),transform .12s var(--ease)}
@media (hover:hover){a.vert:hover,a.evcard:hover,a.ttype:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}}

.lnk{color:var(--primary)}

/* Segreteria della squadra (1.19): prefisso sx, diverso dalle classi del motore del referto (styles.css) */
.sxnav{display:flex;flex-wrap:wrap;gap:var(--space-8)}
.sxnav a{display:inline-flex;align-items:center;gap:var(--space-8);min-height:40px;padding:0 var(--space-16);border-radius:var(--radius-pill);border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-weight:700;font-size:var(--fs-14);text-decoration:none}
.sxnav a.on{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.sxdot{min-width:20px;height:20px;border-radius:var(--radius-pill);background:var(--warn);color:var(--on-fill);font-size:var(--fs-11);display:inline-grid;place-items:center;padding:0 var(--space-4)}
.sxmock{display:flex;gap:var(--space-12);align-items:flex-start;padding:var(--space-12) var(--space-16);border-radius:var(--radius-md);border:2px dashed var(--primary);background:var(--primary-soft);line-height:1.45;font-size:var(--fs-14);color:var(--ink)}
.sxmock .chip{flex:none;margin-top:var(--space-2);background:var(--primary);color:var(--on-fill)}
.sxreqs{display:flex;flex-direction:column}
.sxreq{display:flex;gap:var(--space-12);align-items:center;padding:var(--space-12) 0;border-top:1px solid var(--sunk);flex-wrap:wrap}
.sxreqs .sxreq:first-child{border-top:0}
.sxreq .ci{flex:none;width:28px;height:28px;border-radius:var(--radius-pill);display:grid;place-items:center;font-weight:800;background:var(--crit-soft);color:var(--crit)}
.sxreq.ok .ci{background:var(--ok-soft);color:var(--ok)}
.sxreq.warn .ci{background:var(--warn-soft);color:var(--warn)}
.sxreq>.ci+.grow{flex:1 1 220px;min-width:0}
.sxreq small{display:block;color:var(--muted);line-height:1.4;margin-top:var(--space-2)}
.sxsc{display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--space-8);padding:var(--space-8) 0;border-top:1px solid var(--sunk);font-size:var(--fs-13);line-height:1.4}
.sxsc .num{font-weight:700;color:var(--warn)}
.sxsc.crit .num{color:var(--crit)}
.side .lnk{display:block;padding:var(--space-4) 0}
.sxdocs{display:flex;flex-direction:column;gap:var(--space-8);margin-top:var(--space-8)}
.sxdoc{display:flex;gap:var(--space-12);align-items:center;flex-wrap:wrap;padding:var(--space-12) var(--space-12);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}
.sxdoc.ok{border-color:color-mix(in srgb,var(--ok) 40%,var(--line))}
.sxdoc.ok .rico{background:var(--ok-soft);color:var(--ok)}
.sxdoc>.grow{flex:1 1 200px;min-width:0}
.sxdoc small{display:block;color:var(--muted);overflow-wrap:anywhere}
.sxdocb{display:flex;gap:var(--space-8);flex-wrap:wrap}
.sxq{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--space-8)}
.sxq .rchk small{display:block;color:var(--muted)}
.sxtbl td{font-size:var(--fs-14)}
.sxmini{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-8) var(--space-12);align-items:center;font-size:var(--fs-14);margin-top:var(--space-8)}
.sxmini>span:nth-child(odd){color:var(--muted)}
.sxmini .chip{justify-self:start;white-space:normal}
.sxord td:first-child{width:36px}
.sxord input[type=checkbox]{width:20px;height:20px}
.sxord .sxe{text-align:right;white-space:nowrap}
.sxord tfoot td{border-top:2px solid var(--line);padding-top:var(--space-12)}
.sxko td{background:color-mix(in srgb,var(--warn-soft) 55%,transparent)}
.sxo{display:flex;flex-direction:column;gap:var(--space-12)}
.sxann{opacity:.6}
.sxtot{font-size:var(--fs-20)}
.sxsteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8)}
.sxst{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-12);border-top:4px solid var(--sunk);font-size:var(--fs-13)}
.sxst.on{border-top-color:var(--ok)}
.sxst small{color:var(--muted)}
.sxst i{display:none}
.sxsig{display:flex}
.sxsig .sgpad{width:100%;max-width:420px}
.sxsig .sgpad small{font-weight:400;color:var(--muted)}
.sxsig .sgdone{width:100%;max-width:420px}
@media (max-width:560px){.sxsteps{grid-template-columns:1fr}.sxsc{grid-template-columns:1fr}}
.sxl .orow{flex-wrap:wrap}
.sxl .orow>.grow{flex:1 1 180px;min-width:0}
.sxl .orow .chip{white-space:normal}
/* tabella degli atleti della segreteria: a schede sugli schermi stretti, senza scorrimento orizzontale */
@media (max-width:980px){
  .sxtbl thead{display:none}
  .sxtbl,.sxtbl tbody{display:block}
  .sxtbl tr{display:grid;grid-template-columns:56px repeat(2,minmax(0,1fr));gap:var(--space-8) var(--space-12);padding:var(--space-12) 0;border-bottom:1px solid var(--sunk)}
  .sxtbl td{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);padding:0;border:0}
  .sxtbl td.atnum{grid-row:span 3;display:block}
  .sxtbl td.sxtn{grid-column:2 / -1}
  .sxtbl td[data-l]::before{content:attr(data-l);font-size:var(--fs-11);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
  .sxtbl .chip{white-space:normal}
}
@media (max-width:420px){.sxtbl tr{grid-template-columns:44px minmax(0,1fr)}.sxtbl td.atnum{grid-row:span 6}}
/* Campi cliccabili di Staff e Atleti (Diego, 2026-10-08): ognuno apre la sua finestra di modifica */
.sxcell{display:flex;align-items:center;gap:var(--space-8);width:100%;min-height:40px;padding:var(--space-8) var(--space-8);margin:calc(-1 * var(--space-8)) calc(-1 * var(--space-8));border:1px solid transparent;border-radius:var(--radius-md);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.sxcell:hover,.sxcell:focus-visible{border-color:var(--line);background:var(--sunk)}
.sxcv{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}
.sxcv small{color:var(--muted);font-size:var(--fs-12)}
.sxed{flex:none;width:16px;height:16px;color:var(--muted);opacity:.55}
.sxed svg{width:16px;height:16px;display:block}
.sxcell:hover .sxed{opacity:1;color:var(--primary)}
.sxmini .sxcell{margin:0;padding:var(--space-4) var(--space-8);min-height:34px}
.sxtotr{display:flex;justify-content:space-between;align-items:baseline;padding:var(--space-12) var(--space-4) 0;border-top:2px solid var(--line);font-size:var(--fs-15)}
.sxtotr b{font-size:var(--fs-20)}
.sxsel{cursor:pointer}
.sxsel input{width:20px;height:20px;flex:none}
@media (max-width:980px){
  .sxtbl td{width:100%}
  .sxtbl.sxstf tr{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sxtbl.sxstf td.sxtn{grid-column:1 / -1}
}
@media (max-width:420px){.sxtbl.sxstf tr{grid-template-columns:minmax(0,1fr)}}
/* Pagina della squadra (Diego, 2026-10-08): visita medica su fondo RAG, statistiche principali su una riga */
.rag{display:inline-block;padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill);font-weight:700;font-size:var(--fs-13);font-family:var(--font-mono);font-stretch:normal;white-space:nowrap}
.rag-g{background:var(--ok-soft);color:var(--ok)}
.rag-a{background:var(--warn-soft);color:var(--warn)}
.rag-r{background:var(--crit-soft);color:var(--crit)}
.sqnums{display:flex;flex-direction:column;gap:var(--space-12)}
.sqnr{display:flex;flex-wrap:wrap;gap:var(--space-16) var(--space-24);align-items:center}
.sqnr>div{flex:1 1 130px;min-width:0;display:flex;flex-direction:column;gap:var(--space-4)}
.sqnr>div.sqrad{flex:0 0 auto;align-items:flex-start}
.sqrad .radar{width:112px;height:112px}
.sqnums .sqsl{align-self:flex-start}
@media (max-width:980px){.atmain td[data-l="Ruolo"],.atmain td[data-l="Genere"]{flex-direction:row;align-items:baseline;gap:var(--space-8)}}
.sqnums>.sqnr{flex-direction:row;align-items:flex-start;text-align:left}
.sqnums>.sqnr>div{text-align:left}
#sqmlist .orow{flex-wrap:wrap}
#sqmlist .orow>.grow{flex:1 1 140px;min-width:0}
@media (max-width:980px){.atmain:not(.ro) td.atnum{grid-row:span 4}}
@media (max-width:420px){.atmain:not(.ro) td.atnum{grid-row:span 7}}
.sqnums .sqsl{display:inline-flex;align-items:center;gap:var(--space-8)}.sqnums .sqsl svg{width:16px;height:16px;flex:none}
/* 1.31 (Diego, 2026-10-16). PC (da 900 px): niente "Gare della squadra" né card sintetica, statistiche di squadra e ruoli in
   chiaro, prossimi eventi tutti e scorrevoli nella card con logo dell'avversaria e Casa/Trasferta. Telefono e tablet stretti:
   come prima (prime 4 gare), e nella tabella degli atleti solo numero, cognome e nome, genere */
.sqnlg{flex:none;display:flex}
.sqnha{white-space:nowrap}
.sqnx .sqnxl{display:flex;flex-direction:column;gap:var(--space-8)}
.sqnx .sqnrow{position:relative;align-items:center}
.sqnx .sqnrow>:not(.sqnlk){align-self:center}   /* il link che copre la riga no: centrato avrebbe altezza zero */
.sqnx .sqnlk{position:absolute;inset:0;z-index:1;border-radius:var(--radius-md)}
.sqnx .sqnlk:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
@media (hover:hover){.sqnx .sqnrow:hover b{text-decoration:underline}}
.sqnd{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);flex:none;width:52px}
.sqnd .sqd8{width:auto;text-align:center}
.sqnd .ty{width:30px;height:30px}.sqnd .ty svg{width:16px;height:16px}
.sqnini{display:flex;align-items:center;justify-content:center;background:var(--sunk);color:var(--muted);font-size:var(--fs-12);font-weight:700}
.rnames{list-style:none;margin:0;padding:var(--space-8) 0 0;border-top:1px solid var(--line);align-self:stretch;display:flex;flex-direction:column;gap:var(--space-4);font-size:var(--fs-15)}
.rnames .chip{font-size:var(--fs-11);padding:var(--space-2) var(--space-8)}
@media (min-width:900px){
  .sqpage .sqgare,.sqpage .sqstm{display:none}
  .sqnx .sqnxl{max-height:420px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;margin-right:calc(-1 * var(--space-8));padding-right:var(--space-8)}
  .sqstpc{display:flex;flex-direction:column;gap:var(--space-20)}
}
@media (max-width:899px){
  .sqpage .sqstpc,.sqnx .sqnxp{display:none}
  .sqnx .sqnxl>.sqnrow:nth-child(n+5){display:none}
  .sqpage .atmain td[data-l="Ruolo"],.sqpage .atmain td[data-l="Tessera"],.sqpage .atmain td[data-l="Visita medica"],.sqpage .atmain td[data-l="Liberatoria"],.sqpage .atmain .atder{display:none}
  .sqpage .atmain tr{grid-template-columns:44px minmax(0,1fr) auto;align-items:center}
  .sqpage .atmain td.atnum,.sqpage .atmain:not(.ro) td.atnum{grid-row:auto}
  .sqpage .atmain td.sxtn{grid-column:auto}
  .sqpage .atmain td[data-l="Genere"]::before{display:none}
}

/* Società sportive (1.20): prefissi sx e so, diversi dalle classi del motore del referto (styles.css) */
.sxsq>.sech{align-items:center;flex-wrap:wrap;gap:var(--space-12)}
.sxsq>.sech>.grow{flex:1 1 220px;min-width:0}
.sxsq .h3 .lnk{text-decoration:none;color:var(--ink)}
.sxsq small.sub{display:block;margin:var(--space-2) 0 0;line-height:1.4}
.sxsqlg{flex:none;width:44px;height:44px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--line);display:grid;place-items:center;padding:var(--space-4);overflow:hidden}
.sxsqlg img{max-width:100%;max-height:100%;object-fit:contain}
.sxsqlg.ini{font-family:var(--font-display);font-weight:800;font-size:var(--fs-17);background:var(--sunk);color:var(--ink);border-color:transparent}
.sxaff{display:flex;gap:var(--space-12);align-items:center;width:100%;text-align:left;text-decoration:none;color:var(--ink);font:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-12) var(--space-12);cursor:pointer;flex-wrap:wrap}
.sxaff+.sxaff{margin-top:var(--space-8)}
.sxaff>.grow{flex:1 1 200px;min-width:0}
.sxaff small{display:block;color:var(--muted)}
.sxaff:disabled{opacity:.55;cursor:default}
.sxen{flex:none;min-width:64px;height:40px;padding:0 var(--space-12);border-radius:var(--radius-md);background:var(--ink);color:var(--surface);display:grid;place-items:center;font-family:var(--mono,monospace);font-weight:700;font-size:var(--fs-13)}
.soprev{border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-3);overflow:hidden;position:relative;min-height:360px;background:var(--bg)}
.soprev .sqpage{padding:var(--space-16)}
.soprev .sqpage>.sqdeco{left:0;width:100%;top:0;bottom:0}
.soprev .sqhero .h1{font-size:var(--fs-30)}.soprev .sqhero .lgbig{width:84px;height:84px}
/* Atleti della squadra a fisarmonica nella sezione Squadre della società (1.20.0-dev.3) */
.sxacc{margin-top:var(--space-4);border-top:1px solid var(--sunk)}
.sxacc>summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8);min-height:48px;padding:var(--space-8) 0;cursor:pointer;list-style:none}
.sxacc>summary::-webkit-details-marker{display:none}
.sxacc>summary::before{content:"";flex:none;width:9px;height:9px;border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:rotate(-45deg);margin:0 var(--space-8) 0 var(--space-2);transition:transform .15s}
.sxacc[open]>summary::before{transform:rotate(45deg)}
.sxacct{font-weight:800;margin-right:var(--space-4)}
/* Ruoli degli atleti (1.20.0-dev.4): storia nella scheda, conteggi e passaggi nelle statistiche, maglia in convocazione */
.rhist{list-style:none;margin:var(--space-8) 0 0;padding:0 0 0 var(--space-16);border-left:2px solid var(--line);display:flex;flex-direction:column;gap:var(--space-12)}
.rhist li{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);gap:var(--space-8);align-items:baseline}
.rhist li::before{content:"";position:absolute;left:-20px;top:6px;width:10px;height:10px;border-radius:var(--radius-pill);background:var(--surface);border:2px solid var(--muted)}
.rhist li.on::before{background:var(--primary);border-color:var(--primary)}
.rhist small{display:block;color:var(--muted)}
.rhd{color:var(--muted);font-size:var(--fs-13)}
.rcnt{display:flex;flex-wrap:wrap;gap:var(--space-12)}
.rcnt>span{display:flex;flex-direction:column;align-items:center;min-width:74px;padding:var(--space-8) var(--space-12);border-radius:var(--radius-md);background:var(--sunk)}
.rcnt b{font-size:var(--fs-24)}.rcnt small{color:var(--muted);font-size:var(--fs-12)}
.rtr{flex:none;min-width:64px;font-weight:700;font-size:var(--fs-17)}
.cvnum{display:inline-flex;align-items:center;gap:var(--space-8);font-size:var(--fs-13);color:var(--muted)}
.cvnum input{width:56px;height:40px;text-align:center;font-family:var(--font-mono);font-size:var(--fs-17);border:1.5px solid var(--warn);border-radius:var(--radius-md);background:var(--surface);color:var(--ink)}

/* squadra a riposo nella giornata del campionato (1.20.0-dev.5) */
.crip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8) var(--space-12);margin-top:var(--space-8);padding:var(--space-8) var(--space-12);border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--muted);font-size:var(--fs-14)}
.crip small{font-size:var(--fs-11);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.crip b{color:var(--ink)}
.crip .drest{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;color:var(--ink);font-weight:700;border-radius:var(--radius-pill);padding:var(--space-4) var(--space-12);background:var(--sunk)}
.crip .drest.dz-on{background:var(--ok-soft);outline:2px solid var(--ok)}
.dteam.dz-no{outline:2px dashed var(--crit)}
/* card pubbliche delle squadre: nome, logo e luogo, due per riga sul telefono (1.20.0-dev.5) */
.sqgrid.pub{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
@media (max-width:600px){
  .sqgrid.pub{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12)}
  .sqgrid.pub .sqband{height:46px}
  .sqgrid.pub .sqcr{left:50%;transform:translateX(-50%);bottom:-24px;width:52px;height:52px}
  .sqgrid.pub .sqtl{width:40px;height:40px}.sqgrid.pub .sqtl.ini{width:52px;height:52px;font-size:var(--fs-17)}
  .sqgrid.pub .sqtb{padding:var(--space-32) var(--space-12) var(--space-12);text-align:center;align-items:center}
  .sqgrid.pub .sqtb .evn{font-size:var(--fs-15);line-height:1.2}
}
/* modifiche al calendario da salvare (1.23.0-dev.1): barra in fondo alla pagina, sempre visibile */
.pendbar{position:sticky;bottom:12px;z-index:30;display:flex;align-items:center;gap:var(--space-12);flex-wrap:wrap;margin:var(--space-16) 0 0;padding:var(--space-12) var(--space-16);background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius-md);box-shadow:0 8px 24px rgba(20,32,43,.16)}
.pendbar.bad{border-color:var(--crit)}
.pendbar .grow{display:flex;flex-direction:column;gap:var(--space-2);min-width:180px}
.pendbar small{color:var(--muted);font-size:var(--fs-13)}
.pendbar.bad small{color:var(--crit)}
/* pagina dell'evento (1.23.0-dev.2): referto sotto le statistiche, largo come la sintesi */
.evref{display:flex;flex-direction:column;gap:var(--space-16)}

/* Arbitri designati (1.26): riga nella card della gara, fondo del box delle squadre, filtri e finestra della designazione */
.evarb{display:flex;align-items:center;gap:var(--space-4)}
.evarb svg{width:14px;height:14px;flex:none}
.evarb b{color:var(--ink)}
.varb{display:flex;align-items:center;justify-content:center;gap:var(--space-12) var(--space-16);flex-wrap:wrap;border-top:1px solid var(--line);padding-top:var(--space-16)}
.varl{display:inline-flex;align-items:center;gap:var(--space-8);color:var(--muted);font-size:var(--fs-13);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.varl svg{width:18px;height:18px}
.varn{display:flex;gap:var(--space-8);flex-wrap:wrap;justify-content:center}
.varx{display:inline-flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-12);border-radius:var(--radius-pill);background:var(--sunk);color:var(--ink);font-weight:700;font-size:var(--fs-15)}
.varx.me{background:var(--primary-soft);color:var(--primary)}
.varx small{font-weight:600;color:var(--muted)}
.varx.none{background:none;color:var(--muted);font-weight:600}
.fchip svg{width:16px;height:16px}
.dsgl{display:flex;flex-direction:column;gap:var(--space-8);max-height:min(50vh,420px);overflow:auto}
.rp.dsga[hidden]{display:none}
.rp.dsga:has(input:checked){border-color:var(--primary)}
.rp.dsga:has(input:disabled){opacity:.5;cursor:default}

/* ---------- Tifoso e squadre seguite (1.27, Diego 2026-10-13) ---------- */
/* card della squadra: il link è sul nome e copre tutta la card; pollice e icone dei campi restano pulsanti a sé */
.evcard.sqtile{position:relative}
.sqtile .sqlk{color:inherit;text-decoration:none}
.sqtile .sqlk::after{content:'';position:absolute;inset:0;z-index:1;border-radius:var(--radius-lg)}
.sqtile .sqlk:focus-visible{outline:0}.sqtile .sqlk:focus-visible::after{outline:3px solid var(--focus);outline-offset:-3px}
@media (hover:hover){.evcard.sqtile.lk:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}}
.sqtile.fw .sqtb{padding-right:var(--space-48)}
.sqseg{position:absolute;right:6px;bottom:6px;z-index:2;width:44px;height:44px;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:color .5s ease,background-color .12s}
.sqseg:hover{background:var(--sunk)}
.sqseg:focus-visible{outline:3px solid var(--focus);outline-offset:1px}
.sqseg>svg:first-child{width:24px;height:24px;fill:currentColor;fill-opacity:0;transition:fill-opacity .5s ease}
.sqseg.on{color:var(--sc)}.sqseg.on>svg:first-child{fill-opacity:1}
.sqseg.pop>svg:first-child{animation:segpop .5s ease}
.sqseg.inl{position:relative;right:auto;bottom:auto;flex:none}
.segst{position:absolute;left:50%;top:50%;width:8px;height:8px;fill:var(--sc);pointer-events:none;animation:segburst .5s ease-out forwards}
@keyframes segpop{0%{transform:scale(1)}35%{transform:scale(1.28)}100%{transform:scale(1)}}
@keyframes segburst{0%{transform:translate(-50%,-50%) scale(.2) rotate(0);opacity:1}65%{opacity:1}100%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1) rotate(120deg);opacity:0}}
@media (prefers-reduced-motion:reduce){.segst{display:none}.sqseg.pop>svg:first-child{animation:none}}
/* telefono: sotto il nome il comune e le icone dei campi al posto dell'indirizzo; il pollice in basso a destra */
@media (max-width:600px){
  .sqgrid.pub .sqtile.fw .sqtb{padding-right:var(--space-12)}
}
/* pagina della squadra: quante persone la seguono */
.segc{display:flex;flex-direction:row;align-items:center;gap:var(--space-12)}
.segc .lbl{margin:0 0 var(--space-2)}
.segw{font-size:var(--fs-15)}.segw b{font-family:var(--font-mono);font-size:var(--fs-20);font-stretch:normal}
/* Eventi: Seguite / Tutte */
.seg.tabs.evseg{width:auto;flex:none}
.seg.tabs.evseg button{flex:none;display:inline-flex;align-items:center;gap:var(--space-8);padding:0 var(--space-16)}
.evseg svg{width:18px;height:18px;fill:currentColor}
/* menu Utenti: ricerca del designatore */
.ufound{display:flex;flex-direction:column;gap:var(--space-8)}
.ufr{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-12);border:1px solid var(--line);border-radius:var(--radius-md)}
.ufr small{display:block}

/* ---------- Eventi 1.29 (Diego, 2026-10-15) ---------- */
/* card dell'elenco: riquadro con un link che la copre tutta; il simbolo della tipologia resta un pulsante a sé, con lo
   stesso aspetto (amichevole: la gara; torneo e campionato: l'intero torneo o campionato) */
.evcard.evrow.lk{position:relative}
.evrow .evlk{position:absolute;inset:0;z-index:1}
.evrow .evlk:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
@media (hover:hover){.evcard.evrow.lk:hover{box-shadow:var(--shadow-2)}}
.ty.tyb{position:relative;z-index:2;text-decoration:none}
.ty.tyb::before{content:'';position:absolute;inset:-7px;border-radius:var(--radius-round)}
.ty.tyb:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
/* intestazione: Prossimi e orologio, pollice e Tutte con le tipologie accanto */
.evfil .seg.tabs .evclk{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-16)}
.evclk svg{width:20px;height:20px}
@media (max-width:640px){
  .fchips.ftys{width:auto;flex-wrap:nowrap}
  .evfil,.evfil .fchips,.fdn{justify-content:center}   /* 1.29: filtri centrati sul telefono */
}
.sqseg.own{cursor:default}

/* ---------- Pagina utente (1.29, Diego 2026-10-15) ---------- */
.tbav{width:24px;height:24px;border-radius:var(--radius-round);background:var(--ink);color:var(--surface);display:inline-grid;place-items:center;font-size:var(--fs-11);font-weight:800;letter-spacing:0;flex:none}
.tabbar a[aria-current="page"] .tbav{background:var(--primary);color:var(--on-fill)}
.tabbar .tbnm{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--space-4)}
.pbar .acc-in .tbav{width:28px;height:28px;font-size:var(--fs-11)}
.pbar a.acc-in{text-decoration:none}
/* barra scura (app-shell.css): pagina utente aperta nel riquadro bianco, come le sezioni */
.pbar a.acc-in[aria-current="page"]{background:#FFFFFF;color:#14202B}
@media (max-width:899px){.pbar .acc-in{display:none}}
.acshell{display:block}
.acside{display:none}
.acmain{display:flex;flex-direction:column;gap:var(--space-16);min-width:0}
.acmain>.back.acback{align-self:flex-start;margin:0}
@media (min-width:900px){
  .acshell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--space-24);align-items:start}
  .acside{display:flex;flex-direction:column;gap:var(--space-4);position:sticky;top:0;min-height:min(520px,calc(100vh - 140px))}
  .acmain>.back.acback,.acics,.acoutc{display:none!important}
}
.acsi{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-12);border-radius:var(--radius-md);font:inherit;font-weight:700;color:var(--muted);text-decoration:none;border:1px solid transparent;background:none;text-align:left;cursor:pointer;min-width:0}
.acsi span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acsi svg{width:20px;height:20px;flex:none}
.acsi:hover{background:var(--sunk)}
.acsi[aria-current="page"]{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-1)}
.acsi:focus-visible,.acic:focus-visible,.acoutc:focus-visible,.acrow:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.acsp{flex:1;min-height:16px}
.acsi.acout{color:var(--crit)}
.acsw{appearance:none;-webkit-appearance:none;width:44px;height:26px;border-radius:var(--radius-pill);background:var(--line);position:relative;flex:none;margin:0;cursor:pointer;transition:background-color .15s}
.acsw::after{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:var(--radius-round);background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}
.acsw:checked{background:var(--primary)}.acsw:checked::after{transform:translateX(18px)}
.acsw:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.acsw,.acsw::after{transition:none}}
.acsi.acout span{white-space:normal}
/* 1.29 (Diego, 2026-10-15): freccia "indietro" senza testo (torna alla schermata lasciata), area di tocco da 44 px */
a.back{min-width:44px;min-height:44px;justify-content:center;padding:0;margin:calc(-1 * var(--space-12)) 0 calc(-1 * var(--space-12)) calc(-1 * var(--space-12));border-radius:var(--radius-md)}
a.back svg{width:22px;height:22px}
@media (hover:hover){a.back:hover{background:var(--sunk);color:var(--ink)}}
a.back:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
.acmain>a.back.acback{margin:calc(-1 * var(--space-12)) 0 calc(-1 * var(--space-12)) calc(-1 * var(--space-12))}
