/* Un solo sistema visivo per tutte le viste: menu carriera, registri e modali.
   Il viola identifica il club, l'oro indica selezione e azione principale. */
:root {
  color-scheme:dark;
  --fc-night:#101218; --fc-panel:#1c2029; --fc-panel-high:#242936;
  --fc-paper:#f2f3f7; --fc-muted:#b6b8c6; --fc-border:#393b4c;
  --fc-purple:#b7a0f0; --fc-gold:#efcc75; --fc-ink:#17141e;
  --sfondo:var(--fc-night); --carta:var(--fc-panel); --carta-alta:var(--fc-panel-high);
  --inchiostro:var(--fc-paper); --grigio:var(--fc-muted); --linea:var(--fc-border);
  --viola:var(--fc-purple); --viola-scuro:#201b30; --viola-chiaro:#c5b2f7;
  --oro:var(--fc-gold); --chip:#2c283b; --bordo:var(--fc-border);
  --ok:#8adaae; --ok-bg:#203a2e; --no:#ffaaa0; --no-bg:#422a31;
  --warn:#f1d089; --warn-bg:#3f3523; --req:#a5cef5; --req-bg:#263849; --wa:#8adaae;
  --r:7px; --r-s:5px;
  --ombra-1:0 4px 14px #0000001a; --ombra-2:0 12px 32px #00000040;
}
html{min-height:100%;background:var(--fc-night)}
body{background:radial-gradient(ellipse at 75% -10%,#34224799 0,transparent 49%),linear-gradient(155deg,#12141c 10%,#101218 62%,#151824);background-attachment:fixed;min-height:100vh;letter-spacing:.005em}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:repeating-linear-gradient(120deg,transparent 0,transparent 120px,#ffffff02 121px,#ffffff02 122px,transparent 123px)}
::selection{background:var(--fc-gold);color:var(--fc-ink)}
a{color:var(--fc-purple);text-underline-offset:3px}
button,a,input,select,textarea{-webkit-tap-highlight-color:#efcc7533}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--fc-gold);outline-offset:4px}
button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.5}
.topbar{background:#11131af2;backdrop-filter:blur(14px);border-top:3px solid var(--fc-gold);border-bottom:1px solid var(--fc-border);box-shadow:none}
.appbar{background:transparent;box-shadow:none;padding:16px 24px 12px;gap:15px;max-width:1280px;margin:auto}
.appbar img{width:48px;height:48px;object-fit:contain;border-radius:0;box-shadow:none;filter:drop-shadow(0 2px 6px #0004)}
.appbar .sub{font:800 10px/1.4 var(--font-testo);letter-spacing:.18em;color:var(--fc-gold)}
.appbar .titolo{font:800 italic 26px/1.1 var(--font-display);letter-spacing:-.025em;color:var(--fc-paper)}
.menu-btn{background:transparent;border:1px solid #454251;border-radius:5px;min-width:48px;min-height:46px;transition:background .15s,border-color .15s}
.menu-btn:hover{border-color:var(--fc-gold);background:#efcc7512}
.menu-btn .mb-lab{font-size:10px;font-weight:700;letter-spacing:.02em}
.io-bar{background:transparent;border:0;color:var(--fc-muted);max-width:1280px;margin:auto;padding:0 24px 12px;min-height:30px;font-size:12px;gap:7px}
.io-bar b{color:var(--fc-paper)}.io-bar>svg{width:15px;height:15px;color:var(--fc-purple)}
.io-esci{color:var(--fc-muted);border-color:var(--fc-border);background:transparent;border-radius:4px;min-height:28px;font-size:11px}
.ctx-bar{background:#272134;color:var(--fc-paper);border-top:1px solid #4c405e;font-size:13px;gap:10px;padding:8px 24px;justify-content:center}
.ctx-bar button{border:1px solid var(--fc-gold);color:var(--fc-gold);background:transparent;border-radius:4px;min-height:32px;padding:5px 13px;font-weight:700}
.club-nav{background:#181a22;border-bottom:1px solid var(--fc-border);padding:0 max(22px,calc((100vw - 1232px)/2));gap:0;scroll-padding:15px;scroll-snap-type:x proximity}
.club-nav button{font:800 15px/1.2 var(--font-testo);border:0;border-radius:0;min-height:57px;padding:15px 23px;color:var(--fc-muted);position:relative;text-transform:uppercase;letter-spacing:.05em;scroll-snap-align:center}
.club-nav button:hover{background:#ffffff07;color:var(--fc-paper)}
.club-nav button.on{color:var(--fc-ink);background:var(--fc-gold);border:0}
.club-nav .club-nav-season{font-size:11px;color:var(--fc-muted);letter-spacing:.11em}
#contenuto{min-height:calc(100vh - 250px)}
.sezione,.club-sezione{max-width:1120px;padding:26px 22px 32px;margin:auto}
.feed{max-width:900px;padding:26px 22px 32px;gap:16px}
.card,.composer,.evento,.quota-riga,.cp-match,.cp-next,.fm-session,.fm-selected,.premio-box,.seg-documento,.ga-section,.ga-player-stat{border-radius:7px;border-color:var(--fc-border);box-shadow:var(--ombra-1)}
.card{padding:20px 22px;background:linear-gradient(130deg,var(--fc-panel),#1a1d26)}
.card h2,.sezione>h2{font-family:var(--font-display);letter-spacing:-.02em}
.sezione>h2{font-size:30px;text-transform:uppercase;font-style:italic;margin:6px 0 22px}
.card h3,.card h4{letter-spacing:-.01em}
.aiuto{font-size:14px;line-height:1.5;color:var(--fc-muted)}
.tag{border-radius:3px;background:var(--chip);color:var(--fc-purple);font:800 10px/1.2 var(--font-testo);letter-spacing:.07em;padding:6px 9px}
.bottoncino{border-radius:4px;background:#262a35;color:var(--fc-paper);border-color:#484954;font-weight:650;min-height:44px}
.bottoncino:hover:not(:disabled){background:#30323e;border-color:var(--fc-gold)}
.bottoncino.attivo,.tac-gioc.on{background:var(--fc-gold);border-color:var(--fc-gold);color:var(--fc-ink)}
.pubblica{border-radius:4px;background:var(--fc-gold);color:var(--fc-ink);font:800 15px/1.3 var(--font-testo);border:1px solid var(--fc-gold);min-height:48px;box-shadow:none;padding:13px 20px;text-transform:none;letter-spacing:.02em}
.pubblica:hover:not(:disabled){background:#f7db99;border-color:#f7db99;box-shadow:0 0 0 2px #efcc7525}
.pubblica.pericolo{background:var(--no-bg);border-color:var(--no);color:var(--no)}
.campo,.scrivi input,.composer textarea{border-radius:4px;border-color:#51505e;background:#141720;color:var(--fc-paper);font-size:16px;min-height:46px}
.campo::placeholder,.composer textarea::placeholder{color:#9595a8;opacity:1}
.campo:focus{border-color:var(--fc-gold)}
select.campo{padding-right:32px;color-scheme:dark}input[type=checkbox],input[type=radio]{accent-color:var(--fc-gold)}
.club-label{font-size:14px;color:var(--fc-paper)}
.club-hero{border-radius:7px;padding:30px 32px;background:linear-gradient(110deg,#272036,#312242 65%,#1b1d28);border:1px solid #574966;border-top:3px solid var(--fc-gold);margin-bottom:6px}
.club-hero h1{font:800 italic clamp(32px,4.5vw,52px)/1.04 var(--font-display);text-transform:uppercase;letter-spacing:-.045em;max-width:780px}
.club-hero p{font-size:15px;line-height:1.5;color:#d3ccdd;max-width:680px}
.club-kicker{color:var(--fc-gold);font-size:11px;letter-spacing:.16em}
.club-emblema{opacity:.38;font-size:78px;transform:skew(-7deg)}
.club-kpi>div,.cp-stats{border-radius:5px;background:var(--fc-panel);border-color:var(--fc-border)}
.club-kpi span{color:var(--fc-muted);font-size:12px}.club-kpi b{font-size:36px;color:var(--fc-paper)}
.club-toolbar{padding:6px 0}.club-toolbar label{font-size:13px;color:var(--fc-muted)}
.quota-riga{padding:18px;background:var(--fc-panel);border-left:3px solid #535061}.quota-riga.saldata{border-left-color:var(--ok)}
.quota-identita b{font-size:16px}.quota-identita small,.quota-meta small{font-size:13px}.quota-check input{accent-color:var(--fc-gold)}
.societa-conto{border-top:3px solid var(--fc-gold)}.societa-dato span{font-size:13px}.societa-dato b{font-size:16px}
.iban-dato b{font-size:clamp(17px,2.3vw,24px)}
.cp-match{background:var(--fc-panel)}.cp-match-main b{font-size:20px}.cp-match-main small,.cp-match-top,.cp-match-foot{font-size:12px}
.cp-score{font-size:34px}.cp-stats b{font-size:29px;color:var(--fc-gold)}.cp-stats span{font-size:12px}.cp-source{font-size:13px}
.cp-filters button,.ga-tabs button{border-radius:4px;font-size:13px;min-height:44px;background:var(--fc-panel)}
.cp-filters [aria-pressed=true],.ga-tabs [aria-selected=true],.ga-tabs [aria-pressed=true]{background:var(--fc-gold);color:var(--fc-ink);border-color:var(--fc-gold)}
.cp-form-V{background:var(--ok-bg);color:var(--ok)}.cp-form-P{background:var(--warn-bg);color:var(--warn)}.cp-form-S{background:var(--no-bg);color:var(--no)}
.fm-btn-primary{background:var(--fc-gold);color:var(--fc-ink);border-color:var(--fc-gold);border-radius:4px}
.fm-btn-secondary{border-radius:4px}.fm-player-option .fm-player-rating{color:var(--fc-gold);border-radius:4px}
.fm-player-option,.fm-session{background:var(--fc-panel)}
.fm-tactical-note{border-radius:0 5px 5px 0}.fm-pitch{border-radius:8px}
.ga-section,.ga-player-stat,.ga-completeness{background:var(--fc-panel);border-radius:5px}.ga-stat-kpi b,.ga-player-stat>header>b{color:var(--fc-gold)}
.seg-consegna .club-kicker{color:var(--fc-purple)}.seg-documento>b{font-size:15px}.seg-documento small{font-size:13px}
.tabbar{background:#12141cf5;border-top:1px solid var(--fc-border);backdrop-filter:blur(12px);box-shadow:0 -6px 20px #0002;padding-top:5px}
.tabbar .tab{color:var(--fc-muted);font-size:11px;font-weight:700;border-radius:0;min-height:57px;letter-spacing:.01em}
.tabbar .tab.on{color:var(--fc-gold);background:#efcc7508}.tabbar .tab.on::before{background:var(--fc-gold)}
.tabbar .tab svg{width:22px;height:22px}.tabbar .puntino{background:var(--fc-gold)}
.modale-bg{background:#07080dcc;backdrop-filter:blur(7px);padding:24px}
.modale{background:linear-gradient(140deg,#23232f,#191c25);border:1px solid #666075;border-top:3px solid var(--fc-gold);border-radius:7px;padding:26px;box-shadow:0 24px 100px #0009;max-height:90dvh;scrollbar-color:#625972 #191c25}
.modale h3{font:800 italic 25px/1.2 var(--font-display);text-transform:uppercase;letter-spacing:-.02em;padding-right:30px}
.modale h4{font-size:17px}.modale-x{background:#36333e;color:var(--fc-paper);border:1px solid #615d6f;border-radius:4px;min-height:40px;min-width:40px}
.modale:has(.menu-voci){width:min(1060px,94vw);max-width:1060px}
.menu-voci{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.menu-sep{color:var(--fc-gold);grid-column:1/-1;font:800 12px var(--font-testo);letter-spacing:.15em;margin:20px 0 3px}
.voce{min-height:96px;border-radius:5px;padding:18px;background:#272a35;border:1px solid #484452;align-items:center;gap:15px;font-size:16px;line-height:1.3;transition:background .15s,border-color .15s,transform .15s}
.voce svg.ico{color:var(--fc-gold);width:26px;height:26px}.voce span{min-width:0}.voce span small{display:block;color:var(--fc-muted);font-size:12px;font-weight:400;margin-top:5px;line-height:1.4}
.voce:hover:not(.bloccata),.voce:focus-visible:not(.bloccata){background:#3c3349;border-color:var(--fc-gold);transform:translateY(-2px)}
.voce.bloccata{opacity:.45;min-height:72px}.voce.bloccata svg.ico{color:var(--fc-muted)}
.toast{background:var(--fc-gold);color:var(--fc-ink);border:1px solid #ffe2a0;border-radius:5px;font-weight:700;font-size:15px;box-shadow:0 8px 30px #0005}
.login-card,.benvenuto,.ingresso,.gia-dentro{border-radius:7px;border-color:var(--fc-border)}
.tag.ruolo,.ruolo-chip{color:var(--fc-purple)}
.risposta-riga.r-si b{color:var(--ok)}.risposta-riga.r-no b{color:var(--no)}.risposta-riga.r-manca b{color:var(--warn)}
.voce svg.ico,.tac-ct span,.clf-pt,.ln-g{color:var(--fc-purple)}
.pill,.chip{border-radius:4px}.scrivi button{background:#745794;border-radius:4px}
@media(min-width:960px){
  .topbar{display:grid;grid-template-columns:1fr 1fr}.appbar{grid-column:1/-1;width:100%;padding:20px 24px 13px}.io-bar{grid-column:1;justify-self:stretch;margin:0;padding-left:max(24px,calc((100vw - 1232px)/2));font-size:13px}.ctx-bar{grid-column:2;background:transparent;border:0;justify-content:flex-end;padding:0 max(24px,calc((100vw - 1232px)/2)) 12px 8px;font-size:12px}.ctx-bar button{min-height:29px}.io-bar:only-child{grid-column:1/-1}.tabbar{justify-content:center;gap:6px}.tabbar .tab{flex:0 1 175px;min-height:54px;font-size:12px;flex-direction:row;gap:9px}.tabbar .tab svg{width:20px;height:20px}
}
@media(max-width:700px){
  .appbar{padding:12px 16px 10px;gap:10px}.appbar img{width:36px;height:40px}.appbar .titolo{font-size:21px}.appbar .sub{font-size:8px;letter-spacing:.1em}.menu-btn{min-width:42px;min-height:42px}.io-bar{padding:0 16px 10px;font-size:11px}.io-esci{font-size:10px}.ctx-bar{padding:7px 16px;font-size:12px}.club-nav{padding:0 8px}.club-nav button{font-size:12px;min-height:48px;padding:13px 17px}.sezione,.club-sezione,.feed{padding:18px 13px 28px}.card{padding:17px 15px}.club-hero{padding:23px 20px}.club-hero h1{font-size:34px}.club-hero p{font-size:14px}.club-emblema{font-size:55px}.club-kpi b{font-size:29px}.club-kpi>div{padding:13px 11px}.club-kpi span{font-size:11px}.modale-bg{padding:12px}.modale{padding:23px 17px;width:100%;max-height:92dvh;border-radius:6px}.modale h3{font-size:23px}.menu-voci{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.voce{min-height:104px;padding:14px 12px;flex-direction:column;align-items:flex-start;gap:8px;font-size:15px}.voce span small{font-size:12px}.voce svg.ico{width:23px;height:23px}.voce.bloccata{min-height:90px}.quota-riga{padding:14px 11px}.quota-identita b{font-size:15px}.quota-identita small,.quota-meta small{font-size:12px}.cp-match-main b{font-size:18px}.cp-match-main small,.cp-match-top,.cp-match-foot{font-size:11px}.cp-score{font-size:29px}.cp-stats span{font-size:10px}.cp-stats b{font-size:26px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.voce:hover:not(.bloccata){transform:none}}
/* Applicazione coerente anche ai componenti storici e alle viste dello staff. */
.avatar,.ga-player-initials{background:linear-gradient(140deg,#61427f,#472b64);color:#fff}
.tipo-chip.on,.an-chip.on,.oggi-step .b{background:#64417f;color:#fff;border-color:#8662a2}
.saldo-card{background:linear-gradient(140deg,#30213e,#4b3061);color:#fff}
.staff-card{background:var(--fc-panel);color:var(--fc-paper);border:1px solid var(--fc-border);border-radius:7px}
.staff-nome{color:var(--fc-paper)}.staff-ruolo{color:var(--fc-muted);font-size:13px}.staff-badge{background:#30253d;color:var(--fc-purple);border-radius:3px}.staff-avatar{background:#30253d;color:var(--fc-purple);box-shadow:none}
#contenuto>.prep{max-width:1120px;margin:0 auto;padding:24px 22px 32px;box-sizing:border-box}
@media(max-width:700px){#contenuto>.prep{padding:18px 13px 28px}}
.login-form input,.registra-form input,.login-posizioni .rg-chip{background:#1d1c2a;color:var(--fc-paper);border-color:#60516e}.login-posizioni .rg-chip:has(input:checked){background:var(--fc-gold);color:var(--fc-ink)}
.ga-panel,.ga-sanction,.ga-disc-summary,.ga-completeness,.ga-section-nav,.fm-hero{border-radius:6px}.ga-section-nav{padding:4px;background:#24212d;border:1px solid var(--fc-border)}.ga-section-nav button{font-size:14px;min-height:46px;border-radius:3px}.ga-section-nav [aria-current=page]{background:var(--fc-gold);color:var(--fc-ink)}
.ga-actions>.pubblica,.ga-actions>.bottoncino,.ga-disc-summary>.pubblica,.ga-calendar-card>.pubblica{font-size:14px;min-height:46px}.ga-task-edit{font-size:13px;padding:0 12px;border-radius:4px}.ga-task b{font-size:15px}.ga-task small{font-size:13px}.ga-panel summary,.ga-sanction summary{font-size:14px;min-height:44px}.ga-task,.ga-source{border-radius:5px}.ga-names>span{font-size:13px}.ga-label,.ga-form-grid>label,.ga-filters>label{font-size:14px}.ga-label small,.ga-form-grid small{font-size:12px}.ga-duration>span{font-size:13px}.ga-eligibility>div{font-size:13px}.ga-eligibility span{font-size:12px}
.ga-player-stat h3{font-size:17px}.ga-player-stat header small,.ga-player-stat header>b small,.ga-player-kpis>span,.ga-player-foot,.ga-source small{font-size:12px}.ga-player-attendance{font-size:13px}.ga-completeness p{font-size:14px}.ga-completeness small,.ga-prose small{font-size:12px}.ga-stat-toolbar label,.ga-stat-toolbar select{font-size:13px}.ga-rule-kpis span{font-size:13px}.ga-fonti .ga-prose{font-size:15px}.ga-sanction>p,.ga-source,.ga-notice{font-size:14px}
.io-bar .io-esci{color:var(--fc-muted);font-size:12px;min-height:36px}.ctx-bar button{min-height:40px;font-size:13px}.fm-status{font-size:12px}.cp-detail-score{border-radius:6px}.fm-hero h2{font-style:italic;text-transform:uppercase}
@media(max-width:480px){.ga-section-nav button{font-size:12px}.ga-eligibility>div{flex-wrap:wrap;gap:5px}.ga-actions>.pubblica,.ga-actions>.bottoncino{flex:1 1 140px}.ga-stat-toolbar{flex-wrap:wrap}.ga-stat-toolbar select{width:auto;max-width:180px}.io-bar .io-esci{font-size:11px}.ctx-bar{flex-wrap:wrap;justify-content:space-between}.ctx-bar button{min-height:40px}.ga-rule-kpis span{font-size:12px}}
