/* FantaFeed */
:root{
  color-scheme:dark;
  --bg:#0D1411; --surface:#141E19; --surface-2:#1B2721; --ink:#E5EDE8; --muted:#94A69B; --line:#27352D;
  --accent:#44C286; --accent-ink:#06140D; --accent-soft:#173828;
  --r-p:#EDAA2E; --r-d:#3DB577; --r-c:#5C8FE6; --r-a:#E4605A; --r-t:#A77BE0; --role-ink:#0D1411;
  --sz-news:#44C286; --sz-rosa:#44C286; --sz-form:#44C286; --sz-merc:#44C286; --sz-amb:#E5B13E; --sz-gray:#6F8178;
  --ok:#5ED393; --ok-bg:#15311F; --warn:#F0BF4C; --warn-bg:#352A0E; --bad:#F07B73; --bad-bg:#3A1917; --nd:#9AA7A0; --nd-bg:#222C27; --sq:#C39BEA; --sq-bg:#2C1F3B; --pz:#66D3E0; --pz-bg:#0F2E33;
  --display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;
  --body:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
:root[data-theme="light"]{
  color-scheme:light;
  --bg:#F2F5F1; --surface:#FFFFFF; --surface-2:#E9EEE8; --ink:#122019; --muted:#56675D; --line:#D6DED7;
  --accent:#0E6B45; --accent-ink:#FFFFFF; --accent-soft:#DCEFE4;
  --r-p:#D99311; --r-d:#23915A; --r-c:#2F6AC8; --r-a:#C93C35; --r-t:#7A4CC0; --role-ink:#FFFFFF;
  --sz-news:#0E6B45; --sz-rosa:#0E6B45; --sz-form:#0E6B45; --sz-merc:#0E6B45; --sz-amb:#9A6A00; --sz-gray:#7D8C84;
  --ok:#1C8349; --ok-bg:#DDF1E4; --warn:#9A6A00; --warn-bg:#FBEFCF; --bad:#B8322B; --bad-bg:#F8DEDC; --nd:#66726B; --nd-bg:#E7EBE8; --sq:#7A3FB0; --sq-bg:#EDE2F7; --pz:#0B7285; --pz-bg:#E0F4F7;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.5;padding-inline:16px;padding-block:env(safe-area-inset-top,0px) 48px}
.wrap{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.stack{display:flex;flex-direction:column;gap:20px}
a{color:var(--accent)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3{text-wrap:balance}
[hidden]{display:none!important}

/* header */
.top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;padding-block:22px 14px;border-bottom:3px solid var(--ink)}
.brand{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--ink)}
.logo{font-family:var(--display);font-weight:700;font-size:44px;line-height:.9;letter-spacing:.01em;text-transform:uppercase}
.logo span{color:var(--accent)}
.tag{color:var(--muted);font-size:14px}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;font-weight:600;font-size:14px}
.nav a{color:var(--ink);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.nav a[aria-current="page"]{border-bottom-color:var(--accent);color:var(--accent)}
.nav a.btn{border:0;color:var(--accent-ink);padding:6px 12px}
.inline{display:inline}
.linkbtn{border:0;background:none;padding:4px 0;color:var(--muted);font-weight:600}
.squadpick{display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:14px;color:var(--muted)}
.flash{margin:0;padding:10px 14px;border-radius:8px;font-weight:600;font-size:14px}
.flash.ok{background:var(--ok-bg);color:var(--ok)}
.flash.err{background:var(--bad-bg);color:var(--bad)}
.flash.info{background:var(--nd-bg);color:var(--ink)}

/* stamp + titles */
.pagehead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px}
.pagehead h1{margin:0;font-family:var(--display);font-size:32px;text-transform:uppercase;letter-spacing:.03em;line-height:1}
.stamp{font-family:var(--mono);font-size:12px;color:var(--muted);display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.stamp .btn{font-family:var(--body);margin-top:4px}
.stamp b{font-family:var(--display);font-size:20px;color:var(--ink);letter-spacing:.02em}
.sub{margin:0;color:var(--muted);max-width:70ch}

/* alert */
.alert{border:1px solid var(--bad);background:var(--surface);overflow:hidden}
.alert-head{background:var(--bad);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px}
:root:not([data-theme="light"]) .alert-head{color:#1A0706}
.alert-head h2{margin:0;font-family:var(--display);letter-spacing:.05em;text-transform:uppercase}
.alert-head .count{font-family:var(--mono);font-size:12px;background:rgba(255,255,255,.2);border-radius:999px;padding:2px 10px}
.alert.calm{border-color:var(--line)}
.alert.calm .alert-head{background:var(--ok-bg);color:var(--ok)}
.alert-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}
.alert-item:first-of-type{border-top:0}
.alert-item .txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.alert-item a:not(.ntitle):not(.nopen){font-size:13.5px;font-weight:600}
.alert-empty{margin:0;padding:12px 14px;color:var(--muted);font-size:14px}
.rientro{font-size:13px;font-weight:600;color:var(--bad)}

/* summary */
.summary{display:grid;grid-template-columns:repeat(4,1fr)}
.sum{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--ink)}
.sum[aria-current="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.sum .n{font-family:var(--display);font-size:34px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums}
.sum .l{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
.sum.ok .n{color:var(--ok)} .sum.warn .n{color:var(--warn)} .sum.bad .n{color:var(--bad)} .sum.nd .n{color:var(--nd)}
@media (max-width:560px){.summary{grid-template-columns:repeat(2,1fr)}}

/* toolbar */
.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 14px;font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--ink)}
.chip[aria-current="true"],.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.search{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 12px;width:240px;max-width:100%}

/* roles */
.role{flex:none;width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;color:var(--role-ink);font-family:var(--display);font-weight:700;font-size:17px;line-height:1}
.role.sm{width:20px;height:20px;font-size:12px}
/* ruoli Mantra: al posto del cerchietto, la pillola con i ruoli (Dc/Ds, M/C, T, Pc...) colorata per reparto */
.mrole{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 7px;border-radius:999px;font-family:var(--display);font-weight:700;font-size:14px;line-height:1;white-space:nowrap;letter-spacing:.01em}
.mrole.sm{min-width:20px;height:20px;padding:0 6px;font-size:11.5px}
.mtags{display:inline-flex;gap:3px;flex-wrap:wrap}
.mtag{font-family:var(--mono);font-weight:500;border:1px solid var(--line);border-radius:4px;padding:0 5px;color:var(--muted);background:var(--surface-2)}

/* news cards */
.group{display:flex;flex-direction:column}
.group h2{margin:0;display:flex;align-items:center;font-family:var(--display);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.group h2 small{font-family:var(--mono);font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0;text-transform:none}
.cards{display:flex;flex-direction:column}
.card{display:grid;grid-template-columns:6px 1fr;border-top:1px solid var(--line)}
.card .stripe{background:var(--nd)}
.card.ok .stripe{background:var(--ok)} .card.warn .stripe{background:var(--warn)} .card.bad .stripe{background:var(--bad)}
.card .body{padding:12px 14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.row1{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap}
.pname{font-weight:700;font-size:16px}
.team{color:var(--muted);font-size:13px}
.team b{color:var(--ink);font-weight:600}
.pill{margin-left:auto;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:999px;white-space:nowrap}
.pill.ok{background:var(--ok-bg);color:var(--ok)} .pill.warn{background:var(--warn-bg);color:var(--warn)} .pill.bad{background:var(--bad-bg);color:var(--bad)} .pill.nd{background:var(--nd-bg);color:var(--nd)}
.sintesi{margin:0;max-width:75ch}
.sintesi.empty{color:var(--muted);font-style:italic}
.meta{color:var(--muted)}
.cardfoot{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}
.meta.why{flex-basis:100%;order:-1}
details.more summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--accent);list-style:none;display:inline-flex;align-items:center;gap:6px}
details.more summary::-webkit-details-marker{display:none}
details.more summary::before{content:"▸";font-size:11px;transition:transform .15s}
details.more[open] summary::before{transform:rotate(90deg)}
.news{display:flex;flex-direction:column;gap:3px;max-width:78ch;border-left:3px solid var(--line);padding-left:12px}
.news .ntitle{font-weight:700;color:var(--ink);text-decoration:none;line-height:1.35}
.news .ntitle:hover{color:var(--accent);text-decoration:underline}
.ndesc{margin:2px 0 0;font-size:14px;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:2;line-clamp:2}
.ndesc.pending{font-style:italic;font-size:13px}
.newslist{display:flex;flex-direction:column;gap:14px;margin-top:10px}
.alert-item .news{margin-top:2px}
.override{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}
.override input[type=text]{flex:1 1 180px}

/* panels & forms */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}
.panel h2,.panel h3{margin:0;font-family:var(--display);font-size:24px;letter-spacing:.03em;text-transform:uppercase}
.controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
select,.input,input[type=text],input[type=email],input[type=password],input[type=search],input[type=file]{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 10px;min-width:0;max-width:100%}
textarea{width:100%;min-height:140px;font-family:var(--mono);font-size:13px;resize:vertical}
.btn{display:inline-block;border:0;background:var(--accent);color:var(--accent-ink);font-weight:700;border-radius:8px;padding:9px 16px;text-decoration:none;line-height:1.3}
.btn.small{padding:6px 12px;font-size:13px}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.danger{background:var(--bad);color:#fff}
.btn:disabled{opacity:.55;cursor:default}
.field{display:flex;flex-direction:column;gap:4px}
.field label{font-weight:600;font-size:14px}
.field .hint{font-size:12.5px;color:var(--muted)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:620px){.grid2{grid-template-columns:1fr}}
.auth{max-width:440px;width:100%;margin:12px auto 0}
.auth .input,.auth input{width:100%}
.msg{font-size:14px;color:var(--muted)}
.err{color:var(--bad)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.seg a,.seg button{border:0;background:var(--surface);padding:8px 14px;font-weight:700;font-size:14px;text-decoration:none;color:var(--ink)}
.seg [aria-current="true"]{background:var(--ink);color:var(--bg)}

/* rosa */
.x{border:0;background:transparent;color:var(--muted);font-size:13px;padding:2px 6px;border-radius:6px}
.x.confirm{background:var(--bad);color:#fff;font-weight:700}
.addplayer{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1.3fr) minmax(0,1.3fr) minmax(0,1fr) auto;gap:10px;align-items:end}
.addplayer .field input,.addplayer .field select{width:100%}
.addplayer .ap-status{grid-column:1/-1;margin:0}
.addplayer.locked select,.addplayer.locked #ap-mantra{background:var(--surface-2);color:var(--ink);border-color:var(--line)}
.addplayer .ap-status b{color:var(--accent)}
@media (max-width:760px){.addplayer{grid-template-columns:1fr 1fr}.addplayer .ac{grid-column:1/-1}}
.ac{position:relative;flex:1 1 260px}
.ac input{width:100%}
.ac-list{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--line);border-radius:8px;list-style:none;margin:0;padding:4px;max-height:300px;overflow:auto;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.ac-list li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:14px}
.ac-list li[aria-selected="true"],.ac-list li:hover{background:var(--surface-2)}
.ac-list .q{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--muted)}

/* formazione */
.pitch{border-radius:12px;background:var(--accent-soft);padding:16px 12px;display:flex;flex-direction:column;gap:12px;position:relative}
.line{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.slot{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 10px;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px}
.slot .sl{font-family:var(--mono);color:var(--muted);font-weight:500}
.slot.empty{border-style:dashed;color:var(--muted);font-weight:500}
.slot.warn{border-color:var(--warn)}
.bench{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px}
.lbl{font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--muted)}
.notes{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:14px;max-width:80ch}

/* tabelle admin */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{padding:8px 10px;border-top:1px solid var(--line);text-align:left;vertical-align:top}
thead th{border-top:0;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--surface-2)}
td.num{font-variant-numeric:tabular-nums;text-align:right}
code,.code{font-family:var(--mono);font-size:12.5px;background:var(--surface-2);padding:2px 6px;border-radius:4px;word-break:break-all}

