/* Template desktop dell'area iscrizioni: layout largo, tabelle, pannello laterale. */
main.wide{max-width:1240px}
#desk h1{margin-top:.2em}
.toast{bottom:28px}

.deskbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--soft);border-radius:14px;padding:10px 18px;margin-bottom:22px}
.deskbar .who{font-weight:700}
.deskbar .nav{display:flex;gap:6px;flex-wrap:wrap}
.deskbar .nav a,.deskbar .nav button{border:0;background:transparent;font:inherit;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;color:var(--navy);padding:8px 14px;border-radius:999px;text-decoration:none;cursor:pointer}
.deskbar .nav a:hover,.deskbar .nav button:hover{background:var(--line)}
.deskbar .nav a.on{background:var(--navy);color:#fff}
.crumbs{font-size:.9rem;margin:0 0 6px}
.crumbs a{color:var(--muted)}

.cols{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:32px;align-items:start}
.side{position:sticky;top:96px;display:grid;gap:16px}
@media(max-width:1060px){.cols{grid-template-columns:1fr}.side{position:static}}

/* tabelle */
.dt{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-size:.93rem}
.dt th{background:var(--navy);color:#fff;text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;padding:11px 14px;white-space:nowrap}
.dt td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.dt tbody tr:last-child td{border-bottom:0}
.dt tbody tr:hover{background:color-mix(in srgb,var(--gold) 14%,transparent)}
.dt td.num,.dt th.num{text-align:right;white-space:nowrap}
.dt .sub{display:block;color:var(--muted);font-size:.82rem}
.dt a.row-link{font-weight:800;color:var(--navy);text-decoration:none}
.dt a.row-link:hover{text-decoration:underline}
.dt .acts{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.tw{overflow-x:auto}
.empty{padding:26px;text-align:center;color:var(--muted);background:var(--soft);border-radius:var(--r)}

/* intestazione pagina */
.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.pagehead h1{margin:.1em 0}
.meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.92rem;margin:0 0 22px}
.meta b{color:var(--ink)}

/* pannello pagamenti */
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.panel h3{margin:0 0 10px;font-size:1rem;text-transform:uppercase;letter-spacing:.04em;color:var(--navy)}
.big{font-size:2rem;font-weight:800;color:var(--navy);line-height:1.1}
.kv{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:.93rem}
.kv:last-child{border-bottom:0}
.bar{height:10px;background:var(--line);border-radius:999px;overflow:hidden;margin:10px 0 4px}
.bar i{display:block;height:100%;background:#0b7a52}
.bar i.v{background:var(--gold)}
.iban{display:flex;gap:8px;align-items:center;background:var(--soft);border-radius:12px;padding:8px 12px;margin:6px 0}
.iban code{flex:1;font-size:.98rem;font-weight:700;word-break:break-all}
.panel .dt{font-size:.85rem}

/* form a due colonne */
.form.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px;max-width:none;background:var(--card)}
.form.grid .span2,.form.grid h3,.form.grid fieldset,.form.grid .err,.form.grid button[type=submit]{grid-column:1 / -1}
.form.grid button[type=submit]{justify-self:start;min-width:200px}
.form.narrow{max-width:460px}
.sect{grid-column:1 / -1;border-bottom:2px solid var(--line);padding-bottom:6px;margin:8px 0 0;color:var(--navy)}
@media(max-width:760px){.form.grid{grid-template-columns:1fr}}

.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:0 0 16px}
.filters .fld{min-width:200px;flex:1 1 200px}
.filters .fld input,.filters .fld select{width:100%;min-width:0;box-sizing:border-box;height:3.2rem;padding-top:0;padding-bottom:0;line-height:1.2}
.filters{align-items:end}
.pkg{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.pkg .panel.sel{border-color:var(--navy);box-shadow:0 0 0 2px var(--navy) inset}
.btn.sm{padding:8px 16px;font-size:.78rem}
.btn.line{background:transparent;border:2px solid var(--navy);color:var(--navy)}
.copybtn{padding:6px 12px}
.banner{background:var(--gold);color:var(--navy-d);border-radius:14px;padding:12px 18px;font-weight:700;margin-bottom:16px}
.banner a{color:var(--navy-d)}

/* accesso: il testo introduttivo segue la colonna centrata */
main:has(.auth) > .lead{max-width:none;text-align:center}

/* Tabella dei partecipanti: i pulsanti stanno in due righe compatte, sempre leggibili per intero, e i contatti vanno a capo */
.dt td.az{white-space:nowrap;min-width:13.5rem}
.dt td.az .acts{display:grid;grid-template-columns:repeat(2,max-content);gap:6px;justify-content:end}
.dt td.az .mini{min-height:34px;min-width:max-content;padding:5px 14px;text-align:center;white-space:nowrap}
.dt td.cont{overflow-wrap:anywhere;min-width:9rem}
.dt .mini{min-height:34px}
