/* Portale rimborsi: segue lo SPELL Design System (CIB D.7.05 Rev. 8). Valori presi da tokens.css del design system. */
:root{
  --spell-blue:#3f619a;--spell-orange:#f3a842;--sky:#8fafd3;--sand:#e4cda7;--ink:#2e2e2e;--paper:#ffffff;--ink-muted:#5c5c5c;
  --navy:#2c4470;--coral:#f8723c;--butter:#ffd88a;--cream:#f2e6d0;
  --space-2:8px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:4px;--radius-md:8px;--radius-full:9999px;
  --font-sans:Tahoma,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/24px var(--font-sans)}
/* barra in alto: bianca (il logo poggia sempre su bianco); il marchio si vede per intero nelle pagine di ingresso e nella prima pagina */
.barra{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-bottom:2px solid var(--spell-blue);background:var(--paper)}
.barra b{color:var(--spell-blue);font-size:18px}
.barra a,.barra button{color:var(--spell-blue);font:400 14px var(--font-sans);background:none;border:0;cursor:pointer;text-decoration:underline;padding:6px}
main{max-width:640px;margin:0 auto;padding:var(--space-4)}
.logo{width:fit-content;margin:var(--space-4) auto;padding:15px;background:var(--paper)}  /* area di rispetto: raggio/4 = 15px a 120px */
.logo img{display:block;width:120px;height:120px}
h1{font:700 26px/32px var(--font-sans);color:var(--spell-blue);margin:var(--space-2) 0 var(--space-4)}
h2{font:700 18px/24px var(--font-sans);color:var(--spell-blue);margin:var(--space-6) 0 var(--space-2)}
a{color:var(--spell-blue)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.btn{display:block;width:100%;padding:14px var(--space-4);border:2px solid var(--spell-blue);border-radius:var(--radius-md);background:var(--spell-blue);color:var(--paper);font:700 17px/24px var(--font-sans);text-align:center;text-decoration:none;cursor:pointer}
.btn.arancio{background:var(--spell-orange);border-color:var(--spell-orange);color:var(--ink)}  /* sull'arancio il testo e' sempre scuro */
.btn.secondario{background:var(--paper);color:var(--spell-blue)}
.btn.discreto{background:var(--paper);color:var(--ink);border-color:var(--ink-muted);font-weight:400;font-size:15px;padding:10px}
.scheda{display:block;background:var(--cream);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-2) 0;color:var(--ink);text-decoration:none}
a.scheda:hover{background:var(--sand)}
.scheda b{font-size:18px}
.nota{color:var(--ink-muted);font-size:14px;line-height:20px}
.tag{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font:700 12px/18px var(--font-sans);color:var(--ink);margin-top:4px}
.tag.manca{background:var(--butter)}.tag.correggere{background:var(--coral)}.tag.ok{background:var(--sky)}.tag.neutro{background:var(--sand)}
label{display:block;font-weight:700;margin:var(--space-4) 0 4px;font-size:15px;color:var(--ink)}
input,select,textarea{width:100%;padding:12px;border:2px solid var(--spell-blue);border-radius:var(--radius-md);font:400 16px/22px var(--font-sans);background:var(--paper);color:var(--ink)}
input[type=checkbox]{width:22px;height:22px;vertical-align:middle;margin-right:8px}
input[type=file]{padding:10px;border-style:dashed}
.messaggi{list-style:none;padding:0;margin:0 0 var(--space-2)}
.messaggi li{padding:12px var(--space-4);border-radius:var(--radius-md);margin:6px 0;background:var(--sky);color:var(--ink)}
.messaggi .warning,.messaggi .error{background:var(--butter)}
.errorlist{list-style:none;margin:6px 0;padding:6px 10px;background:var(--butter);color:var(--ink);border-radius:var(--radius-sm);font-size:14px}
.totale{font:700 20px/28px var(--font-sans);text-align:right;margin:var(--space-4) 0;color:var(--spell-blue)}
details summary{cursor:pointer;color:var(--spell-blue);font-weight:700;padding:8px 0}
.vuoto{background:var(--cream);border-radius:var(--radius-md);padding:var(--space-4);color:var(--ink)}
/* pannello dell'amministrazione: pagina larga con tabelle (da tablet o PC) */
main.largo{max-width:1100px}
.filtri{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:flex-end;background:var(--cream);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}
.filtri label{margin:0 0 4px}.filtri div{flex:1 1 160px}
.filtri input,.filtri select{padding:8px}
.azioni{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-4) 0}
.azioni .btn{width:auto;display:inline-block;padding:10px var(--space-4);font-size:15px}
.tabella{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px;line-height:20px}
th{text-align:left;color:var(--spell-blue);border-bottom:2px solid var(--spell-blue);padding:8px 6px;white-space:nowrap}
td{border-bottom:1px solid var(--sand);padding:8px 6px;vertical-align:top}
td.num,th.num{text-align:right;white-space:nowrap}
tr.cliccabile:hover td{background:var(--cream)}
tfoot td{font-weight:700;border-bottom:0}
.giustificativi{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}
.giustificativi .scheda{margin:0}
.giustificativi img{display:block;width:100%;max-height:340px;object-fit:contain;background:var(--paper);border-radius:var(--radius-sm);margin-bottom:var(--space-2)}