/* landing */
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center;padding-block:12px}
.hero h1{font-family:var(--display);font-size:52px;line-height:.95;margin:0 0 12px;text-transform:uppercase}
.hero p{margin:0 0 16px;max-width:52ch;color:var(--muted);font-size:16px}
@media (max-width:760px){.hero{grid-template-columns:1fr}.hero h1{font-size:40px}}
.demo{display:flex;flex-direction:column;gap:8px}
.foot{font-size:13px;color:var(--muted);max-width:80ch;border-top:1px solid var(--line);padding-top:14px}
.foot p{margin:0}
.empty-state{background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.empty-state h2{margin:0;font-family:var(--display);font-size:28px;text-transform:uppercase}
.empty-state p{margin:0;color:var(--muted);max-width:65ch}
.rvuota{border-style:solid;box-shadow:inset 3px 0 0 var(--accent)}
.rvuota .dkicker{margin-bottom:-6px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* PRO */
.probadge{display:inline-block;font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.08em;line-height:1;padding:4px 7px 3px;border-radius:5px;background:var(--r-p);color:#1B1300;vertical-align:middle}
.probadge.trial{background:transparent;color:var(--r-p);box-shadow:inset 0 0 0 1.5px var(--r-p)}
.nav a.gopro{color:var(--r-p)}
.proteaser{border:1px dashed var(--r-p);border-radius:12px;padding:16px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:var(--surface)}
.proteaser p{margin:0;flex:1 1 220px}
.proform{display:flex;gap:6px;align-items:center;margin-top:6px}
.proform input[type=date]{padding:5px 8px;font-size:13px}
.ndesc.short{-webkit-line-clamp:2;line-clamp:2}
.foot{display:flex;flex-direction:column;gap:6px}
.slot .sn{display:inline-flex;flex-direction:column;line-height:1.15}
.slot .xs{font-family:var(--mono);color:var(--muted);font-weight:500}
.slot .xs abbr{text-decoration:none;color:var(--warn)}
table.stats .pill{margin-left:6px;font-size:10px;padding:2px 7px}
.meta.cup{color:var(--warn)}
details.panel>summary{font-family:var(--display);font-size:22px;text-transform:uppercase;letter-spacing:.03em;font-weight:700;cursor:pointer}
.legal{max-width:780px}
.legal h1{margin:0;font-family:var(--display);font-size:32px;text-transform:uppercase}
.legal h2{font-size:18px;text-transform:none;letter-spacing:0;font-family:var(--body);margin-top:6px}
.legal p,.legal li{max-width:70ch}
.subrules{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0;display:flex;flex-direction:column;gap:10px}
.subrules legend{font-weight:700;font-size:14px;padding:0 4px}
.lbl2{font-weight:600;font-size:14px}
.radios{display:flex;flex-direction:column;gap:6px}
.radio{font-size:14px}
.radio .hint{color:var(--muted);font-size:12.5px}
.bench .slot .pin{font-family:var(--mono);font-size:10.5px;color:var(--muted);font-weight:500}
.radio .hint{font-weight:400}
.auth input[type=radio],.auth input[type=checkbox]{width:auto}
.radio{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:baseline}
.subrules > .hint{font-size:12.5px;color:var(--muted)}

/* partite della settimana */
.matches h2{font-size:22px}
.mlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:0 24px}
@media (max-width:460px){.mlist{grid-template-columns:1fr}}
.mteam{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mlist.cups .mrow{grid-template-columns:118px 1fr 48px 1fr}
.mday{grid-column:1/-1;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:8px 0 2px;border-bottom:1px solid var(--line)}
.mrow{display:grid;align-items:center;gap:6px;font-size:14px}

.mtime{font-family:var(--mono);font-size:12px;color:var(--muted)}
.mteam.home{text-align:right}
.mteam.mine{font-weight:700}
.mscore{text-align:center;font-family:var(--display);font-weight:700;font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap}
.mcount{display:inline-flex;align-items:center;gap:2px;height:18px;padding:0 5px;border-radius:9px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font-size:11px;font-weight:700;font-family:var(--sans,inherit);vertical-align:middle}
.comp{font-family:var(--mono);font-size:11px;border:1px solid var(--line);border-radius:4px;padding:1px 5px;color:var(--warn)}
@media (max-width:420px){.mrow{font-size:13px}}

/* pagina diagnosi */
.diag{display:flex;flex-direction:column;gap:12px}
.diag h2{margin:0}
.diag-search{display:flex;gap:8px;flex-wrap:wrap}
.diag-search input{flex:1 1 220px}
.diag-sum{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;align-items:center}
.diag-sum dt{font-weight:600;font-size:13px;color:var(--muted)}
.diag-sum dd{margin:0;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;min-width:0}
.diag .pill{margin-left:0}
.diag-art{display:flex;flex-direction:column;gap:4px;border-left:3px solid var(--line);padding:4px 0 4px 12px;min-width:0}
.diag-top{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}
.diag-top a{font-weight:700;color:var(--ink);line-height:1.35;flex:1 1 240px;min-width:0}
.diag-art p{margin:2px 0 0;font-size:14px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.diag-art .meta.why{order:0}
.alert-item details.more{margin-top:4px}
@media (max-width:560px){.diag-sum{grid-template-columns:1fr}.diag-sum dt{margin-top:6px}}

/* ---------- telefono: vista compatta ---------- */
.nopen{display:none}
.row1 .who{display:contents}
@media (max-width:640px){
  /* notizie: solo il titolo, tocco per aprire */
  .news{gap:2px;padding-left:10px}
  .news .ntitle{font-size:14.5px;display:flex;gap:6px;align-items:baseline;cursor:pointer}
  .news .ntitle::before{content:"▸";font-size:11px;color:var(--accent);flex:none;transition:transform .15s}
  .news.open .ntitle::before{transform:rotate(90deg)}
  .news .meta{font-size:10.5px}
  .news .ndesc{display:none}
  .news.open .ndesc{display:-webkit-box;font-size:13.5px}
  .news.open .ndesc.pending{display:none}
  .news.open .nopen{display:inline-block;font-size:13px;font-weight:600;margin-top:2px}
  .newslist{gap:10px}
  /* schede giocatore */
  .card .body{gap:5px}
  .row1{flex-wrap:nowrap;align-items:flex-start}
  .row1 .who{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;flex:1;min-width:0}
  .pname{font-size:15px}
  .team{flex-basis:100%;font-size:12px}
  .pill{font-size:10.5px;padding:2px 8px;margin-top:1px}
  .sintesi{font-size:13.5px}
  .sintesi.empty{font-size:12.5px}
  .rientro{font-size:12.5px}
  .cardfoot{gap:4px 14px}
  .cardfoot .meta.checked{display:none}
  .cardfoot .meta.why{display:none}
  .card:has(.news.open) .meta.why{display:block;font-size:10.5px}
  details.more summary{font-size:12.5px}
  .alert-item{gap:8px}
  .alert-item .row1 .pill{margin-left:auto}

  /* formazione in colonna, dalla porta all'attacco */
  .pitch{flex-direction:column-reverse;background:none;padding:0;gap:10px}
  .line{flex-direction:column;flex-wrap:nowrap;gap:4px}
  .line[data-label]:not([data-label=""])::before{content:attr(data-label);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--muted);margin-top:2px}
  .pitch .slot,.bench .slot{display:flex;width:100%;box-sizing:border-box;padding:8px 10px;gap:10px}
  .pitch .slot .sn,.bench .slot .sn{flex:1;flex-direction:row;justify-content:space-between;align-items:baseline;gap:8px;min-width:0;font-size:14.5px}
  .slot .xs{white-space:nowrap}
  .pitch .slot .sl{order:3;min-width:34px;text-align:right}
  .bench{flex-direction:column;align-items:stretch;gap:4px}
  .bench .lbl{margin:8px 0 2px}
  .bench .slot .sl{min-width:14px}
}

/* dettaglio statistico: una scheda per giocatore (desktop: griglia di schede, telefono: una colonna) */
.statswrap{overflow:visible;border:0;background:none}
table.stats,table.stats tbody{display:block}
table.stats thead{display:none}
table.stats tbody{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:10px}
table.stats tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:10px 12px;align-content:start}
table.stats td{display:block;border:0;padding:0;white-space:normal;text-align:left;font-size:13px;line-height:1.3;min-width:0}
table.stats td[data-label]::before{content:attr(data-label);display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
table.stats td.who{grid-column:1/3;grid-row:1;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
table.stats td.who .sn{font-size:14.5px}
table.stats td.who .pill{margin-left:0;font-size:9.5px;padding:1px 6px}
table.stats td.xpt{grid-column:3;grid-row:1;text-align:right}
table.stats td.xpt::before{display:inline!important;margin-right:4px}
table.stats td.xpt b{font-size:17px;color:var(--accent)}
table.stats .meta{font-size:10px;line-height:1.25}
@media (max-width:640px){table.stats tbody{grid-template-columns:1fr;gap:6px}table.stats tr{padding:8px 10px}}

/* menu utente (iniziale del nome): computer e telefono */
.usermenu{position:relative;align-self:flex-end;margin-bottom:-2px}
.usermenu summary{list-style:none;cursor:pointer;display:block}
.usermenu summary::-webkit-details-marker{display:none}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:18px;line-height:1}
.usermenu summary:hover .avatar{filter:brightness(1.1)}
.usermenu[open] .avatar,.usermenu summary.cur .avatar{box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--accent)}
.umenu{position:absolute;right:0;top:46px;z-index:20;min-width:210px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:4px;display:flex;flex-direction:column}
.umenu .uname{padding:10px 12px 8px;font-weight:700;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.umenu a,.umenu .linkbtn{display:block;width:100%;text-align:left;padding:10px 12px;border-radius:6px;color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}
.umenu a[aria-current="page"]{color:var(--accent)}
.umenu a:hover,.umenu .linkbtn:hover{background:var(--surface-2)}
.umenu form{margin:0;border-top:1px solid var(--line);margin-top:2px;padding-top:2px}
.top .nav{margin-left:auto}
@media (max-width:640px){
  .top{position:relative;padding-block:14px 10px;gap:10px}
  .brand{padding-right:48px}
  .logo{font-size:32px}
  .brand .tag{display:none}
  .nav{width:100%;gap:4px 18px;font-size:15px;margin-left:0}
  .usermenu{position:absolute;top:10px;right:0;margin:0}
  .umenu{top:44px}
}

/* schede giocatore staccate l'una dall'altra */
.cards{border:0;background:none;border-radius:0;overflow:visible;gap:8px}
.card{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.card:first-child{border-top:1px solid var(--line)}
.card .stripe{width:6px}
.card .pname{font-size:16.5px}
.alert-item{border-top:2px solid var(--line)}
@media (max-width:640px){
  .cards{gap:10px}
  .card .body{padding:10px 12px 8px}
  .card .row1{padding-bottom:6px;border-bottom:1px dashed var(--line)}
}

/* filtro ruoli da telefono: solo l'icona */
@media (max-width:640px){
  .toolbar .chips{flex-wrap:nowrap;gap:8px;align-items:center}
  .toolbar .chip .clabel{display:none}
  .toolbar .chip{padding:5px;min-height:40px;justify-content:center}
  .toolbar .chips .chip:first-child{padding:5px 14px}
  .toolbar .chip .role.sm{width:28px;height:28px;font-size:16px}
  .toolbar .chip[aria-current="true"] .role{box-shadow:0 0 0 2px var(--bg)}
}

/* admin: utenti registrati come schede */
.uname2{font-weight:700;font-size:16px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.uname2 .pill{margin-left:0;font-size:10px;padding:1px 7px}
.uemail{color:var(--muted);font-size:13.5px;overflow-wrap:anywhere}
.ubtns{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
@media (max-width:640px){

  /* altre tabelle dell'admin: una scheda per riga */
  .tablewrap:has(table.mcards){overflow:visible;border:0;background:none}
  table.mcards,table.mcards tbody{display:block}
  table.mcards thead{display:none}
  table.mcards tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:10px 12px;margin-bottom:8px}
  table.mcards td{display:block;border:0;padding:0;white-space:normal!important;text-align:left;font-size:13.5px;min-width:0;overflow-wrap:anywhere}
  table.mcards td[data-label]::before{content:attr(data-label);display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
  table.mcards td.empty{display:none}
  table.mcards td.mtitle{grid-column:1/-1;font-weight:700}
  table.mcards td:last-child:not([data-label]){grid-column:1/-1}
  table.mcards td .code{word-break:break-all}
  table.mcards .pill{white-space:normal;margin-left:0}
}
.grid2>*{min-width:0}
@media (max-width:620px){.grid2{grid-template-columns:minmax(0,1fr)}}
/* dashboard: giornata, aggiornamento e pulsante allineati a destra anche quando vanno sotto il nome della rosa */
.pagehead .stamp{margin-left:auto}
@media (max-width:640px){.pagehead .stamp{width:100%}}
.pagehead h1{overflow-wrap:anywhere;min-width:0}

/* sostituzioni dalla panchina: nomi delle modalità e descrizioni in colonne allineate */
.subrules .radio{display:grid;grid-template-columns:auto 8.2em minmax(0,1fr);column-gap:10px;align-items:baseline}
.subrules .radio input{align-self:start;margin:3px 0 0}
.subrules .radio b{white-space:nowrap}
@media (max-width:520px){
  .subrules .radio{grid-template-columns:auto minmax(0,1fr);row-gap:2px}
  .subrules .radio .hint{grid-column:2}
}

/* modificatori della lega (pagina Rosa) */
.modrules{border:1px solid var(--line);border-radius:10px;padding:10px 14px 12px;display:flex;flex-direction:column;gap:8px;min-width:0}
.modrules legend{font-weight:700;padding:0 6px}
.modrules .hint{color:var(--muted);font-size:12.5px}
.modrules .modrow{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:1px;align-items:baseline}
.modrules .modrow input{align-self:start;margin:3px 0 0;width:auto}
.modrules .modrow .hint{grid-column:2;font-weight:400}
.modgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;margin-top:4px}
.modcell{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;padding:4px 6px;font-family:var(--mono);font-size:12.5px}
.modcell[hidden]{display:none}
.modcell span{flex:1}
.modcell input{width:58px;padding:4px 6px;text-align:right}

/* modificatori nella formazione consigliata */
.modrules textarea.fasce{min-height:0;font-family:var(--mono);font-size:13px;resize:vertical}

/* versione Free: 11 giocatori seguiti al giorno */
.freenote{border:1px solid var(--r-p);background:color-mix(in srgb,var(--r-p) 10%,var(--surface));border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:6px}
.freenote p{margin:0}
.card.locked .body>*:not(.row1):not(.cardfoot):not(.locked){opacity:.6}
.card.locked .stripe{background:var(--line)}
.sintesi.locked a{font-style:normal;font-weight:600}

/* formazione Free: titolari coperti */
.slot.masked{border-style:dashed;color:var(--muted)}
.slot.masked .hid{letter-spacing:.1em;filter:blur(1.5px);user-select:none}
.slot.masked .xs{color:var(--r-p)}

/* pagina Novità */
.changelog h2{margin:0 0 8px}
.changelog ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.changelog li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:baseline;font-size:14.5px;line-height:1.45}
.ctag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:999px;text-align:center}
.ctag.nuovo{background:var(--ok-bg);color:var(--ok)}
.ctag.migliorato{background:var(--nd-bg);color:var(--ink)}
.ctag.corretto{background:var(--warn-bg);color:var(--warn)}
@media (max-width:520px){.changelog li{grid-template-columns:1fr;gap:2px}.ctag{justify-self:start}}

/* segnala errore */
.reportform{flex-direction:column;align-items:stretch;gap:6px;max-width:560px}
.reportform .hint{margin:0;color:var(--muted);font-size:12.5px}
.reportform .btn{align-self:flex-start}
details.report summary{color:var(--muted)}

/* admin: segnalazioni */
.seglist{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:10px}
.segcard{border:1px solid var(--line);border-left:4px solid var(--r-p);border-radius:10px;background:var(--surface);padding:10px 14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.segcard.done{border-left-color:var(--line);opacity:.75}
.seghead{display:flex;justify-content:space-between;align-items:center;gap:6px 10px;flex-wrap:wrap}
.segstati{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.segstati .pill{margin-left:0;font-size:10px;padding:2px 7px}
.segtitle{font-weight:700;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.segtitle:hover{text-decoration:underline;color:var(--accent)}
.segnota{margin:0;font-style:italic}
.segtesto{margin:6px 0 0;font-size:13px;color:var(--muted);line-height:1.45;overflow-wrap:anywhere}
.segcard .meta.why{order:0}
@media (max-width:640px){.seglist{grid-template-columns:1fr}}
.reportform input[type=text],.reportform select{flex:none}

/* filtri attivi (dashboard) */
.activefilter{margin:0;flex-basis:100%;order:3;font-size:14px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.activefilter a{font-weight:600}

/* pagina PRO da telefono: confronto a schede */

/* avviso: stato ricostruito in automatico */
.tgsteps{margin:4px 0 8px;display:flex;flex-direction:column;gap:6px}.tgsteps li{font-size:14px}

/* pagina PRO: confronto Free / PRO */
table.plans{width:100%;border-collapse:separate;border-spacing:0}
table.plans th,table.plans td{padding:12px 16px;border-top:1px solid var(--line);vertical-align:middle}
table.plans thead th{border-top:0;background:var(--surface-2);text-transform:none;letter-spacing:0;color:var(--ink);font-size:14px}
table.plans .proc{text-align:center;width:26%}
table.plans .plan{display:block;font-family:var(--display);font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
table.plans .proc{background:color-mix(in srgb,var(--r-p) 7%,var(--surface))}
table.plans td.feat{display:flex;gap:12px;align-items:center}
table.plans .fico{flex:none;width:34px;height:34px;border-radius:9px;background:var(--surface-2);display:grid;place-items:center;font-size:17px}
table.plans td.feat b{display:block;font-size:15px}
table.plans td.feat small{display:block;color:var(--muted);font-size:12.5px;margin-top:1px}
table.plans .proc{font-size:14px}
.pv{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;font-weight:700;font-size:14px}
.pv.no{background:var(--nd-bg);color:var(--muted);opacity:.7}
table.plans tfoot td{border-top:1px solid var(--line);padding:14px 16px}
@media (max-width:640px){
  table.plans,table.plans tbody,table.plans tfoot{display:block}
  table.plans thead{display:none}
  table.plans tbody tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;background:var(--surface);margin-bottom:8px;overflow:hidden}
  table.plans td{border:0;padding:8px 12px;width:auto!important;text-align:left!important}
  table.plans td.feat{grid-column:1/-1;padding-top:12px}
  table.plans td.proc{padding-bottom:12px}
  table.plans td[data-label]::before{content:attr(data-label);display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:3px}
  table.plans td.proc[data-label]::before{color:var(--r-p)}
  table.plans tfoot tr{justify-content:flex-end}
  table.plans tfoot td:not(.proc){display:none}
}
.pv.yes{background:var(--ok);color:var(--accent-ink)}
@media (max-width:640px){table.plans tfoot tr,table.plans tfoot td{display:block;background:none!important;padding:4px 0}table.plans tfoot .btn{width:100%}}

/* descrizione: 2 righe; PRO: clic per leggerla tutta (da computer) */

/* Alert: etichetta sopra la notizia che ha deciso lo stato */
.aitag{display:inline-block;font-size:11px;font-weight:600;color:var(--accent);margin-left:6px}
.aitag.wait{color:var(--muted);font-style:italic}
.exrow{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line,#E4E9E6);font-size:14px}
.teach form.controls{margin-top:6px}
/* portieri: riquadro a tutta larghezza sotto i numeri */
table.stats td.gkcell{grid-column:1/-1;border-top:1px dashed var(--line);padding-top:7px;margin-top:2px}
.gkhead{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;margin-bottom:5px}
.gkhead b{font-size:14px;color:var(--ink)}
.gkcmp{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gkcmp>div{display:flex;flex-direction:column;background:var(--bg);border-radius:8px;padding:5px 8px;min-width:0}
.gkcmp .gkt{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gkcmp b{font-size:15px;line-height:1.2}
.gkcmp .meta{font-size:10.5px}
/* Admin: menu a sinistra con le sezioni */
.adm{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:start}
.admnav{position:sticky;top:12px;display:flex;flex-direction:column;border:1px solid var(--line)}
.admnav a{display:flex;align-items:center;text-decoration:none;font-weight:500}
.admnav .nbadge{font-size:11px;font-weight:700;border-radius:999px;padding:1px 7px;line-height:1.4}
.admmain{min-width:0}
.admmain .admsez>section:first-child,.admmain .admsez>.summary:first-child{margin-top:0}
.adm.js .admsez{display:none}
@media (max-width:760px){
  .admnav{flex-direction:row;top:0;z-index:5;-webkit-overflow-scrolling:touch}
  .admnav::-webkit-scrollbar{display:none}
  .admnav a{white-space:nowrap}
}
/* finestra a comparsa */
dialog.modal{border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);max-width:520px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
dialog.modal::backdrop{background:rgba(10,20,15,.55)}
dialog.modal h2{margin:0 28px 10px 0;font-family:var(--display);text-transform:uppercase;letter-spacing:.03em;font-size:24px;line-height:1.05}
dialog.modal p{margin:8px 0;line-height:1.5}
dialog.modal .notes{margin:8px 0;padding-left:18px}
dialog.modal .notes li{margin:5px 0}
.modal-x{position:absolute;top:10px;right:10px;margin:0}
.modal-x button{border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer;padding:6px 8px;border-radius:8px}
.modal-x button:hover{background:var(--bg);color:var(--ink)}
dialog.modal{position:fixed}
.helpbtn{display:inline-flex;align-items:center;gap:6px;margin-left:6px;border:1px solid var(--line);background:var(--surface);color:var(--accent);font:inherit;font-size:13px;font-weight:600;border-radius:999px;padding:3px 10px 3px 4px;cursor:pointer;vertical-align:middle}
.helpbtn span{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:700}
.helpbtn:hover{background:var(--bg)}
dl.legend{margin:6px 0 0}
dl.legend dt{font-weight:700;margin-top:10px}
dl.legend dd{margin:2px 0 0;line-height:1.45;color:var(--muted)}
dl.legend dd b{color:var(--ink)}
dialog.modal{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overscroll-behavior:contain}
/* coppa vicina: nota a tutta larghezza in fondo alla scheda */
table.stats td.cupcell{grid-column:1/-1;order:9;font-size:12px;line-height:1.4;color:var(--muted);border-left:3px solid #D9A21B;padding:3px 0 3px 9px;margin-top:2px}
table.stats td.gkcell{order:8}
/* probabili formazioni a confronto: sotto lo stato, a destra */
details.fonti{font-size:12px;text-align:right}
details.fonti summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;color:var(--muted)}
details.fonti summary::-webkit-details-marker{display:none}
details.fonti summary::after{content:"▸";font-size:9px;color:var(--accent);transition:transform .15s}
details.fonti[open] summary::after{transform:rotate(90deg)}
.fbar{display:inline-flex;width:44px;height:6px;border-radius:3px;overflow:hidden;background:var(--line);flex:none}
.fbar i{display:block;height:100%}
.ftxt{font-weight:600;color:var(--ink);white-space:nowrap}
.fb-t{background:#2E9E62}.fb-b{background:#D9A21B}.fb-p{background:#8A9691}.fb-f{background:#C8412F}
details.fonti ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:5px;justify-items:end}
details.fonti li{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3;text-align:right}
details.fonti .flab{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:var(--ink);font-size:11px;text-transform:uppercase;letter-spacing:.03em}
details.fonti .fsrc{color:var(--muted)}
.fdot{width:7px;height:7px;border-radius:50%;flex:none;transform:translateY(-1px)}
details.fonti .fsrc a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:2px}
details.fonti .fsrc a:hover{color:var(--accent);text-decoration-color:currentColor}
/* titolarità nel dettaglio statistico: riga a tutta larghezza */
table.stats td.foncell{grid-column:1/-1;order:7;border-top:1px dashed var(--line);padding-top:7px;margin-top:2px}
table.stats td.foncell details.fonti{text-align:left;font-size:12.5px}
table.stats td.foncell details.fonti ul{justify-items:start;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));width:100%}
table.stats td.foncell details.fonti li{align-items:flex-start;text-align:left}
table.stats td.foncell .fnd{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.meta.bigd{color:#D9A21B}
/* «Chi schiero?» */
.cmpbtn{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:4px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--accent);font-size:12px;line-height:1;cursor:pointer;padding:0;flex:none;vertical-align:middle}
.cmpbtn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.cmpbtn.demo{cursor:default;width:20px;height:20px;font-size:11px}
.cmpform select{flex:1 1 180px;min-width:0}
.cmpform .vs{color:var(--muted);font-weight:600}
.cmpinline{margin-top:12px}
.cmp .verdict{font-size:17px;margin:4px 0 6px;line-height:1.35}
.cmp .verdict b{color:var(--accent)}
.cmp .verdict.tie b{color:#D9A21B}
.cmp .vdiff{display:inline-block;margin-left:6px;font-size:12.5px;font-weight:700;color:#fff;background:var(--accent);border-radius:999px;padding:2px 9px;vertical-align:middle}
.cmp .why{margin:0 0 10px;color:var(--muted);line-height:1.45}
table.cmptab{width:100%;border-collapse:collapse;font-size:13.5px}
table.cmptab th,table.cmptab td{padding:7px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.cmptab thead th{font-size:14px}
table.cmptab thead th .meta{display:block;font-weight:400;font-size:11px}
table.cmptab tbody th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);width:30%}
table.cmptab td.win{background:rgba(46,158,98,.12);font-weight:600}
table.cmptab td.win::after{content:" ✓";color:#2E9E62;font-weight:700}
table.cmptab .cmpnews{font-size:12px;color:var(--muted)}
dialog.cmpdlg{max-width:620px}
.cmp .proteaser{margin-top:10px}
table.cmptab{table-layout:fixed}
table.cmptab th,table.cmptab td{overflow-wrap:anywhere;word-break:normal}
table.cmptab .pill{white-space:normal;display:inline-block;line-height:1.25;font-size:10px}
@media (max-width:640px){
  dialog.cmpdlg{padding:18px 14px 14px}
  table.cmptab{font-size:13px}
  table.cmptab th,table.cmptab td{padding:6px 4px}
  table.cmptab tbody th{width:28%;font-size:10px}
  table.cmptab thead th{font-size:12.5px}
  .cmp .verdict{font-size:16px}
}
/* squalificati: viola, per distinguerli dagli infortunati (rosso) */
.pill.st-squalificato{background:var(--sq-bg);color:var(--sq)}
.card.st-squalificato .stripe{background:var(--sq)}
.st-squalificato .rientro{color:var(--sq)}
/* Admin: calci piazzati */
.pzlist{padding:6px 10px}
.pzteam{border-bottom:1px solid var(--line);padding:8px 4px}
.pzteam:last-child{border-bottom:0}
.pzteam summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.pzteam summary .pill{margin-left:0;font-size:10px;padding:1px 7px}
.pzsum{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:13px;flex-basis:100%}
table.pztab{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:8px}
table.pztab th,table.pztab td{padding:5px 6px;border-bottom:1px solid var(--line);text-align:center}
table.pztab th:first-child,table.pztab td:first-child{text-align:left}
table.pztab input{width:18px;height:18px}
/* calci piazzati: riga in fondo alla scheda, colore dedicato (azzurro petrolio) */
table.stats td.pzcell{grid-column:1/-1;order:6;display:flex;flex-wrap:wrap;align-items:center;gap:5px 6px;font-size:12px}
.pzlab{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-right:2px}
.pztag{font-size:10.5px;font-weight:700;letter-spacing:.02em;padding:1px 8px;border-radius:999px;border:1px solid var(--pz);color:var(--pz);background:var(--pz-bg)}
table.stats td.pzcell .meta{margin-left:2px}
/* Dettaglio statistico: schede tutte alte uguali e sezioni allineate tra giocatori diversi (subgrid) */
table.stats td.vuota{padding:0!important;margin:0!important;border:0!important;min-height:0}
@supports (grid-template-rows:subgrid){
  table.stats tr{grid-row:span 8;grid-template-rows:subgrid;row-gap:6px}
  table.stats td.who,table.stats td.xpt{grid-row:1}
  table.stats td[data-label="Prossima"],table.stats td[data-label="Pv · Mv · Fm"],table.stats td[data-label="Fm stimata"]{grid-row:2}
  table.stats td[data-label="Casa + avv."],table.stats td[data-label="Fv atteso"],table.stats td[data-label="Gioca"]{grid-row:3}
  table.stats td.qcell{grid-row:4}
  table.stats td.foncell{grid-row:5;order:0}
  table.stats td.pzcell{grid-row:6;order:0}
  table.stats td.gkcell{grid-row:7;order:0}
  table.stats td.cupcell{grid-row:8;order:0}
  table.stats tbody{row-gap:10px}
}
table.stats tbody.misura tr>td{align-self:start}
/* Dettaglio statistico: filtri */
.statfilters{display:flex;margin:6px 0 12px}
.statfilters .chip{cursor:pointer;font:inherit;font-size:13px;font-weight:600}
.statfilters .chip .cnt{font-size:11px;opacity:.7;font-weight:700}
.statfilters .chip.st.ok{color:var(--ok)} .statfilters .chip.st.warn{color:var(--warn)} .statfilters .chip.st.bad{color:var(--bad)} .statfilters .chip.st.nd{color:var(--nd)}
.statfilters .chip.st-squalificato{color:var(--sq)}
.statfilters .chip.st[aria-pressed="true"]{color:var(--bg)}
table.stats tr[hidden]{display:none!important}
@media (max-width:640px){
  .statfilters .chips{overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .statfilters .chips::-webkit-scrollbar{display:none}
  .statfilters .chip{flex:none}
  .statfilters .chip .clabel{display:none}
  .statfilters .chip[data-fr]{padding:5px 8px}
}
/* filtri a sole icone */
.statfilters .chip.ico{padding:4px 8px;gap:4px}
.statfilters .chip.ico .role{margin:0}
.statfilters .sico{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:13px;font-weight:800;line-height:1;color:#fff;background:currentColor}
.statfilters .chip.st.ok .sico{background:var(--ok)} .statfilters .chip.st.warn .sico{background:var(--warn)} .statfilters .chip.st.bad .sico{background:var(--bad)} .statfilters .chip.st.nd .sico{background:var(--nd)}
.statfilters .chip.st.bad.st-squalificato .sico{background:var(--sq)}
.statfilters .chip.st .sico{color:var(--surface)}
/* cartellino per gli squalificati */
.statfilters .chip.st-squalificato .sico{border-radius:4px;width:15px;height:20px;transform:rotate(8deg)}
.statfilters .chip.st .cnt{color:var(--muted);opacity:1}
.statfilters .chip.st[aria-pressed="true"] .cnt{color:var(--bg)}
/* filtri: ruoli e situazioni su una sola riga (da telefono scorre di lato) */
.statfilters{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 10px}
.statfilters .chips{flex-wrap:nowrap}
.statfilters .chips+.chips{padding-left:10px;border-left:1px solid var(--line)}
.statfilters .sfempty{flex-basis:100%;margin:0}
@media (max-width:760px){
  /* da telefono: ruoli su una riga, situazioni sulla riga sotto, senza scorrere di lato */
  .statfilters{flex-direction:column;align-items:flex-start;gap:6px}
  .statfilters .chips{flex-wrap:wrap;overflow:visible;gap:6px}
  .statfilters .chips+.chips{padding-left:0;border-left:0}
  .statfilters .chip.ico{padding:3px 6px}
  .statfilters .chip{padding:4px 10px;font-size:12.5px}
  .statfilters .sico{width:20px;height:20px;font-size:12px}
}

/* App installabile: invito sul telefono, pulsante nel menu, istruzioni iPhone */
.installbar{display:flex;align-items:center;gap:12px;margin-top:14px;padding:10px 10px 10px 12px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px}
.installbar[hidden],[data-install][hidden]{display:none}
.installbar img{flex:none;border-radius:9px}
.installbar p{flex:1;margin:0;display:flex;flex-direction:column;font-size:13px;line-height:1.35;color:var(--muted)}
.installbar p b{color:var(--ink);font-size:14px}
.installbar .btn{flex:none}
.installx{flex:none;border:0;background:none;color:var(--muted);font-size:16px;line-height:1;padding:8px 4px;cursor:pointer}
.footinstall .linkbtn{padding:0;font:inherit;font-weight:400;color:var(--accent);cursor:pointer;text-decoration:underline}
.iossteps li{margin:8px 0}
.ioshare{width:18px;height:18px;vertical-align:-3px;color:var(--accent)}

/* Notifiche push in Account */
.pushbox{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:4px 0 12px;background:var(--surface-2)}
.pushbox .pushhead{margin:0 0 2px}
.pushbox .pushstate{margin:0 0 8px}
.pushbox .pushstate.ok{color:var(--accent);font-weight:600}
.pushbox .pushstate.err{color:#B42318}
.pushbox .pushbtns{margin:0;gap:8px;flex-wrap:wrap}
.pushbox .pushbtns [hidden]{display:none}
.pushbox .pushdevs{margin:8px 0 0;font-size:13px}
:root:not([data-theme="light"]) .pushbox .pushstate.err{color:#F97066}

/* Admin › Manutenzione */
.sorvok{margin:0 0 10px;font-weight:600;color:var(--accent)}
.sorvlist li,.sorvko li{color:#B42318;font-weight:600}
:root:not([data-theme="light"]) .sorvlist li,:root:not([data-theme="light"]) .sorvko li{color:#F97066}:root:not([data-theme="light"]) .sorvko{border-left-color:#F97066}
.bktab{width:100%;border-collapse:collapse;margin:12px 0;font-size:14px}
.bktab th,.bktab td{text-align:left;padding:7px 6px;border-bottom:1px solid var(--line)}
.bktab th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.bkact{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}

/* Pagina iniziale: funzioni, come funziona, domande frequenti */
.land{margin-top:36px}
.land h2{font-family:var(--display);text-transform:uppercase;font-size:30px;line-height:1;margin:0 0 16px;letter-spacing:.01em}
.landgrid{display:grid;gap:14px}
.landgrid article{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;border-top:3px solid var(--accent)}
.landgrid h3{margin:0 0 6px;font-size:17px;line-height:1.25}
.landgrid p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.5}
@media (max-width:600px){.land h2{font-size:26px}}
.landsteps{counter-reset:st;list-style:none;padding:0;margin:0 0 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.landsteps li{counter-increment:st;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px 14px 56px;position:relative;color:var(--muted);line-height:1.45}
.landsteps li::before{content:counter(st);position:absolute;left:14px;top:12px;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-family:var(--display);font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center}
.landsteps li b{color:var(--ink)}
@media (max-width:760px){.landsteps{grid-template-columns:1fr}}
.faq{display:flex;flex-direction:column;gap:8px;max-width:820px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 16px}
.faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent);font-size:20px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{margin:8px 0 0;color:var(--muted);line-height:1.55}

/* Stato verificato dall'Admin (vale per tutti) */
.aitag.adm{color:var(--accent)}
.tuttiopt{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink);flex-basis:100%}
.admstform select,.admstform input{min-width:160px;flex:1}

/* Probabilità delle partite (dal mercato): 1 blu, X grigio, 2 arancio (validati per daltonismo e contrasto su entrambi i temi).
   Ogni percentuale sta sotto la sua squadra; la barra sottile sotto è esattamente proporzionale. Il testo usa i colori del testo, non quelli delle barre. */
:root{--q1:#3767B8;--qx:#A3ACA7;--q2:#B8620F;--mrow-sep:var(--line);--mine-ring:rgba(14,107,69,.28)}
:root:not([data-theme="light"]){--q1:#6A93DD;--qx:#5F6B65;--q2:#C97C2E;--mrow-sep:#3A4A41;--mine-ring:rgba(68,194,134,.38)}
/* tutte le partite uguali: nessun riquadro; quelle con i tuoi giocatori si riconoscono da nome in grassetto e numero */
.mrow{border:0;border-bottom:1px dashed var(--mrow-sep);border-radius:0;margin:0;padding:8px 4px}
.mrow .mprob{grid-column:2/-1;display:grid;column-gap:6px;row-gap:3px;margin:2px 0 1px;font-size:12px;line-height:1.2;color:var(--muted);font-variant-numeric:tabular-nums}
.mprob .qt{white-space:nowrap;display:flex;align-items:center;gap:4px}
.mprob .qt.q1{justify-content:flex-end}
.mprob .qt.qx{justify-content:center}
.mprob .qt.q2{justify-content:flex-start}
.mprob .qt b{font-weight:600}
.mprob .qt.fav{color:var(--ink)}
.mprob .qt.fav b{font-weight:800}
.mprob .qt > i{width:8px;height:8px;border-radius:2px;flex:none}
.mprob .q1 > i,.qbar .q1{background:var(--q1)}
.mprob .qx > i,.qbar .qx{background:var(--qx)}
.mprob .q2 > i,.qbar .q2{background:var(--q2)}
.mprob .qbar{grid-column:1/-1;display:flex;gap:2px;height:6px}
.qbar i{display:block;flex-basis:0;min-width:2px}
.qbar i:first-child{border-radius:3px 0 0 3px}
.qbar i:last-child{border-radius:0 3px 3px 0}
.mlist.cups .mprob{display:none}
/* Pronostico nel dettaglio statistico (punto di vista della squadra del giocatore) */
:root{--qv:#0E6B45;--qn:#C3CBC7;--qp:#56625C}
:root:not([data-theme="light"]){--qv:#44C286;--qn:#46524C;--qp:#A5B1AB}
.qbox{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;font-size:12.5px;line-height:1.3;color:var(--muted)}
.qbox .qvals{display:flex;flex-wrap:wrap;gap:2px 12px}
.qbox .qv{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.qbox .qv b{color:var(--ink)}
.qbox .qvals i{display:inline-block;width:9px;height:9px;border-radius:2px}
.qbox .v{background:var(--qv)} .qbox .n{background:var(--qn)} .qbox .p{background:var(--qp)}
.qbar2{grid-column:1/-1;display:flex;gap:2px;height:7px}
.qbar2 i{display:block;flex-basis:0;min-width:2px}
.qbar2 i:first-child{border-radius:4px 0 0 4px} .qbar2 i:last-child{border-radius:0 4px 4px 0}
.qbox .qgol{text-align:right;white-space:nowrap}
@media (max-width:520px){.qbox{grid-template-columns:1fr}.qbox .qgol{text-align:left}}
table.stats td.qcell{grid-column:1/-1;order:5;border-top:1px dashed var(--line);padding-top:7px;margin-top:2px}
.qbox .qgol b{color:var(--ink)}

/* ============ Pagina News: layout a cruscotto ============ */
.wrap:has(.dlayout){max-width:1200px}
.dhead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 24px}
.dtitle{display:flex;flex-direction:column;gap:2px;min-width:0}
.dkicker{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.dtitle h1{margin:0;font-family:var(--display);font-size:42px;line-height:.92;text-transform:uppercase;letter-spacing:.02em;overflow-wrap:anywhere}
.dstamp{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px 14px}
.dupd{font-size:12.5px;color:var(--muted)}
.dstamp form{margin:0}
/* riepilogo: cruscotto compatto, cliccabile come filtro */
.summary{gap:10px}
.summary .sum{padding:10px 14px;flex-direction:row;gap:10px;border-radius:12px;transition:border-color .15s,box-shadow .15s}
.summary .sum:hover{border-color:var(--muted)}
.summary .sum .n{font-size:30px}
.summary .sum .l{font-size:11.5px;line-height:1.2}
@media (max-width:640px){.summary{grid-template-columns:repeat(2,1fr);gap:8px}.summary .sum{padding:8px 12px}.summary .sum .n{font-size:26px}}
/* due colonne: a sinistra Alert e giocatori, a destra le partite (restano visibili scorrendo) */
.dlayout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.dmain-b{display:flex;flex-direction:column;gap:18px;min-width:0}
@media (min-width:1080px){
  .dlayout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;column-gap:24px}
  .dmain-a{grid-column:1;grid-row:1}
  .dside{grid-column:2;grid-row:1/span 2;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;scrollbar-width:thin}
  .dmain-b{grid-column:1;grid-row:2}
}
.dside .matches,.fside .matches{padding:14px 14px 10px;gap:8px}
.dside .matches .pagehead,.fside .matches .pagehead{flex-direction:column;align-items:flex-start;gap:2px}
.dside .matches h2,.fside .matches h2{font-size:19px}
.dside .matches .pagehead .msg,.fside .matches .pagehead .msg{font-size:12px}
.dside .mlist,.fside .mlist{grid-template-columns:1fr}
.dside .mrow,.fside .mrow{font-size:13.5px;padding:7px 2px}
.dside .mrow .mprob,.fside .mrow .mprob{grid-column:2/-1;grid-template-columns:1fr auto 1fr;column-gap:8px;font-size:11.5px}
.dside .mprob .qt.qx,.fside .mprob .qt.qx{white-space:nowrap}
/* Alert più sobrio */
.alert{border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.alert-head{padding:9px 16px}
.alert-head h2{font-size:21px}
.alert-item{padding:14px 16px}
/* gruppi per ruolo */
.group{gap:8px}
.group h2{font-size:19px;gap:8px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.toolbar{gap:10px 14px}
/* giocatori senza notizie: una riga sola */
.card.compact .body{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:9px 14px}
.card.compact .row1{flex:1 1 280px;min-width:0;padding:0;border:0}
.card.compact .cardfoot{flex:0 1 auto;gap:2px 14px;font-size:12.5px;margin-left:auto}
.card.compact .cardfoot:has(details[open]){flex-basis:100%;margin-left:0}
.card.compact .meta.checked{display:none}
.card.compact .pname{font-size:15.5px}
@media (max-width:640px){
  .card.compact .body{padding:8px 12px}
  .card.compact .row1{flex-basis:100%}
  .card.compact .cardfoot{margin-left:0}
  .card.compact .meta.checked{display:none}
}
/* schede con notizie: un po' più d'aria e piè di pagina più discreto */
.card:not(.compact) .body{padding:12px 16px;gap:8px}
.card:not(.compact) .cardfoot{padding-top:6px;border-top:1px solid var(--line);font-size:13px}


/* ============ Pagina Rosa ============ */
.wrap:has(.rlayout){max-width:1200px}
.rmeta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.rchip{font-size:13px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 12px;background:var(--surface);white-space:nowrap}
.rchip b{color:var(--ink)}
.rsummary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.rtot,.rrole{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:0}
.rrole:hover{border-color:var(--muted)}
.rsummary .n{font-family:var(--display);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.rsummary .l{text-transform:uppercase;color:var(--muted);font-weight:600;line-height:1.2}
.rtot{background:var(--surface-2);border-color:transparent}
@media (max-width:900px){.rsummary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.rsummary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
.rwarn{margin:0;font-size:13.5px;line-height:1.45;padding:8px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);background:color-mix(in srgb,var(--warn) 10%,var(--surface));color:var(--ink)}
.rlayout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.rside{display:flex;flex-direction:column;gap:16px;min-width:0}
@media (min-width:1080px){.rlayout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;column-gap:24px}.rside{position:sticky;top:16px}}
@media (max-width:1079px){.rside{order:-1}}
/* elenco giocatori a tabella */
.rlist{gap:10px}
.rlisthead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.rlisthead h2{margin:0}
.rlisthead .search{max-width:260px}
.rthead,.rrow{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr) 46px 92px;align-items:center;column-gap:12px}
.rthead{padding:0 12px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.rthead span:nth-child(4){text-align:right}
.rgroup{gap:6px}
.rgroup h3{margin:8px 0 0;display:flex;align-items:center;gap:8px;font-family:var(--display);font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.rgroup h3 small{font-family:var(--mono);font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0}
.rtable{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}
.rrow{padding:7px 12px;border-top:1px solid var(--line);font-size:14px;min-height:40px}
.rrow:first-child{border-top:0}
.rrow:hover{background:var(--surface-2)}
.rname{min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rname b{font-weight:600}
.rteam{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rq{text-align:right;font-family:var(--mono);font-size:13px;font-variant-numeric:tabular-nums}
.ract{display:flex;align-items:center;gap:4px;justify-content:flex-end}
.ract form{margin:0}
.ract details.more summary{font-size:12px}
.rrow:has(details[open]:not(.rruolo)) .ract{grid-column:1/-1;justify-content:flex-start;padding-top:6px}
.rdel{border:1px solid transparent;background:none;color:var(--muted);font-size:19px;line-height:1;width:30px;height:30px;border-radius:7px;cursor:pointer;display:grid;place-items:center}
.rdel:hover,.rdel:focus-visible{color:var(--bad);border-color:var(--line);background:var(--surface)}
.rrow.out .rname b,.rrow.out .rteam{color:var(--muted)}
.rtag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn);white-space:nowrap}
.rtag.soft{background:var(--surface-2);color:var(--muted)}
@media (max-width:640px){
  .rthead{display:none}
  .rrow{grid-template-columns:minmax(0,1fr) auto 34px;row-gap:2px;padding:8px 10px}
  .rname{grid-column:1;grid-row:1}
  .rteam{grid-column:1;grid-row:2;font-size:12.5px}
  .rmantra{grid-column:2;grid-row:1/3}
  .rq{display:none}
  .ract{grid-column:3;grid-row:1/3}
  .rlisthead .search{max-width:none;flex:1 1 100%}
}
/* colonna laterale: aggiungi giocatori e rose */
.radd .addplayer{grid-template-columns:1fr 1fr;gap:10px}
.radd .addplayer .ac,.radd .addplayer .rsubmit,.radd .addplayer .ap-status{grid-column:1/-1}
.radd .rsubmit .btn{width:100%}
.radd .ap-status{font-size:12.5px}
.rsquads{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.rsquads li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--line);font-size:14px}
.rsquads li:first-child{border-top:0}
.rsquads li.cur{background:var(--accent-soft)}
.rsquads .meta{font-size:12px}
.rsquads li{flex-wrap:wrap;row-gap:2px}
.rsquads .meta{margin-left:auto}
/* rose condivise */
a.rchip.rshare{display:inline-flex;align-items:center;gap:6px;color:var(--ink);text-decoration:none;font-weight:600}
a.rchip.rshare:hover{border-color:var(--accent)}
.rchip.rshare svg{width:16px;height:16px;color:var(--accent)}
.rshare-p{scroll-margin-top:80px}
.rshare-p .sub{margin:0}
.rmembers{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.rmembers li{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 12px;border-top:1px solid var(--line)}
.rmembers li:first-child{border-top:0}
.rmembers form{margin-left:auto}
.rav{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:800;font-size:13px}
.rmembers .pend .rav{background:var(--surface);color:var(--muted);border:1px dashed var(--line)}
.rmn{display:flex;flex-direction:column;min-width:0;font-size:14px}
.rmn b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rmn .meta{font-size:12px}
.rshareform{display:flex;flex-direction:column;gap:6px}
.rshareform .controls{display:flex;gap:8px;flex-wrap:nowrap}
.rshareform input{flex:1 1 auto;min-width:0}
/* impostazioni della lega */
.rsettings{gap:14px}
.rsethead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px}
.rsethead h2{margin:0}
.rsetgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;align-items:start}
.rsetcol{display:flex;flex-direction:column;gap:12px;min-width:0}
.rsetcol fieldset{margin:0}
@media (max-width:860px){.rsetgrid{grid-template-columns:1fr}}
.rsetfoot{display:flex;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--line)}
.rdanger{margin:-8px 0 0;display:flex;justify-content:flex-end}
.rdanger .linkbtn{color:var(--bad);font-size:13px;font-weight:600;cursor:pointer}
.rdel.confirm{width:auto;padding:0 10px;font-size:12px;font-weight:700;color:#fff;background:var(--bad);border-color:var(--bad)}
/* riepilogo rosa: numero sopra, etichetta sotto, così «Centrocampisti» non esce dal riquadro */
.rsummary .rrole,.rsummary .rtot{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;row-gap:2px;align-items:center;padding:9px 12px}
.rsummary .rrole .role{grid-row:1/3}
.rsummary .rtot .n,.rsummary .rtot .l{grid-column:1/-1}
.rsummary .l{font-size:10.5px;letter-spacing:.05em;min-width:0;overflow-wrap:anywhere}
.rsummary .n{font-size:26px}
.radd .addplayer .rsubmit{margin-top:8px}
.radd .addplayer .ap-status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* «Segnala errore» e «Correggi stato» aperti: restano dentro la scheda anche con titoli di notizia lunghi */
.cardfoot > details,.cardfoot details[open]{min-width:0;max-width:100%}
.cardfoot details[open]{flex-basis:100%}
form.override{min-width:0;max-width:100%;box-sizing:border-box}
form.override select,form.override input[type=text],form.override textarea{min-width:0;max-width:100%;box-sizing:border-box}
form.reportform select,form.reportform input[type=text]{width:100%}
.alert-item .cardfoot,.card .cardfoot{min-width:0;max-width:100%}
#giocatori{scroll-margin-top:12px}

/* ============ Pagina Formazione ============ */
.wrap:has(.flayout){max-width:1200px}
/* pagine con le schede (Formazione in tutte le viste, Mercato): stessa larghezza di News, Rosa e Formazione */
.wrap:has(.ftabs){max-width:1200px}
.fctl{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0}
.fmod{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);font-weight:600}
.fmod select{min-width:0}
.fintro{margin:0 0 0 auto;font-size:13px;color:var(--muted);line-height:1.4;text-align:right}
@media (min-width:1080px){.fintro{white-space:nowrap}}
.fintro b{color:var(--ink)}
.fsummary .ftile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;display:flex;justify-content:center;min-width:0}
.fsummary .rtot,.fsummary .ftile{flex-direction:column;align-items:flex-start;gap:4px}
.fsummary .fbig{background:var(--accent);color:var(--accent-ink)}
.fsummary .fbig .l{color:inherit;opacity:.85}
.fsummary .fwarn .n{color:var(--warn)}
.flayout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.fside{display:flex;flex-direction:column;gap:16px;min-width:0}
@media (min-width:1080px){.flayout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;column-gap:24px}}
.fhead{display:flex;justify-content:space-between;align-items:baseline;gap:4px 12px;flex-wrap:wrap}
.fhead h2{margin:0}
.fhead .helpbtn{margin-left:0}
.fmodbig{font-size:14px;color:var(--muted)}
.fmodbig b{font-family:var(--display);font-size:22px;color:var(--ink);letter-spacing:.02em}
.flegend{margin:0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;font-size:12.5px;color:var(--muted)}
.flegend b{color:var(--ink);font-weight:600}
.flegtip{display:inline-flex;align-items:center;gap:6px}
.flegtip .cmpbtn{margin:0}
.fsub{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;font-family:var(--display);font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.fsub span{font-family:var(--body,inherit);font-size:12.5px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted)}
.fsub span b{color:var(--ink)}
.ffoot{margin:0;font-size:12.5px}
/* campo: strisce d'erba e linee */
@media (min-width:641px){
  .fmain .pitch{--fl:color-mix(in srgb,var(--accent) 22%,transparent);
    background:repeating-linear-gradient(180deg,var(--accent-soft) 0 56px,color-mix(in srgb,var(--accent-soft) 88%,var(--accent)) 56px 112px);
    border:2px solid var(--fl);padding:22px 14px 26px;gap:16px;overflow:hidden;isolation:isolate}
  .fmain .pitch::before{content:"";position:absolute;left:50%;bottom:-2px;width:44%;height:64px;transform:translateX(-50%);border:2px solid var(--fl);border-bottom:0;z-index:-1}
  .fmain .pitch::after{content:"";position:absolute;left:50%;top:-60px;width:120px;height:120px;transform:translateX(-50%);border:2px solid var(--fl);border-radius:50%;z-index:-1}
  .fmain .pitch .line{flex-wrap:nowrap;gap:10px}
  .fmain .pitch .slot{position:relative;flex:0 1 136px;min-width:0;flex-direction:column;justify-content:center;gap:3px;padding:10px 8px 8px;text-align:center;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
  .fmain .pitch .slot .sn{align-items:center;max-width:100%;gap:2px}
  .fmain .pitch .slot .sn > :first-child,.fmain .pitch .slot .sn{overflow:hidden;text-overflow:ellipsis}
  .fmain .pitch .slot .sn{white-space:nowrap;display:flex;font-size:14px}
  .fmain .pitch .slot .xs{font-size:11px}
  .fmain .pitch .slot .cmpbtn{position:absolute;top:5px;right:5px;margin:0;width:20px;height:20px;font-size:11px}
  .fmain .pitch .slot .sl{font-size:10.5px}
  .fmain .pitch .slot.empty{flex-direction:row;background:color-mix(in srgb,var(--surface) 60%,transparent)}
  .fmain .pitch .slot.warn{box-shadow:0 0 0 1px var(--warn)}
}
/* panchina: elenco numerato con barra della probabilità di entrare */
.fbench{display:flex;flex-direction:column;gap:8px}
ol.bench{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
ol.bench .slot{display:grid;grid-template-columns:18px auto minmax(0,1fr) auto;align-items:center;column-gap:8px;row-gap:4px;padding:7px 10px;font-size:13.5px}
ol.bench .slot .sl{text-align:center}
ol.bench .slot .sn{min-width:0;overflow:hidden}
ol.bench .slot .sn{white-space:nowrap;text-overflow:ellipsis}
ol.bench .slot .cmpbtn{grid-column:4;grid-row:1;margin:0}
ol.bench .slot .mtags,ol.bench .slot .mantra{grid-column:3/5}
ol.bench .bpe{grid-column:2/-1;height:3px;border-radius:3px;background:var(--surface-2);overflow:hidden}
ol.bench .bpe i{display:block;height:100%;background:var(--accent);opacity:.7}
@media (max-width:640px){ol.bench{grid-template-columns:1fr}ol.bench .slot{display:grid;width:auto}}
/* colonna laterale */
.fside .panel{padding:16px;gap:10px}
.fside h2{font-size:21px}
.fside .cmpform{display:grid;grid-template-columns:1fr;gap:6px}
.fside .cmpform select{width:100%}
.fside .cmpform .vs{text-align:center;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.fside .cmpform .btn{margin-top:4px}
.fside .sub{font-size:13.5px;margin:0}
.fdl{margin:0;display:flex;flex-direction:column;gap:6px}
.fdl div{display:flex;justify-content:space-between;gap:10px;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:6px}
.fdl dt{color:var(--muted)} .fdl dd{margin:0;font-weight:600;text-align:right}
.fmods{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.fmods li{display:grid;grid-template-columns:1fr auto;gap:0 10px;font-size:14px}
.fmods .v{font-variant-numeric:tabular-nums;font-weight:700}
.fmods .meta{grid-column:1/-1;font-size:12px}
.fdata{margin:0;font-size:12px;color:var(--muted)}
.fstats .fhead{margin-bottom:2px}
@media (max-width:640px){
  .fintro{margin-left:0;flex-basis:100%;text-align:left}
  .fmod{flex:1}.fmod select{flex:1}
  .fsummary .ftile,.fsummary .rtot{padding:8px 12px}
  .flegtip{display:none}
}
.fside .cmptab th{font-size:12.5px;letter-spacing:.02em;overflow-wrap:anywhere;hyphens:auto}
.fside .cmptab th,.fside .cmptab td{padding-left:6px;padding-right:6px}
/* rosa Classic: niente colonna dei ruoli Mantra */
.rlayout:has(.rlist.classic) .ac-list .mtags{display:none}
.mtags.ctag{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:6px}
.ctagn{font-size:13px;font-weight:400;color:var(--muted);text-transform:none;letter-spacing:0;white-space:nowrap}
@media (max-width:640px){.ctagn{display:none}}

/* ============ Pagina PRO ============ */
.wrap:has(.playout){max-width:1200px}
.pchip-on{border-color:color-mix(in srgb,var(--r-p) 60%,transparent);background:color-mix(in srgb,var(--r-p) 14%,var(--surface))}
.plead{margin:0;font-size:16px;line-height:1.5;max-width:72ch;color:var(--ink)}
.playout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.pside{display:flex;flex-direction:column;gap:16px;min-width:0}
@media (min-width:1080px){.playout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;column-gap:24px}.pside{position:sticky;top:16px}}
@media (max-width:1079px){.pside{order:-1}}
/* confronto */
.pcompare{gap:12px}
.phead,.prow{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:12px}
.phead{padding:0 1px 0 13px}
.phead > span{display:flex;flex-direction:column;align-items:center;gap:3px;font-family:var(--display);font-weight:700;font-size:19px;text-transform:uppercase;letter-spacing:.04em;text-align:center}
.phead small{font-family:var(--body,inherit);font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--muted)}
.phead .ppro{background:color-mix(in srgb,var(--r-p) 14%,var(--surface));border-radius:10px 10px 0 0;padding:8px 6px;margin-left:-6px}
.pgroup{display:flex;flex-direction:column;gap:6px}
.ptable{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}
.prow{padding:0 0 0 12px;border-top:1px solid var(--line);min-height:52px;font-size:14px}
.prow:first-child{border-top:0}
.prow > span{padding:9px 0}
.pfeat{display:flex;flex-direction:column;gap:2px;min-width:0}
.pfeat b{font-weight:600}
.pfeat small{font-size:12.5px;color:var(--muted);line-height:1.35}
.prow .pfree,.prow .ppro{text-align:center;line-height:1.35}
.prow .pfree{color:var(--muted)}
.prow .ppro{align-self:stretch;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--r-p) 8%,transparent);margin:0 0 0 -6px;padding:9px 6px}
@media (max-width:640px){
  .phead{display:none}
  .prow{grid-template-columns:1fr 1fr;row-gap:6px;padding:10px 12px}
  .prow .pfeat{grid-column:1/-1;padding:0}
  .prow .pfree,.prow .ppro{display:flex;flex-direction:column;align-items:center;gap:4px;border-radius:8px;padding:6px;margin:0;background:var(--surface-2)}
  .prow .ppro{background:color-mix(in srgb,var(--r-p) 12%,var(--surface))}
  .prow .pfree::before,.prow .ppro::before{content:attr(data-label);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
}
/* scheda prezzo */
.pcard{gap:10px;border-top:4px solid var(--r-p)}
.pcard .probadge{align-self:flex-start}
.pcard h2{margin:0;font-size:21px}
.pbig{margin:0;font-family:var(--display);font-size:46px;font-weight:700;line-height:1;letter-spacing:.01em}
.pcard.on .pbig{font-size:34px}
.pbig s{font-size:22px;color:var(--muted);font-weight:600}
.pcard .msg{margin:0}
.pchecks{list-style:none;margin:4px 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}
.pchecks li{display:flex;gap:8px;align-items:baseline}
.pchecks li::before{content:"✓";color:var(--ok);font-weight:700}
.pcard form{margin:0}
.pbtn{width:100%;text-align:center;justify-content:center}
.pfaq{gap:8px}
.pfaq h2{margin:0;font-size:21px}
.pfaq details p{margin:6px 0 2px;font-size:13.5px;line-height:1.45;color:var(--muted)}
@media (max-width:1079px){.pside{display:contents}.pcard{order:-1}.pfaq{order:1}}
@media (max-width:640px){.rmeta{justify-content:flex-start}}
/* dettaglio statistico: «casa +0,3 · avv −0,82» su una riga */
table.stats tr{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr) minmax(0,.88fr)}
table.stats .meta.adjm{font-family:var(--body,inherit);font-size:10.5px;white-space:nowrap}
@media (max-width:380px){table.stats .meta.adjm{white-space:normal}}
/* punti attesi: asterisco e spiegazione */
button.rtot.fbig{font:inherit;text-align:left;cursor:pointer;border:0;width:100%}
button.rtot.fbig:hover{filter:brightness(1.06)}
button.rtot.fbig:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.fbig .ast{font-size:13px;margin-left:2px;vertical-align:top}
.xptnote{margin:-8px 0 0;font-size:12.5px;color:var(--muted);line-height:1.45}
.xptnote b{color:var(--ink);font-weight:600}
.xptnote .linkbtn{font:inherit;font-size:12.5px;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer}
.xptdlg{max-width:560px}
.xptsteps{margin:10px 0 2px;padding:0;list-style:none;counter-reset:xs;display:flex;flex-direction:column;gap:10px}
.xptsteps li{counter-increment:xs;display:grid;grid-template-columns:24px 1fr;column-gap:10px;row-gap:2px;font-size:14px}
.xptsteps li::before{content:counter(xs);grid-row:1/3;width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:12px;display:grid;place-items:center}
.xptsteps li:last-child::before{background:var(--accent);color:var(--accent-ink)}
.xptsteps li span{font-size:13px;color:var(--muted);line-height:1.45}
/* News: togliere i filtri */
.summary .sum[aria-current="true"]{position:relative;padding-right:38px}
.sumx{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--bg);font-size:15px;line-height:1;font-weight:700}
.summary .sum[aria-current="true"]:hover .sumx{background:var(--bad);color:#fff}
.activefilter > span:first-child{color:var(--muted);font-size:13px}
.fchip{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 12px;border-radius:999px;background:var(--ink);color:var(--bg)!important;text-decoration:none;font-size:13px;font-weight:600}
.fchip .fx{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:color-mix(in srgb,var(--bg) 22%,transparent);font-size:13px;line-height:1}
.fchip:hover .fx{background:var(--bad);color:#fff}
.fclear{font-size:13px;color:var(--accent)}
/* finestre a comparsa sempre al centro dello schermo, anche sui Safari che non le fissano da soli */
dialog.modal[open]{position:fixed;inset:0;top:0;right:0;bottom:0;left:0;margin:auto;height:-webkit-fit-content;height:fit-content;z-index:1000}

/* ============ Pagina iniziale ============ */
.herotxt .dkicker{display:block;margin-bottom:8px}
.herochecks{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:8px}
.herochecks li{display:flex;align-items:center;gap:10px;font-size:15.5px;font-weight:600;color:var(--ink)}
.herochecks li span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--accent-soft);font-size:16px;flex:none}
.heronote{margin:10px 0 0!important;font-size:13px!important;color:var(--muted)}
.landsub{margin:-8px 0 16px;color:var(--muted);font-size:15px}
.landgrid{grid-template-columns:repeat(4,1fr)}
.landgrid article{display:flex;flex-direction:column;gap:10px;border-top-width:1px;border-top-color:var(--line)}
.fico{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--accent-soft);font-size:20px;flex:none}
.landgrid p b{color:var(--ink);font-weight:600}
@media (max-width:1100px){.landgrid{grid-template-columns:repeat(2,1fr)}}
/* Free o PRO */
.landplans{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:860px}
.lplan{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:12px}
.lplan.pro{border:2px solid var(--r-p);background:color-mix(in srgb,var(--r-p) 6%,var(--surface))}
.lphead{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.lphead b{font-family:var(--display);font-size:24px;text-transform:uppercase;letter-spacing:.03em}
.lphead > span{font-family:var(--display);font-size:22px;font-weight:700}
.lphead small{font-family:var(--body);font-size:12px;font-weight:600;color:var(--muted)}
.lplan ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:14.5px;flex:1}
.lplan li{display:flex;gap:8px;align-items:baseline}
.lplan li::before{content:"✓";color:var(--ok);font-weight:700}
.lplan .btn{align-self:flex-start}
.stickycta{display:none}
/* telefono: tutto più compatto, funzioni come elenco, pulsante sempre a portata di pollice */
@media (max-width:640px){
  .hero{padding-block:4px;gap:20px}
  .hero h1{font-size:36px}
  .hero p{font-size:15px}
  .herochecks li{font-size:14.5px}
  .hero .controls .btn{flex:1;text-align:center;justify-content:center;white-space:nowrap}
  .hero .controls .btn.ghost{flex:0 0 auto}
  .land{margin-top:28px}
  .landgrid{grid-template-columns:1fr;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
  .landgrid article{flex-direction:row;align-items:flex-start;gap:12px;border:0;border-top:1px solid var(--line);border-radius:0;padding:14px}
  .landgrid article:first-child{border-top:0}
  .landgrid h3{font-size:15.5px;margin-bottom:3px}
  .landgrid p{font-size:13.5px;line-height:1.45}
  .fico{width:36px;height:36px;font-size:18px;border-radius:10px}
  .landplans{grid-template-columns:1fr}
  .lplan .btn{align-self:stretch;text-align:center;justify-content:center}
  .landsteps li{padding:12px 14px 12px 52px}
  body:has(.stickycta){padding-bottom:96px}
  .stickycta{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .2s ease}
  .stickycta.on{transform:none}
  .stickycta .btn{flex:1;text-align:center;justify-content:center}
  .stickycta .btn.ghost{flex:0 0 auto}
}
/* icone a linea al posto delle emoji */
.fico,.herochecks li span{color:var(--accent)}
.fico svg{width:22px;height:22px}
.herochecks li span svg{width:18px;height:18px}
/* tema: scritta del link in base al tema attivo */
.temalink .t-chiaro{display:none}
:root[data-theme="light"] .temalink .t-scuro{display:none}
:root[data-theme="light"] .temalink .t-chiaro{display:inline}
.umenu a.temalink{font-weight:600}
.footema{color:inherit}
.temaseg{align-self:flex-start}

/* ============ Guida rapida (4 schermate al primo accesso) ============ */
dialog.tutdlg{max-width:440px;padding:0;overflow:hidden auto}
.tutdlg .modal-x{z-index:2}
.tut-slide{padding:0 22px}
.tut-vis{margin:0 -22px 16px;padding:26px 22px 22px;background:linear-gradient(180deg,var(--accent-soft),color-mix(in srgb,var(--accent-soft) 35%,var(--surface)));border-bottom:1px solid var(--line);min-height:178px;display:flex;align-items:center;justify-content:center}
.tut-step{display:flex;align-items:center;gap:8px;margin:0 0 4px!important;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.tut-step .tut-ico{color:var(--accent);display:inline-grid}
.tut-step .tut-ico svg{width:18px;height:18px}
.tutdlg h2{margin:0 0 6px!important;font-size:26px!important}
.tut-txt{margin:0 0 10px!important;font-size:15px;line-height:1.5}
.tut-list{margin:0 0 4px;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.tut-list li{position:relative;padding-left:18px;font-size:13.5px;color:var(--muted);line-height:1.45}
.tut-list li::before{content:"";position:absolute;left:3px;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.tut-list b,.tut-txt b{color:var(--ink)}
.tut-nav{display:flex;align-items:center;gap:8px;padding:18px 22px 6px}
.tut-dots{display:flex;gap:6px;margin-right:auto}
.tut-dots i{width:8px;height:8px;border-radius:50%;background:var(--line);transition:width .2s,background .2s}
.tut-dots i.on{width:22px;border-radius:4px;background:var(--accent)}
.tut-skip{display:block;margin:0 auto 14px;font-size:12.5px}
/* illustrazioni */
.tut-mock{width:100%;max-width:300px;display:flex;flex-direction:column;gap:6px;font-size:13px}
.tut-mock > *{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.tut-in{padding:9px 12px;font-weight:600;border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent),0 6px 18px rgba(0,0,0,.12)!important}
.tut-caret{display:inline-block;width:2px;height:14px;background:var(--ink);margin-left:1px;vertical-align:-2px;animation:tutblink 1s steps(1) infinite}
@keyframes tutblink{50%{opacity:0}}
.tut-sug,.tut-row{display:flex;align-items:center;gap:8px;padding:8px 10px}
.tut-sug span:not(.role),.tut-row span:not(.pill):not(.role){color:var(--muted)}
.tut-sug i{margin-left:auto;font-style:normal;font-family:var(--mono);color:var(--muted)}
.tut-sug.dim{opacity:.55}
.tut-row .pill{margin-left:auto}
.tut-alert{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bad)!important;border-color:var(--bad)!important;color:#fff}
:root:not([data-theme="light"]) .tut-alert{color:#1A0706}
.tut-alert b{font-family:var(--display);text-transform:uppercase;font-size:17px;letter-spacing:.03em}
.tut-alert span{font-family:var(--mono)}
.tut-pitch{gap:8px}
.tut-pitch > *{box-shadow:none;background:transparent;border:0}
.tut-pts{align-self:flex-start;display:flex;flex-direction:column;padding:6px 12px!important;background:var(--accent)!important;color:var(--accent-ink);border-radius:9px!important}
.tut-pts b{font-family:var(--display);font-size:22px;line-height:1}
.tut-pts span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.85}
.tut-line{display:flex;justify-content:center;gap:6px}
.tut-line > span{display:inline-flex;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-family:var(--mono);font-size:11px;box-shadow:0 3px 10px rgba(0,0,0,.1)}
.tut-notif{display:flex;gap:10px;align-items:flex-start;padding:10px 12px}
.tut-notif .tut-ico{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--accent);color:var(--accent-ink);flex:none}
.tut-notif .tut-ico svg{width:18px;height:18px}
.tut-notif b{display:block;font-size:13px}
.tut-notif span{font-size:12px;color:var(--muted)}
@media (max-width:420px){.tut-slide{padding:0 18px}.tut-vis{margin:0 -18px 14px;min-height:160px}.tut-nav{padding:16px 18px 4px}.tutdlg h2{font-size:23px!important}}
dialog.modal:focus{outline:none}
.tut-vis{padding-top:44px}
@media (max-width:420px){.tut-vis{padding-top:46px}}
.field a.pwforgot{align-self:flex-end;font-size:13px;color:var(--accent)}
/* pulsante «Torna su» */
.totop{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;width:48px;height:48px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.35);opacity:0;transform:translateY(12px);transition:opacity .2s,transform .2s,background .15s}
.totop.on{opacity:1;transform:none}
.totop:hover{filter:brightness(1.1)}
.totop:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.totop[hidden]{display:none}
h1:focus{outline:none}
@media (prefers-reduced-motion:reduce){.totop{transition:none}}
/* panchina Mantra: ruoli sulla stessa riga del nome (numero · ruolo · nome · ruoli Mantra · entra % · ⇄) */
ol.bench .slot:has(.mtags){grid-template-columns:18px auto minmax(0,1fr) auto auto}
ol.bench .slot:has(.mtags) .sn{grid-column:3;grid-row:1}
ol.bench .slot:has(.mtags) .mtags{grid-column:4;grid-row:1;flex-wrap:nowrap}
ol.bench .slot:has(.mtags) .cmpbtn{grid-column:5;grid-row:1}
ol.bench .slot:has(.mtags) .bpe{grid-row:2}
ol.bench .slot .mtags .mtag{font-size:10.5px;padding:0 4px}
@media (max-width:640px){
  ol.bench .slot:has(.mtags){column-gap:7px}
  ol.bench .slot:has(.mtags) .sn{flex-direction:row;justify-content:space-between;align-items:baseline;gap:6px;min-width:0}
  ol.bench .slot:has(.mtags) .sn{white-space:nowrap}
  ol.bench .slot .xs{flex:none}
}
ol.bench .slot .nm{min-width:0}
@media (max-width:640px){
  ol.bench .slot:has(.mtags) .xl{display:none}
  ol.bench .slot:has(.mtags) .sn{overflow:visible}
  ol.bench .slot:has(.mtags) .nm{flex:1 1 auto}
}

/* ============ La mia formazione ============ */
.ftabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:-6px;overflow-x:auto;scrollbar-width:none}
.ftabs::-webkit-scrollbar{display:none}
.ftabs a{white-space:nowrap;flex:none}
@media (max-width:640px){
  /* le schede stanno tutte sullo schermo, senza scorrere */
  .ftabs{gap:2px}
  .ftabs a{flex:1 1 0;min-width:0;justify-content:center}
  .ftabs .tl,.ftabs .ftabn{display:none}
  .ftabs .probadge{font-size:9px;padding:1px 4px}
}
.ftabs a{padding:9px 14px;border-radius:10px 10px 0 0;text-decoration:none;color:var(--muted);font-weight:700;font-size:14.5px;border:1px solid transparent;border-bottom:0;margin-bottom:-1px;display:inline-flex;align-items:center;gap:8px}
.ftabs a:hover{color:var(--ink)}
.ftabs a[aria-current="page"]{color:var(--ink);background:var(--surface);border-color:var(--line)}
.ftabn{font-family:var(--mono);font-weight:500;padding:1px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}
.miaerr{margin:0;padding:10px 12px 10px 28px;display:flex;flex-direction:column;gap:3px}
.miamod{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0}
.miamod .msg{font-size:12.5px;flex:1 1 260px}
/* «La mia formazione»: stesse schede della consigliata; il menu per cambiare giocatore è invisibile sopra la scheda */
.miapitch .slot.mslot{position:relative;cursor:pointer}
.miapitch .mslot select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px;border:0;margin:0;padding:0;appearance:none}
.miapitch .mslot:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.miapitch .mslot:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
.miapitch .mslot.vuota{border-style:dashed;border-color:var(--warn);background:color-mix(in srgb,var(--surface) 60%,transparent)}
.miapitch .mslot.vuota .mnm{color:var(--muted)}
.mslot .mnm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.role.nd{background:var(--surface-2);color:var(--muted)}
.medit{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--accent);font-size:11px;line-height:1;flex:none;pointer-events:none}
.flegtip .medit{margin:0}
@media (min-width:641px){
  .fmain .pitch .slot .medit{position:absolute;top:5px;right:5px;width:20px;height:20px;font-size:10px}
}
.mdirty ol.miabench .bpe,.mdirty ol.miabench .xs{opacity:.4}
.miadirty{margin:2px 0 0;font-size:13px;color:var(--warn)}
ol.miabench .slot{grid-template-columns:18px auto minmax(0,1fr) auto}
ol.miabench .bpe{grid-row:2}
ol.miabench .slot:has(.mtags){grid-template-columns:18px auto minmax(0,1fr) auto auto}
ol.miabench .mord{grid-row:1;display:inline-flex;gap:3px}
ol.miabench .slot:not(:has(.mtags)) .mord{grid-column:4}
ol.miabench .slot:has(.mtags) .mord{grid-column:5}
ol.miabench .mord button{width:26px;height:26px;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;font-size:13px;line-height:1;padding:0}
ol.miabench .mord button:hover{border-color:var(--accent);color:var(--accent)}
ol.miabench li:first-child .mup,ol.miabench li:last-child .mdown{opacity:.35}
.miabtns{margin-top:4px}
.miadel{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;margin:0;font-size:13px}
.miadel .linkbtn{color:var(--bad);padding:0}

/* accesso con Google e Apple */
.oauthbox{display:flex;flex-direction:column;gap:10px;margin:4px 0 2px}
.oauthbtn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 16px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;border:1px solid #747775;background:#fff;color:#1f1f1f}
.oauthbtn:hover,.oauthbtn:focus-visible{background:#f2f2f2;color:#1f1f1f}
.oauthbtn img{flex:none}
.oauth-apple{background:#fff;border-color:#fff;color:#000}
:root[data-theme="light"] .oauth-apple{background:#000;border-color:#000;color:#fff}
:root[data-theme="light"] .oauth-apple:hover{background:#222;color:#fff}
.oauthor{display:flex;align-items:center;gap:10px;margin:6px 0 0;color:var(--muted);font-size:12.5px;text-transform:uppercase;letter-spacing:.06em}
.oauthor::before,.oauthor::after{content:"";flex:1;height:1px;background:var(--line)}
.oauthnote{margin:-2px 0 4px;font-size:12.5px}
.oauthlist{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.oauthlist li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-top:1px solid var(--line)}
.oauthlist li:first-child{border-top:0}
.oauthname{display:flex;flex-direction:column;min-width:0}
.oauthname .meta{font-size:12.5px;overflow:hidden;text-overflow:ellipsis}
.oauthlist form{margin:0;flex:none}

/* Formazione: riquadro dei modificatori (con 7 riquadri la griglia si allarga) */
.fsummary a.ftile{text-decoration:none;color:inherit}
.fsummary a.ftile:hover,.fsummary a.ftile:focus-visible{border-color:var(--accent)}
.fsummary:has(> :nth-child(7)){grid-template-columns:minmax(0,1.3fr) minmax(0,1.3fr) repeat(5,minmax(0,1fr))}
@media (max-width:1180px){.fsummary .l{letter-spacing:.04em}}
@media (min-width:901px) and (max-width:1100px){.fsummary:has(> :nth-child(7)){gap:8px}.fsummary:has(> :nth-child(7)) > *{padding-left:10px;padding-right:10px}.fsummary:has(> :nth-child(7)) .l{font-size:10px;letter-spacing:.03em}}
@media (max-width:900px){
  .fsummary:has(> :nth-child(7)){grid-template-columns:repeat(3,minmax(0,1fr))}
  .fsummary:has(> :nth-child(7)) .fbig{grid-column:1/-1}
}
@media (max-width:520px){.fsummary:has(> :nth-child(7)){grid-template-columns:repeat(2,minmax(0,1fr))}}
#modificatori{scroll-margin-top:80px}

/* pagina Contatti */
.ctlayout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:860px){.ctlayout{grid-template-columns:1fr}}
.ctside{display:flex;flex-direction:column;gap:16px;min-width:0}
.cttipi{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cttipi legend{font-weight:700;font-size:14px;margin-bottom:8px;padding:0}
@media (max-width:620px){.cttipi{grid-template-columns:1fr}}
.cttipo{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;background:var(--surface)}
.cttipo:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.cttipo input{margin-top:3px;accent-color:var(--accent);width:auto}
.cttipo > span{display:flex;flex-direction:column;gap:2px;font-size:14px}
.cttipo .meta{font-size:12.5px}
.ctform textarea{width:100%;min-height:150px;resize:vertical}
.ctform select{width:100%}
.cthp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ctmiei{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ctmiei li{border-top:1px solid var(--line);padding-top:10px}
.ctmiei li:first-child{border-top:0;padding-top:0}
.cthead{display:flex;justify-content:space-between;gap:8px;align-items:center}
.ctstato{font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px;background:var(--surface);border:1px solid var(--line);white-space:nowrap}
.ctstato.st-letto{color:var(--warn);border-color:currentColor}
.ctstato.st-risolto{color:var(--accent);border-color:currentColor}
.ctmsg{margin:4px 0 0;font-size:14px;white-space:pre-line;overflow-wrap:anywhere}
.ctrisp{margin:6px 0 0;font-size:14px;padding:8px 10px;border-radius:8px;background:var(--accent-soft)}
.admct{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.admct > li{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px}
.admct > li.nuovo{border-color:var(--accent)}
.admct .ctmsg{margin:0}
.admct form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.admct form input[type=text]{flex:1 1 260px;min-width:0}
.cttipo .meta,.ctform textarea{font-family:var(--body,inherit);letter-spacing:0}
.ctform textarea{font-size:15px;line-height:1.45}

/* Formazione: riquadri tutti uguali, etichetta su una riga */
.fsummary .l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;overflow-wrap:normal}
.fsummary .fbig .l{overflow:visible}

/* News: filtri per stato sopra ai filtri dei ruoli, come un unico blocco */
.dmain-b > .summary{margin-bottom:-8px;scroll-margin-top:16px}

/* ============ Admin: grafica ============ */
/* campi data e numero come gli altri campi */
input[type=date],input[type=number],input[type=url],input[type=time],input[type=datetime-local],textarea{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:8px 10px;min-width:0;max-width:100%;font:inherit}
input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.6)}
:root[data-theme="light"] input[type=date]::-webkit-calendar-picker-indicator{filter:none}

.wrap:has(.adm){max-width:1200px} /* stessa larghezza di tutte le pagine */
.admtop{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 16px;margin:4px 0 2px}
.admtop h1{margin:2px 0 0;font-family:var(--display);font-size:34px;text-transform:uppercase;letter-spacing:.02em;line-height:1}
.admtoplinks{display:flex;gap:8px;flex-wrap:wrap}
.adm{grid-template-columns:232px minmax(0,1fr);gap:22px}

/* menu laterale */
.admnav{gap:1px;padding:10px;border-radius:14px;background:var(--surface);max-height:calc(100vh - 24px);overflow-y:auto;scrollbar-width:thin}
.admnav .admgrp{display:block;margin:12px 10px 4px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.admnav a{justify-content:flex-start;gap:10px;padding:8px 10px;font-size:14px;color:var(--ink);border-radius:9px;position:relative}
.admnav a svg{flex:none;color:var(--muted)}
.admnav a .admt{flex:1;min-width:0}
.admnav a:hover{background:var(--surface-2)}
.admnav a[aria-current="true"]{background:var(--accent-soft);color:var(--ink);font-weight:700}
.admnav a[aria-current="true"] svg{color:var(--accent)}
.admnav a[aria-current="true"]::before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}
.admnav .nbadge{background:var(--bad);color:#fff;min-width:20px;text-align:center}

/* contenuto: sezioni come pagine, pannelli distanziati */
.adm.js .admsez.on{display:flex;flex-direction:column;gap:16px}
.admsez > .panel,.admsez > section{margin:0}
.admmain .panel{border-radius:14px;padding:18px 20px;gap:14px}
.admmain .panel h2{font-size:21px;letter-spacing:.04em}
.admmain .panel h3{font-size:17px;letter-spacing:.04em}
.admmain .panel .sub{margin:0;color:var(--muted);font-size:14px;line-height:1.5;max-width:90ch}
.admmain .panel > form.controls,.admmain .panel .controls{gap:8px 10px}
.admmain details > summary{cursor:pointer}
.admphead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}
.admphead h2{display:flex;align-items:baseline;gap:10px}
.admphead .cnt{font-family:var(--body);font-size:13px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--muted);background:var(--surface-2);border-radius:999px;padding:2px 10px}
.admfilter input[type=search]{flex:1 1 240px}
.sorvko{border-left:4px solid var(--bad);background:linear-gradient(90deg,var(--bad-bg),var(--surface) 55%)}
.sorvko .notes li{color:var(--bad);font-weight:600}
.admmain .flash{margin:0}

/* numeri: tutti uguali, etichetta sopra e numero sotto */
.admkpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:1100px){.admkpi{grid-template-columns:repeat(2,minmax(0,1fr))}}
.admkpi .kpi{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}
.admkpi .kpi .l{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admkpi .kpi .n{font-family:var(--display);font-size:34px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.admmain .summary{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.admmain .summary .sum{flex-direction:column-reverse;align-items:flex-start;justify-content:flex-end;gap:6px;padding:14px 16px;border-radius:14px}
.admmain .summary .sum .n{font-size:32px}
.admmain .summary .sum .l{font-size:11px;letter-spacing:.07em}

/* cose da gestire */
.admtodo{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.admtodo li + li{border-top:1px solid var(--line)}
.admtodo a{display:flex;align-items:center;gap:14px;padding:12px 14px;color:var(--ink);text-decoration:none;font-size:14.5px}
.admtodo a:hover{background:var(--surface-2)}
.admtodo .tn{flex:none;min-width:34px;height:34px;padding:0 8px;border-radius:10px;display:grid;place-items:center;font-family:var(--display);font-size:20px;font-weight:700;background:var(--surface-2);color:var(--muted)}
.admtodo .tn.on{background:var(--warn-bg);color:var(--warn)}
.admtodo .go{margin-left:auto;color:var(--muted);font-size:20px}

/* tabelle */
.admmain .tablewrap{border-radius:12px}
.admmain .bktab,.admtab{width:100%;border-collapse:collapse;font-size:14px;margin:0}
.admmain .bktab th,.admtab th{position:sticky;top:0;background:var(--surface-2);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.admmain .bktab td,.admtab td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.admmain .bktab tr:last-child td,.admtab tr:last-child td{border-bottom:0}
.admmain .bktab tbody tr:hover,.admtab tbody tr:hover{background:color-mix(in srgb,var(--surface-2) 60%,transparent)}
.admtab .num{text-align:right;font-variant-numeric:tabular-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* utenti */
.utab .uw{display:flex;align-items:center;gap:12px;min-width:0;text-align:left}
.uav{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:800}
.uwt{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0}
.uwt .uemail{flex-basis:100%;font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ublock{display:block;font-size:12.5px;margin-top:4px;color:var(--muted);font-family:var(--body)}
.utab .uwt b{font-size:15px}
.atag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.03em;padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.atag.warn{background:var(--warn-bg);color:var(--warn);border-color:transparent}
/* Admin › Utenti: righe compatte, date corte, colonne ordinabili */
.utot{margin:0 0 8px}
.utab th.usort a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.utab th.usort a:hover{color:var(--ink)}
.utab th.usort .uarr{font-size:10px;opacity:.45}
.utab th.usort.on{color:var(--accent)}
.utab th.usort.on .uarr{opacity:1}
.utab td{vertical-align:middle}
.utab .upiano,.utab .udt{white-space:nowrap}
.utab .upiano .ublock,.utab .udt .ublock{margin-top:2px;font-size:12px;max-width:150px;overflow:hidden;text-overflow:ellipsis}
.utab .udt time{font-weight:600;font-size:14px}
.utab .num b{font-size:15px}
.utab .num .ublock{margin-top:0;font-size:11.5px}
.atag.upro{background:var(--accent-soft);color:var(--accent);border-color:transparent}
.atag.upro.uprova{background:transparent;color:var(--r-p);border-color:var(--r-p)}
.unov{flex-basis:100%;font-size:11.5px;font-weight:700;color:var(--warn)}
.unov::before{content:"● ";font-size:9px}
.utab .uwt{max-width:215px}
.utab th,.utab td{padding-left:8px;padding-right:8px}
.utab td.uact{white-space:nowrap}
.usortnav{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin:0 0 10px}
.usortnav .chip{font-size:12.5px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none}
.usortnav .chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}
.uact{text-align:right;width:1%}
.admmenu{position:relative;display:inline-block}
.admmenu > summary{list-style:none;white-space:nowrap}
.admmenu > summary::-webkit-details-marker{display:none}
.admmenu > summary::after{content:"▾";margin-left:6px;font-size:11px;color:var(--muted)}
.admmenu[open] > summary{border-color:var(--accent)}
.admmenu-p{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:290px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:12px;box-shadow:0 12px 32px rgba(0,0,0,.35)}
.admmenu-p .proform{display:flex;flex-direction:column;gap:6px;margin:0}
.admmenu-p .proform label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.admmenu-p .proform input[type=date]{flex:1}
.admmenu-p .ubtns{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:12px}
.admmenu-p .ubtns form{margin:0}
.admmenu-p .ubtns .btn{text-align:left}
.btn.ghost.danger{background:transparent;color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,transparent)}
.btn.ghost.danger:hover{background:var(--bad-bg)}

@media (max-width:760px){
  .admtop h1{font-size:28px}
  .adm{grid-template-columns:1fr}
  .admnav{max-height:none;overflow-y:visible;overflow-x:auto;padding:6px}
  .admnav .admgrp{display:none}
  .admnav a{flex:none}
  .admnav a svg{display:none}
  .admnav a[aria-current="true"]::before{display:none}
  .admmain .panel{padding:14px}
  .utab tr{position:relative}
  .utab td.uact{position:absolute;top:10px;right:10px;width:auto}
  .utab td.mtitle{padding-right:96px}
  .admmenu-p{width:min(290px,calc(100vw - 48px))}
}
.admmenu-p,.admmenu-p *{text-align:left}
.admmenu-p .ubtns form{display:block;width:100%}
.admmenu-p .ubtns .btn{display:block;width:100%}
.admmenu-p .proform .controls{display:flex;flex-wrap:nowrap;gap:8px}
@media (max-width:760px){.utab td.num{text-align:left}}
.admmenu-p .proform{align-items:stretch}

/* Admin › Calci piazzati: proposte dalle testate */
.pzprop td{vertical-align:top}
.pzprop .pznew{font-weight:700;color:var(--accent)}
.pzact{white-space:nowrap;width:1%}
.pzact form{display:inline-block;margin:0 0 0 6px}
@media (max-width:760px){.pzact form{margin:0 6px 0 0}}
/* proposte dei calci piazzati sul telefono: pulsanti affiancati a tutta larghezza, tipi senza novità nascosti */
@media (max-width:640px){
  .pzprop td.pzact{width:auto;grid-column:1/-1;display:flex;gap:8px;white-space:normal;padding-top:4px}
  .pzprop td.pzact form{margin:0;flex:1}
  .pzprop td.pzact .btn{width:100%;text-align:center}
  .pzprop td.pzvuota{display:none}
  .pzprop td[data-label="Articolo"]{grid-column:1/-1}
}
#pzproposte .admphead .controls{flex-wrap:nowrap}

/* Admin › Infortunati e squalificati */
.fuorifiltri input[type=search]{flex:1 1 220px}
.fuoritab .fuoriwho{display:flex;align-items:center;gap:10px}
.fuoritab .fuoriwho b{font-size:15px}
.fuoritab td{vertical-align:top}
.fuoritab .pill{margin-left:0}
.admkpi .kpi .n small{font-size:18px;color:var(--muted)}
.admcorr{display:flex;flex-direction:column;gap:8px;margin:0}
.admcorr label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.admcorr select,.admcorr input{width:100%}
.admmenu-p > a.btn{display:block;text-align:center}
@media (max-width:640px){.fuoritab td.num{text-align:left}}
@media (max-width:640px){.fuorifiltri select{flex:1 1 45%;min-width:0}}
.admnav a .admt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* News: con il filtro «Fuori» il dettaglio (infortunati · squalificati · in panchina) sta nella riga dei filtri */
.activefilter .fdet{font-size:13px;color:var(--muted)}

/* Rosa: importazione da Leghe Fantacalcio */
.impsel{border-color:var(--accent);scroll-margin-top:16px}
.impteams{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.impteam{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;background:var(--surface)}
.impteam:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.impteam input{margin-top:3px;accent-color:var(--accent);width:auto}
.impteam > span{display:flex;flex-direction:column;gap:2px;min-width:0}
.impteam .meta{font-family:var(--body);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.impmodo{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}
.impmodo input{width:auto;accent-color:var(--accent)}

/* ============ La sfida della giornata ============ */
.sfvs{font-size:.6em;color:var(--muted);margin:0 .2em}
.sfctl{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:10px 14px}
.sfctl .field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0}
.sfctl .field select{min-width:220px;font-size:15px;text-transform:none;letter-spacing:0;font-weight:400;color:var(--ink)}
.sfteams{display:grid;grid-template-columns:1fr auto 1fr;gap:12px}
.sft{display:flex;flex-direction:column;gap:2px;min-width:0}
.sft.dx{text-align:right;align-items:flex-end}
.sfn{font-weight:700;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.sfpt{font-family:var(--display);font-size:44px;font-weight:700;line-height:1}
.sfl{font-size:12px;color:var(--muted)}
.sfris{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;padding:0 8px}
.sfris b{font-family:var(--display);font-size:34px;line-height:1.1}
.sfbar{display:flex;height:38px;border-radius:10px;overflow:hidden;margin-top:4px}
.sfbar span{display:grid;place-items:center;font-weight:800;font-size:14px;min-width:0;color:#06140D;transition:flex-grow .3s}
.sfbar .v,.sfleg i.v{background:var(--ok)}
.sfbar .x,.sfleg i.x{background:var(--nd)}
.sfbar .s,.sfleg i.s{background:var(--bad)}
.sfleg{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px}
.sfleg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}
.sfgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px;align-items:start}
@media (max-width:900px){.sfgrid{grid-template-columns:1fr}}
.sfkey{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.sfkey li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:10px}
.sfkey li:first-child{border-top:0;padding-top:0}
.sfkn{display:flex;flex-direction:column;min-width:0}
.sfkn .meta{font-family:var(--body);font-size:12.5px}
.sfkv{display:flex;flex-direction:column;align-items:flex-end;font-size:13px;color:var(--muted)}
.sfkv b{color:var(--ink)}
.sfform{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){.sfform{grid-template-columns:1fr}}
.sfform h3{font-size:16px;display:flex;gap:8px;align-items:baseline;margin:0 0 6px}
.sfxi{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.sfxi li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;font-size:14px}
.sfxi li > span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sfxi .meta{font-family:var(--body);font-size:12.5px}
.sfpan{margin:8px 0 0;font-size:12.5px}
@media (max-width:640px){
  .sfteams{grid-template-columns:1fr 1fr}
  .sfris{grid-column:1/-1;grid-row:2}
  .sfpt{font-size:36px}
  .sfctl .field select{min-width:0;width:100%}
  .sfctl .field:first-child{flex-basis:100%}
}
/* formazione schierata dall'avversario */
.sfavpanel.on{border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}
.sfavhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.sfavhead h2{margin-bottom:2px}
.sfavhead .sub{margin:0}
.sfavform{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.sfavform .field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0}
.sfavform .field input,.sfavform .field select,.sfavform textarea{font-size:15px;text-transform:none;letter-spacing:0;font-weight:400;color:var(--ink)}
.sfavform textarea{width:100%;box-sizing:border-box;resize:vertical;line-height:1.45;font-family:var(--body)}
.sfavcols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.sfavcols{grid-template-columns:1fr}}
.sfavform .sfnome input{max-width:420px}
.sfavform .sfmod select{max-width:220px}
.sfavform .msg{margin:0}
.sfavform .btn{align-self:flex-start}
.sfoppure{margin-top:12px}
#miaform{display:flex;flex-direction:column;gap:12px}

/* ============ Pagine pubbliche: giocatori, squadre, infortunati ============ */
.pubpage{display:flex;flex-direction:column;gap:16px}
/* pagine pubbliche (infortunati, squadre, giocatori): stessa larghezza delle pagine del sito */
.wrap:has(.pubpage){max-width:1200px}
.pubback{display:flex;margin-bottom:-6px}
.pubback[hidden]{display:none}
.pubback .btn{gap:6px}
.pubcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;color:var(--muted)}
.pubcrumb a{color:var(--muted);text-decoration:none}
.pubcrumb a:hover{color:var(--accent);text-decoration:underline}
.pubcrumb [aria-current]{color:var(--ink)}
.pubhead{display:flex;flex-direction:column;gap:6px}
.pubhead .dkicker a{color:inherit;text-decoration:none}
.pubhead .dkicker a:hover{color:var(--accent)}
.pubhead h1{margin:0;font-family:var(--display);font-size:clamp(30px,5vw,46px);line-height:1.02;text-transform:uppercase;letter-spacing:.01em}
.pubhead .sub{font-size:15px}
.pubstate{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:2px 0 0}
.pubstate .pill{margin-left:0}
.pubstate .msg{margin:0;font-size:13px}
.pubsum p{margin:0;max-width:75ch;line-height:1.55}
.pubsum p b{color:var(--ink)}
.pubtiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.ptile{background:var(--surface-2);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.ptile .l{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.ptile .n{font-family:var(--display);font-weight:700;font-size:40px;line-height:1;font-variant-numeric:tabular-nums}
.ptile .n.sm{font-size:26px;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ptile .s{font-size:12.5px;color:var(--muted)}
.ptile.bad{box-shadow:inset 3px 0 0 var(--bad)}
.ptile.bad .n{color:var(--bad)}
.pbar{display:block;height:5px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:2px}
.pbar i{display:block;height:100%;background:var(--accent)}
.pubtiles.stag{grid-template-columns:repeat(auto-fit,minmax(105px,1fr))}
.pubtiles.stag .ptile{background:transparent;border:1px solid var(--line)}
.pubgrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:860px){.pubgrid{grid-template-columns:1fr}}
.panel h2{margin:0}
.pubpage .panel > h2,.pubpage .panel h2{font-family:var(--display);font-size:22px;text-transform:uppercase;letter-spacing:.04em;line-height:1.1}
.pubpage .panel h2 a{color:inherit;text-decoration:none}
.pubpage .panel h2 a:hover{color:var(--accent)}
.pubpage .panel h2 .meta{font-family:var(--mono);font-size:11.5px;text-transform:none;letter-spacing:0;font-weight:400;margin-left:6px}
.publist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.publist li{padding:9px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:3px}
.publist li:first-child{border-top:0;padding-top:0}
.publist a{color:var(--ink);font-weight:600;text-decoration:none;line-height:1.35}
.publist a:hover{color:var(--accent);text-decoration:underline}
.pubdec{color:var(--accent);font-weight:700}
.pubsrc{font-size:12.5px;margin:0}
.publist.pubrows li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px}
.publist.pubrows .meta{grid-column:1/-1}
.pubn{display:inline-flex;align-items:center;gap:8px;min-width:0}
.pubn a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.publist .pill{margin-left:0}
.pubfb{display:flex;align-items:center;gap:10px;margin:0}
.pubfb .fbar{width:90px;height:8px}
.pubfonti{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pubfonti li{display:flex;flex-direction:column;gap:2px}
.pubfonti .flab{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em}
.pubfonti .fsrc{color:var(--muted);font-size:14px}
.pubfonti .fsrc a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:2px}
.pubfonti .fsrc a:hover{color:var(--accent)}
.pubq{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;font-size:14px;color:var(--muted)}
.pubq b{color:var(--ink)}
.pubstorico{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.pubstorico li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14px}
.pubstorico .pill{margin-left:0;min-width:110px;text-align:center}
.pubmates{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:6px}
.pubmates li{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:9px;padding:7px 10px;min-width:0}
.pubmates a{color:var(--ink);font-weight:600;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pubmates a:hover{color:var(--accent)}
.pubmates .pill{font-size:10px;padding:2px 7px}
.pubsegui{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.pubsegui > div:first-child{flex:1 1 360px}
.pubsegui h2{margin:0 0 4px}
.pubsegui form{margin:0}
.pubsegbtn{display:flex;flex-wrap:wrap;gap:8px}
.pubnote .msg{margin:0;max-width:80ch;line-height:1.5}
.pubteams{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.pubteams a{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none;font-weight:600;font-size:14px}
.pubteams a:hover{border-color:var(--accent);color:var(--accent)}
.pubteams .nb{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--bad-bg);color:var(--bad);font-size:11px;font-weight:800}
.pubsq{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-auto-rows:1fr;gap:12px;align-items:stretch}
.pubsqcard{gap:10px}
.pubsqhead{display:flex;flex-direction:column;gap:3px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.pubsqhead .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pubsqcard .publist li{padding:7px 0}
.pubsqcard .publist .pill{font-size:10.5px;padding:2px 8px}
.pubsqcard .pubdubbi{margin-top:auto;padding-top:8px;border-top:1px dashed var(--line)}
.pubsqcard .pubdubbi b{color:var(--ink);font-weight:600}
@media (max-width:700px){.pubsq{grid-auto-rows:auto}}
@media (max-width:400px){.pubsq{grid-template-columns:1fr}}

.pubdubbi{margin:0;font-size:13.5px}
.pubdubbi a{color:var(--ink)}
table.pubtab{width:100%;border-collapse:collapse;font-size:14px}
table.pubtab th,table.pubtab td{padding:7px 10px;border-top:1px solid var(--line);text-align:left}
table.pubtab thead th{border-top:0;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
table.pubtab .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
table.pubtab td.who{display:flex;align-items:center;gap:8px}
table.pubtab td.who a{color:var(--ink);font-weight:600;text-decoration:none}
table.pubtab td.who a:hover{color:var(--accent);text-decoration:underline}
table.pubtab .pill{margin-left:0;font-size:10.5px;padding:2px 8px}
table.pubtab tr.pubrole th{background:var(--surface-2);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
@media (max-width:560px){
  table.pubtab thead th:nth-child(4),table.pubtab td:nth-child(4){display:none}
  table.pubtab th,table.pubtab td{padding:7px 8px}
  .ptile .n{font-size:34px}
}

/* ============ Il tuo andamento ============ */
:root{--and-c:#36AD70;--and-m:#5C8FE6}
:root[data-theme="light"]{--and-c:#0E6B45;--and-m:#2F6AC8}
.andempty p{margin:0}
.andnexth{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.andnexth .pill{margin-left:0}
.andnext .sub{margin:0}
.ptile .n small{font-family:var(--body);font-size:14px;font-weight:600;color:var(--muted)}
.ptile .l i,.andlegend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.andc .l i,.andlegend .c i{background:var(--and-c)}
.andm .l i,.andlegend .m i{background:var(--and-m);border-radius:2px}
.andlegend .a i{width:16px;height:0;border-top:2px dashed var(--muted);border-radius:0;vertical-align:3px}
.andverdict{margin:0;font-size:15px;line-height:1.5}
.andverdict .msg{font-size:12.5px}
.andlegend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;color:var(--muted)}
.andchart{position:relative}
.andchart svg{display:block;width:100%;height:auto;overflow:visible}
.andchart.stretto{display:none}
@media (max-width:640px){.andchart.largo{display:none}.andchart.stretto{display:block}}
.andchart .g{stroke:var(--line);stroke-width:1}
.andchart .g.soglia{stroke:var(--muted);stroke-opacity:.6;stroke-dasharray:2 3}
.andchart .ty,.andchart .tx{fill:var(--muted);font-family:var(--mono);font-size:11px}
.andchart .ty{text-anchor:end}
.andchart .tx{text-anchor:middle}
.andchart path{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.andchart .sc{stroke:var(--and-c)}
.andchart .sm{stroke:var(--and-m)}
.andchart .sa{stroke:var(--muted);stroke-dasharray:5 5;stroke-opacity:.8}
.andchart .pc{fill:var(--and-c);stroke:var(--surface);stroke-width:2}
.andchart .pm{fill:var(--and-m);stroke:var(--surface);stroke-width:2}
.andchart .hit{fill:transparent;cursor:pointer}
.andchart .cross{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}
.andtip{position:absolute;top:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:13px;box-shadow:0 4px 14px rgba(0,0,0,.25);pointer-events:none;min-width:150px}
.andtip p{margin:2px 0;display:flex;align-items:center;gap:6px;color:var(--muted)}
.andtip p b{margin-left:auto;color:var(--ink)}
.andtip .tg{display:block;margin-bottom:4px;color:var(--ink)}
.andtip i{display:inline-block;width:9px;height:9px;border-radius:50%}
.andtip .c i{background:var(--and-c)} .andtip .m i{background:var(--and-m);border-radius:2px} .andtip .a i{border-top:2px dashed var(--muted);border-radius:0;height:0;width:12px}
.androws{display:flex;flex-direction:column;gap:6px}
.androw{border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.androw summary{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,1fr) 64px;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;list-style:none}
.androw summary::-webkit-details-marker{display:none}
.androw[open] summary{border-bottom:1px solid var(--line)}
.andg{font-family:var(--display);font-size:24px;font-weight:700}
.andv{display:flex;flex-direction:column;min-width:0}
.andv .l{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.andv b{font-family:var(--display);font-size:26px;line-height:1.05}
.andv .s{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.andv.andc .l::before,.andv.andm .l::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:var(--and-c)}
.andv.andm .l::before{background:var(--and-m);border-radius:2px}
.andd{justify-self:end;font-weight:800;font-size:14px;color:var(--muted);padding:3px 8px;border-radius:999px;background:var(--surface-2)}
.andd:empty{display:none}
.andd.su{color:var(--ok);background:var(--ok-bg)}
.andd.giu{color:var(--bad);background:var(--bad-bg)}
.anddet{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;padding:12px}
@media (max-width:640px){.anddet{grid-template-columns:1fr}.androw summary{grid-template-columns:40px minmax(0,1fr) minmax(0,1fr);}.andd{grid-column:2/-1;justify-self:start}.andg{font-size:20px}.andv b{font-size:22px}}
.anddet h3{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.anddet ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.anddet li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;font-size:14px}
.anddet li .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.anddet li b{font-variant-numeric:tabular-nums}
.anddet li.sv b{color:var(--muted);font-weight:500}
.anddet li.sv .nm{color:var(--muted)}
.anddet li.entrato{background:var(--accent-soft);border-radius:6px;padding:2px 4px;margin:0 -4px}
.andnota{margin-top:4px}
.andstrip{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--ink);text-decoration:none}
.andstrip:hover{border-color:var(--accent)}
.andstrip .andst{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;font-size:14px}
.andstrip .andst > span{color:var(--muted)}
.andstrip .andst b{color:var(--ink)}
.andstrip .go{color:var(--accent);font-weight:700;font-size:14px;white-space:nowrap}
@media (max-width:560px){.andstrip{flex-wrap:wrap}.andstrip .go{flex-basis:100%;padding-left:48px}}
.fvista{display:flex;flex-direction:column;gap:16px}
/* ruolo della lega (pagina Rosa): il modulo si apre sotto il pulsante, sopra la lista */
.ract{position:relative}
.rruolo[open] > summary{color:var(--accent)}
.rruoloform{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:min(320px,86vw);display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:0 10px 30px rgba(0,0,0,.35);text-align:left}
.rruoloform .msg{margin:0;font-size:12.5px}
.rruoloform .field{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.rruoloform select{font-size:14px;text-transform:none;letter-spacing:0;font-weight:400;color:var(--ink)}
.rmchips{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:5px}
.rmchips legend{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:5px;padding:0}
.rmchips label{cursor:pointer}
.rmchips input{position:absolute;opacity:0;pointer-events:none}
.rmchips span{display:inline-grid;place-items:center;min-width:36px;padding:4px 7px;border:1px solid var(--line);border-radius:7px;font-size:12.5px;font-weight:700;color:var(--muted)}
.rmchips input:checked + span{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.rmchips input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.rruoloform .controls{display:flex;gap:6px;flex-wrap:wrap}
@media (max-width:640px){
  .rrow{grid-template-columns:minmax(0,1fr) auto auto}
  .rruolo summary .rl{display:none}
  details.more.rruolo summary::before{content:"✎";font-size:15px;transform:none}
  .rruolo summary{padding:4px 6px}
}
.rtable:has(.rruolo[open]),.rgroup:has(.rruolo[open]){overflow:visible}
.rrow:has(.rruolo[open]){position:relative;z-index:15}
.pstat{margin-left:auto;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.pstat .pill{margin-left:0}
.pres{font-size:11.5px;font-weight:600;white-space:nowrap;color:var(--muted)}
.pres.presok{color:var(--ok)}
.pres.presmid{color:var(--ink)}
table.pubtab .pstat{margin-left:0}
.pubstate .pstat{margin-left:0}

/* ============ Mercato ============ */
.mercintro{margin:0;max-width:85ch}
.mercruoli{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:14px;align-items:start}
.mrhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mrhead h2{display:flex;align-items:center;gap:8px}
.mrhead .pill{margin-left:auto}
.mercruolo .sub{margin:0;font-size:14px}
.mrfuori{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.mrfuori li{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:14px}
.mrfuori .mrfl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mrfuori b{color:var(--ink)}
.mrfuori .pill{margin-left:0}
.mrfuori .meta{color:var(--muted);font-family:inherit;font-size:13px}
.mrlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.mrlist li{display:grid;grid-template-columns:minmax(0,1fr) auto 64px 64px 48px;align-items:center;gap:6px 10px;padding:8px 0;border-top:1px solid var(--line)}
.mrlist li:first-child{border-top:0}
.mrn{display:flex;flex-direction:column;min-width:0}
.mrn a{color:var(--ink);font-weight:700;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mrn a:hover{color:var(--accent);text-decoration:underline}
.mrn .meta{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mrst{display:flex;justify-content:flex-end}
.mrst .pill,.mrst .pstat{margin-left:0}
.mrst .pill{font-size:10.5px;padding:2px 8px}
.mrv{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}
.mrv b{font-family:var(--display);font-size:20px}
.mrv .l{font-size:10.5px;color:var(--muted)}
.mrg{justify-self:end;font-weight:800;font-size:13px;color:var(--muted)}
.mrg.su{color:var(--ok)}
@media (max-width:560px){
  .mrlist li{grid-template-columns:minmax(0,1fr) 54px 54px 40px}
  .mrst{grid-column:1/-1;grid-row:2;justify-content:flex-start}
}
.mscform{gap:14px}
.mscform .field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;max-width:360px}
.mscform .field select{font-size:15px;text-transform:none;letter-spacing:0;font-weight:400;color:var(--ink)}
.mscform .btn{align-self:flex-start}
.mscols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:760px){.mscols{grid-template-columns:1fr}}
.mscols fieldset{border:1px solid var(--line);border-radius:12px;padding:10px 12px 12px;margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.mscols legend{font-family:var(--display);font-size:20px;font-weight:700;text-transform:uppercase;padding:0 6px}
.mscols legend .meta{font-family:var(--body);text-transform:none;font-size:12px}
.mschips{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.mschips .msr{margin-right:2px}
.mschips label{cursor:pointer}
.mschips input{position:absolute;opacity:0;pointer-events:none}
.mschips .msc{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:600;color:var(--ink)}
.mschips .msc .mrole{margin-left:-5px}
.mschips.mantra{row-gap:6px}
.mschips .msrl{flex-basis:100%;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.mschips input:checked + span{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.mschips input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.msctit{margin:0;font-size:17px}
.mscv{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:560px){.mscv{grid-template-columns:1fr}}
.mscs{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border-left:4px solid var(--nd)}
.mscs.ok{border-left-color:var(--ok)} .mscs.warn{border-left-color:var(--warn)} .mscs.bad{border-left-color:var(--bad)}
.mscs .l{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.mscs > b{font-family:var(--display);font-size:30px;line-height:1.05;text-transform:uppercase}
.mscs.ok > b{color:var(--ok)} .mscs.warn > b{color:var(--warn)} .mscs.bad > b{color:var(--bad)}
.mscn{font-size:14px;color:var(--muted)}
.mscn span{font-family:var(--display);font-size:22px;font-weight:700;color:var(--ink)}
.mscs .s{font-size:12.5px;color:var(--muted)}
.mscequo{margin:0;font-weight:600}
.mscgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:860px){.mscgrid{grid-template-columns:minmax(0,1fr)}}
.mscw{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mscst{display:flex}
.sflega{flex-wrap:wrap}
.sflt{display:flex;flex-direction:column;gap:2px;min-width:0}
.sflt .msg{margin:0;font-size:12.5px}
.sflf{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.sflf input[type=file]{max-width:240px;font-size:13px}
@media (max-width:560px){.sflf{width:100%}.sflf input[type=file]{flex:1;max-width:none}}
/* iPhone: un campo con il testo sotto i 16px fa ingrandire la pagina quando lo tocchi, e la pagina resta ingrandita:
   il pulsante «Torna su» e le schede sembrano allora muoversi. Sui telefoni tutti i campi hanno almeno 16px. */
@media (pointer:coarse),(max-width:640px){
  input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}
}
.tut-sfida{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px}
.tut-sfida span{display:flex;flex-direction:column;font-size:11px;color:var(--muted);line-height:1.2}
.tut-sfida span.dx{text-align:right;align-items:flex-end}
.tut-sfida b{font-family:var(--display);font-size:22px;color:var(--ink);line-height:1}
.tut-sfida i{font-style:normal;font-family:var(--display);font-weight:700;font-size:18px}
.tut-bar{display:flex;height:24px;overflow:hidden;padding:0!important}
.tut-bar i{display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:800;color:#06140D}
.tut-bar .v{background:var(--ok)} .tut-bar .x{background:var(--nd)} .tut-bar .s{background:var(--bad)}
.tut-row b{font-weight:600}
.tut-gain{margin-left:auto;font-weight:800;color:var(--ok)!important}
.tut-verdict{display:flex;flex-direction:column;gap:1px;padding:8px 12px;border-left:4px solid var(--ok)!important}
.tut-verdict span{font-size:11.5px;color:var(--muted)}
.tut-verdict b{font-family:var(--display);font-size:19px;text-transform:uppercase;color:var(--ok)}
.tut-verdict i{font-style:normal;font-size:11.5px;color:var(--muted)}

/* Rosa › Rose della lega */
.rlega{display:flex;flex-direction:column;gap:10px}
.rlegal{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column}
.rlegal li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:14px}
.rlegal li:last-child{border-bottom:0}
.rlegachk{display:flex;align-items:flex-start;gap:8px;cursor:pointer}
.rlegachk input{margin-top:3px;flex:none}
/* Admin › Segnalazioni: «Insegna a Claude» aperto occupa tutta la riga */
.ubtns details.teach[open]{flex-basis:100%}
.teachform{margin-top:8px;gap:8px}
.teachform input[type=text]{width:100%}

/* Versione semplice (menu utente › Passa alla versione semplice): meno numeri */
.semplice .fsummary .ftile,.semplice .fsummary .fmodtile,.semplice .xptnote,.semplice .fbig .ast{display:none}
.semplice .fsummary{grid-template-columns:1fr}
.semplice .mrow .mprob{display:none}
.semplice .pstat .pres{display:none}
.fsemplice{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
.fsemplice p{margin:0;flex:1 1 320px;color:var(--muted)}
.fsemplice p b{color:var(--ink)}
.vistaform{display:contents}
/* menu utente: il cambio di modalità (Tifoso / Mister) in risalto */
.umenu .linkbtn.umode{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);margin:4px 0}
.umenu .linkbtn.umode:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}

/* ================= Sezioni =================
   Un solo colore (quello del sito) per tutte le sezioni: la sezione aperta si riconosce dal menu evidenziato. */
body{--sez:var(--accent)}
[data-sez]{--c:var(--accent)}
.nav a.navsez:hover{color:var(--accent)}
.nav a.navsez[aria-current="page"]{color:var(--accent);border-bottom-color:var(--accent)}
.panel{--pc:transparent}

/* barra delle sezioni sul telefono, in basso come in un'app */
.tabbar{display:none}
@media (max-width:759px){
  .tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--surface);border-top:1px solid var(--line);padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));box-shadow:0 -6px 18px rgba(0,0,0,.18)}
  .tabbar a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px 4px;border-radius:12px;color:var(--muted);text-decoration:none;font-size:11.5px;font-weight:600;min-height:52px;justify-content:center}
  .tabbar a svg{width:24px;height:24px}
  .tabbar a[aria-current="page"]{color:var(--c);background:color-mix(in srgb,var(--c) 16%,transparent)}
  .tabbar a:focus-visible{outline:2px solid var(--c);outline-offset:-2px}
  body[data-utente="1"]{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  body[data-utente="1"] .totop{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  body[data-utente="1"] .nav a.navsez{display:none} /* le sezioni sono nella barra in basso */
  /* intestazione su una riga: logo, PRO e menu utente */
  body[data-utente="1"] .top{flex-wrap:nowrap;align-items:center}
  body[data-utente="1"] .top .brand{flex:1;min-width:0}
  body[data-utente="1"] .top .nav{flex-wrap:nowrap}
}
@media (max-width:640px){
  body[data-utente="1"] .top .brand{padding-right:0}
  body[data-utente="1"] .top .nav{width:auto;margin:0 46px 0 auto}
}
@media print{.tabbar{display:none}}
/* Formazione bloccata durante la giornata */
.fblocco{margin:0;display:flex;gap:12px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--sz-amb) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--sz-amb) 45%,transparent);font-size:14px;line-height:1.45}
.fblocco .fbico{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--sz-amb);color:#1B1300}
.fblocco a{white-space:nowrap}
.fblocco.live{background:color-mix(in srgb,var(--sz-news) 10%,var(--surface));border-color:color-mix(in srgb,var(--sz-news) 45%,transparent)}

/* News senza la colonna delle partite (spostate in Formazione): una colonna sola */
@media (min-width:1080px){.dlayout:not(:has(.dside)){grid-template-columns:minmax(0,1fr)}}

/* Formazione: la squadra accanto al nome del giocatore */
.nmw{display:flex;align-items:baseline;gap:6px;min-width:0}
.nmw .nm,.nmw .mnm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.sq{flex:none;font-size:11.5px;font-weight:500;color:var(--muted);white-space:nowrap}
@media (min-width:641px){
  .fmain .pitch .slot .nmw{flex-direction:column;align-items:center;gap:0;max-width:100%}
  .fmain .pitch .slot .nmw .nm,.fmain .pitch .slot .nmw .mnm{max-width:100%}
  .fmain .pitch .slot .sq{font-size:11px;line-height:1.2}
}
/* partite: niente esce dal riquadro, qualunque sia la larghezza */
.matches{min-width:0;overflow:hidden}
.matches .mrow>*{min-width:0}
/* «Chi schiero?» con tutti quelli che puoi schierare al suo posto: una colonna per giocatore, una riga per voce */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cmpallbox{position:relative}
.cmpnav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:7px 8px 7px 12px;border-radius:10px;
  background:color-mix(in srgb,var(--sz-form) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--sz-form) 35%,var(--line));font-size:13.5px;color:var(--ink)}
.cmpnav[hidden],.cmpfreccia[hidden]{display:none}
.cmpscorri{font-weight:700;color:var(--sz-form);white-space:nowrap;display:inline-block;animation:cmpspinta 1.4s ease-in-out 3}
@keyframes cmpspinta{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.cmpbtns{display:flex;gap:6px;flex:none}
.cmpvai{width:36px;height:36px;border-radius:50%;border:1px solid var(--sz-form);background:var(--sz-form);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0 0 3px}
.cmpvai:disabled{background:var(--surface);color:var(--muted);border-color:var(--line);cursor:default}
.cmpscorre{position:relative}
.cmpscorre::after{content:"";position:absolute;right:1px;top:1px;bottom:1px;width:44px;pointer-events:none;border-radius:0 10px 10px 0;
  background:linear-gradient(to right,transparent,var(--surface));opacity:0;transition:opacity .2s}
.cmpallbox.piu-dx .cmpscorre::after{opacity:1}
.cmpfreccia{position:absolute;right:6px;top:8px;z-index:2;width:34px;height:34px;border-radius:50%;border:0;background:var(--sz-form);color:#fff;font-size:22px;line-height:1;
  display:grid;place-items:center;padding:0 0 3px;box-shadow:0 2px 8px rgba(0,0,0,.25);cursor:pointer;animation:cmpspinta 1.4s ease-in-out 3}
@media (prefers-reduced-motion:reduce){.cmpscorri,.cmpfreccia{animation:none}}
.cmpallwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:10px}
.cmpall{border-collapse:separate;border-spacing:0;font-size:13.5px;min-width:100%}
.cmpall th,.cmpall td{padding:8px 10px;border-bottom:1px dashed var(--line);vertical-align:top;text-align:left;min-width:118px}
.cmpall thead th{font-family:var(--body);font-size:14px;font-weight:700;color:var(--ink);border-bottom:1px solid var(--line);white-space:nowrap}
.cmpall thead th .meta{display:block;font-weight:400}
.cmpall tbody th{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}
.cmpall th:first-child{position:sticky;left:0;z-index:1;background:var(--surface);min-width:0;box-shadow:1px 0 0 var(--line)}
.cmpall .lui{background:color-mix(in srgb,var(--sz-news) 10%,var(--surface))}
.cmpall td.win{background:rgba(46,158,98,.14);font-weight:600}
.cmpall td.win::after{content:" ✓";color:#2E9E62;font-weight:700}
.cmpall .cmpnews{font-size:12px;color:var(--muted)}
.cmpall .up{color:var(--ok)} .cmpall .down{color:var(--bad)}
.cmpall .pill{font-size:10px;padding:2px 7px;white-space:nowrap}
.cmpall tr:last-child th,.cmpall tr:last-child td{border-bottom:0}
@media (max-width:520px){.cmpall{font-size:13px}.cmpall th,.cmpall td{padding:7px 8px;min-width:104px}.cmpall tbody th{font-size:11.5px;white-space:normal;min-width:88px;max-width:96px}}
.cmpnote{margin:0 0 10px;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--sz-amb) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--sz-amb) 40%,transparent);font-size:13.5px;line-height:1.45}
/* Rosa: spiegazione del pulsante «Ruolo» */
.rruolohelp{margin:0 0 4px;display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:var(--muted);padding:10px 12px;border-radius:10px;background:var(--surface-2)}
.rruolohelp b{color:var(--ink)}
.rruolohelp .rl{flex:none;font-size:12px;font-weight:700;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:999px;padding:2px 9px;margin-top:1px}
.rruolohelp .rlm{display:none}
@media (max-width:640px){.rruolohelp .rld{display:none}.rruolohelp .rlm{display:inline}}
/* Rosa › Elimina rosa: riquadro rosso, si conferma scrivendo il nome */
.panel.rdelete{--pc:transparent;border-color:color-mix(in srgb,var(--bad) 70%,transparent);box-shadow:none}
.panel.rdelete h2{color:var(--bad);font-family:var(--body);text-transform:none;letter-spacing:0;font-size:20px;font-weight:800}
body:not([data-sez="base"]) .panel.rdelete > h2:first-child::before{display:none}
.rdelete p{margin:0;line-height:1.55;color:var(--muted)}
.rdelete p b{color:var(--ink)}
.rdelform{display:flex;flex-direction:column;gap:10px;max-width:420px}
.rdelbtn{background:var(--bad);border-color:var(--bad);color:#fff}
.rdelbtn:disabled{opacity:.45;cursor:not-allowed}
/* Formazione: sistema della rosa (non si cambia qui) */
/* coppe: data e competizione sopra, le due squadre per intero sotto (vanno a capo se servono) */
.mlist.cups{display:flex;flex-direction:column}
.crow{display:flex;flex-direction:column;gap:3px;padding:8px 2px;border-bottom:1px dashed var(--mrow-sep,var(--line))}
.crow .ctop{display:flex;align-items:center;gap:8px}
.crow .cteams{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.crow .cteams .mine{font-weight:700}
.crow .cvs{color:var(--muted)}
/* Admin › Uso dell'app */
.usotab td:first-child{position:relative}
.usotab tr.zero td{color:var(--muted)}
.usobar{display:block;height:4px;border-radius:2px;background:var(--surface-2);margin-top:4px;overflow:hidden}
.usobar i{display:block;height:100%;background:var(--accent)}
.usobar.big{height:10px;border-radius:5px;margin:0;flex:1}
.usoimb{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.usoimb li{display:grid;grid-template-columns:minmax(0,220px) 1fr 40px 44px;gap:10px;align-items:center;font-size:14px}
.usoimb b{text-align:right}
@media (max-width:640px){.usoimb li{grid-template-columns:1fr 36px 40px}.usoimb .usobar{grid-column:1/-1;grid-row:2}}
.usofb{display:flex;gap:18px;font-size:20px;margin:0}
.usonote{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.usonote li{display:flex;gap:10px;font-size:14px;border-bottom:1px dashed var(--line);padding-bottom:8px}
/* Formazione: parere */
.fparere{border-top:1px dashed var(--line);padding-top:12px}
.fparere .msg{margin:0}
.fpbox{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.fpq{font-weight:600}
.fpbtns{display:flex;gap:8px}
.fpno{flex-basis:100%;display:flex;gap:8px}
.fpno[hidden],.fpbox[hidden]{display:none}
.fpno input{flex:1;min-width:0}
/* News › Primi passi */
.ppassi{border:1px solid color-mix(in srgb,var(--sez) 45%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--sez) 8%,var(--surface));padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.pphead{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pphead h2{margin:0;font-family:var(--display);font-size:22px;text-transform:uppercase;letter-spacing:.03em}
.ppassi ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ppassi li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center}
.ppassi li > span:nth-child(2){display:flex;flex-direction:column}
.ppn{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--surface-2);color:var(--ink)}
.ppassi li.fatto .ppn{background:var(--ok);color:#fff}
.ppassi li.fatto b{color:var(--muted);text-decoration:line-through}
/* News › riquadro «Cosa fare adesso» */
.oggi{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:inset 4px 0 0 var(--sz-form)}
.oggi:hover{border-color:var(--sz-form)}
.oggi.incorso{box-shadow:inset 4px 0 0 var(--sz-amb)}
/* News › spiegazione degli stati */
.statispiega{margin-top:-6px}
.statispiega dl{margin:8px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 16px}
.statispiega dl div{display:flex;gap:10px;align-items:baseline}
.statispiega dt{flex:none;min-width:118px}
.statispiega dd{margin:0;font-size:13.5px;color:var(--muted)}
@media (max-width:640px){
  .ppassi li{grid-template-columns:30px minmax(0,1fr)}
  .ppassi li .btn{grid-column:2;justify-self:start}
}

/* News: giocatori «Senza novità» chiusi in una riga per ruolo */
details.quieti{margin-top:8px}
details.quieti>summary{list-style:none;display:flex;align-items:baseline;gap:6px;padding:8px 2px;cursor:pointer;font-size:13.5px;color:var(--muted);min-width:0}
details.quieti>summary::-webkit-details-marker{display:none}
details.quieti>summary::before{content:"▸";flex:none;font-size:11px;color:var(--accent);transition:transform .15s}
details.quieti[open]>summary::before{transform:rotate(90deg)}
details.quieti .qt{flex:none;font-weight:600;color:var(--ink)}
details.quieti .qnomi{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
details.quieti>summary:hover .qt{color:var(--accent)}
details.quieti[open] .qnomi{display:none}
details.quieti>.cards{margin-top:2px}
@media (max-width:640px){
  /* nome, ruolo e stato sulla prima riga; la partita sotto, su una riga sola */
  .card .row1{flex-wrap:wrap;align-items:center}
  .card .row1 .who{display:contents}
  .card .row1 .team{order:5;flex-basis:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .card .row1>.pill,.card .row1>.pstat{margin-left:auto}
}
/* notizie chiuse: solo il titolo, un tocco apre l'anteprima e il link all'articolo (anche da computer) */
.nchiuse .news .ntitle{display:flex;gap:6px;align-items:baseline;cursor:pointer}
.nchiuse .news .ntitle::before{content:"▸";font-size:11px;color:var(--accent);flex:none;transition:transform .15s}
.nchiuse .news.open .ntitle::before{transform:rotate(90deg)}
.nchiuse .news .ndesc{display:none}
.nchiuse .news.open .ndesc{display:-webkit-box}
.nchiuse .news.open .ndesc.pending{display:none}
.nchiuse .news.open .nopen{display:inline-block;font-size:13px;font-weight:600;margin-top:2px}
/* Rosa, colonna di destra: tutti i pulsanti come «Aggiungi alla rosa» (larghi quanto il riquadro, stessa altezza) */
.rside .panel form .btn{width:100%;padding:11px 16px;font-size:15px;text-align:center}
.rside .rshareform{display:flex;flex-direction:column;gap:8px}
.rside .panel form .btn.ghost{padding:10px 16px}
/* ================= Telefono: intestazioni più compatte ================= */
@media (max-width:640px){
  .dtitle h1,.pagehead h1{font-size:26px;line-height:1}
  .dkicker{font-size:10px;letter-spacing:.12em}
  /* formazione bloccata: solo l'essenziale */
  .fbdett{display:none}
  .fblocco{padding:9px 12px;gap:10px;font-size:13.5px}
  .fblocco .fbico{width:28px;height:28px;border-radius:8px}
  .fblocco .fbico svg{width:16px;height:16px}
  /* Formazione: sistema e modulo sulla stessa riga */
  .fctl{gap:8px}
  .fctl .fmod{min-width:0}
  .fctl .fmod>span{white-space:nowrap}
  .fctl .fmod select{min-width:0}
  .fctl .fintro{flex-basis:100%}
}
/* Rosa su telefono e tablet: prima «Aggiungi giocatori» e subito dopo «Rose della lega» (caricamento del file), poi la
   lista, poi le tue rose e la condivisione */
@media (max-width:1079px){
  .rside{display:contents}
  .rside>.radd{order:-2}
  .rside>.rlega{order:-1}
  .rside>.panel:not(.radd):not(.rlega){order:1}
}
/* nomi dei giocatori nella formazione: si accorcia la squadra, non il nome */
.nmw .nm,.nmw .mnm{flex:0 1 auto;max-width:100%}
.nmw .sq{flex:0 100 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* menu del modulo con lo stesso carattere del sistema («Classic», «Mantra») */
.fmod select{font-family:var(--body);font-weight:700;font-size:14px;color:var(--ink)}
/* pulsanti larghi quanto il riquadro: passa alla modalità Mister, salva le impostazioni della lega */
.fsemplice .btn{width:100%;text-align:center}
.rsetfoot .btn{width:100%;padding:11px 16px;font-size:15px;text-align:center}
/* sul telefono i menu a tendina devono restare a 16px (sotto, iPhone ingrandisce la pagina quando li tocchi): anche il sistema va a 16px */
/* telefono, formazione e panchina in lista: nome intero sulla prima riga, squadra e numeri sulla seconda */
@media (max-width:640px){
  .pitch .slot .sn,ol.bench .slot .sn{display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;row-gap:1px;align-items:baseline;white-space:normal!important;overflow:visible!important}
  .pitch .slot .sn .nmw,ol.bench .slot .sn .nmw{display:contents!important}
  .pitch .slot .sn .nm,.pitch .slot .sn .mnm,ol.bench .slot .sn .nm,ol.bench .slot .sn .mnm{grid-column:1/-1;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.2;overflow-wrap:anywhere;max-width:none}
  .pitch .slot .sn .sq,ol.bench .slot .sn .sq{grid-column:1;grid-row:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
  .pitch .slot .sn .xs,ol.bench .slot .sn .xs{grid-column:2;grid-row:2;justify-self:end}
}
/* ruoli Mantra nella formazione e in panchina tutti della stessa larghezza: i nomi stanno in colonna */
.slot > .mrole{min-width:46px;justify-content:center;text-align:center;box-sizing:border-box}
/* Rose della lega (Mercato e La sfida): file e pulsante a tutta larghezza, come in Rosa */
.sflega{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;padding:14px 16px}
.sflega .sflf,.sfupload{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%}
.sflega .sflf input[type=file],.sfupload input[type=file]{width:100%;max-width:none;font-size:14px;padding:10px 12px}
.sflega .btn,.sfupload .btn{width:100%;padding:11px 16px;font-size:15px;text-align:center}
.sflega .sflt{display:flex;flex-direction:column;gap:2px}
@media (min-width:760px){.sflega{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:center;column-gap:24px}}
/* Mercato › Scambi: pulsante a tutta larghezza; riquadro di attesa per le operazioni lunghe */
.mscvai{width:100%;padding:11px 16px;font-size:15px;text-align:center}
.busyover{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(2px)}
.busybox{max-width:340px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 20px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.18);display:flex;flex-direction:column;align-items:center;gap:8px}
.busybox b{font-size:16px}
.busybox p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.45}
.spin{width:36px;height:36px;border-radius:50%;border:4px solid var(--accent-soft);border-top-color:var(--accent);animation:ffspin .8s linear infinite}
@keyframes ffspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:2.4s}}
/* Mercato › Scambi: come cambiano le formazioni, una scheda per squadra */
.mscambi{display:grid;grid-template-columns:1fr;gap:12px}
@container (min-width:720px){.mscambi{grid-template-columns:1fr 1fr}}
.mscard{border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px;min-width:0}
.mscard h3{margin:0;font-family:var(--display);font-size:19px;text-transform:uppercase;letter-spacing:.03em;overflow-wrap:anywhere}
.msmov{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:start}
.mslab{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding-top:3px}
.mslab.in{color:var(--ok)} .mslab.out{color:var(--bad)}
.msmov ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;min-width:0}
.msmov li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14.5px;min-width:0}
.msmov li .pill{font-size:10.5px;padding:2px 8px;flex:none}
.msmov li .meta{font-family:var(--body);font-size:12.5px;flex:none;color:var(--muted)}
.mspunti{margin:0;display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--line)}
.mspunti div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:14px}
.mspunti dt{color:var(--muted)}
.mspunti dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.msd{display:inline-block;min-width:38px;text-align:center;margin-left:4px;padding:1px 6px;border-radius:6px;font-size:12.5px;font-weight:700}
.msd.su{color:var(--ok);background:var(--ok-bg)} .msd.giu{color:var(--bad);background:var(--bad-bg)} .msd.zero{color:var(--muted);background:var(--nd-bg)}
/* Account › Modalità */
.modolist{margin:0 0 4px;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}
.modolist b{color:var(--ink)}
.modopanel .btn{width:100%;text-align:center}
/* lettere dei ruoli al centro del cerchietto (il carattere condensato poggia un po' in basso) */
.role{padding-bottom:.1em;box-sizing:border-box}
/* barra in basso: livello proprio, così su iPhone (Safari e app installata) non resta «appesa» a metà pagina */
.tabbar{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}
/* popup lunghi (Chi schiero?, Come funziona…): la X resta sempre in vista mentre si scorre */
/* Chi schiero?: titolo e X fermi in alto, scorre solo il confronto (così la X non copre i pulsanti ‹ ›) */
dialog.cmpdlg[open]{flex-direction:column;overflow:hidden}
dialog.cmpdlg > h2{flex:none;padding-right:44px}
dialog.cmpdlg .cmpbody{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;margin:0 -4px;padding:0 4px 4px}
/* nome del giocatore sempre su una riga (Alert e schede delle News) */
.row1 .pname{white-space:nowrap}
.alert-item .row1{flex-wrap:wrap}
.alert-item .row1 .team{min-width:0}
/* avviso «Formazione bloccata»: testo al centro del lucchetto anche da computer */
.fblocco{align-items:center}
/* Mercato › Scambi: i giocatori dello scambio, una riga per giocatore con i due valori a destra */
.msleg{margin:0 0 6px}
.msgioc{display:flex;flex-direction:column;gap:6px}
.msgioc .mslab{margin:10px 0 2px;font-family:var(--body)}
.mslist{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.mslist li{justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid var(--line)}
.mslist li:first-child{border-top:0}
.msl{display:flex;flex-direction:column;gap:4px;min-width:0}
.msl .mscw{display:flex;align-items:center;gap:8px;font-size:15.5px;white-space:nowrap;min-width:0}
.msl .mscw a,.msl .mscw b{color:var(--ink);font-weight:700;text-decoration:none;overflow:hidden;text-overflow:ellipsis}
.msl .msq{font-size:12.5px;color:var(--muted)}
.msl .mscst{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.msl .mscst .pill{font-size:10.5px;padding:2px 8px}
.msr{display:flex;gap:14px;flex:none;text-align:right}
.msv{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}
.msv b{font-size:19px;font-variant-numeric:tabular-nums}
.msv small{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.msv.sec b{font-size:15px;font-weight:600;color:var(--muted)}
.msgioc h3.mslab{font-size:12px;letter-spacing:.12em}
.mslist li{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:3px;align-items:center}
.mslist .msl{display:contents}
.mslist .msl .mscw{flex-direction:row;flex-wrap:nowrap}
/* nome intero sulla prima riga; squadra e stato a sinistra, valori a destra sotto */
.mslist .msl .mscw{grid-column:1/-1;grid-row:1}
.mslist .msl .msq{grid-column:1;grid-row:2}
.mslist .msl .mscst{margin-top:0;justify-content:flex-start}
.mslist .msl .mscst .pstat{justify-content:flex-start}
.mslist .msr{grid-column:2}
.mslist .msl .mscw a,.mslist .msl .mscw b{overflow:visible;text-overflow:clip;white-space:normal}
.mslist .msl .mscst{grid-column:1/-1;grid-row:3}
.mslist .msr{grid-row:2;align-self:center}
.mslist .msl .mscst{justify-self:start}.mslist .msl .mscst .pstat,.mslist .msl .mscst .pill{margin-left:0}
/* La sfida: «Calcola la sfida» a tutta larghezza */
/* La sfida: le due squadre allineate in alto (nome, punti, didascalie alla stessa altezza) */
.sfteams{align-items:start}
.sft .sfl{white-space:nowrap}
/* schede della Formazione: non scorrono (prima si spostavano di un pixel con il trackpad o il dito) */
.ftabs{overflow:visible}
.mscore.attesa{color:var(--muted)}

/* Alert: notizie e piede uguali a quelli delle schede sotto */
.alert-item .cardfoot{padding-top:6px;border-top:1px solid var(--line);font-size:13px;margin-top:4px}
/* Alert: dentro ci sono le stesse schede della lista sotto */
.alert .alertcards{padding:10px;gap:8px}
.alert .alertcards .card .aitag{margin-left:0;align-self:flex-start}
.fbench .benchnota{margin:-2px 0 2px;font-size:12.5px;line-height:1.45}
/* barra in basso: sempre toccabile, anche sopra il riquadro «Caricamento…» (si può cambiare pagina mentre una carica) */
@media (max-width:820px){.tabbar{z-index:101;touch-action:manipulation}}
.aggtab td .msg{display:block;font-size:12.5px;margin-top:3px;white-space:normal}
.aggtab td{vertical-align:top}
.mrow .mfin{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
/* partite senza risultato: colonna centrale stretta; il nome si accorcia, il numero dei tuoi giocatori resta sempre intero */
.mrow{grid-template-columns:52px 1fr 14px 1fr}
.dside .mrow,.fside .mrow{grid-template-columns:44px 1fr 12px 1fr}
@media (max-width:420px){.mrow{grid-template-columns:44px 1fr 12px 1fr}}
.mrow .mscore{font-size:14px;color:var(--muted)}
.mteam{display:flex;align-items:center;gap:4px;min-width:0}
.mteam.home{justify-content:flex-end}
.mteam .mtn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.mteam .mcount{flex:none;padding:0 4px;gap:1px;height:17px}
.mrow .mprob{grid-template-columns:1fr auto 1fr}
@media (max-width:370px){
  .mrow{grid-template-columns:40px 1fr 10px 1fr;gap:4px;font-size:12.5px}
  .mrow .mfin{font-size:9.5px;letter-spacing:.02em}
  .mteam .mcount svg{display:none}
  .mteam .mcount{padding:0 4px;font-size:10.5px;height:16px}
}
/* spiegazione del bordo dorato sotto il campo */
.fwarnnota{display:flex;gap:8px;align-items:flex-start;margin:10px 0 2px;font-size:13px;line-height:1.45}
.fwarnnota .wdemo{flex:none;width:18px;height:14px;margin-top:2px;border:2px solid var(--warn);border-radius:4px;background:var(--surface)}
/* note sotto la formazione, divise per gruppo */
/* note sui giocatori: un punto per giocatore */
.fnoteplayer{margin-top:14px}
.fnlist{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:5px;font-size:13.5px;line-height:1.45;max-width:90ch}
.fnlist .fnavv{color:var(--bad);font-weight:600}
.fnlist .fnout{color:var(--muted)}
.fnwhy{margin:8px 0 0;font-size:12.5px;max-width:90ch}
/* panchina: il nome intero sulla prima riga, la squadra nella seconda insieme a «entra X%» */
ol.bench .slot .nm{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.2}
ol.bench .slot .xs{text-overflow:ellipsis;max-width:100%}
ol.bench .slot .bsq{font-family:var(--sans,inherit)}
ol.bench .slot .xs{display:flex;align-items:baseline;min-width:0;overflow:hidden;white-space:nowrap}
ol.bench .slot .xs .bsq{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:pre}
ol.bench .slot .xs .xl{flex:none;white-space:pre}
ol.bench .slot .sn{align-items:flex-start;text-align:left}
ol.bench .slot .xs{justify-content:flex-start;justify-self:start;align-self:flex-start;text-align:left;margin-left:0}
ol.bench .slot .sn .xs{grid-column:1/-1;justify-self:start}
/* Mercato › Moduli */
.mercmod .mrhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}
.mercmod .mrhead .pill{margin-left:auto}
.mmbig{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:4px 0 12px;font-size:14px}
.mmbig b{font-family:var(--display);font-size:30px;line-height:1}
.mmbig .pbar{flex:1 1 160px;height:8px;border-radius:4px;background:var(--line);overflow:hidden;display:block}
.mmbig .pbar i{display:block;height:100%;background:var(--accent)}
.mmtab td{vertical-align:middle}
.mmtab .mmlab{font-size:13px;color:var(--muted);margin-left:4px}
.mmtab tr.mmdeb td{background:color-mix(in srgb,var(--warn) 9%,transparent)}
.mmtab tr.mmdeb td:last-child{color:var(--warn);font-weight:700}
.mmcand{margin-top:14px}
.mmcand .fsub{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.mmcand .fsub span:last-child{font-size:12.5px;font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0}
.mmcon b{color:var(--muted)}
.mmcon.su b{color:var(--ok,var(--accent))}
@media (max-width:640px){
  .mmtab th,.mmtab td{padding-left:8px;padding-right:8px}
  .mmtab th{font-size:10.5px}
}
/* la tabella dei moduli mostra sempre la colonna «Scoperto» (le pagine pubbliche nascondono la quarta colonna da telefono) */
table.pubtab.mmtab thead th:nth-child(4),table.pubtab.mmtab td:nth-child(4){display:table-cell}

/* card della giornata (chiusura e prossima): stessa impaginazione, colori diversi */
.gcard{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;row-gap:8px;align-items:start;padding:14px 16px;border-radius:12px;color:var(--ink);text-decoration:none;font-size:14px;line-height:1.45}
.gcard .gnum{grid-row:1/3;font-family:var(--display);font-size:26px;font-weight:700;line-height:1.1}
.gcard .gtxt{display:flex;flex-direction:column;gap:2px;min-width:0}
.gcard .gtxt > span{color:var(--muted)}
.gcard .gtxt b{color:var(--ink)}
.gcard .gtit{font-size:15px}
.gcard .ggo{grid-column:2;font-weight:700;white-space:nowrap}
.gcard.andstrip .ggo{color:var(--accent)}
.gcard.oggi .ggo{color:var(--sz-form)}
.gcard.oggi.incorso .ggo{color:var(--ink)}
.gcard.oggi{box-shadow:inset 4px 0 0 var(--sz-form)}
.gcard.oggi.incorso{box-shadow:inset 4px 0 0 var(--sz-amb)}
@media (max-width:560px){.gcard{column-gap:12px;grid-template-columns:36px minmax(0,1fr)}.gcard .gnum{font-size:22px}}

/* Manutenzione: «Aggiorna ora» accanto a ogni aggiornamento automatico */
table.pubtab.aggtab td.aggora{text-align:right;white-space:nowrap;width:1%}
table.pubtab.aggtab td.aggora form{margin:0}
table.pubtab.aggtab td.aggora .btn.busy{opacity:.6;cursor:progress}
table.pubtab.aggtab td.aggora .btn{display:inline-flex;align-items:center;gap:6px}
table.pubtab.aggtab td.aggora .btn.busy .aggico{animation:aggrot 1s linear infinite}
@keyframes aggrot{to{transform:rotate(360deg)}}
@media (max-width:640px){table.pubtab.aggtab thead th:nth-child(4),table.pubtab.aggtab td:nth-child(4){display:table-cell}
  table.pubtab.aggtab td.aggora{padding-left:2px}
  table.pubtab.aggtab td.aggora .btn{padding:6px;width:32px;height:32px;justify-content:center}
  table.pubtab.aggtab td.aggora .aggtxt{display:none}}

/* Sfida: titolari e panchina dell'avversario modificabili (stesso editor di «La mia formazione») */
.sfeditor{margin-top:12px}
.sfeditor > .msg{margin:8px 0 0}
.sfeditor .miamod{margin:12px 0 4px}
.sfeditor .pitched{margin-top:6px}
@media (min-width:641px){.sfeditor ol.miabench{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}

/* Rosa › Impostazioni: soglie gol (per la sfida e l'andamento) */
.golset .golrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px}
.golset .golrow input{width:76px}
/* Sfida: soglie gol in sola lettura, si cambiano nella Rosa */
.sfctl .sfgol{display:flex;flex-direction:column;gap:4px;color:var(--ink);text-decoration:none}
.sfctl .sfgol .v{font-size:15px;color:var(--ink);text-transform:none;letter-spacing:0;font-weight:400;padding:8px 0}
.sfctl .sfgol > span:first-child{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.sfctl .sfgol:hover b{color:var(--accent)}
/* Sfida: pulsanti staccati dalla rosa sopra e dal link «Oppure scrivi i nomi» sotto */
.sfedform .miabtns{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.sfavpanel .sfeditor + details.more{margin-top:18px}
/* Sfida, avversario aggiunto a mano: nome, «Aggiungi in panchina» e ✕ per togliere */
.sfedform .sfnome{display:flex;flex-direction:column;gap:4px;margin:4px 0 12px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.sfedform .sfnome input{max-width:420px;font-size:15px;text-transform:none;letter-spacing:0;font-weight:400;color:var(--ink)}
.sfedform .sfaddpan{display:flex;flex-direction:column;gap:4px;margin:0 0 10px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.sfedform .sfaddpan select{max-width:420px;font-size:15px;text-transform:none;letter-spacing:0;font-weight:400;color:var(--ink)}
ol.miabench .mord .mdel:hover{border-color:var(--bad,#b3261e);color:var(--bad,#b3261e)}

/* Sfida: classifica prevista della lega */
.sfclass > summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px}
.sfclass > summary::-webkit-details-marker{display:none}
.sfclass > summary::after{content:"▾";margin-left:auto;color:var(--muted);transition:transform .15s}
.sfclass[open] > summary::after{transform:rotate(180deg)}
.sfclass .sfct{display:flex;flex-direction:column;gap:2px;min-width:0}
.sfclass .sfct b:first-child{font-size:16px}
.sfclass[open] > summary{margin-bottom:12px}
.sfclasstab tr.mia td{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.sfclasstab td:first-child,.sfclasstab th:first-child{width:28px;color:var(--muted)}
@media (max-width:560px){table.pubtab.sfclasstab thead th:nth-child(4),table.pubtab.sfclasstab td:nth-child(4){display:table-cell}
  table.pubtab.sfclasstab th,table.pubtab.sfclasstab td{padding:7px 5px;font-size:13px}}
.sfpunti{margin-top:14px}
.sfpuntigrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 14px;margin:10px 0 12px}
.sfpuntigrid label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}
.sfpuntigrid input{width:80px}
.sfclass > summary{font-family:var(--body);text-transform:none;letter-spacing:0;font-size:14px;font-weight:400;color:var(--ink)}
.sfclass .sfct > b:first-child{font-family:var(--display);font-size:22px;text-transform:uppercase;letter-spacing:.01em}
.sfclass .sfct .msg{margin:0;text-transform:none}
.sfclass .sfct .msg b{font-family:var(--body);font-size:inherit;text-transform:none}
.sfclass > summary .sfct .msg,.sfclass > summary .sfct .msg b{font-family:var(--body);text-transform:none;letter-spacing:0;font-size:14px}
@media (max-width:560px){.sfclasstab .sfcmedia{display:none}}
/* Sfida: titoli dei riquadri come «Classifica prevista della lega» */
.panel h2.sfh{font-size:22px;letter-spacing:.01em}
.sfctl h2.sfh{flex-basis:100%}
.sflt h2.sfh{margin-bottom:2px}
/* Sfida della giornata: un riquadro solo (controlli + formazione dell'avversario) */
.sfbox .sfctl{display:flex;margin:0}
.sfbox .sfavpanel{border-top:1px solid var(--line);padding-top:16px;margin-top:4px}
.sfbox .sfavhead h3{font-size:19px;margin-bottom:2px}
.sfbox .sfscegli{margin:0}
/* Sfida senza calendario: due strade affiancate, la prima consigliata */
.sfstart{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.sfopt{position:relative;display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);margin:0}
.sfopt h3{margin:0;font-size:16px}
.sfopt .msg,.sfopt .hint{margin:0}
.sfopt .hint{font-size:12.5px;color:var(--muted)}
.sfopt select{width:100%}
.sfoptcal{background:var(--surface);border:2px solid var(--accent)}
.sfopt .sfbadge{align-self:flex-start;display:inline-block;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;line-height:1.5;color:var(--accent);background:var(--accent-soft);padding:2px 10px;border-radius:999px;min-height:0;box-shadow:none}
.sfcalform{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:auto}
.sfcalform input[type=file]{flex:1;min-width:180px}
.sfgolinfo{margin:0;font-size:13.5px;color:var(--muted);padding:8px 12px;border-radius:10px;background:var(--surface-2)}
.sfgolinfo b{color:var(--ink)}
.sfgolinfo .sfgk{font-weight:700;color:var(--ink);margin-right:4px}
.sfbox .fbench h3.fsub{font-size:17px}
.sfclass .tablewrap + .notes{margin-top:16px}
.sfedform .fbench > h3.fsub{margin:22px 0 14px}

/* Sfida della giornata: due scelte chiare (la tua squadra, l'avversario) e un solo pulsante */
.sfbox .sfctl{align-items:flex-end}
.sfcalc{display:flex;flex-direction:column;gap:16px;border-top:1px solid var(--line);padding-top:16px}
.sfscelte{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 24px}
.sfseg{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;min-width:0}
.sfseg .sflegend{padding:0;margin-bottom:6px;font-family:var(--display);font-size:19px;text-transform:uppercase;letter-spacing:.02em}
.sfseg .sflegend span{font-family:var(--body);font-size:13px;text-transform:none;color:var(--muted);letter-spacing:0}
.sfopts{display:grid;grid-template-columns:1fr 1fr;width:100%;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--surface-2,var(--bg));box-sizing:border-box}
.sfopt{position:relative;display:flex;min-width:0}
.sfopt input{position:absolute;opacity:0;pointer-events:none}
.sfopt span{flex:1;display:block;padding:9px 12px;border-radius:999px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;text-align:center;overflow:hidden;text-overflow:ellipsis}
.sfopt input:checked + span{background:var(--accent);color:#fff}
.sfopt input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.sfopt.off span{opacity:.45;cursor:not-allowed}
.sfseg .hint{font-size:12.5px;color:var(--muted)}
.sfavio .sfeditor{margin-top:0}
.sfgo .btn{width:100%;padding:13px 16px;font-size:16px;text-align:center}
.sfsvuota{margin:10px 0 0}
.sfdel{margin:0}
@media (max-width:640px){.sfscelte{grid-template-columns:1fr}}
/* Sfida: menu dell'avversario con la freccia dentro il riquadro; le due scelte della stessa misura e allineate */
.sfctl select[name=avv]{appearance:none;-webkit-appearance:none;padding:9px 38px 9px 12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23667069' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px;min-width:260px}
@media (max-width:640px){.sfctl select[name=avv]{min-width:0;width:100%}}

/* rotellina di caricamento: pronta subito, visibile solo se la pagina ci mette più di 0,4 secondi */
.busyover.ritardo{animation:busyin .2s ease .4s both}
@keyframes busyin{from{opacity:0}to{opacity:1}}

/* Campi per caricare un file (app.js li avvolge in .filepick): come gli altri campi del sito */
.filepick{position:relative;display:flex;align-items:center;gap:10px;min-width:0;min-height:44px;box-sizing:border-box;padding:9px 14px;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--accent) 4%,var(--surface));color:var(--muted);font-size:14px;cursor:pointer;transition:border-color .15s,background .15s}
.filepick:hover,.filepick:focus-within,.filepick.sopra{border-style:solid;border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.filepick:focus-within{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:1px}
.filepick .fpico{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--surface);border:1px solid var(--line);color:var(--accent)}
.filepick .fptxt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filepick.scelto{border-style:solid;border-color:var(--accent)}
.filepick.scelto .fptxt{color:var(--ink);font-weight:700}
.filepick input[type=file]{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;padding:0;border:0;opacity:0;cursor:pointer;font-size:0}
/* dove prima c'era il campo del browser */
.sflf .filepick{flex:1 1 240px;max-width:320px}
.sflega .sflf .filepick,.sfupload .filepick{width:100%;max-width:none}
@media (max-width:560px){.sflf .filepick{max-width:none;width:100%}}
.sflega .sflf .filepick,.sfupload .filepick,.stack .filepick{flex:none}
/* riquadri dei conteggi: numeri (1 o 2 cifre) centrati nello stesso spazio, così le etichette partono tutte allo stesso punto */
.summary .sum .n{min-width:1.2em;flex:none;text-align:center;font-variant-numeric:tabular-nums}
.summary .sum{align-items:center}
/* fantavoto ufficiale di chi ha già giocato la giornata in corso */
.fvu{display:inline-block;font-family:var(--mono);font-size:10.5px;font-weight:700;line-height:1.35;padding:0 5px;border-radius:999px;background:var(--ok-bg);color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 45%,transparent);white-space:nowrap;vertical-align:baseline}
.fvu.sv{background:var(--nd-bg);color:var(--nd);border-color:var(--line)}
.fvunota{display:flex;gap:8px;align-items:flex-start;margin:10px 0 2px;font-size:13px;line-height:1.45}
.fvunota>.fvu{flex:none;margin-top:1px}
.slot .xs .sqg{color:var(--bad);font-weight:600}
/* modulo bloccato a giornata iniziata */
.fmodlock b{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink);font-size:14px;font-weight:700;font-family:var(--body)}
.fmodlock b svg{color:var(--muted);flex:none}
@media (max-width:640px){.fctl .fmodlock b{width:100%;justify-content:space-between}}
/* panchina della consigliata: nome intero, poi squadra (sempre intera) e fantavoto atteso → voto ufficiale; sotto la barra «entra X%» */
ol.bench .bslot .sn{display:flex!important;flex-direction:column;gap:2px;min-width:0;overflow:visible!important;white-space:normal!important}
ol.bench .bslot .sn .nmw{display:block!important}
ol.bench .bslot .brow{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}
ol.bench .bslot .bsq{flex:none;font-size:12px;color:var(--muted);white-space:nowrap}
ol.bench .bslot .bfv{flex:none;font-family:var(--mono);font-weight:500;color:var(--muted);white-space:nowrap}
ol.bench .bslot .bent{grid-column:2/-1;display:flex;align-items:center;gap:8px;min-width:0}
ol.bench .bslot .bent .bpe{flex:1;grid-column:auto}
ol.bench .bslot .bpt{flex:none;font-family:var(--mono);color:var(--muted);white-space:nowrap}
@media (max-width:640px){ol.bench .bslot .bsq{font-size:12px}}
/* Account › Avvisi: quali notifiche ricevere */
.avvh{margin:14px 0 6px}
.avvtipi{display:flex;flex-direction:column;gap:2px;margin:0 0 4px}
.avvtipo{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.35;cursor:pointer}
.avvtipo:last-child{border-bottom:0}
.avvtipo input{flex:none;margin-top:2px;width:18px;height:18px;accent-color:var(--accent)}
.avvtipo>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.avvtipo .hint{font-size:12.5px;color:var(--muted)}
.avvtipo .probadge{margin-left:6px;vertical-align:1px}
/* Admin › Precisione: riquadri in cima allineati (etichetta, numero, dettaglio) */
.precsum .sum{flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:6px;padding:14px 16px}
.precsum{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.precsum .sum .l{order:0;min-height:2.6em;font-size:11.5px;line-height:1.3}
.precsum .sum .n{order:1;font-size:34px}
.precsum .sum .s{order:2;font-size:12px;color:var(--muted)}
/* Admin › Precisione: errori più grossi */
.precerrtab td{vertical-align:middle}
.precerrtab .pegioc{display:flex;align-items:center;gap:10px}
.precerrtab .pegioc>span:not(.role){display:flex;flex-direction:column;gap:1px}
.precerrtab .pegioc .meta{font-size:12px;font-family:var(--body)}
.precerrtab td.num{text-align:right;white-space:nowrap}
.precerrtab .pill{white-space:nowrap}
@media (max-width:640px){.precsum{grid-template-columns:1fr 1fr!important}}
/* La lega su FantaFeed (lega.php) */
.legah{font-family:var(--display);font-size:34px;text-transform:uppercase;margin:2px 0 8px}
.legainv{max-width:720px}
.legasq{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.legasq legend{font-weight:700;margin-bottom:8px}
.legaopt{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;background:var(--surface)}
.legaopt:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.legaopt>span{display:flex;flex-direction:column}
.legaopt input{accent-color:var(--accent)}
.legalink{display:flex;gap:8px;flex-wrap:wrap}
.legalink input{flex:1 1 260px;min-width:0;font-family:var(--mono);font-size:13px}
.legalist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px}
.legalist li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;border:1px solid var(--line);border-radius:10px;padding:9px 12px}
.legalist .legan{flex:1 1 auto}
.legalist .meta{flex-basis:100%;font-size:12.5px}
.legalist .legapt{font-family:var(--mono);font-weight:600}
.legaoff{flex-wrap:wrap}
.legaoff .field,.legaprima{display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}
.legaoff input,.legaprima input{width:72px}
.legasf{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.legasf li{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.legasf li.mio{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.legasfn{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:baseline}
.legasfn b:last-child{text-align:right}
.legabar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--surface-2)}
.legabar i{display:block;height:100%}
.legabar .v{background:var(--ok)}.legabar .x{background:var(--nd)}.legabar .s{background:var(--bad)}
.legasfp{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12.5px;color:var(--muted)}
.legaclass tr.mio td,.legaprev tr.mio td{background:var(--accent-soft)}
.legaesci{display:flex;justify-content:center;margin:4px 0 0}
.sfcal{flex-basis:100%;font-size:13px}

/* Tendine: freccia disegnata da noi con spazio a destra, così il testo lungo («Il migliore per la mia rosa») non la spinge fuori dal riquadro (Safari su iPhone/Mac). */
select:not([multiple]):not([size]){appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23667069' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;text-overflow:ellipsis}
.fmod select{padding-right:36px}

/* ===== Formazione su telefono e tablet: prima la formazione, il resto a richiesta ===== */
.fverd{display:flex;gap:10px;align-items:flex-start;margin:10px 0 0;padding:10px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-size:14.5px;line-height:1.4}
.fverd .fvdot{flex:none;width:10px;height:10px;border-radius:50%;margin-top:5px;background:var(--accent,#127a4a)}
.fverd.fverd-m .fvdot{background:#d98a12}
.fverd.fverd-w .fvdot{background:#c8372d}
.fnumbtn{display:none}
.fmain .fhead .fcopy{margin-left:auto}
.fmain .fhead:has(.fcopy) .fmodbig{margin-left:0}
.fmain .slot[data-pid]{cursor:pointer}
.psheet{max-width:520px;width:calc(100% - 24px)}
.psheet .psbody table.stats tbody{grid-template-columns:1fr}
.psheet .psbody table.stats tr{border:0;padding:0}
.psheet .psact{margin:14px 0 0}
.psheet .psact .btn{width:100%}
.mtogh{margin:0}
.mtog{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;cursor:pointer;font:inherit;color:inherit}
.mtog::after{flex:none;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-3px);transition:transform .15s}
.mcoll.aperta .mtog::after{transform:rotate(-135deg) translateY(-2px)}
.mtog:focus-visible{outline:2px solid var(--accent,#127a4a);outline-offset:4px;border-radius:4px}
@media (max-width:1079px){
  .mcoll:not(.aperta) > :not(:first-child):not(dialog){display:none!important}
  .mcoll:not(.aperta){gap:0}
  .fside .chisch{order:-1}
  .fnoteplayer .fnlist li:nth-child(n+5){display:none}
  .fnoteplayer.tutte .fnlist li{display:list-item}
}
@media (max-width:640px){
  .fnumbtn{display:inline-block;font-size:13px}
  .fsummary .fsec,.fsummary ~ .xptnote{display:none}
  .fsummary.aperto .fsec{display:flex}
  .fsummary.aperto ~ .xptnote{display:block}
  .fsummary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fmain .fhead{flex-wrap:wrap;row-gap:6px}
  .fmain .flegend{font-size:12.5px}
  .fmain .benchnota{display:none}
}
.fnmore{display:none;font-size:13px;margin-top:4px}
@media (max-width:1079px){.fnoteplayer:not(.tutte) .fnmore{display:inline-block}}
.mcoll > :first-child{align-items:center}
.mcoll .mtogh{min-width:0}
.mcoll:not(.aperta) .helpbtn,.mcoll:not(.aperta) .pagehead .msg{display:none}
.fnumbtn{text-align:left;padding:2px 0}
.fnumbtn{align-self:flex-start;margin-top:2px!important}

/* Formazione: titoli delle sezioni tutti uguali (Formazione consigliata, Chi schiero?, Giornata di Serie A, Regole, Dettaglio statistico)
   e sottotitoli tutti uguali (Panchina, Note sui giocatori, Modificatori) */
.wrap:has(.flayout) .flayout .panel h2,.wrap:has(.flayout) .fstats h2,.wrap:has(.flayout) .fside .matches h2{font-size:21px;line-height:1.15;letter-spacing:.04em}
.wrap:has(.flayout) .fsub,.wrap:has(.flayout) .frules h3.fsub{font-size:17px;line-height:1.2;letter-spacing:.04em;margin:14px 0 6px}
.wrap:has(.flayout) .mtog{font-size:inherit;line-height:inherit;letter-spacing:inherit}
@media (max-width:640px){
  /* Modulo su una riga tutta sua: «Il migliore per la mia rosa» si legge per intero */
  .fctl{flex-wrap:wrap}
  .fctl .fmod{flex:1 1 100%}
  .fctl .fmod select{flex:1;width:100%;font-size:15px!important}
}
/* freccia delle sezioni sempre in fondo a destra, anche con «Cambia» o «Confronti illimitati» accanto al titolo */
.mtog::after{content:none}
.mcoll > :first-child{position:relative;padding-right:28px;cursor:pointer;flex-wrap:wrap!important;row-gap:6px}
.mcoll > :first-child::after{content:"";position:absolute;right:4px;top:12px;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s}
.mcoll.aperta > :first-child::after{transform:rotate(-135deg);top:16px}
.mcoll .mtogh{flex:1 1 auto}
.mcoll .fhead .helpbtn{font-size:12.5px}
/* Regole della lega: «Modificatori» con lo stesso carattere di «Difesa» e delle altre voci */
.wrap:has(.flayout) .frules h3.fsub{font-family:var(--body,inherit);font-size:15px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--ink);margin:14px 0 4px}
/* Regole della lega: le righe sotto «Modificatori» e sotto «Difesa» con lo stesso carattere */
.wrap:has(.flayout) .frules .fsub span,.wrap:has(.flayout) .fmods .meta{font-family:var(--body,inherit);font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted)}

/* Modulo: un riquadro con l'etichetta «Modulo» dentro, così si capisce cosa si sceglie (anche su telefono) */
.fctl .fmod{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:0 0 0 14px;min-height:44px}
.fctl .fmod>span{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;flex:none;font-size:13px;font-weight:600;color:var(--muted)}
.fctl .fmod select{border:0;background-color:transparent;box-shadow:none;min-height:42px}
.fctl .fmod:focus-within{border-color:var(--accent)}
/* La mia: punteggio tuo e della consigliata in due riquadri come quelli in cima */
.miasum{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:520px;margin:4px 0 0}
.miasum .rtot{cursor:default}
.miasumnota{margin:8px 0 4px}

/* Rosa › Rose della lega: ingresso alla pagina della lega, nel verde chiaro dei riquadri di Andamento */
.legacta{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;background:var(--surface-2);color:var(--ink);text-decoration:none;box-shadow:inset 3px 0 0 var(--accent)}
.legacta .lct{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.legacta .lct b{font-size:15.5px}
.legacta .lct span{font-size:13px;color:var(--muted)}
.legacta .lca{flex:none;font-size:20px;font-weight:700;color:var(--accent);transition:transform .15s}
.legacta:hover .lca{transform:translateX(3px)}
.legacta:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* Lega: ritorno rapido alla rosa */
/* Rosa e Lega: due schede in cima, come in Formazione, per passare dall'una all'altra */

/* ===== Finestre a comparsa: ✕ sull'angolo in alto a destra, metà fuori e metà dentro (tutte le finestre del sito) ===== */
dialog.modal{overflow:visible!important;padding:0!important;width:calc(100% - 44px)}
dialog.modal > .modal-in{padding:22px 22px 18px;max-height:calc(100vh - 56px);max-height:calc(100dvh - 56px);overflow:auto;overscroll-behavior:contain;border-radius:inherit}
dialog.modal > .modal-x,dialog.modal:not(.tutdlg) > .modal-x,dialog.modal.cmpdlg:not(.tutdlg) > .modal-x{position:absolute;top:-17px;right:-17px;float:none;margin:0;z-index:10}
dialog.modal > .modal-x button,dialog.modal:not(.tutdlg) > .modal-x button{width:36px;height:36px;padding:0;display:grid;place-items:center;border-radius:50%;background:var(--surface);border:1px solid var(--line);color:var(--ink);font-size:16px;box-shadow:0 2px 10px rgba(0,0,0,.22)}
dialog.modal > .modal-x button:hover{background:var(--surface-2)}
dialog.modal h2{margin-right:0}
/* Chi schiero?: titolo fermo, scorre solo il confronto */
dialog.cmpdlg[open]{display:block}
dialog.cmpdlg > .modal-in{padding:18px 14px 14px;display:flex;flex-direction:column;overflow:hidden}
dialog.cmpdlg > .modal-in > h2{flex:none;padding-right:0}
/* tutorial: il suo impaginato senza margini */
dialog.tutdlg > .modal-in{padding:0;overflow:hidden auto}
/* scheda del giocatore: niente spazio per la vecchia ✕ */
.psheet .psbody{margin-top:0}
/* Lega › calendario: «1ª giornata della lega» sopra, campo e pulsante su una riga */
.legaoff{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0 0 14px}
.legaofft{font-size:14px;font-weight:600;color:var(--ink)}
.legaoffr{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;white-space:nowrap}
.legaoffr input{width:64px}
/* «Tutti i numeri»: subito sotto i riquadri, a destra, sopra la frase sulla formazione */
@media (max-width:640px){.fnumbtn{align-self:flex-end;text-align:right}}
@media (max-width:640px){.fnumbtn{margin:-10px 0 -12px!important;padding:2px 0!important;line-height:1.2}.fverd{margin-top:0}}

/* Barra della prova PRO: giorni rimasti e «Tienilo» (in cima su computer, sopra la barra in basso su telefono) */
.provabar{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;border-radius:12px;background:var(--accent-soft);color:var(--ink);font-size:14px;margin:0 0 12px}
.provabar .pbt{flex:1;min-width:0}
.provabar .pbform{flex:none;margin:0}
.provabar .pbgo{flex:none;border:0;cursor:pointer;font:inherit;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:700;font-size:13.5px;padding:7px 12px;border-radius:9px;white-space:nowrap}
@media (max-width:760px){.provabar .pbst{display:none}}
.provabar .pbx{flex:none;border:0;background:none;color:var(--muted);font-size:14px;padding:4px 6px;cursor:pointer}
.provabar.urg{background:var(--warn-bg);color:var(--ink);box-shadow:inset 3px 0 0 var(--warn)}
.provabar.urg .pbgo{background:var(--warn);color:#1a1200}
@media (max-width:759px){
  .provabar{position:fixed;left:8px;right:8px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:44;margin:0;box-shadow:0 4px 16px rgba(0,0,0,.18);font-size:13.5px}
  body[data-utente="1"][data-pbar="1"]{padding-bottom:calc(136px + env(safe-area-inset-bottom,0px))}
  body[data-utente="1"][data-pbar="1"] .totop{bottom:calc(136px + env(safe-area-inset-bottom,0px))}
}
/* Registrazione corta: password con «Mostra» */
.pwbox{display:flex;align-items:stretch;gap:0;position:relative}
.pwbox input{flex:1;padding-right:84px}
.pwbox .pwshow{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--accent);font-weight:700;font-size:13px;padding:6px 8px;cursor:pointer}
.regpoi{font-size:13px;margin:-2px 0 2px}
/* Rosa: «Come si gioca nella tua lega?» dopo l'iscrizione */
.regolebox{border:2px solid var(--accent);gap:10px}
.regolebox h2{margin:0}
.regolesost summary{cursor:pointer;color:var(--accent);font-weight:600;font-size:14px}
.regolesost[open] summary{margin-bottom:8px}
.regolebtn{display:flex;gap:10px;flex-wrap:wrap}
/* Formazione Free: dalla formazione oscurata al pagamento */
.paywall{margin:16px 0 4px;padding:16px;border-radius:14px;background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent);display:flex;flex-direction:column;gap:10px}
.paywall h3{margin:0;font-family:var(--display);font-size:20px;text-transform:uppercase;letter-spacing:.03em;line-height:1.1}
.paywall .pwlist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px}
.paywall .pwlist li{position:relative;padding-left:22px}
.paywall .pwlist li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}
.paywall form .btn{width:100%}
.paywall .pwsafe{margin:0;font-size:12.5px;color:var(--muted)}
/* Home: link alla pagina che spiega FantaFeed in 1 minuto */
.hero1min{margin:2px 0 0;font-size:14px}
.hero1min a{color:var(--accent);font-weight:600;text-decoration:none}
.hero1min a:hover{text-decoration:underline}
/* Formazione: rimando alla sfida (ora nella sezione Lega) */
.fsfida{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:var(--surface-2);color:var(--ink);text-decoration:none;box-shadow:inset 3px 0 0 var(--accent)}
.fsfida .fsft{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.fsfida .fsft b{font-size:15px}
.fsfida .fsft span{font-size:13px;color:var(--muted)}
.fsfida .lca{flex:none;font-size:20px;font-weight:700;color:var(--accent)}
.legatabs{margin:4px 0 2px}
.mtabs{margin-top:10px}
/* Rosa vuota o incompleta: come caricarla e quanto manca */
.rstart{gap:10px;box-shadow:inset 3px 0 0 var(--accent)}
.rstart h2{margin:0}
.rsprog{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.rsprog b{color:var(--ink)}
.rsbar{flex:1;max-width:320px;height:8px;border-radius:4px;background:var(--line);overflow:hidden;display:block}
.rsbar i{display:block;height:100%;background:var(--accent);border-radius:4px}
.rsopts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.rsopt{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink);text-decoration:none;font:inherit;text-align:left;cursor:pointer;width:100%}
.rsopt[aria-expanded="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--surface)}
.rsopt[aria-expanded="true"] b::after{content:" ✓";color:var(--accent)}
.rspanel{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:10px}
.rspanel[hidden]{display:none}
.rspanel>.msg{margin:0}
.rsfile{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rsfile input[type=file]{flex:1;min-width:200px}
.rspanel .more{margin-top:0}
.rsopt b{font-size:15.5px}
.rsopt span{font-size:13px;color:var(--muted)}
.rsopt:hover{border-color:var(--accent)}
/* Pagina PRO: tre motivi, confronto completo chiuso, pulsante fisso su telefono */
.pmotivi{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.pmot{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.pmot .pmn{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:800;font-size:13px;margin-bottom:4px}
.pmot b{font-size:16px}
.pmot span:last-child{font-size:13.5px;color:var(--muted);line-height:1.45}
.pcmpdet > summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px}
.pcmpdet > summary::-webkit-details-marker{display:none}
.pcmpdet > summary h2{margin:0}
.pcmpdet > summary::after{content:"";flex:none;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);margin-right:4px}
.pcmpdet[open] > summary::after{transform:rotate(-135deg)}
.pcmpdet[open] > summary{margin-bottom:12px}
.pstick{display:none}
@media (max-width:759px){
  .pstick{display:flex;align-items:center;gap:10px;position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:44;padding:10px 10px 10px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:0 6px 22px rgba(0,0,0,.22)}
  body[data-utente="1"] .pstick{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .pstick .psp{flex:1;min-width:0;display:flex;flex-direction:column;font-size:14px;line-height:1.25}
  .pstick .psp small{font-size:11.5px;color:var(--muted)}
  .pstick form{margin:0}
  .pstick .btn{white-space:nowrap;padding-left:14px;padding-right:14px}
  body:has(.pstick){padding-bottom:calc(150px + env(safe-area-inset-bottom,0px))}
}
/* Dettaglio statistico: etichette che si spiegano al tocco */
table.stats td[data-label]::before{text-decoration:underline dotted;text-underline-offset:3px;cursor:help}
.tdhelp{position:fixed;z-index:1100;display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:10px;background:var(--ink);color:var(--bg);font-family:var(--body);font-size:13px;line-height:1.4;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.tdhelp b{font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.8}
.psleg{margin:8px 0 0;text-align:center}
.psleg .linkbtn{color:var(--accent);font-size:13.5px}
/* News: «Correggi stato» e «Segnala errore» in una finestra, dal pulsante ⋯ di ogni giocatore */
.cmenu{margin-left:auto;order:9;display:grid;place-items:center;width:34px;height:30px;padding:0;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-weight:800;font-size:16px;line-height:1;letter-spacing:.05em;cursor:pointer}
.cmenu:hover{color:var(--ink);border-color:var(--accent)}
.cmdlg .cmenu-in{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.cmdlg .cmenu-in > details{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface-2)}
.cmdlg .cmenu-in > details > summary{cursor:pointer;font-weight:700}
.cmdlg .cmenu-in > details[open] > summary{margin-bottom:8px}

/* ===== Gerarchia visiva (2.3) ===== */
/* Ruoli neutri: il colore resta per lo stato (rosso fuori, arancio dubbio, verde gioca) e per i pulsanti principali */
.role.P,.role.D,.role.C,.role.A,.mrole,.mrole.mr-p,.mrole.mr-d,.mrole.mr-c,.mrole.mr-t,.mrole.mr-a{background:var(--surface-2);color:var(--ink);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ink) 28%,transparent)}
.role.P{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ink) 28%,transparent),inset 0 -3px 0 color-mix(in srgb,var(--ink) 18%,transparent)}
/* Testi secondari: più grandi e il monospace solo per i numeri */
.meta{font-family:var(--body);font-size:12.5px;font-variant-numeric:tabular-nums}
.slot .xs{font-size:11.5px}
.slot .sl{font-size:12px}
ol.bench .bslot .bfv{font-size:11.5px}
ol.bench .bslot .bpt{font-size:11.5px}
.ftabn{font-size:12px}
.tut-sug i,.tut-alert span{font-size:12px}
.mtag{font-size:12px}
/* Pulsanti di pericolo: link rosso, non un pulsante */
.linkdanger{border:0;background:none;padding:6px 0;color:var(--bad);font-weight:600;font-size:13.5px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.linkdanger:hover{text-decoration-thickness:2px}
/* Formazione per chi è in prova: «Tieni PRO» sempre nello stesso punto, sotto la formazione */
.ftieni{margin:14px 0 0;padding:10px 14px;border-radius:10px;background:var(--surface-2);font-size:13.5px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.ftieni span{color:var(--muted)}
.ftieni a{color:var(--accent);font-weight:700;text-decoration:none}
/* Home: esempio di formazione consigliata */
.demoform{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.dfhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.dfmod{font-family:var(--display);font-size:24px;font-weight:700;line-height:1}
.dfpt{font-size:14px;color:var(--muted)} .dfpt b{color:var(--ink);font-size:16px}
.dfplus{margin-left:auto;font-weight:700;font-size:13px;color:var(--accent);background:var(--accent-soft);padding:3px 9px;border-radius:999px}
.dflist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.dflist li{display:flex;align-items:center;gap:10px}
.dfn{flex:1;min-width:0;display:flex;flex-direction:column;font-weight:700;font-size:14.5px}
.dfn small{font-weight:400;font-size:12.5px;color:var(--muted)}
.dfv{flex:none;font-family:var(--mono);font-size:12.5px;color:var(--muted)}

/* ===== Fiducia (2.4): numeri veri, prezzo in prospettiva, rassicurazioni accanto al pagamento ===== */
.psociale{display:flex;flex-direction:column;gap:12px}
.psociale h2{margin:0;font-family:var(--display);text-transform:uppercase;letter-spacing:.03em;font-size:24px}
.psgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.pst{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.pst b{font-family:var(--display);font-size:34px;line-height:1;color:var(--accent)}
.pst span{font-size:13px;color:var(--muted);line-height:1.4}
.psnota{margin:0;font-size:12.5px;color:var(--muted)}
.pcent{margin:-4px 0 0;font-size:13.5px;font-weight:600;color:var(--accent)}
.prass{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
.prass li{position:relative;padding-left:22px;line-height:1.4}
.prass li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}
.prass b{color:var(--ink)}
/* Footer: link su una riga sola (su computer), larghezza della pagina */
.foot{max-width:none}
.foot p:not(:first-child){max-width:90ch}
/* Dettaglio statistico: più aria sotto il nome e tra i valori del pronostico */
table.stats td.who,table.stats td.xpt{padding-bottom:8px}
.qbox .qvals{gap:6px 16px}
.qbox{row-gap:8px}
table.stats .qbox{grid-template-columns:1fr}
table.stats .qbox .qgol{text-align:left}
table.stats td.who,table.stats td.xpt{padding-bottom:12px}
/* Home: «Free o PRO» a tutta larghezza; «Cos'è FantaFeed in 1 minuto» un po' staccato dai pulsanti */
.landplans{max-width:none}
.hero1min{margin-top:10px!important}
/* Pagina «App per il fantacalcio»: testo a sinistra, in breve ed esempi a destra */
.wrap:has(.applay){max-width:1200px}
.applay{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.applay .appguida{max-width:none}
.appside{display:flex;flex-direction:column;gap:16px;min-width:0}
.appcard{gap:10px}
.appcard h2{margin:0;font-family:var(--display);text-transform:uppercase;font-size:22px;letter-spacing:.03em}
.appcard .btn{align-self:flex-start}
.appfacts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--muted)}
.appfacts li{position:relative;padding-left:22px;line-height:1.4}
.appfacts li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}
.appfacts b{color:var(--ink)}
.appprice{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.appprice div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;background:var(--surface-2)}
.appprice b{font-family:var(--display);font-size:24px;line-height:1}
.appprice span{font-size:12.5px;color:var(--muted)}
@media (min-width:1000px){.applay{grid-template-columns:minmax(0,1fr) 340px;align-items:start;column-gap:24px}.appside{position:sticky;top:16px}}
.applay .appguida p,.applay .appguida ul,.applay .appguida ol,.applay .appguida li{max-width:none}
/* Home: domande frequenti al centro della pagina */
.landfaq{max-width:820px;margin-left:auto;margin-right:auto;width:100%}
.landfaq h2{text-align:center}
.landfaq .faq{margin:0 auto}
/* App per il fantacalcio: più aria nei riquadri a destra */
.appcard{gap:14px;padding:20px 22px}
.appcard h2{margin-bottom:2px}
.appfacts{gap:11px;margin-bottom:4px}
.appprice{gap:10px;margin:4px 0}
.appprice div{padding:12px 14px;gap:4px}
.appcard .msg{margin:2px 0;line-height:1.5}
.appcard .btn{margin-top:4px}
/* Piè di pagina centrato */
.foot{text-align:center;align-items:center}
.foot p:not(:first-child){margin-left:auto;margin-right:auto}
/* Più aria: esempi della home, testo della home, pagina Novità */
.demo{gap:12px}
.demo .lbl{margin-top:10px}
.demo .lbl:first-child{margin-top:0}
.demo .alert-item{padding:14px 16px}
.demoform{padding:16px 18px;gap:14px}
.dflist{gap:14px}
.dfn small{margin-top:2px}
.hero{gap:40px;padding-block:20px}
.hero h1{margin-bottom:18px}
.hero p{margin-bottom:22px;line-height:1.6}
.herochecks{gap:12px;margin-bottom:24px}
.heronote{margin-top:14px!important;line-height:1.5}
.land{margin-top:52px}
.land h2{margin-bottom:20px}
.landsub{margin-bottom:20px!important}
.landgrid{gap:16px}
.changelog{gap:6px}
.changelog h2{margin:6px 0 14px}
.changelog ul{gap:16px}
.changelog li{line-height:1.6;gap:14px}
.changelog section + section,.changelog h2:not(:first-child){margin-top:26px}
@media (max-width:520px){.changelog li{gap:6px}}
.pubsum > p{max-width:none}

/* ===== Audit 2 ===== */
/* Email da confermare: un banner, non un blocco */
.verbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 12px;padding:10px 14px;border-radius:12px;background:var(--warn-bg);box-shadow:inset 3px 0 0 var(--warn);font-size:13.5px;line-height:1.45}
.verbar span{flex:1 1 260px}
.verbar .linkbtn{color:var(--ink);text-decoration:underline;font-weight:700}
/* Titolari nascosti: si toccano e portano a «Sblocca» */
a.slot.masked{text-decoration:none;color:inherit;cursor:pointer}
a.slot.masked:hover{border-color:var(--r-p)}
.slot.masked .xs.mlock{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:700;color:#9A6A00}
:root:not([data-theme="light"]) .slot.masked .xs.mlock{color:var(--r-p)}
.paywall{scroll-margin-top:80px}
/* Registrazione: cosa si ottiene */
.regvalore{margin:0;padding:10px 14px;border-radius:10px;background:var(--accent-soft);font-size:14px}
/* Home: 4 funzioni in vista */
.fpiubtn{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:16px 0 0}
.fpiubtn a{color:var(--accent);font-weight:600;text-decoration:none}
/* Lega senza rose */
.legastart{gap:12px}
.legastart h2{margin:0}
/* Rosa: verso il mercato */
.rmerclink{display:inline-block;margin:2px 0 10px;color:var(--accent);font-weight:600;font-size:14px;text-decoration:none}
/* Parere: frase per le testimonianze */
.fpfrase{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.fpfrase input[type=text]{width:100%}
/* Testimonianze */
.pstesti{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.psq{margin:0;padding:14px 16px;border-radius:12px;background:var(--surface-2);display:flex;flex-direction:column;gap:6px}
.psq blockquote{margin:0;font-size:14.5px;line-height:1.5}
.psq figcaption{font-size:12.5px;color:var(--muted);font-weight:600}
/* Finestra «Passa a PRO» dall'intestazione */
.godlg .paywall{margin:0;box-shadow:none;background:none;padding:0}
/* Schede della lega con il badge PRO */
.legatabs .probadge{font-size:10px;padding:2px 5px 1px;margin-left:2px}
/* Barra fissa PRO su telefono: più bassa, testo leggibile */
@media (max-width:759px){
  .pstick{padding:8px 8px 8px 14px}
  .pstick .psp{font-size:14px}
  .pstick .psp small{font-size:12.5px}
}
/* News: le due schede sulle giornate più compatte (numero, testo, freccia a destra) */
.gcard{grid-template-columns:34px minmax(0,1fr) auto;column-gap:12px;row-gap:0;align-items:center;padding:10px 14px;font-size:13.5px;line-height:1.4}
.gcard .gnum{grid-row:auto;font-size:22px;line-height:1}
.gcard .gtit{font-size:14.5px}
.gcard .gtxt{gap:1px}
.gcard .ggo{grid-column:3;font-size:0;line-height:1}
.gcard .ggo::after{content:"›";font-size:24px;font-weight:700}
.gcard.andstrip + .gcard,.gcard + .gcard{margin-top:-10px}
@media (max-width:560px){.gcard{grid-template-columns:28px minmax(0,1fr) auto;column-gap:10px;padding:9px 12px}.gcard .gnum{font-size:20px}}
.legastart .pwlist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:14.5px}
.legastart .pwlist li{position:relative;padding-left:22px;line-height:1.45}
.legastart .pwlist li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}

/* ===== Audit 3 ===== */
/* Sezioni chiuse (Rosa) */
.rcoll .rtog{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}
.rcoll .rtog::after{content:"";flex:none;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-3px);transition:transform .15s}
.rcoll.aperta .rtog::after{transform:rotate(-135deg) translateY(-2px)}
.rcoll:not(.aperta) > :not(:has(.rtog)):not(h2):not(input[type=hidden]){display:none!important}
.rcoll:not(.aperta){gap:0}
.rcoll .rsethead .sub{display:block}
.rcoll:not(.aperta) .rsethead .sub{display:none}
.rtog:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
/* Rosa: ✎ e ✕ più facili da toccare */
.rdel,.rruolo > summary{min-width:40px;min-height:40px;display:inline-grid;place-items:center}
/* Lega: gestione in fondo, chiusa */
.legagest{gap:0}
.legagest > summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:2px;position:relative;padding-right:28px}
.legagest > summary::-webkit-details-marker{display:none}
.legagest > summary h2{margin:0}
.legagest > summary::after{content:"";position:absolute;right:4px;top:12px;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg)}
.legagest[open] > summary::after{transform:rotate(-135deg);top:16px}
.legagestin{display:flex;flex-direction:column;gap:18px;margin-top:16px}
.legagestin > .panel{border:0;padding:16px 0 0;background:none;box-shadow:none;border-top:1px solid var(--line);border-radius:0}
.legagestin > .panel h2{font-size:19px}
.legagsa{margin:-4px 0 6px}
.legaclass td:nth-child(2) b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:150px}
/* La sfida: rose caricate in una riga, panchina chiusa, Calcola sempre a portata */
.sflegamini > summary{cursor:pointer;color:var(--muted);font-size:13.5px;padding:4px 0}
.sflegamini[open] > summary{margin-bottom:10px}
.sfpanch > summary{cursor:pointer;font-weight:700;color:var(--accent);padding:6px 0}
.sfpanch[open] > summary{margin-bottom:8px}
.sfcalc .sfgo{position:sticky;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:5;padding:10px 0;background:linear-gradient(transparent,var(--surface) 30%)}
@media (min-width:760px){.sfcalc .sfgo{bottom:12px}}
.rcoll .rsethead{width:100%}
.rcoll .rsethead h2{width:100%}
.legagest > summary .msg{font-family:var(--body);text-transform:none;letter-spacing:0;font-size:13px;font-weight:400;color:var(--muted)}

/* ===== Audit 4 ===== */
/* Teaser PRO con anteprima sfocata e pagamento diretto (Mercato, Sfida, Mantra per chi è Free) */
.proteaser2{display:flex;flex-direction:column;gap:0}
.ptprev{position:relative;padding:14px 16px;border:1px solid var(--line);border-bottom:0;border-radius:14px 14px 0 0;background:var(--surface);filter:blur(2.5px);opacity:.75;user-select:none;pointer-events:none}
.ptprev .ptlab{position:absolute;top:8px;right:10px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.proteaser2 .ptprev + .paywall{margin-top:0;border-radius:0 0 14px 14px}
.ptlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ptlist li{display:grid;grid-template-columns:1fr auto;gap:0 10px}
.ptlist span{grid-row:2;font-size:12.5px;color:var(--muted)}
.ptlist em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;font-weight:700;color:var(--accent)}
.ptsfida{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.ptsfida div{display:flex;flex-direction:column}
.ptsfida span{font-family:var(--display);font-size:30px;font-weight:700}
.ptsfida .ptris{font-family:var(--display);font-size:26px;font-weight:700}
.ptbar{display:flex;border-radius:8px;overflow:hidden;font-size:12px;font-weight:700;color:#fff}
.ptbar i{font-style:normal;padding:6px 8px;background:var(--accent)}
.ptbar i:nth-child(2){background:var(--nd)}
.ptbar i:nth-child(3){background:var(--bad)}
/* Mercato: spiegazione a richiesta, niente «Nessuna novità» */
.mercinfo > summary{cursor:pointer;color:var(--accent);font-weight:600;font-size:14px;padding:4px 0}
.mercinfo[open] > summary{margin-bottom:6px}
.mrlist .pstat .pill.nd{display:none}
.mrlist .pill.nd.st-nd:only-child{display:none}
/* La mia formazione: panchina chiusa e «Salva» sempre in vista */
.miastick{position:sticky;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:5;padding:10px 0;background:linear-gradient(transparent,var(--surface) 30%)}
@media (min-width:760px){.miastick{bottom:12px}}
/* Account: sezioni */
.acnav{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 4px}
.acnav a{padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);text-decoration:none;font-weight:600;font-size:13.5px}
.acnav a:hover{border-color:var(--accent)}
.acgrp{margin:14px 0 -6px;font-family:var(--display);text-transform:uppercase;letter-spacing:.03em;font-size:20px;scroll-margin-top:16px}
#avvisi,#abbonamento{scroll-margin-top:16px}
.acabl{font-size:14px;margin:4px 0 0}
.acabl a{color:var(--accent);font-weight:600}
.gcard .gtot{display:block;margin-top:2px;font-size:12.5px;color:var(--muted)}
.miastick{display:flex;flex-wrap:nowrap;gap:8px;margin-top:10px}
.miastick .btn{flex:1 1 0;text-align:center;justify-content:center;white-space:nowrap;padding-left:10px;padding-right:10px;font-size:14px}
.miapanch{margin-bottom:6px}
.miastick .btn.ghost{flex:0 0 auto}

/* ===== Audit 5 ===== */
#dettaglio.mcoll:not(.aperta) > :not(:first-child):not(dialog){display:none!important}
#dettaglio.mcoll > :first-child{position:relative;padding-right:28px;cursor:pointer}
#dettaglio.mcoll > :first-child::after{content:"";position:absolute;right:4px;top:12px;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s}
#dettaglio.mcoll.aperta > :first-child::after{transform:rotate(-135deg);top:16px}
.fontin{display:inline-block;margin-left:6px;font-size:11.5px;font-weight:700;color:var(--ok);white-space:nowrap}
.fontin.una{color:var(--muted);font-weight:500}
.lpcmp{margin-left:12px;font-size:14px;color:var(--accent);font-weight:600}
.pandam{margin:4px 0 0;font-size:14.5px;color:var(--muted);line-height:1.5}
.pandam b{color:var(--ink)}
/* Account: abbonamento in orizzontale */
.abbo .abboin{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px}
.abbo .abboin > p{margin:0}
.abbo .abboin > p.msg{flex:1 1 320px;font-size:13.5px}
.abbo .abboin > p:first-child{font-size:16px}
/* Admin › Utenti: Sì / No */
.sino{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:700;background:var(--surface-2);color:var(--muted)}
.sino.si{background:var(--ok-bg);color:var(--ok)}
.acsolo{display:flex;flex-direction:column;gap:20px}
