/* Endura — tutta la grafica dell'app (prima era dentro index.html). Colori e misure in :root. */
:root{
  /* superfici (5 gradini) */
  --bg:#0A0908; --panel:#14110F; --panelAlt:#1C1917; --panelHover:#282320; --field:#171412;
  --line:#2A2522; --lineSoft:rgba(255,255,255,0.055);
  /* accento + colori sport */
  --lime:#FF4E27; --limeDim:#D93A1C; --teal:#5AA0FF; --tealDim:#3A7ACC; --blue:#2AD3DE; --blueDim:#1AA6B3; --purple:#B096FF; --purpleDim:#8A6AE0;
  --onAccent:#120D0B; --accentVeil:rgba(255,78,39,0.10);
  /* testo */
  --text:#F5F3F0; --muted:#B5AFA7; --mutedDark:#8A857D; --danger:#FF5A5F;
  --grad: linear-gradient(150deg,#FF7A45,#FF4E27);
  /* scale: spaziature / raggi / elevazione */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s7:32px;
  --r1:8px; --r2:10px; --r3:12px; --r4:16px; --r5:20px; --pill:999px;
  --e1:0 1px 2px rgba(0,0,0,0.45), inset 0 1px 0 var(--lineSoft);
  --e2:0 10px 26px -12px rgba(0,0,0,0.62), inset 0 1px 0 var(--lineSoft);
  --e3:0 16px 40px -10px rgba(0,0,0,0.75), inset 0 1px 0 var(--lineSoft);
  --glow:0 0 0 1px rgba(255,78,39,0.30), 0 8px 26px -6px rgba(255,78,39,0.45);
}
*{box-sizing:border-box;}
body{margin:0; background:var(--bg); font-family:'Barlow',system-ui,sans-serif; color:var(--text); font-size:14.5px; line-height:1.5; -webkit-font-smoothing:antialiased;}
/* sfondo: atleti in ombra + alone arancio + grana finissima, dietro tutte le schermate */
body::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(58% 40% at 100% -4%, rgba(255,78,39,0.12), transparent 70%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000' height='320' viewBox='0 0 1000 320'%3E%3Cdefs%3E%3Cfilter id='bl'%3E%3CfeGaussianBlur stdDeviation='6'/%3E%3C/filter%3E%3C/defs%3E%3Cg filter='url(%23bl)' fill='none' stroke='%23FF4E27' stroke-width='12' stroke-linecap='round' stroke-linejoin='round' opacity='0.06'%3E%3Ccircle cx='150' cy='60' r='17' fill='%23FF4E27'/%3E%3Cpath d='M150 78 L140 150 M145 100 L185 92 M145 105 L112 130 M140 150 L175 175 L168 225 M140 150 L120 195 L135 240'/%3E%3Ccircle cx='430' cy='252' r='44'/%3E%3Ccircle cx='560' cy='252' r='44'/%3E%3Cpath d='M430 252 L560 252 M520 252 L520 176 L455 176 M520 176 L560 152'/%3E%3Ccircle cx='448' cy='140' r='15' fill='%23FF4E27'/%3E%3Cpath d='M460 158 L512 176 M460 158 L555 150 M512 176 L505 230'/%3E%3Cpath d='M740 250 Q840 232 952 250'/%3E%3Ccircle cx='956' cy='246' r='15' fill='%23FF4E27'/%3E%3Cpath d='M858 243 Q892 178 932 206 M780 250 Q760 292 802 300'/%3E%3Cpath d='M690 296 q26 -14 52 0 t52 0 t52 0 t52 0 t52 0' stroke-width='7' opacity='0.7'/%3E%3C/g%3E%3C/svg%3E") top center / 820px auto no-repeat,
    var(--bg);
}
/* foto atleti al tramonto: velo trasparente in cima a ogni schermata, dietro al logo e ai contenuti */
body::after{
  content:""; position:fixed; top:0; left:0; right:0; z-index:0; pointer-events:none;
  height:46vh; max-height:460px; min-height:300px;
  background:
    linear-gradient(180deg, rgba(10,9,8,0.30) 0%, rgba(10,9,8,0.6) 48%, var(--bg) 100%),
    url("/hero-runners.jpg") center 25% / cover no-repeat;
  opacity:0.55;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 45%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 45%, transparent 100%);
}
#app, #loginScreen{position:relative; z-index:1;}
/* stessa foto, incapsulata nei pannelli a schermo intero: resta dietro ai loro contenuti, senza far trasparire ciò che sta sotto */
.hero-panel{position:fixed;}
.hero-panel::before{
  content:""; position:fixed; top:0; left:0; right:0; z-index:-1; pointer-events:none;
  height:46vh; max-height:460px; min-height:300px;
  background:
    linear-gradient(180deg, rgba(10,9,8,0.30) 0%, rgba(10,9,8,0.6) 48%, var(--bg) 100%),
    url("/hero-runners.jpg") center 25% / cover no-repeat;
  opacity:0.55;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 45%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 45%, transparent 100%);
}
.display{font-family:'Barlow Condensed','Barlow',system-ui,sans-serif; font-weight:700; letter-spacing:0.01em; text-transform:uppercase;}
.mono{font-family:'Barlow Condensed','Barlow',system-ui,sans-serif; letter-spacing:0.04em;}
.hidden{display:none !important;}
/* frecce ‹ › sopra le strisce orizzontali, solo col mouse (vedi frecceStrisce in index.html) */
.striscia-freccia{position:fixed; z-index:250; width:40px; height:40px; border-radius:50%; border:1px solid var(--line); background:var(--panel); color:var(--text); font-size:26px; line-height:1; font-weight:700; display:flex; align-items:center; justify-content:center; padding:0 0 3px; box-shadow:var(--e3); cursor:pointer; opacity:.95;}
.striscia-freccia:hover{background:var(--panelHover);}
input, textarea, button{font-family:inherit;}
input, textarea, select{background:var(--field); color:var(--text); border:1px solid var(--line); border-radius:var(--r2); padding:12px 14px; font-size:16px; outline:none; width:100%;}
input::placeholder, textarea::placeholder{color:var(--mutedDark);}
input:focus, textarea:focus, select:focus{border-color:var(--lime); box-shadow:0 0 0 3px rgba(255,78,39,0.18);}
button{cursor:pointer; border:none;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--lime); outline-offset:2px;}
button:active, .rsvp-btn:active, .role-toggle button:active, .cal-day:active, .bottom-nav-btn:active, .file-btn:active, .conv-item:active{transform:translateY(1px);}

#loginScreen{min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px;}
#loginScreen .box{width:100%; max-width:380px; min-width:0;}
/* calendario pubblico nella pagina di accesso: riquadri dei giorni che scorrono di lato */
#calPubblico{margin:0 0 18px;}
.calpub-testa{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px;}
.calpub-testa b{font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:0.04em; font-size:16px; font-weight:700;}
.calpub-testa select{width:auto; max-width:48%; margin:0; padding:6px 10px; font-size:13px;}
.calpub-striscia{display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding-bottom:4px;}
.calpub-striscia::-webkit-scrollbar{display:none;}
.calpub-striscia .cal-day{min-height:0;}
.calpub-sotto{color:var(--mutedDark); font-size:12px; margin-top:8px;}
.eyebrow{color:var(--lime); letter-spacing:0.2em; font-size:12px; font-family:'Barlow Condensed',sans-serif; font-weight:600; text-transform:uppercase;}
.title-xl{font-family:'Barlow Condensed','Barlow',sans-serif; font-size:52px; font-weight:700; text-transform:uppercase; line-height:0.88; letter-spacing:0.005em; margin:4px 0 16px; color:var(--text);}
.title-md{font-family:'Barlow Condensed','Barlow',sans-serif; font-size:27px; font-weight:700; text-transform:uppercase; line-height:0.95; letter-spacing:0.02em; color:var(--text);}
.subtitle{color:var(--muted); font-size:15px; line-height:1.5; margin-bottom:28px;}
.btn-primary{background:var(--grad); color:var(--onAccent); font-weight:800; padding:14px; border-radius:var(--r3); width:100%; font-size:15px; box-shadow:var(--glow); min-height:48px;}
.btn-primary:active{box-shadow:0 0 0 1px rgba(255,78,39,0.30);}
.btn-primary:disabled{opacity:0.4; cursor:default; box-shadow:none;}
.btn-secondary{background:var(--panelAlt); color:var(--text); font-weight:600; padding:11px 18px; border-radius:var(--r3); border:1px solid var(--line); min-height:44px; box-shadow:var(--e1);}

/* --- LOGO ENDURA --- */
.brand-logo{display:inline-flex; align-items:center; gap:12px;}
.brand-mark{width:44px; height:44px; border-radius:var(--r3); flex:none; display:flex; align-items:center; justify-content:center; color:var(--lime);
  background:radial-gradient(120% 120% at 100% 0%, rgba(255,78,39,0.38), transparent 60%), var(--panelAlt); border:1px solid var(--line); box-shadow:var(--e1);}
.brand-mark svg{width:24px; height:24px;}
.brand-name{font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; font-size:26px; line-height:1; color:var(--text);}
.brand-claim{font-family:'Barlow Condensed',sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:0.24em; font-size:10px; color:var(--lime); display:block; margin-top:3px;}
.brand-logo.lg .brand-mark{width:60px; height:60px; border-radius:16px;}
.brand-logo.lg .brand-mark svg{width:34px; height:34px;}
.brand-logo.lg .brand-name{font-size:34px;}
.brand-logo.lg .brand-claim{letter-spacing:0.3em; font-size:11px;}
.brand-logo.sm{gap:9px;}
.brand-logo.sm .brand-mark{width:32px; height:32px; border-radius:9px;}
.brand-logo.sm .brand-mark svg{width:18px; height:18px;}
.brand-logo.sm .brand-name{font-size:17px;}
.brand-logo.sm .brand-claim{display:none;}
.link-muted{color:var(--mutedDark); font-size:12px; text-decoration:underline; background:none; padding:0;}
/* tasto "chiudi" ben visibile su tutti i pannelli */
.link-muted[id^="chiudi"]{
  display:inline-flex; align-items:center; gap:5px;
  background:var(--panelAlt); border:1px solid var(--line); color:var(--text);
  font-size:14px; font-weight:700; padding:10px 18px; border-radius:var(--pill);
  text-decoration:none; box-shadow:var(--e1); min-height:44px;
}
.link-muted[id^="chiudi"]:active{background:var(--panelHover);}

