/* stile.css — grafica del sito tesseramento (pagina pubblica + pannello di gestione) */
:root{
  --nero:#080b14; --nero-2:#10141f; --blu:#0c4da2; --blu-scuro:#062a5c;
  --blu-chiaro:#3f7fd1; --bianco:#f7f8fa; --oro:#e8b923; --grigio:#9aa4b5;
  --verde:#3fbf72; --rosso:#e0574f; --radius:10px;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;background:var(--nero);color:var(--bianco);min-height:100vh;}
a{color:var(--blu-chiaro);}
.stripes{height:6px;background:repeating-linear-gradient(90deg,var(--nero) 0 40px,var(--blu) 40px 80px);}

header.hero{position:relative;padding:56px 20px 64px;text-align:center;overflow:hidden;
  background:radial-gradient(circle at 20% 20%,rgba(12,77,162,.35),transparent 45%),
             radial-gradient(circle at 80% 0%,rgba(232,185,35,.10),transparent 40%),var(--nero);}
header.hero::before{content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 2px,transparent 2px 40px);pointer-events:none;}
.badge{width:96px;height:96px;margin:0 auto 18px;filter:drop-shadow(0 6px 18px rgba(0,0,0,.5));}
.badge img{width:100%;height:100%;display:block;}
.eyebrow{font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--blu-chiaro);font-weight:600;margin-bottom:10px;}
h1{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(34px,6vw,58px);line-height:1.02;margin:0 0 8px;letter-spacing:.5px;text-transform:uppercase;}
h1 span{color:var(--oro);}
.sub{color:var(--grigio);font-size:16px;max-width:520px;margin:0 auto;}

main{max-width:640px;margin:-32px auto 60px;padding:0 20px;position:relative;z-index:2;}
main.largo{max-width:1360px;margin:24px auto 60px;}

.card{background:var(--nero-2);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);padding:28px;margin-bottom:22px;box-shadow:0 20px 50px rgba(0,0,0,.45);}
.card.stretta{padding:22px;}
.listino-titolo{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:20px;margin:0 0 4px;}
.listino-sottotitolo{color:var(--grigio);font-size:13px;margin:0 0 18px;}

