:root{--verde:#3f7d5a;--mare:#1f6f8b;--tufo:#e0b04e;--rosa:#d98aa6;--tramonto:#d2532f;--scuro:#22201d;--crema:#f7f1e6;--grigio:#6b6760;--bordo:#e7ddc9;color:var(--scuro);background:var(--crema);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--crema);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--mare);text-decoration:none}button{cursor:pointer;border:none;border-radius:10px;font-family:inherit;font-size:1rem}.app{background:var(--crema);border-inline:1px solid var(--bordo);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex}.contenuto{flex:1;padding:16px 16px 90px}h1{margin:0 0 4px;font-size:1.5rem}h2{margin:0 0 12px;font-size:1.2rem}.sottotitolo-pagina{color:var(--grigio);margin:0 0 20px;font-size:.95rem}.btn{background:var(--tramonto);color:#fff;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 18px;font-weight:700;display:inline-flex}.btn:active{transform:scale(.98)}.btn-secondario{color:var(--scuro);border:2px solid var(--bordo);background:#fff}.btn:disabled{background:var(--bordo);color:var(--grigio);cursor:not-allowed}.card-serata{border:1px solid var(--bordo);background:#fff;border-radius:14px;align-items:center;gap:14px;margin-bottom:12px;padding:14px;display:flex}.data-box{text-align:center;color:#fff;border-radius:10px;flex-shrink:0;width:58px;padding:8px 4px;line-height:1.1}.data-box .giorno{text-transform:uppercase;opacity:.9;font-size:.7rem}.data-box .num{font-size:1.5rem;font-weight:800}.data-box .mese{text-transform:uppercase;font-size:.75rem}.card-info{flex:1;min-width:0}.card-info .tipo{text-transform:uppercase;letter-spacing:.5px;font-size:.72rem;font-weight:700}.card-info .nome{margin:2px 0;font-size:1.05rem;font-weight:700}.card-info .artisti{color:var(--grigio);font-size:.85rem}.badge{border-radius:20px;margin-top:6px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-block}.badge-posti{color:var(--verde);background:#e6f2ea}.badge-pochi{color:var(--tramonto);background:#fcefe6}.badge-pieno{color:#a33;background:#f3e0e0}.badge-gratis{background:var(--tufo);color:var(--scuro)}.riquadro{border:1px solid var(--bordo);background:#fff;border-radius:14px;margin-bottom:16px;padding:16px}.riga{border-bottom:1px solid var(--bordo);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.riga:last-child{border-bottom:none}.riga .etichetta{color:var(--grigio)}.riga .valore{text-align:right;font-weight:700}label{margin:12px 0 4px;font-size:.9rem;font-weight:600;display:block}input[type=text],input[type=email],input[type=tel],input[type=password],select{border:1.5px solid var(--bordo);background:#fff;border-radius:10px;width:100%;padding:12px;font-size:1rem}.checkbox-riga{align-items:flex-start;gap:10px;margin:14px 0;font-size:.85rem;display:flex}.checkbox-riga input{width:auto;margin-top:3px}.topbar{background:var(--scuro);color:#fff;z-index:10;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.topbar .marchio{align-items:center;gap:10px;font-weight:800;display:flex}.topbar .stato{opacity:.9;font-size:.8rem}.topbar a{color:#fff}.banner-sessione{color:var(--verde);background:#e6f2ea;justify-content:space-between;align-items:center;gap:10px;padding:8px 16px;font-size:.82rem;font-weight:600;display:flex}.bottombar{border-top:1px solid var(--bordo);background:#fff;width:100%;max-width:480px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottombar a{text-align:center;color:var(--grigio);flex:1;padding:10px 4px;font-size:.7rem}.bottombar a.attivo{color:var(--tramonto);font-weight:700}.bottombar .icona{font-size:1.3rem;display:block}.tabs{gap:8px;margin-bottom:16px;display:flex}.tabs button{border:2px solid var(--bordo);color:var(--grigio);background:#fff;flex:1;padding:12px;font-weight:700}.tabs button.attivo{background:var(--scuro);color:#fff;border-color:var(--scuro)}.tessera{background:linear-gradient(135deg, var(--scuro), #3a352e);color:#fff;text-align:center;border-radius:16px;padding:22px}.tessera .qr-box{background:#fff;border-radius:12px;margin:14px 0;padding:14px;display:inline-block}.tessera .nome-socio{font-size:1.2rem;font-weight:800}.tessera .numero{opacity:.8;letter-spacing:2px;font-size:.8rem}.avviso{border-radius:10px;margin-bottom:14px;padding:12px 14px;font-size:.88rem}.avviso-info{color:var(--mare);background:#e7f0f4}.avviso-ok{color:var(--verde);background:#e6f2ea}.testo-piccolo{color:var(--grigio);font-size:.8rem}.centro{text-align:center}.spazio{height:12px}.vinile-wrap{justify-content:center;margin:8px 0 18px;display:flex}.vinile{background:repeating-radial-gradient(circle,#161616 0 3px,#242424 3px 6px);border-radius:50%;justify-content:center;align-items:center;width:230px;height:230px;display:flex;position:relative;box-shadow:inset 0 0 0 5px #0d0d0d,0 8px 18px #0000004d}.vinile-label{background:var(--tramonto);color:#fff;text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100px;height:100px;display:flex;box-shadow:0 0 0 2px #ffffff26}.vinile-label .conta{font-size:1.5rem;font-weight:800;line-height:1}.vinile-label .conta-tot{opacity:.85;font-size:.7rem}.vinile-label .titolo{letter-spacing:1px;opacity:.9;margin-top:2px;font-size:.62rem}.vinile-hole{background:var(--crema);z-index:1;border-radius:50%;width:12px;height:12px;position:absolute}.sticker-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.sticker{aspect-ratio:1;border:2px dashed var(--bordo);color:var(--grigio);background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.sticker.preso{color:#fff;border-style:solid;border-color:#0000}.sticker .n{font-size:.58rem;font-weight:700}.opzione{text-align:left;border:2px solid var(--bordo);width:100%;color:var(--scuro);background:#fff;margin-bottom:10px;padding:14px 16px;font-weight:600;display:block}.opzione:disabled{cursor:default}.opzione.giusta{border-color:var(--verde);color:var(--verde);background:#e6f2ea}.opzione.sbagliata{color:#a33;background:#f6e2e2;border-color:#c0504d}.quiz-progresso{color:var(--grigio);margin-bottom:8px;font-size:.8rem}.quiz-domanda{margin-bottom:16px;font-size:1.2rem;font-weight:700}.coccarda-box{text-align:center;padding:24px}.coccarda-box .emoji-grande{font-size:3rem}.entrata-quiz{background:linear-gradient(135deg, var(--mare), var(--verde));color:#fff;border-radius:14px;margin-bottom:16px;padding:16px;font-weight:700;display:block}