/* segmented control */
.auth-tabs{display:flex; gap:4px; margin-bottom:20px; background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r3); padding:4px;}
.auth-tabs button{flex:1; padding:10px; border-radius:var(--r2); background:none; color:var(--muted); font-weight:600; font-size:14px; min-height:40px;}
.auth-tabs button.active{background:var(--panel); color:var(--text); box-shadow:var(--e1);}
.auth-form{display:flex; flex-direction:column; gap:10px;}
.nascita-etichetta{font-size:13px; color:var(--muted); margin:0 0 6px 2px;}
.nascita-etichetta span{color:var(--mutedDark); font-size:12px;}
.nascita-menu{display:flex; gap:8px;}
.nascita-menu select{flex:1 1 0; min-width:0; padding:12px 8px;}
.nascita-menu select:nth-child(2){flex:1.6 1 0;}
#dataNascitaVelo, #avvisoVelo{position:fixed; inset:0; z-index:300; background:rgba(0,0,0,.72); display:flex; align-items:center; justify-content:center; padding:16px;}
#dataNascitaVelo .foglio, #avvisoVelo .foglio{background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:20px; width:100%; max-width:420px; display:flex; flex-direction:column; gap:12px;}
#dataNascitaVelo h3, #avvisoVelo h3{margin:0; font-size:19px;}
#dataNascitaVelo p, #avvisoVelo p{margin:0; color:var(--muted); font-size:14px; line-height:1.5;}
#avvisoVelo .icona{font-size:40px; line-height:1;}
#avvisoVelo p b{color:var(--text);}
.auth-forgot{text-align:right;}
.role-toggle{display:flex; gap:8px;}
.role-toggle button{flex:1; padding:11px; border-radius:var(--r2); background:var(--panelAlt); color:var(--muted); font-weight:600; font-size:14px; border:1px solid var(--line); min-height:44px;}
.role-toggle button.active{background:var(--accentVeil); color:var(--lime); border-color:var(--limeDim);}
.sport-check.active{background:var(--accentVeil); color:var(--lime); border-color:var(--limeDim);}
.giorni-striscia{display:flex; gap:6px; overflow-x:auto; padding:2px 0 8px; scrollbar-width:none; -webkit-overflow-scrolling:touch;}
.giorni-striscia::-webkit-scrollbar{display:none;}
.giorno-chip{flex:0 0 auto; min-width:58px; padding:7px 6px; border-radius:var(--r2); background:var(--panelAlt); border:1px solid var(--line); color:var(--muted); text-align:center; font-size:11px; font-weight:600; line-height:1.2;}
.giorno-chip b{display:block; font-size:19px; color:var(--text); margin:1px 0;}
.giorno-chip.active{background:var(--accentVeil); color:var(--lime); border-color:var(--limeDim);}
.giorno-chip.active b{color:var(--lime);}
.data-altra{display:flex; align-items:center; gap:10px; margin-bottom:8px; color:var(--mutedDark); font-size:13px;}
.data-altra span{flex:0 0 auto;}
.data-altra input{flex:1; min-width:0;}
.ora-scelta{display:flex; align-items:center; gap:8px; margin-bottom:8px;}
.ora-scelta select{flex:1; min-width:0;}
.ora-scelta span{color:var(--muted); font-weight:700;}
.sport-check-libero.active{background:var(--accentVeil); color:var(--lime); border-color:var(--limeDim);}
.like-btn{background:none; color:var(--mutedDark); font-size:12px; display:flex; align-items:center; gap:4px; padding:4px 6px;}
.like-btn.liked{color:var(--lime);}
.comment-toggle-btn{background:none; color:var(--mutedDark); font-size:12px; display:flex; align-items:center; gap:4px; padding:4px 6px;}
.comments-box{margin-top:10px; padding-top:10px; border-top:1px solid var(--line);}
.comment-item{font-size:13px; margin-bottom:8px; line-height:1.4;}
.comment-item b{color:var(--text);}
.comment-item span{color:var(--muted);}
.comment-input-row{display:flex; gap:6px; margin-top:8px;}
.comment-input-row input{flex:1;}
.comment-input-row button{background:var(--grad); color:var(--onAccent); font-weight:700; padding:8px 14px; border-radius:var(--r2); font-size:13px;}
.pdf-chip{width:100%; display:flex; align-items:center; gap:10px; background:var(--panelAlt); border:1px solid var(--line); border-left:3px solid var(--lime); border-radius:var(--r2); padding:12px 14px; margin-top:10px; box-shadow:var(--e1);}
.pdf-chip-icon{font-size:20px;}
.pdf-chip-label{flex:1; text-align:left; color:var(--text); font-weight:600; font-size:14px;}
.pdf-chip-chevron{color:var(--lime); font-size:12px;}
.msg-bubble{padding:10px 13px; border-radius:16px; margin-bottom:8px; font-size:14px; line-height:1.4; word-wrap:break-word;}
.msg-mio{background:var(--grad); color:var(--onAccent); font-weight:500; margin-left:auto; border-bottom-right-radius:5px; box-shadow:var(--glow);}
.msg-altrui{background:var(--panelAlt); color:var(--text); border:1px solid var(--line); margin-right:auto; border-bottom-left-radius:5px;}
.msg-nome{font-size:11px; color:var(--mutedDark); margin-bottom:2px; display:block;}
.conv-item{width:100%; display:flex; align-items:center; gap:12px; background:var(--panel); border:1px solid var(--line); border-radius:var(--r3); padding:11px 13px; margin-bottom:8px; text-align:left; box-shadow:var(--e1); color:var(--text);}
.conv-item.active{border-color:var(--limeDim); background:var(--accentVeil);}
.conv-item.non-letto{border-color:var(--lime); background:var(--accentVeil);}
.conv-item .anteprima{color:var(--muted); font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.conv-item .avatar-wrap{position:relative; flex-shrink:0; display:inline-flex;}
.chat-unread-dot{position:absolute; top:-1px; right:-1px; width:14px; height:14px; border-radius:50%; background:var(--lime); border:2.5px solid var(--panel);}
.post-card{background:var(--panel); border:1px solid var(--line); border-radius:var(--r4); overflow:hidden; margin-bottom:20px; box-shadow:var(--e2);}
.post-header{display:flex; align-items:center; gap:10px; padding:12px 14px;}
.post-header img, .post-header .ph{width:36px;height:36px;border-radius:50%;object-fit:cover;}
.post-header .ph{background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:15px;}
.post-header b{font-size:14px;}
.post-header span.tempo{color:var(--mutedDark); font-size:11px; display:block;}
.post-img{width:100%; display:block; aspect-ratio:1/1; object-fit:cover; background:#0a0f14;}
.post-actions{display:flex; align-items:center; gap:14px; padding:10px 14px;}
.post-actions button{background:none; padding:0; font-size:22px; color:var(--muted);}
.post-actions button.liked{color:var(--lime);}
.post-actions button{display:inline-flex;align-items:center;}
.post-actions button svg{width:22px;height:22px;}
.post-caption{padding:0 14px 14px; font-size:14px; line-height:1.4;}
.post-caption b{margin-right:6px;}
.act-map{width:100%; aspect-ratio:2/1; display:block; background:var(--panelAlt); border-top:1px solid var(--line);}
.act-title{padding:10px 14px 0; font-weight:700; font-size:14px;}
.act-stats{display:flex; flex-wrap:wrap; gap:2px 16px; padding:8px 14px 0; font-size:13px; color:var(--muted);}
.act-stats b{color:var(--text); font-weight:700;}
.act-strava{display:inline-block; margin:8px 14px 0; font-size:12px; color:#FC4C02; text-decoration:none; font-weight:600;}
.act-foto{position:relative;}
.act-foto-scroller{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; touch-action:pan-x;}
.act-foto-scroller::-webkit-scrollbar{display:none;}
.act-foto-scroller img{width:100%; flex:0 0 100%; aspect-ratio:1/1; object-fit:cover; scroll-snap-align:start; background:#0a0f14;}
.act-foto-dots{position:absolute; bottom:10px; left:0; right:0; display:flex; justify-content:center; gap:5px; pointer-events:none;}
.act-foto-dots span{width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.45); transition:background 0.15s, transform 0.15s;}
.act-foto-dots span.active{background:#fff; transform:scale(1.2);}
.act-addfoto{margin:10px 14px 0; font-size:12px; padding:7px 12px;}
.feed-nota{text-align:center; font-size:11px; color:var(--mutedDark); padding:2px 0 16px;}
.cuore-doppio-tap{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(0.3); font-size:72px; color:#fff; filter:drop-shadow(0 2px 14px rgba(0,0,0,0.55)); pointer-events:none; animation:cuoreBurst 0.75s ease forwards; z-index:6;}
@keyframes cuoreBurst{0%{transform:translate(-50%,-50%) scale(0.3); opacity:0;} 18%{transform:translate(-50%,-50%) scale(1.15); opacity:1;} 35%{transform:translate(-50%,-50%) scale(0.95); opacity:1;} 100%{transform:translate(-50%,-50%) scale(1); opacity:0;}}
.hashtag-link, .mention-link{color:var(--lime); font-weight:600; text-decoration:none;}
.comment-input-row{position:relative;}
.mention-suggerimenti{position:absolute; bottom:100%; left:0; right:64px; background:var(--panelHover); border:1px solid var(--line); border-radius:var(--r2); box-shadow:var(--e3); max-height:160px; overflow-y:auto; z-index:5; margin-bottom:4px;}
.mention-suggerimenti button{display:block; width:100%; text-align:left; padding:8px 12px; font-size:13px; background:none; color:var(--text);}
.mention-suggerimenti button:hover{background:var(--panelAlt);}
/* guide a passi (installa l'app) */
.gs-steps{list-style:none; padding:0; margin:0;}
.gs-steps > li{display:flex; gap:14px; padding-bottom:20px;}
.gs-steps > li:last-child{padding-bottom:0;}
.gs-num{flex:none; width:34px; height:34px; border-radius:50%; border:1.5px solid var(--limeDim);
  color:var(--lime); font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:18px;
  display:flex; align-items:center; justify-content:center; background:var(--panel);}
.gs-steps h4{font-family:'Barlow Condensed',sans-serif; font-weight:600; text-transform:uppercase;
  letter-spacing:0.02em; font-size:16px; margin:5px 0 5px; color:var(--text);}
.gs-steps p{margin:0; color:var(--muted); font-size:13.5px; line-height:1.5;}
.gs-chip{display:inline-block; margin-top:10px; font-weight:600; font-size:12.5px;
  padding:7px 13px; border-radius:999px; line-height:1;}
.gs-chip.gs-go{background:var(--grad); color:var(--onAccent);}
.gallery-strip{display:flex; gap:8px; overflow-x:auto; padding:2px 0 6px;}
.gallery-strip img{width:76px; height:76px; border-radius:10px; object-fit:cover; flex-shrink:0; border:1px solid var(--line);}
.gallery-add-btn{width:76px; height:76px; border-radius:10px; border:1px dashed var(--limeDim); color:var(--lime); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:22px; background:none;}
.file-input-hidden{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.file-btn-wrap{margin-bottom:8px;}
.file-btn{display:inline-flex; align-items:center; gap:8px; background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r2); padding:11px 15px; color:var(--text); font-size:14px; font-weight:600; cursor:pointer; min-height:44px;}
.file-btn:active{background:var(--panelHover);}
.file-name{display:block; color:var(--muted); font-size:12px; margin-top:6px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.coach-list{display:flex; flex-direction:column; gap:8px;}
.coach-option{display:flex; align-items:center; padding:12px 13px; border-radius:var(--r2); background:var(--panelAlt); border:1px solid var(--line); color:var(--text); font-size:14px; text-align:left; min-height:44px;}
.coach-option.active{border-color:var(--limeDim); background:var(--accentVeil); color:var(--lime); font-weight:600;}

#app{max-width:520px; margin:0 auto; padding-bottom:60px;}
header{padding:22px 20px 16px; border-bottom:1px solid var(--line);}
header .row{display:flex; justify-content:space-between; align-items:center;}
.hello{color:var(--muted); font-size:13px; text-align:right;}
.hello b{color:var(--text); font-weight:500;}
.hdr-eyebrow{color:var(--lime); font-size:12px; letter-spacing:0.18em; text-transform:uppercase; font-family:'Barlow Condensed',sans-serif; font-weight:600;}
.hdr-hello{font-family:'Barlow Condensed','Barlow',sans-serif; font-weight:700; text-transform:uppercase; font-size:42px; line-height:0.9; letter-spacing:0.005em; margin:12px 0 0;}
.hdr-stats{display:grid; grid-template-columns:repeat(3,1fr); margin-top:18px; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.hdr-stats > div{padding:14px 2px 13px; display:flex; flex-direction:column; gap:4px;}
.hdr-stats > div + div{border-left:1px solid var(--line); padding-left:14px;}
.hdr-stat-n{font-family:'Barlow Condensed',sans-serif; font-size:34px; font-weight:700; font-variant-numeric:tabular-nums; line-height:1;}
.hdr-stat-n.accent{color:var(--lime);}
.hdr-stat-l{font-family:'Barlow Condensed',sans-serif; font-size:10.5px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--mutedDark);}
.hdr-links{margin-top:14px; display:flex; flex-wrap:wrap; gap:14px;}
.hdr-links .link-muted{margin:0;}
.stat-card-grid{display:grid; grid-template-columns:repeat(3,1fr); background:var(--panel); border:1px solid var(--line); border-radius:var(--r4); overflow:hidden; margin-bottom:20px; box-shadow:var(--e2);}
.stat-card-grid > div{padding:15px 10px; display:flex; flex-direction:column; gap:4px;}
.stat-card-grid > div + div{border-left:1px solid var(--line);}
/* allenamenti svolti (intervals.icu) */
.stat-card-grid > div:nth-child(3n+1){border-left:none;}
.stat-card-grid > div:nth-child(n+4){border-top:1px solid var(--line);}
.sv-n{font-family:'Barlow Condensed',sans-serif; font-size:24px; font-weight:700; font-variant-numeric:tabular-nums;}
.sv-l{font-size:11px; color:var(--mutedDark); text-transform:uppercase; letter-spacing:0.06em;}
.sv-riga{width:100%; display:flex; gap:12px; align-items:center; text-align:left; background:var(--panel); border:1px solid var(--line); border-radius:var(--r3); padding:12px 13px; margin-bottom:8px; color:var(--text); box-shadow:var(--e1);}
.sv-riga .sv-ico{width:40px; height:40px; border-radius:var(--r2); flex:none; display:flex; align-items:center; justify-content:center;}
.sv-riga .sv-ico svg{width:22px; height:22px;}
.sv-riga .sv-meta{font-size:12px; color:var(--muted); display:flex; flex-wrap:wrap; gap:4px 10px; margin-top:3px;}
.sv-badge{font-size:10.5px; padding:2px 7px; border-radius:var(--pill); border:1px solid var(--line); color:var(--mutedDark);}

.adminbar{margin:16px 20px 0;}
.adminbar-active{display:flex; justify-content:space-between; align-items:center; padding:11px 14px; border-radius:var(--r2); background:var(--accentVeil); border:1px solid var(--limeDim);}
.adminbar-active span{color:var(--lime); font-size:13px;}
.adminbar-gate{display:flex; gap:8px;}

.section-label{color:var(--mutedDark); font-family:'Barlow Condensed',sans-serif; font-size:11.5px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; margin:24px 20px 12px;}

.newbtn{margin:16px 20px 0; width:calc(100% - 40px); display:flex; align-items:center; justify-content:center; gap:8px; padding:14px; border-radius:var(--r3); background:var(--panelAlt); border:1px dashed var(--limeDim); color:var(--lime); font-weight:600; min-height:48px;}

#formBox{margin:12px 20px 0; padding:16px; border-radius:var(--r4); background:var(--panel); border:1px solid var(--line); box-shadow:var(--e2);}
.sport-toggle{display:flex; gap:8px; margin-bottom:12px;}
.sport-toggle button{flex:1; padding:11px; border-radius:var(--r2); font-weight:600; background:var(--panelAlt); color:var(--muted); border:1px solid var(--line); min-height:44px;}
.sport-toggle button.active-corsa{background:var(--lime); color:var(--onAccent); border-color:transparent;}
.sport-toggle button.active-bici{background:var(--teal); color:var(--onAccent); border-color:transparent;}
.sport-toggle button.active-nuoto{background:var(--blue); color:var(--onAccent); border-color:transparent;}
.sport-toggle button.active-palestra{background:var(--purple); color:var(--onAccent); border-color:transparent;}

/* home: filtro città in cima, poi gruppi e calendario uno sotto l'altro, a tutta larghezza */
#homeCorpo{display:flex; flex-direction:column; min-width:0;}
#giocoHome{padding:16px 20px 28px; min-width:0;}
.gioco-foto{display:block; width:100%; max-height:280px; object-fit:contain; background:#fff; border-radius:var(--r2); margin:10px 0 4px; cursor:zoom-in;}
.gioco-foto-btn{display:block; margin:6px 0 4px; font-size:13px;}
.gioco-home-testa{margin-bottom:14px;}
.gioco-home-sotto{color:var(--muted); font-size:13.5px; margin-top:2px;}
#giocoHomeRegolamento .giochi-regolamento{margin-top:4px;}
/* con 6 tasti la barra è più fitta: scritte più piccole */
.bottom-nav-btn{min-width:0;}
.bottom-nav-btn > span:not(.ico):not(.nav-dot):not(#chatBadge){font-size:10.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%;}
.home-citta{margin:16px 20px 0;}
#citySelectLiberi{width:100%; padding:12px 13px; border-radius:var(--r2); background:var(--field); color:var(--text); border:1px solid var(--line); font-size:14px; font-weight:500;}
.home-etichetta{margin:18px 20px 8px;}
/* gruppi: una striscia di loghi tondi che si scorre di lato (il «+» per crearne uno è il primo) */
#gruppiRailWrap{min-width:0;}
#gruppiRail{display:flex; flex-direction:row; align-items:flex-start; gap:14px; margin:0 20px; padding:12px 12px 10px; background:var(--panel); border:1px solid var(--line); border-radius:var(--r5); box-shadow:var(--e2); overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch;}
#gruppiRail::-webkit-scrollbar{display:none;}
.gruppo-rail-add{width:54px; height:54px; border-radius:50%; background:var(--panelAlt); border:1px dashed var(--limeDim); color:var(--lime); display:flex; align-items:center; justify-content:center; flex-shrink:0; padding:0;}
.gruppo-rail-list{display:flex; flex-direction:row; align-items:flex-start; gap:14px; flex:none;}
.gruppo-rail-item{display:flex; flex-direction:column; align-items:center; gap:5px; width:66px; flex:none; padding:0; background:none;}
.gruppo-rail-item .avatar{width:54px; height:54px; border-radius:50%; object-fit:cover; border:1px solid var(--line); background:var(--panelAlt); display:flex; align-items:center; justify-content:center; font-family:'Barlow Condensed',sans-serif; font-weight:700; color:var(--muted); font-size:17px; flex-shrink:0;}
.gruppo-rail-item .lbl{font-size:11px; color:var(--muted); max-width:66px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:center;}
.gruppo-rail-avatar-wrap{position:relative; display:inline-flex;}
.gruppo-rail-del{position:absolute; top:-3px; right:-3px; width:17px; height:17px; border-radius:50%; background:var(--danger); color:#fff; font-size:10px; font-weight:800; line-height:1; display:flex; align-items:center; justify-content:center; border:2px solid var(--panel); cursor:pointer;}
.gruppo-rail-nuovo{position:absolute; bottom:-2px; right:-2px; width:13px; height:13px; border-radius:50%; background:var(--lime); border:2px solid var(--panel); animation:pulseNuovo 1.6s ease-in-out infinite;}
.gruppo-rail-empty{font-size:12px; color:var(--mutedDark); padding:0 4px; line-height:1.4; align-self:center; white-space:nowrap;}

.city-select-wrap{margin:16px 20px 0;}
#citySelect{width:100%; padding:12px 13px; border-radius:var(--r2); background:var(--field); color:var(--text); border:1px solid var(--line); font-size:14px; font-weight:500;}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:8px;}
.field-label{color:var(--mutedDark); font-family:'Barlow Condensed',sans-serif; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; font-size:11.5px; display:block; margin-bottom:5px;}
.livello-row{display:flex; gap:8px; margin-bottom:8px;}
.livello-row button{flex:1; padding:9px; border-radius:var(--r2); background:var(--panelAlt); border:1px solid var(--line); color:var(--mutedDark); font-size:13px; min-height:40px;}
.livello-row button.active{background:var(--accentVeil); border-color:var(--limeDim); color:var(--lime); font-weight:600;}

#eventList{padding:0 20px 90px;}
/* con una schermata principale aperta la barra sta sotto di essa: sfondo pieno, così
   non si intravede il calendario rimasto dietro */
body:has(#profiloScreen:not(.hidden), #premiScreen:not(.hidden), #bachecaScreen:not(.hidden), #professionistiScreen:not(.hidden), #coachingScreen:not(.hidden)) #bottomNav{background:rgb(10,9,8) !important;}
.bottom-nav-btn{flex:1; display:flex; flex-direction:column; align-items:center; gap:4px; background:none; padding:12px 0 13px; color:var(--muted); font-size:12px; font-weight:600; position:relative; min-height:56px;}
.bottom-nav-btn .ico{font-size:27px; line-height:0;}
.bottom-nav-btn .ico svg{display:block; width:24px; height:24px;}
.bottom-nav-btn.active{color:var(--lime); font-weight:800;}
.bottom-nav-btn.active::before{content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:22px; height:3px; border-radius:0 0 3px 3px; background:var(--lime); box-shadow:0 0 10px -1px var(--lime);}
.day-chip{display:inline-block; font-family:'Barlow Condensed',sans-serif; font-weight:600; text-transform:uppercase; padding:4px 9px; border-radius:var(--r1); background:var(--panelAlt); border:1px solid var(--line); color:var(--muted); font-size:11px; letter-spacing:0.12em; margin-bottom:8px;}
.card{border-radius:var(--r4); background:linear-gradient(180deg, var(--panel), #100D0C); border:1px solid var(--line); margin-bottom:10px; display:flex; overflow:hidden; box-shadow:var(--e2);}
.card.allenamento-evidenziato{outline:3px solid var(--lime); outline-offset:2px;}
.card .bar{width:3px; flex-shrink:0;}
.card .body{flex:1; padding:16px 16px 15px; min-width:0;}
.card .top{display:flex; justify-content:space-between; align-items:center; gap:10px;}
.card .sportname{font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; font-weight:700; font-size:18px; letter-spacing:0.01em;}
.sport-ico-box{width:34px; height:34px; border-radius:var(--r2); display:inline-flex; align-items:center; justify-content:center; flex:none;}
.cardtags{display:flex; flex-wrap:wrap; gap:6px; margin-top:11px;}
.cardtags .tag{margin:0;}
.tag{padding:3px 9px; border-radius:var(--r1); background:var(--panelAlt); border:1px solid var(--line); color:var(--muted); font-size:11.5px; font-weight:600; margin-left:8px;}
/* ---- Coaching: vetrina coach + grafici ---- */
.coach-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:14px;}
.coach-card{border-radius:var(--r4); background:linear-gradient(180deg, var(--panel), #100D0C); border:1px solid var(--line); box-shadow:var(--e2); padding:16px; display:flex; flex-direction:column; gap:10px; transition:transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease; cursor:pointer;}
.coach-card:hover{transform:translateY(-2px); border-color:var(--limeDim); box-shadow:var(--e3);}
.coach-card:active{transform:translateY(0px);}
.coach-badge-verificato{display:inline-flex; align-items:center; gap:3px; background:var(--accentVeil); color:var(--lime); border:1px solid var(--limeDim); border-radius:var(--pill); padding:2px 8px 2px 6px; font-size:10.5px; font-weight:700;}
.coach-rating{display:flex; align-items:center; gap:4px; font-size:12.5px; color:var(--muted); font-variant-numeric:tabular-nums;}
.coach-rating .stelle{color:var(--lime);}
.coach-chip{padding:3px 9px; border-radius:var(--pill); background:var(--panelAlt); border:1px solid var(--line); color:var(--muted); font-size:11px; font-weight:600; display:inline-flex; align-items:center; gap:4px;}
.coach-spark-wrap{background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r2); padding:8px 10px;}
.coach-spark-label{font-size:10px; color:var(--mutedDark); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:4px; font-family:'Barlow Condensed',sans-serif;}
.chart-box{background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r3); padding:14px; margin-bottom:14px;}
.chart-box-titolo{font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; font-size:13px; color:var(--text); margin-bottom:2px;}
.chart-box-sotto{font-size:12px; color:var(--mutedDark); margin-bottom:12px;}
.chart-skeleton{height:140px; border-radius:var(--r2); background:linear-gradient(100deg, var(--panelAlt) 30%, var(--panelHover) 50%, var(--panelAlt) 70%); background-size:200% 100%; animation:chartShimmer 1.3s ease-in-out infinite;}
@keyframes chartShimmer{0%{background-position:200% 0;} 100%{background-position:-200% 0;}}
.chart-empty{height:140px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; color:var(--mutedDark); font-size:12.5px; text-align:center;}
.chart-legenda{display:flex; flex-wrap:wrap; gap:14px; margin-top:10px; font-size:11.5px; color:var(--muted);}
.chart-legenda span{display:inline-flex; align-items:center; gap:5px;}
.chart-legenda i{width:9px; height:9px; border-radius:2px; display:inline-block;}
.chart-tooltip{position:fixed; z-index:200; transform:translate(-50%,-100%); background:var(--panelHover); border:1px solid var(--limeDim); color:var(--text); font-size:11.5px; font-weight:600; padding:6px 9px; border-radius:var(--r2); box-shadow:var(--e3); pointer-events:none; white-space:nowrap;}
.coach-pt{cursor:pointer;}
.time{color:var(--text); font-family:'Barlow Condensed',sans-serif; font-size:22px; font-weight:700; font-variant-numeric:tabular-nums;}
.place{color:var(--muted); font-size:13.5px; margin-top:9px; display:flex; align-items:center; gap:4px;}
.note{color:var(--mutedDark); font-size:13.5px; margin-top:6px;}
.routelink{color:var(--lime); font-size:13px; font-weight:600; margin-top:9px; display:inline-flex; align-items:center; gap:5px; text-decoration:none;}
.bottomrow{display:flex; justify-content:space-between; align-items:center; margin-top:13px;}
.participants-btn{background:none; color:var(--mutedDark); font-size:12px; display:flex; align-items:center; gap:4px;}
.rsvp-btn{padding:9px 16px; border-radius:var(--r2); font-weight:700; font-size:13px; min-height:40px;}
.rsvp-empty{background:var(--grad); color:var(--onAccent); box-shadow:var(--glow);}
.rsvp-empty.bici{background:var(--teal); color:var(--onAccent); box-shadow:none;}
.rsvp-empty.nuoto{background:var(--blue); color:var(--onAccent); box-shadow:none;}
.rsvp-empty.palestra{background:var(--purple); color:var(--onAccent); box-shadow:none;}
.rsvp-full{background:transparent; border:1px solid var(--lime); color:var(--lime);}
.rsvp-full.bici{border-color:var(--teal); color:var(--teal);}
.rsvp-full.nuoto{border-color:var(--blue); color:var(--blue);}
.rsvp-full.palestra{border-color:var(--purple); color:var(--purple);}
.del-btn{background:none; color:var(--mutedDark); padding:4px;}
.plist{margin-top:11px; padding-top:11px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:6px; align-items:center;}
.plist span{padding:3px 9px; border-radius:var(--pill); background:var(--panelAlt); border:1px solid var(--line); color:var(--text); font-size:12px;}
.empty-state{padding:40px 0; text-align:center; border:1px dashed var(--line); border-radius:var(--r3);}
.empty-state .t1{color:var(--muted); font-size:14px;}
.empty-state .t2{color:var(--mutedDark); font-size:13px; margin-top:4px;}
.errorMsg{color:var(--danger); font-size:13px; margin:8px 20px 0;}

/* --- CALENDARIO HOME (agenda a riquadri) --- */
#calendarWidget{margin:16px 20px 0; background:var(--panel); border:1px solid var(--line); border-radius:var(--r5); padding:14px 12px 12px; box-shadow:var(--e2);}
.cal-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; padding:0 4px;}
.cal-head b{font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:0.04em; font-size:16px; font-weight:700;}
.cal-nav{display:flex; gap:5px;}
.cal-nav button{min-width:34px; height:34px; border-radius:var(--r2); background:var(--panelAlt); border:1px solid var(--line); color:var(--text); font-size:15px; font-weight:700; display:flex; align-items:center; justify-content:center;}
/* un riquadro grande per giorno, uno accanto all'altro: si scorre di lato (il successivo si intravede) */
#calAgenda{display:flex; flex-direction:row; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; margin:0 -12px; padding:0 12px 4px; scroll-padding:0 12px;}
#calAgenda::-webkit-scrollbar{display:none;}
.cal-day{display:flex; flex-direction:column; flex:0 0 84%; max-width:340px; min-height:230px; text-align:left; background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r3); padding:12px 12px 14px; scroll-snap-align:start; align-self:stretch;}
.cal-day-items{flex:1;}
.cal-riposo{flex:1; display:flex; align-items:center; justify-content:center; font-size:13px !important;}
.cal-day.oggi{border-color:var(--limeDim); background:var(--accentVeil);}
.cal-day.sel{background:var(--grad); border-color:transparent; box-shadow:var(--glow);}
.cal-day.sel .cal-day-hd, .cal-day.sel .cal-riposo{color:var(--onAccent);}
.cal-day-hd{font-family:'Barlow Condensed',sans-serif; font-size:15px; font-weight:700; color:var(--muted); letter-spacing:0.08em; text-transform:uppercase; display:flex; align-items:center; gap:7px; margin-bottom:9px;}
.cal-oggi-tag{background:var(--lime); color:var(--onAccent); border-radius:5px; padding:1px 5px; font-size:9px; font-weight:800;}
.cal-day.sel .cal-oggi-tag{background:var(--onAccent); color:var(--lime);}
.cal-day-items{display:flex; flex-direction:column; gap:7px;}
.cal-chip{display:flex; flex-direction:column; gap:4px; font-size:13.5px; font-weight:700; color:var(--onAccent); border-radius:var(--r2); padding:9px 11px 8px; line-height:1.3; cursor:pointer;}
.cal-chip-info{display:flex; flex-direction:column; gap:2px; font-size:12px; font-weight:600; opacity:0.85;}
.cal-chip-info span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.cal-chip.corsa{background:var(--lime);}
.cal-chip.bici{background:var(--teal);}
.cal-chip.nuoto{background:var(--blue);}
.cal-chip.palestra{background:var(--purple);}
.cal-day.sel .cal-chip{filter:brightness(1.04);}
.cal-chip-riga{display:flex; align-items:center; gap:5px; min-width:0;}
.cal-chip-riga > span{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.cal-chip-autore{display:flex; align-items:center; gap:5px; font-size:11.5px; font-weight:600; opacity:0.72; min-width:0;}
.cal-chip-autore span{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.cal-chip-autore img, .cal-chip-autore .cal-chip-ph{width:16px; height:16px; border-radius:50%; object-fit:cover; flex:none; border:1px solid rgba(18,13,11,0.25);}
.cal-chip-autore .cal-chip-ph{background:rgba(18,13,11,0.18); display:flex; align-items:center; justify-content:center; font-size:9px;}
.cal-chip-nuovo{display:inline-block; background:var(--onAccent); color:var(--lime); font-size:9.5px; font-weight:800; letter-spacing:0.03em; padding:2px 6px; border-radius:6px; margin-bottom:4px; animation:pulseNuovo 1.6s ease-in-out infinite;}
@keyframes pulseNuovo{0%,100%{opacity:1;} 50%{opacity:0.55;}}
.cal-riposo{font-size:11px; color:var(--mutedDark); font-style:italic;}
.cal-clear{display:flex; align-items:center; gap:8px; margin:12px 20px 0; padding:9px 16px; border-radius:var(--pill); background:var(--panelAlt); border:1px solid var(--line); color:var(--text); font-size:13px; font-weight:600; text-transform:capitalize; box-shadow:var(--e1); min-height:40px;}

/* --- comunicazioni allenamento / link / partecipanti --- */
.plist-label{background:none !important; color:var(--muted) !important; padding:0 6px 0 0 !important; font-weight:700; font-size:12px;}
.comment-item.from-coach{background:var(--accentVeil); border-radius:var(--r1); padding:7px 9px;}
.comment-item.from-coach b{color:var(--lime);}
.comment-toggle-btn.has-new{color:var(--lime); font-weight:700;}
.msg-new-dot{display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--danger); vertical-align:middle; margin-left:2px;}
.nav-dot{position:absolute; top:8px; right:calc(50% - 20px); width:9px; height:9px; border-radius:50%; background:var(--danger); border:2px solid var(--bg);}
.hdr-ico{width:38px;height:38px;border-radius:var(--r3);background:var(--panelAlt);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);box-shadow:var(--e1);}
.hdr-ico svg{width:18px;height:18px;}
.cal-chip svg{width:13px;height:13px;flex:none;}
.tag svg{width:12px;height:12px;flex:none;}
.tag{display:inline-flex;align-items:center;gap:4px;}
.comment-toggle-btn svg, .like-btn svg, .plist-label svg, .place svg, .routelink svg{width:14px;height:14px;flex:none;}
.sport-toggle button svg, .role-toggle button svg, .livello-row button svg{width:15px;height:15px;flex:none;}
.sport-toggle button, .role-toggle button, .livello-row button{display:inline-flex;align-items:center;justify-content:center;gap:6px;}
#toast{position:fixed; left:50%; bottom:88px; transform:translateX(-50%); background:var(--text); color:var(--bg); font-size:13px; font-weight:700; padding:11px 18px; border-radius:var(--pill); z-index:120; box-shadow:var(--e3); opacity:0; transition:opacity .2s; pointer-events:none;}
#toast.show{opacity:1;}

/* --- chat in stile WhatsApp: fumetti, orari, separatori di data, spunte --- */
.chat-thread{flex:1; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; padding:6px 14px 12px; background:radial-gradient(90% 60% at 100% 0%, rgba(255,78,39,0.06), transparent 70%), #0D0B0A;}
.chat-giorno{display:flex; justify-content:center; margin:12px 0 6px; position:sticky; top:4px; z-index:1; pointer-events:none;}
.chat-giorno span{background:rgba(28,25,23,0.94); border:1px solid var(--line); color:var(--muted); font-size:12px; font-weight:600; padding:4px 12px; border-radius:var(--pill); box-shadow:var(--e1);}
.chat-riga{display:flex; margin-top:2px;}
.chat-riga.mio{justify-content:flex-end;}
.chat-riga.primo{margin-top:9px;}
.chat-bolla{position:relative; max-width:min(80%, 540px); padding:6px 9px 7px 10px; border-radius:12px; font-size:14.5px; line-height:1.38; box-shadow:0 1px 1.5px rgba(0,0,0,0.35); -webkit-touch-callout:none;}
.chat-riga.mio .chat-bolla{background:linear-gradient(150deg,#FF7A45,#FF4E27); color:#1A0E09;}
.chat-riga.altro .chat-bolla{background:#F3EFEA; color:#1C1917;}
.chat-riga.mio.primo .chat-bolla{border-top-right-radius:3px;}
.chat-riga.altro.primo .chat-bolla{border-top-left-radius:3px;}
.chat-riga.evidenziato .chat-bolla{outline:2px solid var(--lime); outline-offset:2px;}
/* sul telefono tenere premuto un messaggio apre il NOSTRO menu (emoji, rispondi, copia…):
   niente selezione del testo, niente fumetto "Copia/Seleziona tutto", niente lampo al tocco */
@media (pointer: coarse){
  .chat-thread, .chat-thread *{-webkit-user-select:none; user-select:none; -webkit-touch-callout:none; -webkit-tap-highlight-color:transparent;}
  .chat-thread img{-webkit-user-drag:none; -webkit-touch-callout:none; pointer-events:auto;}
  /* tutta la schermata Chat/Feed: tenendo premuto in qualsiasi punto (elenco, loghi, testata, spazi
     vuoti) il telefono non deve selezionare il testo (su iPhone partiva da un contenitore esterno ai
     messaggi e "illuminava" tutto lo schermo). Si può scrivere e selezionare solo nei campi di testo. */
  body:has(#bachecaScreen:not(.hidden)), #bachecaScreen, #bachecaScreen *{-webkit-user-select:none; user-select:none; -webkit-touch-callout:none; -webkit-tap-highlight-color:transparent;}
  #bachecaScreen input, #bachecaScreen textarea, #bachecaScreen [contenteditable="true"]{-webkit-user-select:text; user-select:text; -webkit-touch-callout:default;}
}
.chat-autore{display:block; font-size:12.5px; font-weight:800; margin-bottom:1px;}
.chat-testo{white-space:pre-wrap; overflow-wrap:anywhere;}
.chat-meta{float:right; position:relative; top:5px; margin-left:10px; font-size:11px; line-height:1; display:inline-flex; align-items:center; gap:3px; white-space:nowrap; opacity:0.72;}
.chat-riga.mio .chat-meta{opacity:0.85;}
.chat-modificato{font-style:italic;}
.chat-spunte{display:inline-flex;}
.chat-spunte svg{width:17px; height:12px; display:block;}
.chat-spunte.letto{color:#0B3A8C;}
.chat-carica-vecchi{text-align:center; color:var(--mutedDark); font-size:12px; padding:10px 0 4px;}
.chat-vuota{text-align:center; color:var(--mutedDark); font-size:13px; padding:40px 20px;}
.chat-composer{flex-shrink:0; display:flex; align-items:flex-end; gap:8px; padding:8px 12px max(8px, env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:var(--bg);}
.chat-composer textarea{flex:1; resize:none; min-height:46px; max-height:140px; border-radius:23px; padding:12px 16px; font-size:15.5px; line-height:1.35; overflow-y:auto; display:block;}
.chat-invia{width:46px; height:46px; flex:none; border-radius:50%; background:var(--grad); color:var(--onAccent); display:flex; align-items:center; justify-content:center; box-shadow:var(--glow); padding:0;}
.chat-invia svg{width:22px; height:22px; margin-left:2px;}
.chat-modifica-barra{flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 16px; background:var(--panelAlt); border-top:1px solid var(--line); border-left:3px solid var(--lime); color:var(--lime); font-size:13px; font-weight:700;}
.chat-modifica-barra button{background:none; color:var(--muted); font-size:16px; padding:2px 6px;}
.chat-testa-avatar{flex:none; display:inline-flex;}
.chat-testa-avatar img, .chat-testa-avatar span{width:38px; height:38px; border-radius:50%; object-fit:cover; display:flex; align-items:center; justify-content:center; background:var(--panelAlt); border:1px solid var(--line); color:var(--lime);}
.chat-testa-avatar svg{width:18px; height:18px;}
/* elenco chat: una riga per conversazione, come WhatsApp */
.chat-lista-riga{width:100%; display:flex; align-items:center; gap:12px; background:none; border:none; border-bottom:1px solid var(--lineSoft); border-radius:0; padding:10px 6px; text-align:left; color:var(--text);}
.chat-lista-riga:hover{background:var(--panelHover);}
.chat-lista-riga.active{background:var(--accentVeil);}
/* scorrendo la riga verso sinistra compare «Elimina» (come WhatsApp) */
.chat-swipe{position:relative; overflow:hidden;}
.chat-swipe .chat-lista-riga{position:relative; z-index:1; background:var(--bg); transition:transform .2s ease; touch-action:pan-y; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none;}
.chat-swipe .chat-lista-riga:hover{background:var(--panelHover);}
.chat-swipe .chat-lista-riga.active{background:var(--accentVeil);}
.chat-swipe.trascino .chat-lista-riga{transition:none;}
.chat-swipe.aperta .chat-lista-riga{transform:translateX(-88px);}
.chat-swipe-elimina{position:absolute; top:0; right:0; bottom:0; width:88px; border-radius:0; background:var(--danger); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; font-size:12.5px; font-weight:700; padding:0;}
.chat-swipe-elimina svg{width:20px; height:20px;}
.chat-striscia-gruppo{-webkit-user-select:none; user-select:none; -webkit-touch-callout:none;}
.chat-striscia-gruppo img{-webkit-user-drag:none; pointer-events:none;}
/* foglio «Elimina chat» per i gruppi della striscia (tenendo premuto il logo) */
.chat-elimina-velo{position:fixed; inset:0; background:rgba(0,0,0,0.45); z-index:90; display:flex; align-items:flex-end; justify-content:center;}
.chat-elimina-foglio{width:100%; max-width:480px; background:var(--panel); color:var(--text); border-radius:16px 16px 0 0; padding:18px 16px calc(16px + env(safe-area-inset-bottom)); box-shadow:var(--e3);}
.chat-elimina-foglio h3{margin:0 0 6px; font-size:17px;}
.chat-elimina-foglio p{margin:0 0 14px; font-size:13.5px; color:var(--muted); line-height:1.45;}
.chat-elimina-foglio .azioni{display:flex; gap:10px;}
.chat-elimina-foglio .azioni button{flex:1; padding:12px; border-radius:var(--r2); font-weight:700;}
.chat-elimina-foglio .elimina{background:var(--danger); color:#fff; border:none;}
.chat-lista-avatar{width:50px; height:50px; flex:none; border-radius:50%; object-fit:cover; background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--mutedDark);}
.chat-lista-avatar svg{width:22px; height:22px;}
.chat-lista-testi{flex:1; min-width:0;}
.chat-lista-su, .chat-lista-giu{display:flex; align-items:center; gap:8px;}
.chat-lista-nome{flex:1; min-width:0; font-weight:700; font-size:15.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.chat-lista-ora{flex:none; font-size:11.5px; color:var(--mutedDark);}
.chat-lista-riga.non-letta .chat-lista-ora{color:var(--lime); font-weight:700;}
.chat-lista-anteprima{flex:1; min-width:0; font-size:13.5px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:flex; align-items:center; gap:3px;}
.chat-lista-anteprima .chat-spunte svg{width:15px; height:11px;}
.chat-lista-anteprima .chat-spunte.letto{color:var(--teal);}
.chat-badge{flex:none; min-width:21px; height:21px; padding:0 6px; border-radius:11px; background:var(--lime); color:#fff; font-size:11.5px; font-weight:800; display:inline-flex; align-items:center; justify-content:center;}
/* fase 2: citazione, foto, reazioni, eliminato, torna in fondo, ricerca, sta scrivendo */
.chat-thread-wrap{position:relative; flex:1; min-height:0; display:flex; flex-direction:column;}
.chat-citazione{display:block; border-left:3px solid var(--lime); background:rgba(0,0,0,0.07); border-radius:6px; padding:4px 8px; margin:1px 0 4px; font-size:12.5px; line-height:1.3; cursor:pointer; max-width:100%; overflow:hidden;}
.chat-riga.mio .chat-citazione{border-left-color:#7A1E05; background:rgba(0,0,0,0.12);}
.chat-citazione b{display:block; font-size:12px;}
.chat-riga.mio .chat-citazione b{color:#4A1404 !important;}
.chat-citazione span{display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; opacity:0.85;}
.chat-foto{display:block; max-width:min(260px, 100%); max-height:320px; border-radius:8px; margin:2px 0 4px; object-fit:cover; cursor:zoom-in; background:rgba(0,0,0,0.08); min-height:60px;}
.chat-eliminato{font-style:italic; opacity:0.7;}
.chat-colonna{display:flex; flex-direction:column; max-width:min(80%, 540px); min-width:0;}
.chat-riga.mio .chat-colonna{align-items:flex-end;}
.chat-riga.altro .chat-colonna{align-items:flex-start;}
.chat-colonna .chat-bolla{max-width:100%;}
.chat-reazioni{display:flex; flex-wrap:wrap; gap:3px; margin:-4px 6px 2px;}
.chat-reazione{display:inline-flex; align-items:center; gap:3px; background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--pill); padding:1px 7px; font-size:13px; color:var(--text); position:relative; z-index:1;}
.chat-reazione.mia{border-color:var(--lime); background:var(--accentVeil);}
.chat-reazione small{font-size:11px; color:var(--muted);}
.chat-in-fondo{position:absolute; right:14px; bottom:12px; width:42px; height:42px; border-radius:50%; background:var(--panelAlt); border:1px solid var(--line); color:var(--text); display:flex; align-items:center; justify-content:center; box-shadow:var(--e3); z-index:3; padding:0;}
.chat-in-fondo svg{width:22px; height:22px;}
.chat-in-fondo .chat-badge{position:absolute; top:-8px; right:-6px;}
.chat-risposta-barra{flex-shrink:0; display:flex; align-items:center; gap:8px; padding:8px 12px 0; background:var(--bg); border-top:1px solid var(--line);}
.chat-risposta-barra .chat-citazione{flex:1; min-width:0; margin:0; background:var(--panelAlt); color:var(--text); cursor:default;}
.chat-risposta-barra button{background:none; color:var(--muted); font-size:16px; padding:2px 6px;}
.chat-allega{width:42px; height:46px; flex:none; background:none; color:var(--muted); display:flex; align-items:center; justify-content:center; padding:0;}
.chat-allega svg{width:24px; height:24px;}
.chat-testa-btn{flex:none; background:none; color:var(--muted); padding:6px; display:flex;}
.chat-testa-btn svg{width:20px; height:20px;}
.chat-cerca-barra{flex-shrink:0; display:flex; align-items:center; gap:6px; padding:8px 12px; border-bottom:1px solid var(--line); background:var(--panel);}
.chat-cerca-barra input{flex:1; padding:9px 12px; font-size:14.5px;}
.chat-cerca-barra button{background:none; color:var(--muted); font-size:14px; padding:6px 7px;}
.chat-cerca-conta{font-size:12px; color:var(--muted); white-space:nowrap;}
.chat-riga.trovato .chat-bolla{box-shadow:0 0 0 2px #FACC15;}
mark.chat-trovato{background:#FACC15; color:#1C1917; border-radius:2px; padding:0 1px;}
.chat-stato{color:var(--lime) !important;}
.chat-lista-anteprima.scrive{color:var(--lime); font-style:italic;}
/* striscia dei gruppi in cima all'elenco chat: loghi tondi, anello arancione se ci sono novità */
.chat-striscia{display:flex; gap:12px; overflow-x:auto; padding:10px 2px 10px; margin:0 -2px; scrollbar-width:none; -webkit-overflow-scrolling:touch; border-bottom:1px solid var(--line);}
.chat-striscia::-webkit-scrollbar{display:none;}
.chat-striscia-gruppo{flex:none; width:70px; display:flex; flex-direction:column; align-items:center; gap:5px; background:none; padding:0; color:var(--text); border-radius:var(--r2);}
.chat-striscia-logo{position:relative; width:62px; height:62px; border-radius:50%; padding:2.5px; background:var(--line);}
.chat-striscia-gruppo.non-letta .chat-striscia-logo{background:var(--grad);}
.chat-striscia-gruppo.active .chat-striscia-logo{background:var(--text);}
.chat-striscia-logo img, .chat-striscia-logo .chat-striscia-ph{width:100%; height:100%; border-radius:50%; object-fit:cover; border:2.5px solid var(--bg); display:flex; align-items:center; justify-content:center; background:var(--panelAlt); color:var(--lime);}
.chat-striscia-ph svg{width:24px; height:24px;}
.chat-striscia-logo .chat-badge{position:absolute; top:-3px; right:-5px; border:2px solid var(--bg);}
.chat-striscia-nome{max-width:70px; font-size:11.5px; font-weight:600; line-height:1.2; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:center;}
.chat-striscia-gruppo.non-letta .chat-striscia-nome{color:var(--lime); font-weight:800;}
.chat-striscia-vuota{color:var(--mutedDark); font-size:12.5px; padding:6px 2px; line-height:1.4;}
/* menu azioni su un messaggio */
#chatAzioniMenu .chat-emoji-riga{display:flex; justify-content:space-around; padding:6px 4px 8px; border-bottom:1px solid var(--line); margin-bottom:4px;}
#chatAzioniMenu .chat-emoji{font-size:24px; background:none; padding:6px; border-radius:50%; line-height:1;}
#chatAzioniMenu .chat-emoji.scelta{background:var(--accentVeil); box-shadow:0 0 0 1px var(--lime);}
#chatAzioniVelo{position:fixed; inset:0; z-index:95; background:rgba(0,0,0,0.45);}
#chatAzioniMenu{position:fixed; left:50%; bottom:max(16px, env(safe-area-inset-bottom)); transform:translateX(-50%); width:min(92vw, 360px); z-index:96; background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r4); box-shadow:var(--e3); padding:6px; }
#chatAzioniMenu .chat-azione{display:flex; align-items:center; gap:10px; width:100%; padding:13px 14px; background:none; color:var(--text); font-size:15px; font-weight:600; text-align:left; border-radius:var(--r2);}
#chatAzioniMenu .chat-azione:hover{background:var(--panelHover);}
#chatAzioniMenu .chat-azione.pericolo{color:var(--danger);}
#chatAzioniMenu .chat-azioni-titolo{padding:10px 14px 4px; color:var(--muted); font-size:13px;}

/* --- invito ad attivare le notifiche (in home, sotto l'intestazione) --- */
.avviso-notifiche{display:flex; gap:12px; align-items:flex-start; margin:14px 20px 0; padding:14px 16px; border-radius:var(--r4); background:radial-gradient(120% 140% at 100% 0%, rgba(255,78,39,0.16), transparent 60%), linear-gradient(180deg, var(--panel), #100D0C); border:1px solid var(--limeDim); box-shadow:var(--e2);}
.avviso-notifiche-ico{width:40px; height:40px; flex:none; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--lime); background:var(--accentVeil); border:1px solid var(--limeDim);}
.avviso-notifiche-ico svg{width:20px; height:20px;}
.avviso-notifiche-testi{flex:1; min-width:0;}
.avviso-notifiche-titolo{font-weight:800; font-size:15.5px;}
.avviso-notifiche-testo{color:var(--muted); font-size:13.5px; line-height:1.45; margin-top:2px;}
.avviso-notifiche-azioni{display:flex; gap:8px; margin-top:10px; flex-wrap:wrap;}
.avviso-notifiche-azioni button{width:auto; min-height:40px; padding:9px 18px; font-size:14px; box-shadow:none;}

/* --- schermata Feed: in alto due strisce di persone che scorrono di lato (amici, poi persone da
   scoprire), sotto le attività a tutta larghezza (telefono e computer) --- */
#bachecaScreen.modo-feed #feedView{flex-direction:column;}
#bachecaScreen.modo-feed #feedListaCol{width:100% !important; max-width:none !important; flex:none !important; border-right:none !important; border-bottom:1px solid var(--line);}
#bachecaScreen.modo-feed #feedListaContenuto{flex:none !important; overflow:visible !important; padding:0 0 10px !important;}
#bachecaScreen.modo-feed #feedListaCol > div:has(#feedCercaInput){padding:10px 16px 0 !important;}
#bachecaScreen.modo-feed #feedDettaglioCol{flex:1; min-height:0;}
.feed-etichetta{margin:10px 16px 6px; font-size:11px;}
.feed-striscia{display:flex; gap:12px; overflow-x:auto; padding:2px 16px 4px; scrollbar-width:none; -webkit-overflow-scrolling:touch;}
.feed-striscia::-webkit-scrollbar{display:none;}
/* Chat, «Scrivi a qualcuno»: bollini in una striscia che scorre di lato */
.chat-scrivi-striscia{display:flex; gap:12px; overflow-x:auto; padding:2px 0 6px; scrollbar-width:none; -webkit-overflow-scrolling:touch;}
.chat-scrivi-striscia::-webkit-scrollbar{display:none;}
.feed-persona{flex:none; width:66px; display:flex; flex-direction:column; align-items:center; gap:3px; background:none; padding:0; color:var(--text);}
.feed-persona-foto{width:56px; height:56px; border-radius:50%; object-fit:cover; background:var(--panelAlt); border:2px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--mutedDark); flex:none;}
.feed-persona-foto svg{width:22px; height:22px;}
.feed-persona.active .feed-persona-foto{border-color:var(--lime); box-shadow:0 0 0 2px var(--accentVeil);}
.feed-persona-tutti{color:var(--lime);}
.feed-persona-nome{max-width:66px; font-size:12px; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.feed-persona.active .feed-persona-nome{color:var(--lime);}
/* calendario del gruppo: riquadri dei giorni che scorrono di lato (come #calAgenda) */
#gDettCalendarioLista{display:flex; flex-direction:row; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; margin:0 -24px 20px; padding:0 24px 4px; scroll-padding:0 24px;}
#gDettCalendarioLista::-webkit-scrollbar{display:none;}
.gcal-day{min-height:170px; box-sizing:border-box;}
.gcal-day .cal-day-items > *{margin-bottom:0;}
.gcal-day{cursor:pointer;}
.gcal-sotto-titolo{font-family:'Barlow Condensed',sans-serif; font-size:15px; font-weight:700; color:var(--muted); letter-spacing:0.08em; text-transform:uppercase; margin:12px 0 8px;}
.gcal-proponi{margin-top:8px; width:100%; background:none; border:1px dashed var(--line); border-radius:var(--r2); color:var(--muted); font-size:13px; font-weight:700; padding:10px;}
/* membri del gruppo: bollini tondi in una striscia che scorre di lato */
.membri-striscia{display:flex; gap:12px; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; margin:0 -24px; padding:4px 24px 6px;}
.membri-striscia::-webkit-scrollbar{display:none;}
.membro-bolla{position:relative; flex:none;}
.membro-bolla.fondatore .feed-persona-foto{border-color:var(--lime); box-shadow:0 0 0 2px var(--accentVeil);}
.membro-tag{font-size:10px; font-weight:700; color:var(--lime); line-height:1;}
.membro-rimuovi{position:absolute; top:-2px; right:2px; width:22px; height:22px; border-radius:50%; background:var(--panel); border:1px solid var(--line); color:var(--muted); font-size:15px; line-height:1; display:flex; align-items:center; justify-content:center; padding:0;}
.feed-persona-sotto{font-size:10.5px; color:var(--mutedDark); white-space:nowrap;}
.feed-vuoto{margin:0 16px 4px; font-size:12.5px; color:var(--mutedDark); line-height:1.5;}

/* --- giochi a premi --- */
.giochi-filtri{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
.giochi-filtri select{width:100%; padding:11px 10px; border-radius:var(--r2); background:var(--field); color:var(--text); border:1px solid var(--line); font-size:13.5px;}
.gioco-card{margin-top:14px; background:var(--panel); border:1px solid var(--line); border-radius:var(--r5); padding:14px; box-shadow:var(--e2);}
.gioco-card.evidenziato{border-color:var(--lime); box-shadow:var(--glow);}
.gioco-testa{display:flex; align-items:center; gap:10px;}
.gioco-logo{width:44px; height:44px; flex:none; border-radius:50%; object-fit:cover; background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:20px;}
.gioco-titolo{font-weight:800; font-size:16.5px; line-height:1.25;}
.gioco-sotto{font-size:12px; color:var(--muted); margin-top:2px;}
.gioco-stato{flex:none; margin-left:auto; font-size:11px; font-weight:800; border-radius:var(--pill); padding:4px 9px; background:var(--accentVeil); color:var(--lime); white-space:nowrap;}
.gioco-stato.futuro{background:var(--panelAlt); color:var(--muted);}
.gioco-stato.concluso{background:var(--panelAlt); color:var(--mutedDark);}
.gioco-descrizione{font-size:13.5px; color:var(--muted); margin:10px 0 0; line-height:1.45; white-space:pre-wrap;}
.gioco-challenge{margin:12px 0 0; padding:12px; border-radius:var(--r3); border:1px solid var(--line); border-left:4px solid #FF4E27; background:var(--panelAlt);}
.gioco-challenge-testa{display:flex; align-items:center; gap:8px; font-size:15px;}
.gioco-challenge-punti{margin-left:auto; flex:none; font-weight:800; font-size:12px; border-radius:var(--pill); padding:3px 9px; background:var(--grad); color:#120D0B;}
.gioco-challenge-testo{font-size:13.5px; color:var(--muted); margin-top:4px; line-height:1.45;}
.gioco-challenge-sotto{font-size:12.5px; color:var(--muted); margin-top:6px;}
.gioco-challenge-sotto a{color:var(--lime); font-weight:700;}
.gioco-premi{display:flex; flex-direction:column; gap:4px; margin:10px 0 0; font-size:13.5px;}
.gioco-premi b{font-weight:800;}
.gioco-azione{margin-top:12px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:13px; color:var(--muted);}
.gioco-azione .btn-primary{width:auto; min-height:42px; padding:10px 22px;}
.gioco-partecipi{color:var(--lime); font-weight:800;}
.gioco-classifica{margin-top:12px; border-top:1px solid var(--line); padding-top:6px;}
.gioco-riga{width:100%; display:flex; align-items:center; gap:10px; background:none; border:none; border-radius:var(--r2); padding:7px 6px; color:var(--text); text-align:left;}
.gioco-riga.mia{background:var(--accentVeil);}
.gioco-pos{width:30px; flex:none; text-align:center; font-weight:800; font-size:14px; color:var(--muted);}
.gioco-riga img, .gioco-riga .gioco-ph{width:32px; height:32px; flex:none; border-radius:50%; object-fit:cover; background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--mutedDark);}
.gioco-riga .gioco-ph svg{width:16px; height:16px;}
.gioco-nome{flex:1; min-width:0; font-weight:700; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.gioco-punti{flex:none; font-weight:800; font-size:14px; color:var(--lime);}
.gioco-vuoto{font-size:13px; color:var(--mutedDark); padding:8px 4px;}
.gioco-vincitori{margin-top:10px; padding:10px 12px; border-radius:var(--r3); background:var(--accentVeil); font-size:13.5px; line-height:1.5;}
.gioco-elimina{background:none; border:none; color:var(--danger); font-size:12.5px; padding:4px 0; margin-top:8px;}
.giochi-check{display:flex; gap:8px; align-items:flex-start; font-size:13px; color:var(--muted); margin:0 0 10px; line-height:1.4;}
.giochi-check input{width:auto; margin-top:2px;}
.gioco-premio-riga{display:flex; gap:8px; align-items:center; margin-bottom:6px;}
.gioco-premio-riga span{width:34px; flex:none; font-weight:800; color:var(--muted); text-align:center;}
.gioco-premio-riga input{flex:1; margin:0;}
.gioco-premio-riga button{background:none; border:none; color:var(--muted); font-size:16px; padding:4px 6px;}
.giochi-regolamento{margin-top:12px; background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r2); padding:10px 12px; font-size:13px; line-height:1.5; color:var(--muted);}
.giochi-regolamento summary{font-weight:800; color:var(--text); cursor:pointer; font-size:14px;}
.giochi-regolamento ul{margin:10px 0 8px; padding-left:18px;}
.giochi-regolamento li{margin-bottom:6px;}
.giochi-regolamento b{color:var(--text);}
.giochi-regolamento-sotto{font-size:12.5px; color:var(--mutedDark);}
.giochi-regole{font-size:12.5px; color:var(--mutedDark); line-height:1.5; background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r2); padding:10px 12px;}
.gioco-mini{width:100%; display:flex; flex-direction:column; gap:4px; text-align:left; background:var(--panel); border:1px solid var(--limeDim); border-radius:var(--r3); padding:11px 12px; margin-bottom:8px; color:var(--text);}
.gioco-mini-su{display:flex; align-items:center; gap:8px; justify-content:space-between; font-size:15px;}
.gioco-mini-su .gioco-stato{margin-left:0;}
.gioco-mini-riga{font-size:13px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.gioco-mini-giu{display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:13px; color:var(--muted); margin-top:2px;}
.gioco-mini-giu b{color:var(--lime);}
.gioco-mini-vai{margin-left:auto; color:var(--lime); font-weight:700; white-space:nowrap;}
/* profilo: riquadri che scorrono di lato (come #calAgenda) con le etichette sopra */
.prof-tabs{display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; margin:0 -24px 10px; padding:0 24px;}
.prof-tabs::-webkit-scrollbar{display:none;}
.prof-tab{flex:0 0 auto; background:var(--panelAlt); border:1px solid var(--line); color:var(--muted); border-radius:999px; padding:7px 12px; font-size:12.5px; font-weight:700; white-space:nowrap;}
.prof-tab.active{background:var(--lime); border-color:var(--lime); color:#fff;}
.prof-pagine{display:flex; flex-direction:row; align-items:flex-start; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; margin:0 -24px; padding:0 24px 4px; scroll-padding:0 24px;}
.prof-pagine::-webkit-scrollbar{display:none;}
.prof-pag{flex:0 0 88%; max-width:360px; background:var(--panel); border:1px solid var(--line); border-radius:var(--r3); padding:14px 14px 16px; scroll-snap-align:start; box-sizing:border-box;}
.prof-pag-titolo{font-family:'Barlow Condensed',sans-serif; font-size:19px; font-weight:800; margin-bottom:12px;}
.invito-box{background:var(--panelAlt); border:1px solid var(--limeDim); border-radius:var(--r2); padding:12px 14px; margin-bottom:12px;}
.invito-sotto{color:var(--mutedDark); font-size:12px; margin-top:2px; line-height:1.4;}
.invito-codice{font-family:'Barlow Condensed',sans-serif; font-size:30px; font-weight:800; letter-spacing:0.18em; color:var(--lime); text-align:center; margin:8px 0 10px; -webkit-user-select:text; user-select:text;}
.presenze-box{margin:0 0 16px; padding:12px; border:1px solid var(--limeDim); background:var(--accentVeil); border-radius:var(--r3);}
.presenze-titolo{font-weight:800; font-size:15px;}
.presenze-sotto{font-size:12.5px; color:var(--muted); margin:2px 0 8px;}
.presenze-riga{display:flex; align-items:center; gap:10px; justify-content:space-between; padding:6px 0; border-top:1px solid var(--lineSoft); font-size:13.5px;}
.presenze-riga .btn-primary{width:auto; min-height:36px; padding:7px 16px; font-size:13px; flex:none;}
.presenze-btn{margin-top:10px; width:100%;}
.presenze-ok{margin-top:10px; font-size:13px; font-weight:700; color:var(--lime);}
.presenze-check{display:flex; align-items:center; gap:10px; padding:9px 2px; border-bottom:1px solid var(--lineSoft); font-size:14.5px;}
.presenze-check input{width:20px; height:20px; margin:0;}
.gioco-mov{display:flex; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px solid var(--lineSoft); font-size:13.5px;}
.gioco-mov b{color:var(--lime); white-space:nowrap;}
/* regole del 19/10: attività tolta dall'amministratore e tasto «Togli» (solo super admin) */
.gioco-mov.annullato{color:var(--mutedDark);}
.gioco-mov.annullato b{color:var(--mutedDark);}
.gioco-mov small{display:block; font-size:12px; color:var(--muted); margin-top:2px;}
.gioco-mov .gioco-mov-togli{margin-left:8px; color:var(--danger); font-size:12.5px;}
.gioco-mov-motivo{display:flex; gap:8px; padding:8px 0; border-bottom:1px solid var(--lineSoft);}
.gioco-mov-motivo input{flex:1; min-width:0;}
.gioco-mov-motivo .btn-primary{width:auto; padding:8px 12px; white-space:nowrap;}

/* --- schermata Chat su telefono: o l'elenco o la conversazione, a tutta larghezza --- */
#chatIndietroBtn{display:none;}
#bachecaScreen.modo-chat #feedListaCol{width:36% !important; max-width:400px !important;}
@media (max-width:600px){
  #bachecaScreen.modo-chat #feedListaCol{width:100% !important; max-width:none !important; border-right:none !important;}
  #bachecaScreen.modo-chat #feedDettaglioCol{display:none !important;}
  #bachecaScreen.modo-chat.chat-aperta #feedListaCol{display:none !important;}
  #bachecaScreen.modo-chat.chat-aperta #feedDettaglioCol{display:flex !important;}
  #bachecaScreen.modo-chat #chatIndietroBtn{display:flex;}
  /* conversazione aperta: come WhatsApp una sola freccia (‹ accanto al nome) che torna all'elenco;
     la barra «‹ chiudi · CHAT», che chiudeva tutto e portava al calendario, sparisce */
  #bachecaScreen.modo-chat.chat-aperta #bachecaTesta{display:none;}
  #bachecaScreen.modo-chat.chat-aperta .chat-testa{padding:20px 16px 10px 8px !important;}
  #bachecaScreen.modo-chat #chatIndietroBtn{min-width:44px; min-height:44px; justify-content:center; padding:0 !important; font-size:34px !important;}
}

/* --- notifiche in home: badge sulla foto profilo + pannello --- */
#apriProfiloBtn{position:relative;}
.notif-badge{position:absolute; top:-6px; right:-7px; min-width:20px; height:20px; padding:0 5px; border-radius:var(--pill); background:var(--lime); color:#fff; font-size:11px; font-weight:800; line-height:1; display:flex; align-items:center; justify-content:center; border:2px solid var(--bg); box-shadow:var(--glow); pointer-events:none;}
#notificheVelo{position:fixed; inset:0; z-index:79; background:rgba(0,0,0,0.45);}
#notifichePannello{position:fixed; right:16px; width:380px; z-index:80; overflow-y:auto; -webkit-overflow-scrolling:touch; border-radius:var(--r4); background:linear-gradient(180deg, var(--panel), #100D0C); border:1px solid var(--line); box-shadow:var(--e3); padding:6px 0 10px;}
@media (max-width:600px){ #notifichePannello{left:0; right:0; width:auto; border-radius:0 0 var(--r4) var(--r4); border-left:none; border-right:none;} }
.notif-sezione{display:flex; align-items:center; gap:8px; padding:14px 16px 6px; color:var(--muted); font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:0.08em;}
.notif-sezione .notif-conta{color:var(--lime);}
.notif-vuoto{padding:2px 16px 6px; color:var(--mutedDark); font-size:13px;}
.notif-voce{display:flex; align-items:center; gap:11px; width:100%; padding:9px 16px; background:none; color:var(--text); text-align:left; border-radius:0; min-height:56px;}
button.notif-voce:hover{background:var(--panelHover);}
.notif-voce .notif-testi{flex:1; min-width:0;}
.notif-voce .notif-titolo{font-weight:700; font-size:14.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.notif-voce .notif-anteprima{color:var(--muted); font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.notif-voce .notif-ora{color:var(--lime); font-size:11.5px; font-weight:700; flex-shrink:0; align-self:flex-start; margin-top:3px;}
.notif-avatar{width:40px; height:40px; border-radius:50%; object-fit:cover; flex-shrink:0; background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--lime);}
.notif-avatar svg{width:18px; height:18px;}
.notif-azioni{display:flex; gap:6px; flex-shrink:0;}
.notif-azioni button{padding:7px 12px; min-height:36px; font-size:13px; width:auto; box-shadow:none;}
.notif-mio-profilo{display:flex; align-items:center; gap:11px; width:calc(100% - 20px); margin:4px 10px 4px; padding:10px 12px; background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r3); color:var(--text); font-weight:700; font-size:14.5px; text-align:left; box-shadow:var(--e1);}
.notif-mio-profilo .notif-freccia{margin-left:auto; color:var(--mutedDark);}

/* --- pagina Calendario (prima erano style= scritti dentro index.html; passo 2, 15/10) ---
   i selettori con l'id o con due classi servono a vincere sulle regole generali (.card .body, .plist span…),
   come facevano gli stili in linea */
.home-elenco{min-width:0;}
#leMieProgrammazioniWrap{margin:0 20px 16px;}
#calOggi{min-width:auto; padding:0 11px; font-size:12px;}
#creaGruppoHomeBtn{margin:16px 20px 0; width:calc(100% - 40px); display:flex; align-items:center; justify-content:center; gap:8px; padding:13px; border-radius:var(--r3); background:var(--panelAlt); border:1px dashed var(--limeDim); color:var(--lime); font-weight:600; min-height:48px;}
#tabsModalitaAllenamenti{margin:16px 20px 0;}
.liberi-testa{padding:16px 20px 0;}
.liberi-testa .subtitle{margin-bottom:12px;}
#apriFormLiberoBtn{margin-bottom:16px; padding:22px; font-size:18px; min-height:64px; border-radius:var(--r4);}
#formLibero{margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--line);}
#formLibero .role-toggle{margin-bottom:8px;}
#liberoCitta, #liberoLuogo, #liberoGruppo, #liberoNote, #fCitta, #fLuogo, #fPercorso{margin-bottom:8px;}
#fNote{margin-bottom:12px;}
.libero-avviso{color:var(--mutedDark); font-size:12px; margin:-2px 0 10px;}
.modulo-azioni{display:flex; gap:8px;}
#pubblicaLiberoBtn, #pubblicaBtn{flex:1;}
#liberoError{margin-left:0; margin-top:8px;}
#listaLiberi{padding:0 20px 90px;}
#pdfEsistente{color:var(--muted); font-size:13px; margin-bottom:12px;}
.errorMsg.errore-lista{margin:0;}
.testo-vuoto{color:var(--mutedDark); font-size:13px;}

/* «I tuoi prossimi allenamenti» */
.card.mie-prog{margin-bottom:8px;}
.card.mie-prog.cliccabile{cursor:pointer;}
.card .body.mie-prog-body{padding:12px 14px; display:flex; align-items:center; gap:10px;}
.mie-prog-testi{flex:1; min-width:0;}
.mie-prog-quando{font-weight:600; font-size:13.5px; text-transform:capitalize;}
.mie-prog-dove{color:var(--muted); font-size:12px;}

/* card di un allenamento (elenco «Tutti» e calendario del gruppo); colore dello sport da classeSportLibero() */
.lib-sport-corsa{--sport:var(--lime); --sportTinta:rgba(255,78,39,0.15);}
.lib-sport-bici{--sport:var(--teal); --sportTinta:rgba(90,160,255,0.15);}
.lib-sport-nuoto{--sport:var(--blue); --sportTinta:rgba(42,211,222,0.15);}
.lib-sport-palestra{--sport:var(--purple); --sportTinta:rgba(176,150,255,0.15);}
.card.lib-card{margin-bottom:12px; border-top:3px solid var(--sport);}
.card .body.lib-body{padding:14px;}
.tag.lib-nuovo{background:var(--lime); color:var(--onAccent); border-color:transparent; font-weight:800; display:inline-flex; margin:0 0 8px;}
.lib-testa{display:flex; align-items:center; gap:8px; margin-bottom:8px; flex-wrap:wrap;}
.lib-sport-ico{width:30px; height:30px; border-radius:50%; background:var(--sportTinta); color:var(--sport); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.lib-sport-nome{font-weight:700; text-transform:capitalize;}
.tag.lib-gruppo-tag{display:inline-flex; align-items:center; gap:5px; cursor:pointer;}
.lib-gruppo-logo{width:16px; height:16px; border-radius:50%; object-fit:cover;}
.lib-info{color:var(--muted); font-size:13px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:6px;}
.lib-info-voce{display:inline-flex; align-items:center; gap:5px;}
a.lib-mappa{color:var(--muted); text-decoration:underline;}
.lib-descr{color:var(--muted); font-size:13px; margin-bottom:8px;}
.lib-descr.vuota{color:var(--mutedDark);}
.lib-descr.in-gruppo{margin:4px 0 0;}
.lib-autore{display:flex; align-items:center; gap:6px; color:var(--mutedDark); font-size:12px; margin-bottom:10px;}
.lib-autore-foto{width:20px; height:20px; border-radius:50%; object-fit:cover; flex-shrink:0;}
.lib-autore-ph{background:var(--panelAlt); display:flex; align-items:center; justify-content:center; font-size:10px;}
.plist-label.con-icona, .comment-toggle-btn.con-icona, .btn-secondary.con-icona{display:inline-flex; align-items:center; gap:5px;}
.plist .plist-vuoto{background:none; color:var(--mutedDark); padding:0;}
.lib-azioni{display:flex; gap:8px; margin-top:10px; flex-wrap:wrap;}
.lib-azioni-g{display:flex; gap:8px; margin-top:10px;}
.lib-azioni .rsvp-btn, .lib-azioni-g .rsvp-btn{flex:1;}
.btn-secondary.lib-link{width:auto; padding:0 12px;}
.btn-secondary.lib-modifica{width:auto; padding:0 14px;}
.lib-discussione-titolo{font-size:12px; font-weight:700; color:var(--muted); margin-bottom:8px;}
/* allenamento del vecchio sistema gruppi dentro l'elenco «Tutti» */
.lib-testa-g{display:flex; align-items:center; gap:8px; margin-bottom:4px;}
.lib-sport-nome-g{font-weight:600; display:inline-flex; align-items:center; gap:6px; text-transform:capitalize;}
.lib-info-g{color:var(--muted); font-size:13px; display:flex; align-items:center; gap:5px; flex-wrap:wrap;}

/* --- pagina Profilo (prima erano style= scritti dentro index.html; passo 2, 16/10) --- */
#profiloScreen{position:fixed; top:0; left:0; right:0; bottom:var(--altezzaBarra, 0px); background:var(--bg); z-index:70; overflow-y:auto; padding:24px;}
#chiudiProfiloBtn{margin-bottom:16px;}
.prof-colonna{max-width:380px; margin:0 auto;}
.prof-testa{text-align:center; margin-bottom:20px;}
#profiloFotoGrande{width:88px; height:88px; border-radius:50%; object-fit:cover; margin-bottom:10px; cursor:pointer;}
#profiloFotoPlaceholderGrande{width:88px; height:88px; border-radius:20px; background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--mutedDark); margin:0 auto 10px;}
#profiloNomeInput{font-size:22px; margin-bottom:6px; text-align:center; padding:8px 10px;}
#profiloNomeHint{font-size:11.5px; margin-bottom:6px; text-transform:none;}
#profiloBadgeSport{display:inline-block; margin-top:6px;}
#profiloBio{margin-bottom:12px;}
#profiloScreen .prof-sport{flex-wrap:wrap; margin-bottom:12px;}
#profiloScreen .prof-interruttore{display:flex; align-items:center; justify-content:space-between; background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r2); padding:12px 14px; margin-bottom:12px;}
#profiloScreen .prof-interruttore-testi{padding-right:10px;}
#profiloScreen .prof-interruttore-titolo{font-weight:700; font-size:13.5px;}
#profiloScreen .prof-interruttore-sotto{color:var(--mutedDark); font-size:11.5px; margin-top:2px;}
#profiloPrivatoToggle, #nascondiAccessoToggle{width:auto; flex-shrink:0; padding:9px 14px; font-size:12.5px;}
#profiloStrava, #profiloNomeGruppo{margin-bottom:6px;}
#profiloScreen .prof-nota{font-size:12px; margin-bottom:12px;}
#profiloScreen .prof-nota-strava{margin-bottom:8px;}
#profiloStravaLink{display:inline-block; background:#FC4C02; color:#fff; font-weight:600; font-size:13px; padding:8px 14px; border-radius:8px; text-decoration:none; margin-bottom:12px;}
.prof-spazio{height:8px;}
#profiloError{margin-left:0; margin-top:10px;}
/* Invita */
#profiloScreen .invito-titolo{font-weight:800; font-size:14.5px;}
#condividiInvitoBtn{flex:1;}
#copiaCodiceInvitoBtn, #usaCodiceInvitoBtn{width:auto; padding:0 16px;}
#usaCodiceInvitoRiga{margin-top:12px; border-top:1px solid var(--lineSoft); padding-top:10px;}
#usaCodiceInvitoRiga .invito-sotto{margin-bottom:6px;}
#usaCodiceInvitoInput{flex:1; margin:0;}
/* Orologio e Notifiche */
#profiloScreen .prof-riquadro{margin-bottom:20px; padding:14px; border:1px solid var(--line); border-radius:12px; background:var(--panel);}
#profiloScreen .prof-riquadro-titolo{font-weight:800; font-size:14px; margin-bottom:4px;}
#profiloScreen .prof-nota-intervals{font-size:12px; margin-bottom:10px; line-height:1.6;}
#profiloScreen b.testo-forte{color:var(--text);}
#intervalsInArrivo{font-size:12.5px; color:var(--muted); background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r2); padding:10px 12px; line-height:1.5;}
#intervalsRicollegaAvviso{font-size:12.5px; color:var(--text); background:var(--accentVeil); border:1px solid var(--limeDim); border-radius:var(--r2); padding:10px 12px; line-height:1.5; margin-bottom:12px;}
#profiloScreen .prof-spunta{display:flex; gap:8px; align-items:flex-start; font-size:12.5px; color:var(--muted); margin-bottom:10px; line-height:1.5; cursor:pointer;}
#profiloScreen .prof-spunta-nuovo{margin-bottom:12px;}
#intervalsAutoFeedNuovo, #intervalsAutoFeed{width:auto; margin-top:2px;}
#collegaIntervalsBtn{width:100%;}
#profiloScreen .intervals-ok{font-weight:800; font-size:14px; margin-bottom:6px; color:var(--lime);}
#intervalsStato{font-size:12px; color:var(--muted); margin-bottom:12px; line-height:1.5;}
#profiloScreen .prof-etichetta-piccola{font-size:12px;}
#intervalsPrivacy{margin-bottom:6px;}
#profiloScreen .prof-nota-privacy{font-size:11.5px; margin-bottom:12px;}
#profiloScreen .intervals-azioni{display:flex; gap:10px; align-items:center; flex-wrap:wrap;}
#apriSvoltiBtn2{flex:1;}
#cancellaDatiIntervalsBtn{margin-top:10px; font-size:12px; color:var(--danger);}
#profiloScreen .prof-guida-orologio{display:block; text-align:center; text-decoration:none; margin-top:12px;}
#notificheStato{font-size:13px; margin-bottom:10px;}
#provaNotificaBtn{margin-top:8px; width:100%;}
#iosHint{margin-top:10px; background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r2); padding:12px 13px; font-size:13px; line-height:1.6; color:var(--muted);}
#iosHint ol{margin:8px 0 0; padding-left:18px;}
/* Amici e gruppi, Traguardi */
#profiloScreen .prof-blocco{margin-bottom:14px;}
#profiloScreen .prof-traguardi{margin-bottom:20px;}
#profiloScreen .prof-traguardi .title-md{font-size:17px; margin-bottom:10px;}
#apriSvoltiBtn{width:100%; margin-bottom:10px;}
#apriStoricoAllenamentiBtn{width:100%; margin-bottom:20px;}
#profiloScreen .prof-vecchio-invito .title-md{font-size:17px; margin-bottom:6px;}
#profiloScreen .prof-vecchio-invito .subtitle{margin-bottom:12px;}
#linkInvitoInput{flex:1; font-size:12px;}
#copiaLinkInvitoOk{margin-left:0; margin-top:8px; color:var(--lime); background:none;}
#profiloScreen .prof-esci{margin-top:28px; padding-top:20px; border-top:1px solid var(--line); text-align:center;}
#profiloScreen .prof-elimina-account{display:block; margin:18px auto 0; color:var(--danger);}
.elimina-account-velo input{box-sizing:border-box; margin:0 0 10px;}
.elimina-account-velo .errorMsg{margin:0 0 10px;}
/* righe delle liste (gruppi, richieste di ingresso e di follow) */
#profiloScreen .prof-lista-nota{font-size:12px; margin:0;}
.prof-riga{display:flex; align-items:center; gap:8px; background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r2); padding:9px 12px; margin-bottom:6px;}
.prof-riga.prof-riga-scura{background:var(--panel);}
.prof-riga-nome{flex:1; font-weight:600; font-size:14px;}
.prof-riga-foto{width:34px; height:34px; border-radius:50%; object-fit:cover; flex-shrink:0;}
.prof-riga-ph{background:var(--panel); border:1px solid var(--line); display:flex; align-items:center; justify-content:center;}
.btn-primary.prof-riga-tasto, .btn-secondary.prof-riga-tasto{padding:6px 12px; width:auto;}
/* traguardi (anche nel profilo degli altri) */
.badge-lista{display:flex; flex-wrap:wrap; gap:8px;}
.badge-voce{background:var(--panel); border:1px solid var(--limeDim); border-radius:10px; padding:8px 12px; text-align:center; min-width:76px;}
.badge-icona{font-size:24px;}
.badge-nome{font-size:11px; color:var(--muted); margin-top:2px;}

/* ===== FEED E CHAT (passo 2: prima erano stili in linea) ===== */
#bachecaScreen{position:fixed; top:0; left:0; right:0; bottom:var(--altezzaBarra, 0px); background:var(--bg); z-index:70; display:flex; flex-direction:column;}
#bachecaTesta{flex-shrink:0; background:var(--bg); padding:20px 20px 10px; border-bottom:1px solid var(--line);}
#bachecaScreen .bacheca-riga{display:flex; align-items:center; justify-content:space-between;}
#apriChatInboxBtn{background:none; padding:6px; border-radius:10px; display:flex; align-items:center; color:var(--text);}
#feedView{flex:1; min-height:0; display:flex;}
#feedListaCol{width:38%; min-width:0; max-width:300px; flex-shrink:0; display:flex; flex-direction:column; min-height:0; border-right:1px solid var(--line);}
#chatGruppiSezione{padding:12px 10px 0; flex-shrink:0;}
#chatGruppiSezione .section-label{font-size:10.5px;}
#creaChatGruppoBtn{background:none; padding:4px 2px; color:var(--lime); font-size:13px; font-weight:700; white-space:nowrap;}
#feedListaCol .feed-cerca{padding:10px 10px 8px; flex-shrink:0;}
#feedCercaInput{font-size:13px;}
#feedListaContenuto{flex:1; overflow-y:auto; padding:0 10px 16px;}
#feedDettaglioCol{flex:1; min-width:0; display:flex; flex-direction:column; min-height:0;}
#feedDettaglioTabs{margin:16px 20px 0;}
#feedDettaglioAllenamenti{flex:1; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:16px 20px 90px;}
#feedDettaglioAllenamenti .feed-aggiorna-riga{display:flex; justify-content:flex-end; margin-bottom:10px;}
#aggiornaFeedBtn{font-size:12px; display:flex; align-items:center; gap:5px;}
#feedDettaglioVuoto{text-align:center; color:var(--mutedDark); font-size:13px; padding:60px 24px; line-height:1.6;}
#chatVuoto{flex:1; text-align:center; color:var(--mutedDark); font-size:13px; padding:60px 24px; line-height:1.6;}
#feedDettaglioChat{flex:1; min-height:0; display:flex; flex-direction:column;}
#feedDettaglioChat .chat-testa{padding:12px 20px; flex-shrink:0; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:8px;}
#chatIndietroBtn{background:none; padding:4px 8px 4px 0; color:var(--text); font-size:26px; line-height:1; align-items:center;}
#feedDettaglioChat .chat-testa-testi{min-width:0; flex:1;}
#chatPrivatoNomeAltro{font-size:17px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
#chatGruppoSottotitolo{font-size:12px; margin-top:1px;}
#chatGruppoInfoBtn{flex-shrink:0; font-size:14px;}
/* elenco delle chat */
.section-label.chat-sezione{margin:10px 0 2px; font-size:11px;}
.section-label.chat-sezione.scrivi{margin:16px 0 8px;}
.chat-vuoto-testo{color:var(--mutedDark); font-size:13px;}
.chat-vuoto-testo.con-margine{margin:8px 0;}
/* schede degli allenamenti (anche nei salvati e negli hashtag) */
.post-header .ph{color:var(--mutedDark);}
.post-actions .post-conta{font-size:13px; color:var(--muted);}
.post-actions .post-salva{margin-left:auto; color:var(--muted);}
.post-actions .post-salva.salvato{color:var(--lime);}
.comments-box.post-commenti{margin:0 14px 14px; padding-top:10px;}
.post-commenti-vuoto{color:var(--mutedDark); font-size:13px;}
.post-spazio{height:6px;}
.act-spazio{height:8px;}
.act-foto .act-foto-una{width:100%; aspect-ratio:1/1; object-fit:cover;}
.act-strava.act-via{color:var(--mutedDark);}
/* persona senza allenamenti nel Feed */
#feedDettaglioContenuto .feed-profilo{text-align:center; padding:40px 24px;}
#feedDettaglioContenuto .feed-profilo-foto{width:64px; height:64px; border-radius:50%; object-fit:cover;}
#feedDettaglioContenuto .feed-profilo-ph{background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--mutedDark); margin:0 auto;}
#feedDettaglioContenuto .feed-profilo-nome{font-weight:800; font-size:17px; margin-top:12px;}
#feedDettaglioContenuto .feed-profilo-testo{color:var(--mutedDark); font-size:13px; margin:10px 0 16px; line-height:1.6;}
#feedDettaglioContenuto .feed-segui{margin-bottom:10px;}
/* ===== PAGINA DEL GRUPPO E «CREA UN GRUPPO» (passo 2: prima erano stili in linea) ===== */
#gruppoCreaScreen, #gruppoDettaglioScreen{position:fixed; inset:0; background:var(--bg); z-index:70; overflow-y:auto; padding:24px;}
#chiudiGruppoCreaBtn, #chiudiGruppoDettBtn{margin-bottom:16px;}
#gruppoCreaScreen .gruppo-colonna, #gruppoDettaglioScreen .gruppo-colonna{max-width:420px; margin:0 auto;}
#gruppoCreaScreen .gruppo-crea-titolo{font-size:24px; margin-bottom:6px;}
#gruppoCreaScreen .gruppo-crea-sotto{margin-bottom:16px;}
#gCreaNome, #gCreaCitta, #gCreaDescrizione, #gCreaContatto{margin-bottom:8px;}
#gruppoCreaScreen .gruppo-sport{flex-wrap:wrap; margin-bottom:14px;}
#gCreaError{margin-left:0; margin-top:8px;}
#gruppoDettaglioScreen .gruppo-testa{text-align:center; margin-bottom:16px;}
#gDettLogo{width:72px; height:72px; border-radius:20px; object-fit:cover; margin-bottom:10px;}
#gDettNome{font-size:22px;}
#gruppoDettaglioScreen .gruppo-citta{color:var(--muted); font-size:13px; margin-top:2px;}
#gDettSport{margin-top:8px;}
#gDettDescrizione{margin-bottom:10px;}
#gruppoDettaglioScreen .gruppo-contatto{color:var(--muted); font-size:13px; margin-bottom:14px;}
#gDettUnisciBtn{margin-bottom:16px;}
#gDettEsciBtn{margin-bottom:16px; width:100%;}
#gDettGiochi{margin-bottom:18px;}
#gruppoDettaglioScreen .gruppo-sezione{display:flex; align-items:center; justify-content:space-between; margin-bottom:8px;}
#gruppoDettaglioScreen .gruppo-sezione .field-label{margin-bottom:0;}
#gDettGiornoAllenamenti{margin-bottom:20px;}
#gruppoDettaglioScreen .gruppo-divisore{border-top:1px solid var(--line); margin:20px 0 16px;}
#gDettMembriList, #gDettAdminList, #gDettCapitaniList{margin-bottom:16px;}
#gDettPickerWrap{border-top:1px solid var(--line); padding-top:14px; margin-top:6px;}
#gPickerInput{margin-bottom:10px;}
#gPickerEsternoWrap{margin-top:10px; padding-top:10px; border-top:1px solid var(--line);}
#gruppoDettaglioScreen .gruppo-esterno-riga{display:flex; gap:8px;}
#gPickerEsternoInput{flex:1;}
#gPickerEsternoBtn{width:auto; padding:0 16px; flex-shrink:0;}
#gDettEliminaBtn{margin-top:22px; width:100%; padding:12px; border-radius:var(--r2); background:none; border:1px solid var(--danger); color:var(--danger); font-weight:600;}
#gDettGiochiLista .gioco-vuoto{padding:0;}
.gruppo-rail-empty.a-sinistra{text-align:left; padding:0;}
/* righe delle persone (amministratori, capitani, ricerca) */
#gruppoDettaglioScreen .g-persona-riga{display:flex; align-items:center; gap:8px; padding:6px 0;}
#gruppoDettaglioScreen .g-persona-foto{width:32px; height:32px; border-radius:50%; object-fit:cover;}
#gruppoDettaglioScreen .g-persona-ph{background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:14px;}
#gruppoDettaglioScreen .g-persona-nome{font-size:13.5px;}
#gruppoDettaglioScreen .gruppo-rimuovi-ruolo{margin-left:auto;}
#gruppoDettaglioScreen .gruppo-picker-item{display:flex; align-items:center; gap:8px; width:100%; padding:8px 0; background:none; text-align:left; color:var(--text);}
/* finestra «Chi c'era?» (presenze) */
.chat-elimina-foglio.foglio-presenze{max-height:80vh; overflow-y:auto;}
.foglio-presenze .azioni{margin-top:12px;}
.chat-elimina-foglio.foglio-presenze .elimina.conferma{background:var(--grad); color:var(--onAccent);}

/* ===== PROFESSIONISTI (elenco e modulo di iscrizione) ===== */
#professionistiScreen{position:fixed; top:0; left:0; right:0; bottom:var(--altezzaBarra, 0px); background:var(--bg); z-index:70; overflow-y:auto; padding:24px;}
#professionistaFormScreen{position:fixed; inset:0; background:var(--bg); z-index:70; overflow-y:auto; padding:24px;}
#chiudiProfessionistiBtn, #chiudiProfessionistaFormBtn{margin-bottom:16px;}
#professionistiScreen .pro-colonna, #professionistaFormScreen .pro-colonna{max-width:420px; margin:0 auto;}
#professionistiScreen .pro-titolo, #professionistaFormScreen .pro-titolo{font-size:24px; margin-bottom:6px;}
#professionistiScreen .pro-sotto, #professionistaFormScreen .pro-sotto{margin-bottom:16px;}
#apriFormProfessionistaBtn{margin-bottom:16px;}
#professionistiPendentiWrap{margin-bottom:18px; border:1px solid var(--limeDim); border-radius:var(--r2); padding:12px; background:var(--accentVeil);}
#professionistiPendentiWrap > .field-label{margin-bottom:8px;}
#mioProfessionistaStatoWrap{margin-bottom:14px;}
#professionistiScreen .pro-filtri{flex-wrap:wrap; margin-bottom:14px;}
#listaProfessionisti{padding-bottom:20px;}
#professionistiScreen .pro-vuoto{color:var(--mutedDark); font-size:13px;}
#professionistiScreen .pro-stato{border:1px solid var(--line); border-radius:var(--r2); padding:10px 12px; font-size:13px; color:var(--muted);}
#professionistiScreen .pro-stato.rifiutato{color:var(--danger);}
/* scheda del professionista (elenco) */
#professionistiScreen .card.pro-card{margin-bottom:10px;}
#professionistiScreen .card.pro-card .body{padding:14px; display:flex; gap:12px;}
#professionistiScreen .pro-foto{width:52px; height:52px; border-radius:50%; object-fit:cover; flex-shrink:0;}
#professionistiScreen .pro-foto-ph{background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:20px;}
#professionistiScreen .pro-info{flex:1; min-width:0;}
#professionistiScreen .pro-riga-nome{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:4px;}
#professionistiScreen .pro-nome{font-weight:700;}
#professionistiScreen .pro-indirizzo{color:var(--muted); font-size:12.5px; margin-bottom:4px;}
#professionistiScreen .pro-descr{color:var(--muted); font-size:13px; margin-bottom:6px;}
#professionistiScreen .pro-contatto{color:var(--mutedDark); font-size:12.5px;}
#professionistiScreen .pro-azioni{display:flex; gap:8px; margin-top:8px;}
#professionistiScreen .btn-secondary.pro-btn{width:auto; padding:0 14px;}
#professionistiScreen .btn-secondary.pro-elimina{color:var(--danger); border-color:var(--danger);}
/* richiesta in attesa (solo super admin) */
#professionistiScreen .pro-pendente{display:flex; gap:10px; align-items:flex-start; background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r2); padding:10px 12px; margin-bottom:8px;}
#professionistiScreen .pro-foto.piccola{width:44px; height:44px;}
#professionistiScreen .pro-foto-ph.piccola{font-size:18px;}
#professionistiScreen .pro-pendente .pro-riga-nome{margin-bottom:2px;}
#professionistiScreen .pro-pendente .pro-nome{font-size:14px;}
#professionistiScreen .pro-pendente .pro-indirizzo{font-size:12px; margin-bottom:2px;}
#professionistiScreen .pro-pendente .pro-descr{font-size:12.5px; margin-bottom:2px;}
#professionistiScreen .pro-pendente .pro-contatto{font-size:12px; margin-bottom:8px;}
#professionistiScreen .pro-azioni-pend{display:flex; gap:8px; flex-wrap:wrap;}
#professionistiScreen .pro-btn-pend{padding:6px 12px;}
#professionistiScreen .btn-primary.pro-btn-pend{width:auto;}
/* modulo di iscrizione */
#profNome{margin-bottom:2px; opacity:0.7;}
#professionistaFormScreen .pro-nota{font-size:12px; margin-bottom:8px;}
#profCitta, #profIndirizzo, #profDescrizione, #profContatto{margin-bottom:8px;}
#professionistaFormScreen .pro-scelte{flex-wrap:wrap; margin-bottom:8px;}
#eliminaProfessionistaBtn{margin-top:8px; width:100%;}
#professionistaError{margin-left:0; margin-top:8px;}

/* riga persona (vecchio elenco del Feed, oggi non usata) */
.feed-riga-foto{width:50px; height:50px; border-radius:50%; object-fit:cover; flex:none;}
.feed-riga-ph{background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--mutedDark);}
.feed-riga-testi{flex:1; min-width:0;}
.feed-riga-nome{font-weight:700; font-size:15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.feed-riga-sotto{font-size:12px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}

/* ===== STILI SPOSTATI DA index.html (passo 2, 17/10, automatico: ogni regola rifà lo stile in linea che c'era prima) ===== */
/* #loginScreen */
#loginScreen .login-s1{margin-bottom:20px;}
#loginScreen .login-s2{font-size:12px; margin-bottom:0;}
#loginScreen #apriPrivacyBtnReg{display:inline; padding:0; font-size:12px;}
#loginScreen #authError{margin:12px 0 0;}
#loginScreen #authInfo{margin:12px 0 0; color:var(--lime);}
#loginScreen .login-s3{margin-top:20px; padding-top:16px; border-top:1px solid var(--line);}
#loginScreen #apriPrivacyBtnLogin{margin-left:12px;}
#loginScreen #apriCookieBtnLogin{margin-left:12px;}
#loginScreen .login-s4{color:var(--mutedDark); font-size:10px; margin-top:14px;}
/* #app */
#app .app-s1{margin-bottom:14px;}
#app .app-s2{display:flex; gap:10px; align-items:center;}
#app #apriProfiloBtn{background:none; padding:0; display:flex; align-items:center;}
#app #miaFotoProfilo{width:38px; height:38px; border-radius:12px; object-fit:cover;}
#app #miaFotoPlaceholder{width:38px; height:38px; border-radius:12px;}
#app #atletiIscrittiChip{margin:10px 0 0;}
#app #apriCercaBtn{display:flex; align-items:center; gap:8px; font-size:17px; font-weight:800; color:var(--lime); margin:14px 0 4px; text-decoration:none;}
#app #nuoviIscrittiBadge{font-size:11px; font-weight:800; color:#fff; background:var(--lime); border-radius:var(--pill); padding:2px 8px; animation:pulseNuovo 1.6s ease-in-out infinite;}
#app #apriInstallaAppHdrBtn{font-size:14px; font-weight:700; color:var(--lime);}
#app .app-s3{font-size:14px; font-weight:700; color:var(--lime); text-decoration:none;}
#app #apriChiSiamoBtn{font-size:14px; font-weight:700; color:var(--lime);}
#app #nuovoGiocoClubBtn{margin-bottom:12px;}
/* #bottomNav (barra in basso) */
#bottomNav{position:fixed; left:0; right:0; bottom:0; background:rgba(10,9,8,0.78); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border-top:1px solid var(--line); display:flex; z-index:60; padding:4px 0 max(4px, env(safe-area-inset-bottom)); box-shadow:0 -8px 28px -10px rgba(0,0,0,0.6);}
#bottomNav #navCalendario{position:relative;}
#bottomNav #navProfessionisti{position:relative;}
#bottomNav #navChat{position:relative;}
#bottomNav #chatBadge{position:absolute; top:6px; right:calc(50% - 22px); background:var(--danger); color:#fff; font-size:10px; font-weight:700; min-width:16px; height:16px; border-radius:8px; display:flex; align-items:center; justify-content:center; padding:0 4px; border:2px solid var(--bg);}
#bottomNav #navProfilo{position:relative;}
/* #premiScreen */
#premiScreen{position:fixed; top:0; left:0; right:0; bottom:var(--altezzaBarra, 0px); background:var(--bg); z-index:70; overflow-y:auto; padding:24px;}
#premiScreen #chiudiPremiBtn{margin-bottom:16px;}
#premiScreen .premi-s1{max-width:420px; margin:0 auto;}
#premiScreen .premi-s2{margin-bottom:4px;}
#premiScreen .premi-s3{margin-bottom:16px;}
#premiScreen #premiGruppoWrap{margin-bottom:16px;}
#premiScreen #apriRegolamentoBtn{margin-bottom:16px; display:block;}
#premiScreen .premi-s4{margin-bottom:24px;}
#premiScreen .premi-s5{font-size:17px; margin-bottom:10px;}
#premiScreen #formNuovoPremio{margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--line);}
#premiScreen #premioTitolo{margin-bottom:8px;}
#premiScreen #premioCosto{margin-bottom:8px;}
#premiScreen #premioGlobaleWrap{display:flex; align-items:center; gap:8px; margin-bottom:8px; font-size:13px; color:var(--muted);}
#premiScreen #premioGlobale{width:18px; height:18px;}
#premiScreen #premioError{margin-left:0; margin-top:8px;}
#premiScreen #sezioneRiscatti{margin-top:24px; padding-top:20px; border-top:1px solid var(--line);}
#premiScreen .premi-s6{margin-top:28px; padding-top:20px; border-top:1px solid var(--line);}
#premiScreen .premi-s7{margin-bottom:14px;}
#premiScreen #formNuovoSponsor{margin-bottom:16px; padding-bottom:16px; border-bottom:1px solid var(--line);}
#premiScreen #sponsorNome{margin-bottom:8px;}
#premiScreen #sponsorLink{margin-bottom:8px;}
#premiScreen #sponsorError{margin-left:0; margin-top:8px;}
#premiScreen #listaSponsor{margin-bottom:16px;}
#premiScreen .premi-s8{background:var(--panel); border:1px solid var(--limeDim); border-radius:12px; padding:16px;}
#premiScreen .premi-s9{font-weight:600; margin-bottom:4px;}
#premiScreen .premi-s10{color:var(--muted); font-size:13px; margin-bottom:12px;}
#premiScreen .premi-s11{display:block; margin-bottom:6px;}
/* #presenzeScreen */
#presenzeScreen{position:fixed; inset:0; background:var(--bg); z-index:71; overflow-y:auto; padding:24px;}
#presenzeScreen #chiudiPresenzeBtn{margin-bottom:16px;}
#presenzeScreen .presenze-s1{max-width:420px; margin:0 auto;}
#presenzeScreen .presenze-s2{margin-bottom:4px;}
#presenzeScreen .presenze-s3{margin-bottom:16px;}
#presenzeScreen #confermaPresenzeBtn{margin-top:16px;}
#presenzeScreen #presenzeError{margin-top:10px; margin-left:0;}
/* #storicoAllenamentiScreen */
#storicoAllenamentiScreen{position:fixed; inset:0; background:var(--bg); z-index:71; overflow-y:auto; padding:24px;}
#storicoAllenamentiScreen #chiudiStoricoAllenamentiBtn{margin-bottom:16px;}
#storicoAllenamentiScreen .storico-allenamenti-s1{max-width:420px; margin:0 auto;}
#storicoAllenamentiScreen .storico-allenamenti-s2{margin-bottom:4px;}
#storicoAllenamentiScreen .storico-allenamenti-s3{margin-bottom:16px;}
/* #svoltiScreen */
#svoltiScreen{position:fixed; inset:0; background:var(--bg); z-index:71; overflow-y:auto; padding:24px;}
#svoltiScreen #chiudiSvoltiBtn{margin-bottom:16px;}
#svoltiScreen .svolti-s1{max-width:460px; margin:0 auto;}
#svoltiScreen .svolti-s2{display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-bottom:4px;}
#svoltiScreen #aggiornaSvoltiBtn{width:auto; padding:8px 14px; font-size:12.5px;}
#svoltiScreen #svoltiSottotitolo{margin-bottom:16px;}
#svoltiScreen #svoltiErrore{margin:0 0 12px;}
/* #svoltoScreen */
#svoltoScreen{position:fixed; inset:0; background:var(--bg); z-index:72; overflow-y:auto; padding:24px;}
#svoltoScreen #chiudiSvoltoBtn{margin-bottom:16px;}
#svoltoScreen .svolto-s1{max-width:560px; margin:0 auto;}
#svoltoScreen #svoltoData{margin-bottom:4px;}
#svoltoScreen #svoltoTitolo{margin-bottom:12px;}
#svoltoScreen #svoltoMappaWrap{margin-bottom:10px;}
#svoltoScreen #svoltoMappa{height:340px; border-radius:var(--r3); border:1px solid var(--line); background:var(--panelAlt); overflow:hidden;}
#svoltoScreen #svoltoPrivacyToggleWrap{display:flex; gap:8px; align-items:center; font-size:12.5px; color:var(--muted); margin-top:8px; cursor:pointer;}
#svoltoScreen #svoltoPrivacyToggle{width:auto;}
#svoltoScreen #svoltoAvviso{background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r2); padding:12px 14px; font-size:13px; line-height:1.6; color:var(--muted); margin-bottom:12px;}
#svoltoScreen #svoltoStats{margin-bottom:12px;}
#svoltoScreen #svoltoInfo{font-size:12px; color:var(--mutedDark); line-height:1.6;}
#svoltoScreen .svolto-s2{font-size:10.5px; color:var(--mutedDark); margin-top:18px;}
/* #profiloAltruiScreen */
#profiloAltruiScreen{position:fixed; inset:0; background:var(--bg); z-index:72; overflow-y:auto; padding:24px;}
#profiloAltruiScreen #chiudiProfiloAltruiBtn{margin-bottom:16px;}
#profiloAltruiScreen .profilo-altrui-s1{max-width:380px; margin:0 auto; text-align:center;}
#profiloAltruiScreen #altruiFoto{width:88px; height:88px; border-radius:50%; object-fit:cover; margin-bottom:10px; cursor:pointer;}
#profiloAltruiScreen #altruiFotoPlaceholder{width:88px; height:88px; border-radius:50%; background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:34px; margin:0 auto 10px;}
#profiloAltruiScreen #altruiNome{margin-bottom:4px;}
#profiloAltruiScreen #altruiBadge{display:inline-block; margin-bottom:10px;}
#profiloAltruiScreen #altruiGruppo{display:inline-block; margin-bottom:10px; margin-left:6px;}
#profiloAltruiScreen #altruiEta{display:inline-block; margin-bottom:10px; margin-left:6px;}
#profiloAltruiScreen #altruiBio{margin-bottom:14px;}
#profiloAltruiScreen #altruiStrava{display:inline-block; background:#FC4C02; color:#fff; font-weight:600; font-size:13px; padding:9px 16px; border-radius:8px; text-decoration:none; margin-bottom:14px;}
#profiloAltruiScreen #listaAltruiBadge{margin-bottom:14px;}
#profiloAltruiScreen #seguiAtletaBtn{margin-bottom:8px;}
#profiloAltruiScreen #altruiGate{margin-bottom:10px;}
#profiloAltruiScreen #altruiPrestazioni{margin-bottom:16px; text-align:left;}
#profiloAltruiScreen .profilo-altrui-s2{display:flex; gap:8px; margin-top:8px;}
#profiloAltruiScreen #bloccaAltruiBtn{flex:1;}
#profiloAltruiScreen #segnalaAltruiBtn{flex:1;}
#profiloAltruiScreen #bloccaSegnalaOk{margin-left:0; margin-top:8px; color:var(--lime); background:none;}
#profiloAltruiScreen #eliminaUtenteAdminBtn{margin-top:22px; width:100%; padding:12px; border-radius:var(--r2); background:none; border:1px solid var(--danger); color:var(--danger); font-weight:600;}
/* #editorPostScreen */
#editorPostScreen{position:fixed; inset:0; background:var(--bg); z-index:74; overflow-y:auto; padding:24px;}
#editorPostScreen #chiudiEditorPostBtn{margin-bottom:16px;}
#editorPostScreen .editor-post-s1{max-width:420px; margin:0 auto;}
#editorPostScreen .editor-post-s2{font-size:22px; margin-bottom:14px;}
#editorPostScreen .editor-post-s3{margin-bottom:10px;}
#editorPostScreen #editorPostAnteprimaFoto{display:flex; gap:6px; overflow-x:auto; margin-bottom:16px;}
#editorPostScreen #editorPostCaption{margin-bottom:16px;}
#editorPostScreen #editorPostError{margin-left:0; margin-top:8px;}
/* #hashtagScreen */
#hashtagScreen{position:fixed; inset:0; background:var(--bg); z-index:74; overflow-y:auto; padding:24px;}
#hashtagScreen #chiudiHashtagBtn{margin-bottom:16px;}
#hashtagScreen .hashtag-s1{max-width:520px; margin:0 auto;}
#hashtagScreen #hashtagTitolo{font-size:22px; margin-bottom:14px;}
/* #salvatiScreen */
#salvatiScreen{position:fixed; inset:0; background:var(--bg); z-index:74; overflow-y:auto; padding:24px;}
#salvatiScreen #chiudiSalvatiBtn{margin-bottom:16px;}
#salvatiScreen .salvati-s1{max-width:520px; margin:0 auto;}
#salvatiScreen .salvati-s2{font-size:22px; margin-bottom:14px;}
/* #chatGruppoPickerScreen */
#chatGruppoPickerScreen{position:fixed; inset:0; background:var(--bg); z-index:76; overflow-y:auto; padding:24px;}
#chatGruppoPickerScreen #chiudiChatGruppoPickerBtn{margin-bottom:16px;}
#chatGruppoPickerScreen .chat-gruppo-picker-s1{max-width:420px; margin:0 auto;}
#chatGruppoPickerScreen #chatGruppoPickerTitolo{font-size:22px; margin-bottom:14px;}
#chatGruppoPickerScreen #chatGruppoPickerNome{margin-bottom:14px;}
#chatGruppoPickerScreen #chatGruppoPickerCerca{margin-bottom:10px;}
#chatGruppoPickerScreen #chatGruppoPickerRisultati{margin-bottom:16px;}
#chatGruppoPickerScreen #chatGruppoPickerSelezionati{margin-bottom:16px;}
#chatGruppoPickerScreen #chatGruppoPickerError{margin-left:0; margin-bottom:10px;}
/* #chatGruppoInfoScreen */
#chatGruppoInfoScreen{position:fixed; inset:0; background:var(--bg); z-index:76; overflow-y:auto; padding:24px;}
#chatGruppoInfoScreen #chiudiChatGruppoInfoBtn{margin-bottom:16px;}
#chatGruppoInfoScreen .chat-gruppo-info-s1{max-width:420px; margin:0 auto;}
#chatGruppoInfoScreen #gCInfoNome{font-size:22px; margin-bottom:16px;}
#chatGruppoInfoScreen .chat-gruppo-info-s2{display:flex; align-items:center; justify-content:space-between; margin-bottom:8px;}
#chatGruppoInfoScreen .chat-gruppo-info-s3{margin-bottom:0;}
#chatGruppoInfoScreen #gCInfoMembriLista{margin-bottom:20px;}
#chatGruppoInfoScreen #gCInfoEsciBtn{width:100%; margin-bottom:10px;}
#chatGruppoInfoScreen #gCInfoEliminaBtn{margin-top:6px; width:100%; padding:12px; border-radius:var(--r2); background:none; border:1px solid var(--danger); color:var(--danger); font-weight:600;}
/* #regolamentoScreen */
#regolamentoScreen{position:fixed; inset:0; background:var(--bg); z-index:70; overflow-y:auto; padding:24px;}
#regolamentoScreen #chiudiRegolamentoBtn{margin-bottom:16px;}
#regolamentoScreen .regolamento-s1{max-width:420px; margin:0 auto;}
#regolamentoScreen .regolamento-s2{margin-bottom:16px;}
#regolamentoScreen .regolamento-s3{display:block; margin-bottom:8px;}
#regolamentoScreen .regolamento-s4{margin-bottom:0;}
/* #chiSiamoScreen */
#chiSiamoScreen{position:fixed; inset:0; background:var(--bg); z-index:70; overflow-y:auto; padding:24px;}
#chiSiamoScreen #chiudiChiSiamoBtn{margin-bottom:16px;}
#chiSiamoScreen .chi-siamo-s1{max-width:420px; margin:0 auto;}
#chiSiamoScreen .chi-siamo-s2{margin-bottom:16px;}
#chiSiamoScreen .chi-siamo-s3{display:block; margin-bottom:10px;}
#chiSiamoScreen .chi-siamo-s4{color:var(--muted); font-size:14px; line-height:1.7; padding-left:18px; margin-bottom:16px;}
#chiSiamoScreen #apriPrivacyBtnInfo{margin-right:16px;}
/* #installaAppScreen */
#installaAppScreen{position:fixed; inset:0; background:var(--bg); z-index:70; overflow-y:auto; padding:24px;}
#installaAppScreen #chiudiInstallaAppBtn{margin-bottom:16px;}
#installaAppScreen .installa-app-s1{max-width:440px; margin:0 auto;}
#installaAppScreen .installa-app-s2{margin-bottom:10px;}
#installaAppScreen .installa-app-s3{margin-bottom:12px;}
#installaAppScreen .installa-app-s4{margin-bottom:20px;}
#installaAppScreen .installa-app-s5{display:flex; gap:8px; align-items:center; background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r2); padding:10px 12px; margin-bottom:20px;}
#installaAppScreen .installa-app-s6{flex:1; font-family:monospace; font-size:13px; word-break:break-all; color:var(--text);}
#installaAppScreen #copiaLinkInstallaBtn{padding:8px 12px; min-height:auto;}
#installaAppScreen .installa-app-s7{margin:20px 0 8px;}
#installaAppScreen .installa-app-s8{margin-bottom:0;}
#installaAppScreen .installa-app-s9{margin-top:24px; background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r2); padding:12px 13px; font-size:13px; line-height:1.6; color:var(--muted);}
#installaAppScreen .installa-app-s10{color:var(--text);}
/* #privacyScreen */
#privacyScreen{position:fixed; inset:0; background:var(--bg); z-index:70; overflow-y:auto; padding:24px;}
#privacyScreen #chiudiPrivacyBtn{margin-bottom:16px;}
#privacyScreen .privacy-s1{max-width:420px; margin:0 auto;}
#privacyScreen .privacy-s2{margin-bottom:16px;}
#privacyScreen .privacy-s3{display:block; margin-bottom:8px;}
#privacyScreen .privacy-s4{margin-bottom:0;}
#privacyScreen .privacy-s5{display:inline-block; margin-top:16px;}
/* #cookieScreen */
#cookieScreen{position:fixed; inset:0; background:var(--bg); z-index:70; overflow-y:auto; padding:24px;}
#cookieScreen #chiudiCookieBtn{margin-bottom:16px;}
#cookieScreen .cookie-s1{max-width:420px; margin:0 auto;}
#cookieScreen .cookie-s2{margin-bottom:16px;}
#cookieScreen .cookie-s3{display:block; margin-bottom:8px;}
#cookieScreen .cookie-s4{margin-bottom:0;}
/* #coachingScreen */
#coachingScreen{position:fixed; top:0; left:0; right:0; bottom:var(--altezzaBarra, 0px); background:var(--bg); z-index:70; overflow-y:auto; padding:24px;}
#coachingScreen #chiudiCoachingBtn{margin-bottom:16px;}
#coachingScreen .coaching-s1{max-width:900px; margin:0 auto;}
#coachingScreen .coaching-s2{font-size:24px; margin-bottom:6px;}
#coachingScreen .coaching-s3{margin-bottom:18px;}
#coachingScreen #coachingCercaInput{margin-bottom:12px;}
#coachingScreen #coachingFiltroDiscipline{flex-wrap:wrap; margin-bottom:10px;}
#coachingScreen .coaching-s4{display:grid; grid-template-columns:repeat(auto-fit, minmax(140px,1fr)); gap:8px; margin-bottom:10px;}
#coachingScreen #coachingCaricamento{height:220px;}
#coachingScreen #coachingVuoto{height:auto; padding:50px 20px;}
#coachingScreen .coaching-s5{font-size:26px;}
/* #coachProfiloScreen */
#coachProfiloScreen{position:fixed; inset:0; background:var(--bg); z-index:72; overflow-y:auto; padding:24px;}
#coachProfiloScreen #chiudiCoachProfiloBtn{margin-bottom:16px;}
#coachProfiloScreen #coachProfiloContenuto{max-width:640px; margin:0 auto;}
/* #cercaScreen */
#cercaScreen{position:fixed; inset:0; background:var(--bg); z-index:70; overflow-y:auto; padding:24px;}
#cercaScreen #chiudiCercaBtn{margin-bottom:16px;}
#cercaScreen .cerca-s1{max-width:420px; margin:0 auto;}
#cercaScreen .cerca-s2{margin-bottom:14px;}
#cercaScreen #cercaInput{margin-bottom:16px;}
/* #giochiScreen */
#giochiScreen{position:fixed; inset:0; background:var(--bg); z-index:72; overflow-y:auto; padding:22px 16px 40px;}
#giochiScreen .giochi-s1{max-width:560px; margin:0 auto;}
#giochiScreen #chiudiGiochiBtn{margin-bottom:14px;}
#giochiScreen .giochi-s2{margin-bottom:12px;}
#giochiScreen #nuovoGiocoBtn{margin:12px 0 4px;}
/* #giocoFormScreen */
#giocoFormScreen{position:fixed; inset:0; background:var(--bg); z-index:74; overflow-y:auto; padding:22px 16px 40px;}
#giocoFormScreen .gioco-form-s1{max-width:520px; margin:0 auto;}
#giocoFormScreen #chiudiGiocoFormBtn{margin-bottom:14px;}
#giocoFormScreen .gioco-form-s2{margin-bottom:14px;}
#giocoFormScreen #giocoAmbito{margin-bottom:8px;}
#giocoFormScreen #giocoTitolo{margin-bottom:8px;}
#giocoFormScreen #giocoDescrizione{margin-bottom:8px; width:100%;}
#giocoFormScreen #giocoAggiungiPremioBtn{margin:2px 0 14px;}
#giocoFormScreen #giocoCreaBtn{margin-top:14px;}
#giocoFormScreen #giocoFormErrore{margin-left:0; margin-top:8px;}
/* #fotoLightbox */
#fotoLightbox{position:fixed; inset:0; z-index:200; background:rgba(0,0,0,0.92); display:flex; align-items:center; justify-content:center; padding:24px;}
#fotoLightbox #fotoLightboxClose{position:absolute; top:18px; right:18px; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.25); color:#fff; font-size:20px; line-height:1; display:flex; align-items:center; justify-content:center;}
#fotoLightbox #fotoLightboxImg{max-width:90vw; max-height:90vh; object-fit:contain; border-radius:12px;}
/* #cookieBanner */
#cookieBanner{position:fixed; left:0; right:0; bottom:0; z-index:90; background:var(--panel); border-top:1px solid var(--line); padding:14px 20px; display:flex; flex-wrap:wrap; align-items:center; gap:12px; justify-content:space-between;}
#cookieBanner .cookie-banner-s1{color:var(--muted); font-size:13px; max-width:520px;}
#cookieBanner #apriPrivacyBtnBanner{display:inline; padding:0; font-size:13px; text-decoration:underline;}
#cookieBanner #apriCookieBtnBanner{display:inline; padding:0; font-size:13px; text-decoration:underline;}
#cookieBanner #chiudiCookieBannerBtn{width:auto; padding:10px 20px; flex-shrink:0;}
/* creati dal JS in controllaDataNascita() */
:root .controlla-data-nascita-s1{margin:0;}
:root .controlla-data-nascita-s2{align-self:center;}
/* creati dal JS in mostraAvvisiATempo() */
:root .mostra-avvisi-atempo-s1{align-self:center;}
/* creati dal JS in renderCalendarioPubblico() */
:root .render-calendario-pubblico-s1{padding:18px 0;}
/* creati dal JS in stelleHtml() */
:root .stelle-html-s1{color:var(--mutedDark);}
/* creati dal JS in chartVuoto() */
:root .chart-vuoto-s1{font-size:22px;}
/* creati dal JS in sparklineSvg() */
:root .sparkline-svg-s1{height:30px; display:flex; align-items:center; color:var(--mutedDark); font-size:11px;}
:root .sparkline-svg-s2{display:block; overflow:visible;}
/* creati dal JS in pmcChartSvg() */
:root .pmc-chart-svg-s1{overflow:visible; display:block;}
:root .pmc-chart-svg-s2{background:var(--lime);}
:root .pmc-chart-svg-s3{background:var(--muted);}
/* creati dal JS in aderenzaChartSvg() */
:root .aderenza-chart-svg-s1{overflow:visible; display:block;}
/* creati dal JS in zoneDonutSvg() */
:root .zone-donut-svg-s1{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
:root .zone-donut-svg-s2{flex-shrink:0;}
:root .zone-donut-svg-s3{margin-top:0; flex-direction:column; gap:6px;}
/* creati dal JS in coachCardHtml() */
:root .coach-card-html-s1{width:56px; height:56px; border-radius:50%; object-fit:cover; flex-shrink:0;}
:root .coach-card-html-s2{width:56px; height:56px; border-radius:50%; background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0;}
:root .coach-card-html-s3{display:flex; gap:12px; align-items:flex-start;}
:root .coach-card-html-s4{flex:1; min-width:0;}
:root .coach-card-html-s5{display:flex; align-items:center; gap:6px; flex-wrap:wrap;}
:root .coach-card-html-s6{font-weight:700; font-size:15.5px;}
:root .coach-card-html-s7{color:var(--muted); font-size:12px; margin-top:2px;}
:root .coach-card-html-s8{display:flex; flex-wrap:wrap; gap:6px;}
:root .coach-card-html-s9{display:flex; justify-content:space-between; align-items:center; font-size:12.5px; color:var(--muted); flex-wrap:wrap; gap:4px;}
:root .coach-card-html-s10{display:flex; gap:8px;}
:root .coach-card-html-s11{flex:1; padding:9px; font-size:13px; min-height:auto;}
/* creati dal JS in coachProfiloHtml() */
:root .coach-profilo-html-s1{width:84px; height:84px; border-radius:50%; object-fit:cover; flex-shrink:0;}
:root .coach-profilo-html-s2{width:84px; height:84px; border-radius:50%; background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:32px; flex-shrink:0;}
:root .coach-profilo-html-s3{border-top:1px solid var(--line); padding-top:10px; margin-top:10px;}
:root .coach-profilo-html-s4{display:flex; justify-content:space-between; align-items:center;}
:root .coach-profilo-html-s5{font-weight:700; font-size:13px;}
:root .coach-profilo-html-s6{color:var(--lime); font-size:12px;}
:root .coach-profilo-html-s7{color:var(--muted); font-size:13px; margin-top:3px;}
:root .coach-profilo-html-s8{color:var(--mutedDark); font-size:13px;}
:root .coach-profilo-html-s9{display:flex; gap:16px; align-items:flex-start; margin-bottom:16px;}
:root .coach-profilo-html-s10{flex:1; min-width:0;}
:root .coach-profilo-html-s11{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
:root .coach-profilo-html-s12{font-size:21px;}
:root .coach-profilo-html-s13{color:var(--muted); font-size:13px; margin-top:2px;}
:root .coach-profilo-html-s14{margin-top:6px; font-size:13.5px;}
:root .coach-profilo-html-s15{color:var(--text); font-size:14px; line-height:1.5; margin-bottom:14px;}
:root .coach-profilo-html-s16{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px;}
:root .coach-profilo-html-s17{color:var(--mutedDark); font-size:12.5px; margin-bottom:16px;}
:root .coach-profilo-html-s18{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:18px;}
:root .coach-profilo-html-s19{padding:10px; text-align:center; margin-bottom:0;}
:root .coach-profilo-html-s20{font-size:18px; font-weight:800;}
:root .coach-profilo-html-s21{font-size:10.5px; color:var(--mutedDark);}
:root .coach-profilo-html-s22{margin-bottom:20px;}
:root .coach-profilo-html-s23{font-size:26px; font-weight:800;}
:root .coach-profilo-html-s24{margin-bottom:6px;}
:root .coach-profilo-html-s25{color:var(--mutedDark); font-size:11px; margin-top:6px; line-height:1.5;}
/* creati dal JS in apriSvolti() */
:root .apri-svolti-s1{color:var(--mutedDark); font-size:13px; text-align:center; padding:36px 16px; line-height:1.7;}
:root .apri-svolti-s2{color:var(--text);}
:root .apri-svolti-s3{display:inline-block; margin-top:12px; font-weight:700;}
:root .apri-svolti-s4{height:140px;}
/* creati dal JS in renderSvolti() */
:root .render-svolti-s1{color:var(--mutedDark); font-size:13px; text-align:center; padding:36px 16px; line-height:1.7;}
:root .render-svolti-s2{display:inline-block; margin-top:12px; font-weight:700;}
:root .render-svolti-s3{color:var(--text);}
:root .render-svolti-s4{flex:1; min-width:0;}
:root .render-svolti-s5{display:flex; gap:8px; align-items:center;}
:root .render-svolti-s6{font-weight:700; font-size:14.5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
:root .render-svolti-s7{font-size:11.5px; color:var(--mutedDark); margin-top:1px;}
:root .render-svolti-s8{font-size:11px; color:var(--mutedDark); text-align:center; margin-top:10px;}
/* creati dal JS in caricaEMostraClassifica() */
:root .carica-emostra-classifica-s1{color:var(--mutedDark); font-size:13px;}
:root .carica-emostra-classifica-s2{width:32px; height:32px; border-radius:50%; object-fit:cover;}
:root .carica-emostra-classifica-s3{width:32px; height:32px; border-radius:50%; background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:14px;}
:root .carica-emostra-classifica-s4{display:flex; align-items:center; gap:10px; background:var(--panel); border:1px solid var(--line); padding:8px 12px; margin-bottom:6px;}
:root .carica-emostra-classifica-s5{width:24px; text-align:center; font-size:13px;}
:root .carica-emostra-classifica-s6{flex:1; font-weight:600; font-size:14px;}
:root .carica-emostra-classifica-s7{color:var(--lime); font-weight:600; font-size:13px;}
:root .carica-emostra-classifica-s8{margin:0;}
/* creati dal JS in caricaEMostraPremi() */
:root .carica-emostra-premi-s1{color:var(--mutedDark); font-size:13px;}
:root .carica-emostra-premi-s2{margin:0;}
:root .carica-emostra-premi-s3{opacity:0.5;}
:root .carica-emostra-premi-s4{color:var(--lime); font-size:11px;}
:root .carica-emostra-premi-s5{margin-bottom:12px;}
:root .carica-emostra-premi-s6{padding:14px;}
:root .carica-emostra-premi-s7{display:flex; justify-content:space-between; align-items:center; gap:10px;}
:root .carica-emostra-premi-s8{font-weight:600;}
:root .carica-emostra-premi-s9{color:var(--mutedDark); font-size:12px;}
:root .carica-emostra-premi-s10{color:var(--muted); font-size:13px;}
/* creati dal JS in caricaEMostraRiscatti() */
:root .carica-emostra-riscatti-s1{color:var(--mutedDark); font-size:13px;}
:root .carica-emostra-riscatti-s2{display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid var(--line); font-size:13px;}
:root .carica-emostra-riscatti-s3{color:var(--muted);}
:root .carica-emostra-riscatti-s4{text-align:right; color:var(--mutedDark);}
:root .carica-emostra-riscatti-s5{margin:0;}
/* creati dal JS in caricaEMostraSponsor() */
:root .carica-emostra-sponsor-s1{color:var(--mutedDark); font-size:13px;}
:root .carica-emostra-sponsor-s2{width:40px; height:40px; border-radius:8px; object-fit:cover;}
:root .carica-emostra-sponsor-s3{width:40px; height:40px; border-radius:8px; background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center;}
:root .carica-emostra-sponsor-s4{font-weight:600;}
:root .carica-emostra-sponsor-s5{display:flex; align-items:center; gap:10px; background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:10px 12px; margin-bottom:8px;}
:root .carica-emostra-sponsor-s6{margin:0;}
/* creati dal JS in avviaThreadChat() */
:root .avvia-thread-chat-s1{margin:12px 0;}
/* creati dal JS in apriChatGruppoInfo() */
:root .apri-chat-gruppo-info-s1{width:32px; height:32px; border-radius:50%; object-fit:cover; flex-shrink:0;}
:root .apri-chat-gruppo-info-s2{width:32px; height:32px; border-radius:50%; background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
:root .apri-chat-gruppo-info-s3{display:flex; align-items:center; gap:10px; background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r2); padding:8px 12px; margin-bottom:6px;}
:root .apri-chat-gruppo-info-s4{flex:1; font-weight:600; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
/* creati dal JS in renderChatGruppoPickerRisultati() */
:root .render-chat-gruppo-picker-risultati-s1{width:32px; height:32px; border-radius:50%; object-fit:cover; flex-shrink:0;}
:root .render-chat-gruppo-picker-risultati-s2{width:32px; height:32px; border-radius:50%; background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
:root .render-chat-gruppo-picker-risultati-s3{display:flex; align-items:center; gap:10px; width:100%; background:var(--panel); border:1px solid var(--line); border-radius:var(--r2); padding:8px 12px; margin-bottom:6px; text-align:left;}
:root .render-chat-gruppo-picker-risultati-s4{flex:1; font-weight:600; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
/* creati dal JS in renderChatGruppoPickerSelezionati() */
:root .render-chat-gruppo-picker-selezionati-s1{display:flex; align-items:center; gap:8px; background:var(--panelAlt); border:1px solid var(--line); border-radius:var(--r2); padding:8px 12px; margin-bottom:6px;}
:root .render-chat-gruppo-picker-selezionati-s2{flex:1; font-weight:600; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
/* creati dal JS in avviaAscoltoBacheca() */
:root .avvia-ascolto-bacheca-s1{margin:0;}
/* creati dal JS in renderSalvati() */
:root .render-salvati-s1{color:var(--mutedDark); font-size:13px; text-align:center; padding:40px 20px; line-height:1.6;}
/* creati dal JS in apriHashtag() */
:root .apri-hashtag-s1{height:160px;}
:root .apri-hashtag-s2{color:var(--mutedDark); font-size:13px; text-align:center; padding:40px 20px;}
:root .apri-hashtag-s3{margin:0;}
/* creati dal JS in avviaAscoltoGiochi() */
:root .avvia-ascolto-giochi-s1{margin:12px 0 0;}
:root .avvia-ascolto-giochi-s2{margin:0;}
/* creati dal JS in renderGiochi() */
:root .render-giochi-s1{margin-top:16px;}
/* creati dal JS in htmlGioco() */
:root .html-gioco-s1{min-width:0;}
/* creati dal JS in mostraPuntiGioco() */
:root .mostra-punti-gioco-s1{max-height:75vh; overflow-y:auto;}
:root .mostra-punti-gioco-s2{margin-top:12px;}
/* creati dal JS in renderAnteprimaFotoEditor() */
:root .render-anteprima-foto-editor-s1{width:64px; height:64px; border-radius:8px; object-fit:cover; flex:none;}
:root .render-anteprima-foto-editor-s2{width:64px; height:64px; border-radius:8px; object-fit:cover; flex:none; border:2px solid var(--lime);}
:root .render-anteprima-foto-editor-s3{color:var(--mutedDark); font-size:12px;}
/* creati dal JS in mostraLinkDaCopiare() */
:root .mostra-link-da-copiare-s1{width:100%; margin:4px 0 12px;}
/* creati dal JS in renderRisultatiCerca() */
:root .render-risultati-cerca-s1{color:var(--mutedDark); font-size:13px;}
/* creati dal JS in cardPersonaHtml() */
:root .card-persona-html-s1{width:44px; height:44px; border-radius:50%; object-fit:cover;}
:root .card-persona-html-s2{width:44px; height:44px; border-radius:50%; background:var(--panelAlt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:18px;}
:root .card-persona-html-s3{background:var(--panelAlt); border:1px solid var(--line); border-radius:50%; width:38px; height:38px; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
:root .card-persona-html-s4{background:var(--panelAlt); border:1px solid var(--danger); color:var(--danger); border-radius:50%; width:38px; height:38px; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:15px;}
:root .card-persona-html-s5{color:var(--lime); font-size:11px; font-weight:800; letter-spacing:.3px;}
:root .card-persona-html-s6{width:100%; display:flex; align-items:center; gap:12px; padding:10px 12px; margin-bottom:8px; text-align:left; cursor:pointer;}
:root .card-persona-html-s7{flex:1; min-width:0;}
:root .card-persona-html-s8{font-weight:600;}
:root .card-persona-html-s9{color:var(--muted); font-size:12px;}
/* creati dal JS in boxStat() */
:root .box-stat-s1{flex:1; background:var(--panelAlt); border-radius:10px; padding:10px 6px; text-align:center;}
:root .box-stat-s2{font-weight:800; font-size:15px;}
:root .box-stat-s3{font-size:9px; text-transform:uppercase; letter-spacing:0.05em; color:var(--mutedDark); margin-top:2px;}
/* creati dal JS in renderPrestazioniHtml() */
:root .render-prestazioni-html-s1{font-weight:800; font-size:14px; margin-bottom:10px;}
:root .render-prestazioni-html-s2{display:flex; gap:8px; margin-bottom:14px;}
:root .render-prestazioni-html-s3{font-size:12px; font-weight:800; color:var(--muted); letter-spacing:0.04em; margin-bottom:6px;}
:root .render-prestazioni-html-s4{color:var(--mutedDark); font-size:13px;}
:root .render-prestazioni-html-s5{display:inline-flex;}
:root .render-prestazioni-html-s6{color:var(--muted); font-size:12px;}
/* creati dal JS in apriProfiloAltrui() */
:root .apri-profilo-altrui-s1{font-size:12px; font-weight:800; color:var(--muted); letter-spacing:0.04em; margin:16px 0 6px;}
:root .apri-profilo-altrui-s2{display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted); padding:5px 0;}
:root .apri-profilo-altrui-s3{display:inline-flex;}
/* creati dal JS in apriPresenze() */
:root .apri-presenze-s1{margin:0;}
:root .apri-presenze-s2{display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--line);}
:root .apri-presenze-s3{width:18px; height:18px;}
/* creati dal JS in renderStoricoAllenamenti() */
:root .render-storico-allenamenti-s1{color:var(--mutedDark); font-size:13px;}
:root .render-storico-allenamenti-s2{color:var(--lime); border-color:var(--limeDim);}
:root .render-storico-allenamenti-s3{margin-bottom:10px;}
:root .render-storico-allenamenti-s4{padding:14px;}
:root .render-storico-allenamenti-s5{display:flex; align-items:center; gap:8px; margin-bottom:6px; flex-wrap:wrap;}
:root .render-storico-allenamenti-s6{width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
:root .render-storico-allenamenti-s7{font-weight:700; text-transform:capitalize;}
:root .render-storico-allenamenti-s8{color:var(--muted); font-size:13px; display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
/* creati dal JS in renderEventi() */
:root .render-eventi-s1{display:flex; align-items:center; gap:10px; min-width:0;}
:root .render-eventi-s2{display:inline-flex; align-items:center; gap:5px;}
:root .render-eventi-s3{display:inline-flex; color:var(--lime);}
:root .render-eventi-s4{margin-top:8px;}
:root .render-eventi-s5{width:100%; height:260px; border:1px solid var(--line); border-radius:10px; background:#fff;}
:root .render-eventi-s6{margin-top:10px;}
:root .render-eventi-s7{background:none; color:var(--mutedDark); padding:0;}
:root .render-eventi-s8{flex-wrap:wrap; gap:8px;}
:root .render-eventi-s9{display:flex; align-items:center; gap:4px; flex-wrap:wrap;}
:root .render-eventi-s10{display:inline-flex; align-items:center;}
:root .render-eventi-s11{display:flex; align-items:center; gap:8px;}
:root .render-eventi-s12{font-size:11px;}
:root .render-eventi-s13{font-size:12px; font-weight:700; color:var(--muted); margin-bottom:8px;}
:root .render-eventi-s14{color:var(--mutedDark); font-size:13px;}
#svoltoAvviso b.testo-forte{color:var(--text);}

/* ====== MAPPA DEL CALENDARIO (17/10, bozza «A con la mappa di D») ====== */
/* mappa piccola sopra il calendario */
#calMappaWrap{margin:16px 20px 0;}
#calMappaWrap .cal-vista{display:flex; gap:4px; background:var(--panel); border:1px solid var(--line); border-radius:var(--r3); padding:4px;}
#calMappaWrap .cal-vista button{flex:1; min-height:40px; padding:8px 0; border-radius:var(--r2); background:none; color:var(--mutedDark); font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px; letter-spacing:0.06em; text-transform:uppercase;}
#calMappaWrap .cal-vista button.on{background:var(--grad); color:var(--onAccent);}
#calMiniMappa{position:relative; margin-top:12px; height:170px; border-radius:var(--r5); border:1px solid var(--line); overflow:hidden; background:#191512; cursor:pointer; box-shadow:var(--e2);}
#calMiniMappaCarta{position:absolute; inset:0; z-index:0; pointer-events:none; background:#191512;}
#calMiniMappa .cal-mini-apri{position:absolute; right:10px; bottom:10px; z-index:1; background:rgba(18,16,14,0.88); border:1px solid #3a302a; border-radius:var(--r3); padding:6px 10px; font-size:12px; font-weight:600; color:var(--text);}
#calMiniMappa #calMiniMappaVuota{position:absolute; left:12px; top:10px; z-index:1; background:rgba(18,16,14,0.88); border-radius:var(--r2); padding:4px 9px; font-size:12px; color:var(--muted);}
#calMiniMappa .leaflet-control-attribution{background:rgba(18,16,14,0.7); color:var(--mutedDark); font-size:9px;}
#calMiniMappa .leaflet-control-attribution a{color:var(--mutedDark);}

/* segnaposto (mappa piccola e grande) */
.mc-pin-wrap{background:none; border:none;}
.mc-pin{position:absolute; left:0; top:0; transform:translate(-50%,-100%); display:flex; flex-direction:column; align-items:center; cursor:pointer;}
.mc-pin b{background:var(--lime); color:#fff; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:13px; letter-spacing:0.03em; line-height:1.3; padding:3px 8px; border-radius:9px; white-space:nowrap; box-shadow:0 4px 12px rgba(0,0,0,0.55);}
.mc-pin i{width:0; height:0; border:6px solid transparent; border-top-color:var(--lime);}
.mc-pin.spento b{background:#2e2723; color:#cfc6bf;}
.mc-pin.spento i{border-top-color:#2e2723;}
.mc-pin.scelto b{background:#fff; color:#12100e; font-size:15px; padding:5px 10px;}
.mc-pin.scelto i{border-top-color:#fff;}
.mc-pin.p1{margin-top:-26px;}
.mc-pin.p2{margin-top:-52px;}
.mc-pin.p3{margin-top:-78px;}

/* mappa a tutto schermo: finisce sopra la barra in basso, come le schermate principali */
#mappaCalScreen{position:fixed; top:0; left:0; right:0; bottom:var(--altezzaBarra, 0px); z-index:70; background:#191512; overflow:hidden;}
#mappaCalScreen #mappaCalCarta{position:absolute; inset:0; z-index:0; background:#191512;}
#mappaCalScreen .mappa-cal-sopra{position:absolute; top:calc(14px + env(safe-area-inset-top, 0px)); left:14px; right:14px; z-index:2; display:flex; gap:8px;}
#mappaCalScreen .mappa-cal-campo{flex:1; min-width:0; height:44px; display:flex; align-items:center; padding:0 14px; background:rgba(28,24,21,0.94); border:1px solid #2e2723; border-radius:var(--r4); font-weight:600; font-size:13.5px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
#mappaCalScreen .mappa-cal-sopra button{flex:0 0 44px; width:44px; height:44px; min-height:44px; padding:0; background:rgba(28,24,21,0.94); border:1px solid #2e2723; border-radius:var(--r4); color:var(--text); font-size:17px;}
#mappaCalScreen #mappaCalChips{position:absolute; top:calc(68px + env(safe-area-inset-top, 0px)); left:0; right:0; z-index:2; display:flex; gap:6px; padding:0 14px; overflow-x:auto; scrollbar-width:none;}
#mappaCalScreen #mappaCalChips::-webkit-scrollbar{display:none;}
#mappaCalScreen #mappaCalChips button{flex:0 0 auto; min-height:36px; padding:6px 12px; background:rgba(28,24,21,0.94); border:1px solid #2e2723; border-radius:var(--r3); color:#cfc6bf; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:14px; letter-spacing:0.06em; text-transform:uppercase;}
#mappaCalScreen #mappaCalChips button.mc-sport{font-size:16px; padding:6px 10px;}
#mappaCalScreen #mappaCalChips button.on{background:var(--lime); border-color:var(--lime); color:#fff;}

/* foglio in basso con l'elenco */
#mappaCalScreen #mappaCalFoglio{position:absolute; left:0; right:0; bottom:0; z-index:3; display:flex; flex-direction:column; max-height:42%; padding:0 16px 10px; background:var(--bg); border-top:1px solid var(--line); border-radius:26px 26px 0 0; box-shadow:0 -10px 30px rgba(0,0,0,0.6);}
#mappaCalScreen #mappaCalFoglio.alto{max-height:78%;}
#mappaCalScreen #mappaCalFoglio.hidden{display:none;}
#mappaCalScreen #mappaCalManiglia{display:block; width:100%; min-height:0; padding:9px 0 10px; background:none;}
#mappaCalScreen #mappaCalManiglia span{display:block; width:40px; height:5px; margin:0 auto; border-radius:3px; background:#3a302a;}
#mappaCalScreen .mappa-cal-ftitolo{font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:24px; line-height:1.05; letter-spacing:0.02em; text-transform:uppercase;}
#mappaCalScreen .mappa-cal-ftitolo b{color:var(--lime);}
#mappaCalScreen .mappa-cal-fsotto{font-size:12.5px; color:var(--mutedDark); margin:2px 0 6px;}
#mappaCalScreen .mappa-cal-attrib{font-size:9.5px; color:var(--mutedDark); padding-top:6px;}
#mappaCalScreen .mappa-cal-attrib a{color:var(--mutedDark);}
#mappaCalScreen #mappaCalLista{flex:1; min-height:0; overflow-y:auto;}
#mappaCalScreen .mc-riga{width:100%; min-height:0; display:flex; align-items:center; gap:12px; padding:10px 0; background:none; border:none; border-top:1px solid #221d1a; border-radius:0; color:var(--text); text-align:left;}
#mappaCalScreen .mc-ic{flex:0 0 42px; width:42px; height:42px; display:grid; place-items:center; border-radius:14px; background:var(--panelAlt); border:1px solid #3a302a; font-size:19px;}
#mappaCalScreen .mc-testo{flex:1; min-width:0; display:flex; flex-direction:column;}
#mappaCalScreen .mc-testo b{font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:17px; line-height:1.15; letter-spacing:0.03em; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
#mappaCalScreen .mc-testo span{font-size:12.5px; color:var(--mutedDark); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
#mappaCalScreen .mc-dx{flex:0 0 auto; text-align:right; font-size:12px; color:var(--mutedDark);}
#mappaCalScreen .mc-dx b{display:block; font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; line-height:1.1; color:var(--text);}
#mappaCalScreen .mc-vuoto{padding:10px 0 4px; font-size:13px; color:var(--mutedDark);}

/* scheda dell'allenamento toccato */
#mappaCalScreen #mappaCalScheda{position:absolute; left:12px; right:12px; bottom:12px; z-index:4; max-height:70%; overflow-y:auto; padding:16px; background:var(--panelAlt); border:1px solid #5a2a18; border-radius:24px; box-shadow:0 -6px 30px rgba(0,0,0,0.6);}
#mappaCalScreen #mappaCalScheda.hidden{display:none;}
#mappaCalScreen .mc-scheda-x{position:absolute; top:10px; right:10px; width:36px; height:36px; min-height:0; padding:0; border-radius:50%; background:var(--panelHover); color:var(--muted); font-size:14px;}
#mappaCalScreen .mc-quando{padding-right:40px; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:14px; letter-spacing:0.12em; text-transform:uppercase; color:var(--lime);}
#mappaCalScreen .mc-titolo{margin-top:4px; font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:28px; line-height:1.05; text-transform:uppercase;}
#mappaCalScreen .mc-luogo{margin-top:6px; font-size:13px; color:var(--muted);}
#mappaCalScreen .mc-nota{margin-top:4px; font-size:12px; color:var(--mutedDark);}
#mappaCalScreen .mc-note{margin-top:6px; max-height:4.6em; overflow:hidden; font-size:13px; color:var(--muted); white-space:pre-line;}
#mappaCalScreen .mc-facce{display:flex; align-items:center; gap:8px; margin-top:10px; font-size:12.5px; color:var(--muted);}
#mappaCalScreen .mc-facce span{display:flex;}
#mappaCalScreen .mc-facce i{width:26px; height:26px; display:grid; place-items:center; margin-left:-8px; border-radius:50%; border:2px solid var(--panelAlt); background:#3a302a; color:#fff; font-style:normal; font-size:11px; font-weight:700;}
#mappaCalScreen .mc-facce i:first-child{margin-left:0;}
#mappaCalScreen .mc-tasti{display:flex; gap:8px; margin-top:14px;}
#mappaCalScreen .mc-tasti > *{flex:1; min-height:44px; display:flex; align-items:center; justify-content:center; padding:0 6px; border-radius:14px; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:16px; letter-spacing:0.05em; text-transform:uppercase; text-decoration:none;}
#mappaCalScreen .mc-tasti .mc-si{background:var(--grad); color:var(--onAccent); box-shadow:var(--glow);}
#mappaCalScreen .mc-tasti .mc-si.iscritto{background:transparent; border:1px solid var(--lime); color:var(--lime); box-shadow:none;}
#mappaCalScreen .mc-tasti .mc-no{background:var(--panelHover); border:1px solid #3a302a; color:#cfc6bf;}
