/* Portale del referto v19 · stesso aspetto del gestionale UISP Pallacanestro */
:root{--arancio:#b54213;--fondo:#ebecee;--carta:#fff;--testo:#181c32;--grigio:#7e8299;--tenue:#a1a5b7;--linea:#eff2f5;--campo:#f5f8fa;
  --azzurro:#009ef7;--azzurro-chiaro:#f1faff;--verde:#50cd89;--verde-chiaro:#e8fff3;--giallo:#b58200;--giallo-chiaro:#fff8dd;--rosso:#f1416c;--rosso-chiaro:#fff5f8;--viola:#7239ea}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--fondo);color:var(--testo);font:14px/1.5 Poppins,Helvetica,sans-serif;display:flex;flex-direction:column;min-height:100vh}
a{color:var(--azzurro);text-decoration:none}
a:hover{color:#0077c2}
/* barra arancio */
header.barra{background:var(--arancio);min-height:80px;padding:12px 30px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 34px;color:#fff}
header.barra .marchio img{height:44px;display:block}
header.barra nav{display:flex;flex-wrap:wrap;gap:6px 26px}
header.barra nav a{color:#fff;font-weight:600;font-size:13px;letter-spacing:.3px;padding:6px 0;border-bottom:2px solid transparent}
header.barra nav a.on{border-bottom-color:#fff}
header.barra .destra{margin-left:auto;display:flex;gap:12px;align-items:center}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.pill.azzurro{background:var(--azzurro);color:#fff}
.pill.grigio{background:#eff2f5;color:#3f4254}
/* striscia modalita' prova */
.striscia{margin:0;padding:10px 30px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-weight:500;font-size:13px}
.striscia.prova{background:#fff4d6;color:#5c4300}
.striscia.vera{background:var(--rosso-chiaro);color:#a1123f}
/* contenuto */
main{flex:1;width:100%;max-width:1300px;margin:0 auto;padding:30px;display:flex;flex-direction:column;gap:22px}
main.stretto{max-width:1080px}
.testata h1{font-size:26px;font-weight:500;margin:0}
.briciole{font-size:13px;color:var(--grigio);margin-top:4px}
.briciole span{color:var(--tenue);margin:0 6px}
h2{font-size:18px;font-weight:600;margin:0}
h2 small{font-weight:500;color:var(--tenue);font-size:13px}
.sotto-titolo{font-size:13px;color:var(--tenue);margin-top:2px}
.box{background:var(--carta);border-radius:6px;padding:26px 30px}
.box.testa{padding:0}
.box .intesta{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 30px;border-bottom:1px solid var(--linea);font-weight:600;font-size:13px;text-transform:uppercase}
.riga{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:flex-end}
label.campo{display:flex;flex-direction:column;gap:8px;font-weight:500;font-size:14px;flex:1 1 240px}
input[type=text],input[type=email],input[type=password],input[type=number],select{font:inherit;font-size:14px;padding:12px 14px;border:1px solid transparent;border-radius:6px;background:var(--campo);color:var(--testo);min-width:0}
input:focus,select:focus{background:#eef3f7;outline:none;border-color:#b5d9f5}
input.forte{font-size:15px}
input[type=file]{font:inherit;font-size:13px;max-width:100%;padding:9px;background:var(--campo);border-radius:6px}
input[type=checkbox]{width:20px;height:20px;accent-color:var(--azzurro)}
button,.btn{font:inherit;font-size:14px;font-weight:600;min-height:44px;padding:0 20px;border-radius:6px;border:none;background:var(--azzurro-chiaro);color:var(--azzurro);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}
button:hover,.btn:hover{background:#dff2ff;color:#0077c2}
button.pieno,.btn.pieno{background:var(--azzurro);color:#fff}
button.pieno:hover,.btn.pieno:hover{background:#0095e8}
button.piccolo,.btn.piccolo{min-height:34px;padding:0 12px;font-size:13px}
button.pericolo{background:var(--rosso-chiaro);color:var(--rosso)}
button.grigio,.btn.grigio{background:#eff2f5;color:#3f4254}
button:disabled{background:#eff2f5;color:var(--tenue);cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7cc8f8;outline-offset:2px}
.nota{font-size:13px;color:var(--tenue)}
.esito{padding:13px 18px;border-radius:6px;background:var(--verde-chiaro);color:#1e7d4f;font-weight:500}
.esito.err{background:var(--rosso-chiaro);color:#c11c4a}
.etichetta{display:inline-block;font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;background:var(--azzurro-chiaro);color:var(--azzurro);white-space:nowrap}
.etichetta.verde{background:var(--verde-chiaro);color:#1e9b5a}
.etichetta.giallo{background:var(--giallo-chiaro);color:var(--giallo)}
.etichetta.rosso{background:var(--rosso-chiaro);color:var(--rosso)}
.etichetta.grigio{background:#f5f8fa;color:var(--grigio)}
.chip{display:inline-block;font-size:12px;font-weight:600;color:var(--azzurro);background:var(--azzurro-chiaro);border-radius:6px;padding:4px 10px}
.filtri{display:flex;gap:8px;flex-wrap:wrap}
.filtri a{padding:8px 14px;border-radius:6px;background:var(--carta);color:var(--grigio);font-weight:500;font-size:13px}
.filtri a.on{background:var(--azzurro);color:#fff}
/* tabelle come in «Arbitraggi» */
.tab{overflow-x:auto;padding:0 30px 12px}
table{width:100%;border-collapse:collapse;min-width:980px}
th{text-align:left;padding:16px 10px;font-size:12px;font-weight:500;color:var(--tenue);border-bottom:1px solid var(--linea);white-space:nowrap}
td{padding:14px 10px;border-bottom:1px dashed var(--linea);vertical-align:middle;font-size:13px}
th:first-child,td:first-child{padding-left:0}
th:last-child,td:last-child{padding-right:0}
td .sotto{font-size:12px;color:var(--grigio)}
.partita{display:flex;gap:12px;align-items:center}
.barretta{width:4px;align-self:stretch;min-height:40px;border-radius:2px;background:var(--verde);flex:none}
.barretta.giallo{background:#ffc700}
.barretta.rosso{background:var(--rosso)}
.barretta.grigio{background:#d8dce5}
.partita .nomi{font-weight:600;text-transform:uppercase;font-size:13px}
.partita .det{font-size:12px;color:var(--grigio)}
.stati{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.warn{color:var(--rosso);font-weight:600}
.mono{font-family:ui-monospace,Consolas,monospace;letter-spacing:2px}
.azioni{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.azioni form{display:inline-flex;gap:6px;align-items:center;margin:0}
details summary{cursor:pointer;color:var(--azzurro);font-size:13px;font-weight:500}
details[open] summary{margin-bottom:6px}
/* scheda profilo + voci (come la home del comitato) */
.griglia-profilo{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:30px;align-items:start}
@media (max-width:820px){.griglia-profilo{grid-template-columns:1fr}}
.profilo{background:var(--carta);border-radius:6px;padding:34px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.profilo .iniziali{width:80px;height:80px;border-radius:50%;background:var(--campo);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:500;color:#3f4254}
.profilo .nome{font-size:16px;font-weight:500}
.profilo dl{width:100%;margin:10px 0 0;padding-top:14px;border-top:1px solid var(--linea);text-align:left;display:flex;flex-direction:column;gap:10px}
.profilo dt{font-weight:500;font-size:13px}
.profilo dd{margin:0;font-size:12px;color:var(--tenue);word-break:break-word}
.voci{display:flex;flex-direction:column}
.voce{display:flex;align-items:center;gap:12px;padding:10px 0;color:inherit}
.voce .testo{flex:1;display:flex;flex-direction:column;gap:2px}
.voce .testo b{font-weight:500;font-size:14px;color:var(--testo)}
.voce .testo span{font-size:12px;color:var(--tenue)}
.voce .freccia{width:24px;height:24px;border-radius:6px;background:#c7e8fd;color:var(--azzurro);display:flex;align-items:center;justify-content:center;font-weight:700}
.voce:hover .testo b{color:var(--azzurro)}
.contatore{background:var(--rosso);color:#fff;font-size:11px;font-weight:600;border-radius:50%;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:0 5px}
/* gare della società */
.gara{background:var(--carta);border-radius:6px;padding:18px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.gara .chi{flex:1 1 340px;display:flex;flex-direction:column;gap:4px}
.gara form.pin{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.gara input.pin{width:140px;font-size:18px;font-weight:600;letter-spacing:4px;text-align:center}
.sez{font-size:12px;font-weight:600;color:var(--grigio);margin:6px 0 0}
/* accesso */
.accesso{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:70px 20px}
.accesso label.campo,.box label.campo{flex:0 0 auto}
.riga label.campo{flex:1 1 240px}
.accesso form{background:var(--carta);border-radius:6px;width:100%;max-width:550px;padding:50px clamp(24px,8vw,104px);display:flex;flex-direction:column;gap:20px}
.accesso .titolo{text-align:center;display:flex;flex-direction:column;gap:8px}
.accesso .titolo b{font-size:22px;font-weight:600}
.accesso .titolo span{font-size:15px;color:var(--tenue)}
.tratteggiati{display:flex;gap:14px;flex-wrap:wrap;border-top:1px solid var(--linea);padding-top:12px}
.tratteggiati a{flex:1 1 140px;border:1px dashed var(--azzurro);border-radius:6px;padding:12px 16px;display:flex;flex-direction:column;gap:2px;font-size:15px;font-weight:500}
.tratteggiati a span{font-size:12px;color:var(--tenue);font-weight:400}
.tratteggiati a.viola{border-color:var(--viola);color:var(--viola)}
footer.piede{background:#f5f8fa;padding:18px 30px;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;font-size:12px;color:var(--grigio);text-transform:uppercase}
footer.piede a{color:var(--grigio)}
/* ---- uispge-referto-1: pagine di Genova (anagrafica, nuova gara, presenti) ---- */
input[type=date],input[type=time],textarea{font:inherit;font-size:14px;padding:12px 14px;border:1px solid transparent;border-radius:6px;background:var(--campo);color:var(--testo);min-width:0}
textarea{resize:vertical}
input[type=radio]{width:18px;height:18px;accent-color:var(--azzurro)}
.griglia-campi{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;align-items:start}
.griglia-campi input:not([type=radio]):not([type=checkbox]),.griglia-campi select{width:100%}
.griglia-campi.quattro{grid-template-columns:repeat(4,minmax(0,1fr))}
.griglia-campi.arbitri{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,2fr) minmax(0,1fr)}
@media (max-width:820px){.griglia-campi.quattro{grid-template-columns:repeat(2,minmax(0,1fr))}.griglia-campi.arbitri{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}
.due-colonne select{width:100%}
.due-colonne{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:22px}
@media (max-width:900px){.due-colonne{grid-template-columns:1fr}}
.scelta{display:flex;gap:8px;flex-wrap:wrap}
.scelta label{display:flex;align-items:center;gap:8px;padding:11px 16px;border-radius:6px;background:var(--campo);font-size:14px;font-weight:500;cursor:pointer}
.riquadro{font-size:13px;color:var(--grigio);background:var(--campo);border-radius:6px;padding:12px 14px}
/* anagrafica */
.griglia-squadre{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:22px;align-items:start}
@media (max-width:900px){.griglia-squadre{grid-template-columns:1fr}}
.elenco-squadre{display:flex;flex-direction:column;padding:8px 24px 14px}
.elenco-squadre a{display:flex;gap:12px;align-items:center;padding:10px 12px;margin:0 -12px;color:inherit;border-radius:6px}
.elenco-squadre a + a{border-top:1px dashed var(--linea)}
.elenco-squadre a.on{background:var(--azzurro-chiaro)}
.elenco-squadre a.on b{color:var(--azzurro)}
.elenco-squadre b{display:block;font-size:13px;font-weight:600;text-transform:uppercase}
.elenco-squadre span span{font-size:12px;color:var(--grigio)}
.elenco-squadre .barretta{min-height:38px}
.giallo-testo{color:var(--giallo)!important}
td input[type=text]{font:inherit;font-size:13px;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:var(--campo);color:var(--testo)}
td input.num{width:52px;text-align:center;font-weight:600}
td input.num.diverso{background:var(--giallo-chiaro);color:var(--giallo)}
td input.num.errato{background:var(--rosso-chiaro);color:var(--rosso)}
/* presenti */
table.presenti td{padding:8px 8px}
table.presenti tr.via td{color:var(--tenue)}
table.presenti .avviso{margin-left:6px}
.staff-riga{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--linea);font-size:13px}
.staff-riga b{font-weight:500;width:170px;flex:none}
.staff-riga input[type=text]{flex:1;font:inherit;font-size:13px;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:var(--campo);color:var(--testo);min-width:0}
/* rapporto arbitrale */
.passi a{cursor:pointer}
.corpo-rapporto{padding:6px 30px 22px}
.voce-r{padding:14px 0;border-bottom:1px dashed var(--linea)}
.voce-r .tit{display:flex;gap:10px;align-items:baseline;font-weight:500;font-size:14px;margin-bottom:8px}
.voce-r .n{display:inline-flex;min-width:26px;height:26px;border-radius:6px;background:var(--azzurro-chiaro);color:var(--azzurro);font-size:12px;font-weight:600;align-items:center;justify-content:center;flex:none}
.voce-r .lati{display:flex;flex-direction:column;gap:6px;margin-left:36px}
.voce-r .lato{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.voce-r .sg{width:74px;font-size:12px;font-weight:500;color:var(--grigio);flex:none}
.caselle{display:inline-flex;flex-wrap:wrap;gap:6px}
.ch{font:inherit;font-size:13px;font-weight:500;min-height:38px;padding:0 14px;border-radius:6px;border:none;background:var(--campo);color:var(--grigio);cursor:pointer}
.ch:hover{background:#eef3f7;color:var(--testo)}
.ch.on,.ch.on:hover{background:var(--azzurro);color:#fff}
fieldset[disabled] .ch{cursor:default}
textarea:disabled{opacity:.55;cursor:not-allowed}
