/* Pagina whitelist: stato delle candidature (data/sito.js) e modulo di candidatura (js/whitelist.js) */
.wl-box{background:var(--bg2);border:1px solid var(--line);border-left:4px solid var(--sea);padding:1.4rem 1.6rem;margin:0 0 3.5rem;box-shadow:8px 8px 0 color-mix(in srgb,var(--rust) 35%,transparent)}
.wl-box.closed{border-left-color:var(--rust)}
.wl-box p{margin:0 0 1rem}
.wl-state{display:flex;align-items:center;gap:.6rem;font:700 1.5rem var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--head)}
.wl-state .dot{width:12px;height:12px;border-radius:50%;background:var(--rust)}
.wl-state .dot.on{background:#5fae6e;box-shadow:0 0 0 4px color-mix(in srgb,#5fae6e 25%,transparent)}
.wl-msg{font-style:italic;color:var(--head);border-left:3px solid var(--amber);padding-left:.9rem}

/* avviso e rimando offline */
.wl-notice{border:1px solid var(--amber);background:color-mix(in srgb,var(--amber) 8%,transparent);padding:1.2rem 1.4rem;margin:1.5rem 0 2.5rem}
.wl-notice p:last-child{margin-bottom:0}
.wl-notice-t{font:500 1.1rem var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--amber);margin-bottom:.6rem}
.wl-offline{border:1px solid var(--rust);padding:1.2rem 1.4rem;background:color-mix(in srgb,var(--rust) 12%,transparent)}

/* titoli dei blocchi del modulo */
.wl-h{font-size:1.5rem;font-weight:700;margin:3rem 0 1rem;padding-top:1rem;border-top:2px solid var(--head)}
.wl-app>.wl-h:first-child{margin-top:0}

/* account Discord e Steam */
.wl-accounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
@media (max-width:700px){.wl-accounts{grid-template-columns:1fr}}
.wl-acc{border:1px solid var(--line);background:var(--bg2);padding:1.1rem 1.2rem;border-left:4px solid var(--line)}
.wl-acc.on{border-left-color:#5fae6e}
.wl-acc p{margin:0 0 .8rem;font-size:1rem}
.wl-acc-k{font:500 1rem var(--display)!important;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.wl-acc .btn{display:inline-block}
.wl-acc .btn.off{opacity:.45;cursor:not-allowed}
.wl-acc-on{display:flex;gap:.9rem;align-items:center}
.wl-acc-on[hidden],.wl-acc-off[hidden]{display:none}
.wl-av{width:44px;height:44px;border-radius:50%;background:var(--deck);flex:none}
.wl-acc-n{font:500 1.15rem var(--display)!important;color:var(--head);margin:0 0 .15rem!important;letter-spacing:.02em}
.wl-acc-s{color:var(--muted);margin:0!important;font-size:.95rem!important}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--amber);text-decoration:underline;cursor:pointer}

/* stato della candidatura */
.wl-status{margin-top:2rem;border:1px solid var(--line);background:var(--bg2);padding:1.4rem 1.6rem}
.wl-status-k{font:500 1rem var(--display);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.4rem}
.wl-badge{display:inline-block;font:700 1.6rem var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--head);border-bottom:3px solid var(--sea);margin-bottom:1rem}
.wl-badge.st-modifiche,.wl-badge.st-colloquio{border-color:var(--amber)}
.wl-badge.st-approvata{border-color:#5fae6e}
.wl-badge.st-rifiutata,.wl-badge.st-revocata{border-color:var(--rust)}
.wl-nota{margin:0 0 1rem;border-left:3px solid var(--amber);padding-left:1rem;font-style:italic;color:var(--head)}
.wl-meta{color:var(--muted);font-size:.95rem}

/* campi */
.wl-form{margin-top:1rem}
.wl-f{margin:0 0 1.4rem}
.wl-f label{display:block;font:500 1.05rem var(--display);text-transform:uppercase;letter-spacing:.03em;color:var(--head);margin-bottom:.4rem;max-width:62ch}
.wl-f label em,.wl-checks em{font:italic 400 .95rem var(--serif);text-transform:none;letter-spacing:0;color:var(--muted)}
.hint{font-size:.98rem;color:var(--muted);margin:-.1rem 0 .6rem}
.wl-f .hint:last-child{margin:.4rem 0 0}
.wl-form input:not([type="checkbox"]),.wl-form textarea{width:100%;font:400 1.05rem/1.55 var(--serif);background:var(--bg2);color:var(--head);border:1px solid var(--line);padding:.65rem .8rem;border-radius:2px}
.wl-form textarea{resize:vertical;min-height:4.5rem}
.wl-form input.short{max-width:8rem}
.wl-form input:focus,.wl-form textarea:focus{outline:2px solid var(--amber);outline-offset:1px;border-color:transparent}
.wl-form .bad{border-color:var(--rust)!important;box-shadow:0 0 0 1px var(--rust)}
.wl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.4rem}
@media (max-width:700px){.wl-grid{grid-template-columns:1fr}}
.wl-count{font:400 .9rem var(--display);letter-spacing:.04em;color:var(--muted);margin:.35rem 0 0;text-align:right;max-width:none}
.wl-count.ok{color:#5fae6e}
.wl-checks{display:grid;gap:.2rem}
.wl-checks label{display:flex;gap:.7rem;align-items:flex-start;padding:.55rem .4rem;border-bottom:1px dotted var(--line);font-size:1.02rem;cursor:pointer}
.wl-checks label.bad{box-shadow:inset 3px 0 0 var(--rust)}
.wl-checks input{margin-top:.35rem;width:1.1rem;height:1.1rem;accent-color:var(--amber);flex:none}
.wl-err{color:var(--head);border-left:4px solid var(--rust);background:color-mix(in srgb,var(--rust) 15%,transparent);padding:.7rem 1rem;margin-top:1.5rem}
.wl-submit{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;margin-top:2rem}
.wl-submit .btn{cursor:pointer}
.wl-submit .btn:disabled{opacity:.6;cursor:wait}
.wl-saved{font-size:.95rem;color:var(--muted);font-style:italic}

/* barra della demo (solo prototipo, tolta dalla build insieme a js/whitelist-demo.js) */
.wl-demobar{position:fixed;left:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:50;display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;max-width:min(560px,calc(100% - 2rem));background:var(--bg2);border:1px dashed var(--sea);padding:.5rem .6rem;font:400 .85rem var(--display);letter-spacing:.03em;color:var(--muted)}
.wl-demobar strong{color:var(--sea);text-transform:uppercase}
.wl-demobar button{font:inherit;background:transparent;color:var(--head);border:1px solid var(--line);padding:.25rem .5rem;cursor:pointer;text-transform:capitalize}
.wl-demobar label{display:flex;gap:.3rem;align-items:center}
@media (max-width:700px){.wl-demobar{bottom:auto;top:calc(env(safe-area-inset-top,0px) + 72px)}}