.matrice{border-radius:var(--radius);overflow:hidden;border:1px solid rgba(255,255,255,.1);}
.matrice-header{display:grid;grid-template-columns:1.3fr 1fr 1fr;background:linear-gradient(120deg,var(--blu-scuro),var(--blu));}
.matrice-header .cella{padding:12px 10px;text-align:center;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:14px;letter-spacing:1px;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:6px;}
.matrice-header .cella:first-child{justify-content:flex-start;padding-left:16px;}
.matrice-header svg{width:15px;height:15px;opacity:.85;}
.matrice-riga{display:grid;grid-template-columns:1.3fr 1fr 1fr;border-top:1px solid rgba(255,255,255,.07);background:var(--nero);}
.matrice-riga.gratis-riga{background:rgba(232,185,35,.06);}
.matrice-riga .fascia{padding:14px 16px;font-weight:600;font-size:14.5px;display:flex;flex-direction:column;justify-content:center;}
.matrice-riga .fascia small{color:var(--grigio);font-weight:400;font-size:11.5px;margin-top:1px;}
.matrice-riga .valore{padding:14px 10px;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:19px;color:var(--oro);border-left:1px solid rgba(255,255,255,.06);}
.matrice-riga .valore.gratis{color:#7fd88f;font-size:15px;letter-spacing:.5px;}
.matrice-riga.gratis-riga .valore.spanned{grid-column:2/4;border-left:1px solid rgba(255,255,255,.06);}

form .campo{margin-bottom:18px;}
label{display:block;font-size:13px;font-weight:600;color:var(--grigio);text-transform:uppercase;letter-spacing:.6px;margin-bottom:7px;}
input[type=text],input[type=date],input[type=email],input[type=tel],input[type=password],input[type=search],input[type=number],textarea,select{
  width:100%;padding:12px 14px;background:var(--nero);border:1px solid rgba(255,255,255,.12);border-radius:8px;color:var(--bianco);font-size:15px;font-family:inherit;}
textarea{min-height:130px;resize:vertical;}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--blu-chiaro);box-shadow:0 0 0 3px rgba(63,127,209,.25);}
.riga-doppia{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
#dataNascita{letter-spacing:1px;font-variant-numeric:tabular-nums;}
@media (max-width:480px){.riga-doppia{grid-template-columns:1fr;}}
.nascosto{position:absolute;left:-9999px;opacity:0;height:0;}

.sesso-scelta{display:flex;gap:10px;}
.sesso-scelta input{position:absolute;opacity:0;}
.sesso-scelta label.opt{flex:1;text-align:center;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;cursor:pointer;text-transform:none;letter-spacing:0;font-size:15px;font-weight:500;color:var(--bianco);transition:all .15s ease;}
.sesso-scelta input:checked + label.opt{border-color:var(--blu-chiaro);background:rgba(63,127,209,.15);font-weight:700;}

.riepilogo{display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(120deg,var(--blu-scuro),var(--nero));border:1px solid rgba(63,127,209,.4);border-radius:var(--radius);padding:20px 22px;margin-bottom:20px;}
.riepilogo .etichetta{font-size:13px;color:var(--grigio);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;}
.riepilogo .valore{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:38px;color:var(--oro);white-space:nowrap;}
.riepilogo .dettaglio{font-size:13px;color:var(--grigio);margin-top:2px;}

button,.bottone{font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;border-radius:8px;color:var(--bianco);background:linear-gradient(120deg,var(--blu) 0%,var(--blu-scuro) 100%);text-decoration:none;display:inline-block;}
button.invia,.bottone.invia{width:100%;padding:16px;font-size:19px;}
button:hover,.bottone:hover{filter:brightness(1.14);}
button:disabled{opacity:.5;cursor:not-allowed;}
.bottone.piccolo,button.piccolo{padding:7px 11px;font-size:13px;letter-spacing:.5px;}
.bottone.neutro,button.neutro{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);}
.bottone.oro,button.oro{background:linear-gradient(120deg,#c99a12,var(--oro));color:#1a1408;}
.bottone.verde,button.verde{background:linear-gradient(120deg,#1f7a4b,var(--verde));}
.bottone.rosso,button.rosso{background:linear-gradient(120deg,#8a2b26,var(--rosso));}

.nota-pagamento{font-size:13px;color:var(--grigio);text-align:center;margin-top:14px;line-height:1.5;}
.esito{border-radius:var(--radius);padding:22px;text-align:center;}
.esito.ok{background:rgba(30,150,90,.12);border:1px solid rgba(30,150,90,.4);}
.esito.errore{background:rgba(200,50,50,.12);border:1px solid rgba(200,50,50,.4);}
.esito.grande{margin-bottom:22px;padding:30px 24px;box-shadow:0 20px 50px rgba(0,0,0,.45);}
.esito h3{margin:0 0 8px;font-family:'Barlow Condensed',sans-serif;font-size:22px;text-transform:uppercase;}
.esito p{margin:4px 0;color:var(--grigio);font-size:14px;}
.esito .tessera-num{color:var(--oro);font-weight:700;}
.avviso{border-radius:8px;padding:12px 14px;font-size:14px;margin-bottom:16px;}
.avviso.ok{background:rgba(30,150,90,.14);border:1px solid rgba(30,150,90,.4);}
.avviso.ko{background:rgba(200,50,50,.14);border:1px solid rgba(200,50,50,.4);}
footer{text-align:center;padding:30px 20px 50px;color:var(--grigio);font-size:12.5px;}

/* --- Pannello di gestione --- */
.barra{display:flex;align-items:center;gap:14px;padding:14px 22px;background:var(--nero-2);border-bottom:1px solid rgba(255,255,255,.07);flex-wrap:wrap;}
.barra img{width:38px;height:38px;}
.barra .titolo{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:700;text-transform:uppercase;letter-spacing:1px;}
.barra .spazio{flex:1;}
.statistiche{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:22px;}
.stat{background:var(--nero-2);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius);padding:16px 18px;}
.stat .n{font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:800;color:var(--oro);line-height:1;}
.stat .n.verde{color:var(--verde);}
.stat .et{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--grigio);margin-top:6px;}
.filtri{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:18px;}
.filtri .campo{margin:0;}
.tabella-wrap{overflow-x:auto;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius);}
table{border-collapse:collapse;width:100%;font-size:13.5px;min-width:1000px;}
th{background:linear-gradient(120deg,var(--blu-scuro),var(--blu));text-align:left;padding:11px 12px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.8px;font-size:13px;white-space:nowrap;}
td{padding:11px 12px;border-top:1px solid rgba(255,255,255,.07);vertical-align:middle;background:var(--nero-2);}
tr:hover td{background:#161b29;}
td.azioni{width:236px;padding:9px 10px;}
.azioni-box{display:flex;flex-wrap:wrap;gap:5px;width:216px;}
td.azioni form,td.azioni .bottone{display:inline-block;margin:0;}
td:first-child,th:first-child{white-space:nowrap;}
td:nth-child(2){min-width:150px;}
td:nth-child(3),td:nth-child(6),td:nth-child(8){white-space:nowrap;}
.pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;}
.pill.attesa{background:rgba(224,87,79,.16);color:#f2938c;border:1px solid rgba(224,87,79,.4);}
.pill.pagato{background:rgba(63,191,114,.14);color:#7fd88f;border:1px solid rgba(63,191,114,.4);}
.pill.fondatore{background:rgba(232,185,35,.16);color:var(--oro);border:1px solid rgba(232,185,35,.45);}
.pill.base{background:rgba(255,255,255,.07);color:var(--grigio);border:1px solid rgba(255,255,255,.12);}
.vuoto{text-align:center;color:var(--grigio);padding:40px 20px;}
.login-box{max-width:380px;margin:12vh auto;}

/* --- Pannello: navigazione e pagina impostazioni --- */
.menu{display:flex;gap:6px;flex-wrap:wrap;}
.menu a{padding:7px 13px;border-radius:8px;text-decoration:none;color:var(--grigio);font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.8px;font-size:14px;border:1px solid transparent;}
.menu a:hover{color:var(--bianco);background:rgba(255,255,255,.06);}
.menu a.attivo{color:var(--bianco);background:rgba(63,127,209,.18);border-color:rgba(63,127,209,.45);}
fieldset.gruppo{border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:18px 18px 4px;margin:0 0 20px;}
fieldset.gruppo legend{padding:0 8px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:15px;color:var(--blu-chiaro);}
.aiuto{font-size:12.5px;color:var(--grigio);margin:8px 0 0;line-height:1.5;}
.riepilogo-lista{margin:0;padding-left:20px;color:var(--grigio);font-size:14px;line-height:1.9;}
.riepilogo-lista strong{color:var(--bianco);}
.riepilogo-lista code{background:rgba(255,255,255,.07);padding:1px 6px;border-radius:4px;font-size:12.5px;}
.diario{background:var(--nero-2);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:14px 18px;margin-bottom:18px;}
.diario summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--blu-chiaro);}
.diario pre{margin:12px 0 0;padding:12px;background:var(--nero);border-radius:8px;overflow-x:auto;font-size:12px;line-height:1.6;color:var(--grigio);white-space:pre-wrap;word-break:break-word;max-height:340px;}

/* --- Grafico delle visite --- */
.grafico{display:flex;align-items:flex-end;gap:3px;height:180px;padding:10px 0 0;border-bottom:1px solid rgba(255,255,255,.12);}
.grafico .colonna{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;min-width:0;}
.grafico .barre{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px;}
.grafico .barra{width:45%;max-width:14px;border-radius:3px 3px 0 0;transition:filter .15s ease;}
.grafico .barra.visitatori{background:linear-gradient(180deg,var(--blu-chiaro),var(--blu));min-height:2px;}
.grafico .barra.iscrizioni{background:linear-gradient(180deg,var(--oro),#c99a12);}
.grafico .colonna:hover .barra{filter:brightness(1.35);}
.grafico .giorno{font-size:10px;color:var(--grigio);padding-top:6px;font-variant-numeric:tabular-nums;}
@media (max-width:600px){ .grafico .giorno{display:none;} .grafico{height:140px;} }
