:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#193445;background:#f5f7f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{height:76px;background:white;border-bottom:1px solid #e0e6e9;display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.brand{font-size:25px;font-weight:850;letter-spacing:-1px}.brand span{font-size:12px;letter-spacing:2px;font-weight:600;color:#7a8b96;margin-left:12px}.locale{font-size:13px;color:#536b77}.locale i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#248b77;margin-right:8px}main{max-width:1390px;margin:0 auto;padding:40px 42px}.titolo{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#63808b;margin:0 0 10px}h1{font-size:36px;letter-spacing:-1.2px;margin:0 0 10px;font-weight:700}.intro{color:#607785;margin:0 0 25px}.avvertenza{background:#fff4dc;border:1px solid #ecd5a5;color:#745822;padding:15px 18px;border-radius:8px;font-size:13px;margin-bottom:22px}#messaggio{position:sticky;top:12px;z-index:2;border:1px solid #b4d7c9;background:#edf8f1;color:#205346;border-radius:8px;padding:16px 20px;white-space:pre-line;box-shadow:0 3px 12px #1734470d;margin:12px 0}#messaggio.errore{background:#fff1ee;border-color:#edb5a7;color:#8b3926}.indicatori{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #e1e7ea;border-radius:12px;margin-bottom:26px;padding:22px 0}.indicatori div{padding:0 26px;border-right:1px solid #e8edef}.indicatori div:last-child{border:0}.indicatori span{display:block;font-size:12px;color:#647985}.indicatori strong{display:block;font-size:29px;font-weight:650;margin-top:8px}.periodo{display:flex;align-items:center;gap:16px;margin-bottom:20px}.periodo label{margin:0;font-weight:650}.periodo input{width:180px}.periodo span{font-size:12px;color:#647985}.passaggi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.passaggi article{background:white;border:1px solid #e0e7ea;border-radius:12px;padding:25px;display:flex;flex-direction:column}.numero{color:#648e92;font-weight:700;font-size:12px;letter-spacing:1px;margin-bottom:17px}h2{font-size:19px;margin:0 0 12px;letter-spacing:-.3px}p{font-size:14px;line-height:1.6}.passaggi p{color:#607581;min-height:68px;margin:0 0 18px}.passaggi small{font-size:12px;color:#71838c;line-height:1.6;display:block;margin-top:16px}.passaggi label{font-size:12px}label{font-size:13px;display:block;margin:0 0 8px}input,textarea{width:100%;font:inherit;background:#fff;border:1px solid #cfdbe0;border-radius:6px;padding:10px 12px;color:inherit}input[type=file]{font-size:12px;padding:9px 7px;margin-bottom:16px;min-height:42px}input::file-selector-button{background:#edf3f5;border:0;color:#315365;padding:5px 8px;border-radius:3px;margin-right:8px}button,.bottone{font:inherit;font-size:13px;font-weight:650;background:#176d65;color:white;border:1px solid #176d65;border-radius:6px;padding:12px 16px;cursor:pointer;text-align:center;text-decoration:none}button:hover,.bottone:hover{background:#12594f;color:white}button:disabled{opacity:.5;cursor:wait}button.secondario{background:white;color:#315365;border-color:#c8d5da}button.secondario:hover{background:#eaf0f3}.passaggi a{display:block;text-align:center;margin-top:15px;font-size:12px;color:#176d65;font-weight:600;text-decoration:none}.testo{border:0;background:transparent;color:#176d65;padding:0;margin-top:15px;font-size:12px}.testo:hover{background:transparent;color:#104e48}.spazio{min-height:83px;display:flex;align-items:center}.spazio p{font-size:12px;min-height:unset;background:#f4f7f8;padding:12px;border-radius:6px;margin:0 0 16px;width:100%}.registro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:40px}.registro h2{font-size:23px;margin:0}.registro p{font-size:12px;color:#697f8b;margin:8px 0 0}.azioni{display:flex;gap:10px}.filtri{margin:24px 0 14px;max-width:380px}.filtri label{font-size:12px}.tabella{overflow-x:auto;border:1px solid #e0e7ea;border-radius:8px;background:white}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th{padding:13px 18px;background:#edf2f4;font-size:11px;font-weight:650;color:#526c7c;white-space:nowrap}td{padding:15px 18px;border-bottom:1px solid #edf1f3;vertical-align:top}tr:last-child td{border-bottom:0}.punti{font-weight:750;color:#176d65;font-size:16px}.vuoto{padding:32px;text-align:center;color:#7d8e98}.muted{color:#778b98}details{margin-top:20px;border:1px solid #dce5e9;border-radius:8px;background:white;padding:18px 22px}summary{font-size:14px;font-weight:600;cursor:pointer}details .tabella{margin-top:18px}details p{color:#607581}textarea{font-family:ui-monospace,monospace;font-size:12px;line-height:1.6;resize:vertical;margin-bottom:15px}footer{display:flex;justify-content:space-between;gap:30px;margin-top:34px;font-size:11px;line-height:1.6;color:#82929b}footer span:last-child{overflow-wrap:anywhere}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #7bb7c4;outline-offset:3px}[hidden]{display:none!important}@media(max-width:950px){main{padding:28px 22px}.passaggi{grid-template-columns:1fr}.passaggi p{min-height:unset}.registro{align-items:flex-start;flex-direction:column}.indicatori div{padding:0 14px}.titolo{align-items:flex-start}h1{font-size:29px}}@media(max-width:550px){.indicatori{grid-template-columns:1fr 1fr;gap:20px}.periodo{flex-wrap:wrap}.titolo{flex-direction:column;margin-bottom:22px}.azioni{flex-wrap:wrap}footer{flex-direction:column}}

.punti.negativo{color:#a13727}
select{width:100%;font:inherit;color:inherit;background:white;padding:10px 12px;border:1px solid #cfdbe0;border-radius:6px}
.passaggi input,.passaggi select{margin-bottom:14px}.passaggi button+label{margin-top:18px}
.domanda,.scheda-note{background:white;border:1px solid #dce5e9;border-radius:10px;padding:22px;margin:24px 0}
.domanda legend{font-size:18px;font-weight:700;padding:0 8px}.domanda>p{margin-top:0;color:#526c7c}
.livelli{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.livello{display:flex;align-items:flex-start;gap:12px;border:1px solid #dce5e9;border-radius:8px;padding:16px;margin:0;cursor:pointer}
.livello:has(input:checked){border-color:#176d65;background:#edf8f1;box-shadow:0 0 0 1px #176d65}
.livello input{width:auto;flex:none;margin-top:4px;accent-color:#176d65}.livello strong,.livello span span{display:block;line-height:1.5}.livello strong{margin-bottom:6px}
.malus-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.scheda-note input{margin-bottom:18px}.scheda-note textarea{font-family:inherit;font-size:14px}
#salvataggio{color:#526c7c;font-size:13px}#risultato-scheda{font-size:16px;font-weight:650}#importazione{margin-top:30px}#importazione>button{margin-top:16px}
.navigazione-fondo{align-items:center}.navigazione-fondo a{color:#176d65}.tabella td{white-space:pre-line;min-width:100px}.tabella td:last-child{min-width:230px;max-width:440px;overflow-wrap:anywhere}
select:focus-visible{outline:3px solid #7bb7c4;outline-offset:3px}
@media(max-width:700px){.livelli,.malus-grid{grid-template-columns:1fr}.registro .azioni{flex-wrap:wrap}.domanda,.scheda-note{padding:16px}}

/* DNA / People visual polish */
:root{color:#17313b;background:#f3f6f5}
header{height:82px;border-bottom:1px solid #dce6e3;box-shadow:0 2px 16px #12352a08}
.brand{display:flex;align-items:baseline;gap:10px;font-size:27px;color:#123f39;letter-spacing:-1.4px}
.brand span{font-size:20px;letter-spacing:-.6px;font-weight:500;color:#44766d;margin:0}
main{padding-top:50px}
.titolo{align-items:flex-end;margin-bottom:34px}
.titolo .eyebrow{color:#21756b}
h1{font-size:clamp(32px,3.5vw,48px);line-height:1.08;letter-spacing:-2px}
.intro{font-size:15px;margin:14px 0 0;max-width:630px}
.passaggi article{border-color:#d9e5e1;border-radius:16px;box-shadow:0 8px 28px #23483e0a;padding:27px;transition:box-shadow .18s ease,transform .18s ease}
.passaggi article:hover{box-shadow:0 13px 34px #23483e14;transform:translateY(-2px)}
.numero{font-size:21px;letter-spacing:-.7px;color:#176d65;margin-bottom:22px}
.numero span{font-size:10px;font-weight:750;letter-spacing:1.6px;color:#7c9890;vertical-align:middle;margin-left:4px}
.passaggi h2{font-size:20px}
.passaggi p{min-height:72px}
button,.bottone{transition:background .15s ease,box-shadow .15s ease,transform .15s ease}
button:not(:disabled):hover{box-shadow:0 4px 12px #164d4120}
button:not(:disabled):active{transform:translateY(1px)}
input,select,textarea{border-color:#cadbd5;border-radius:8px}
input:focus,select:focus,textarea:focus{border-color:#25877a}
.passaggi a{text-decoration:underline;text-underline-offset:3px}
#riepilogo{margin-top:38px}
.registro{padding:24px 0 14px;border-top:1px solid #dbe5e2}
.tabella{border-color:#dbe5e2;border-radius:12px}
th{background:#eaf1ee;color:#48655d}
tbody tr:hover{background:#f8fbf9}
details{border-color:#dbe5e2;border-radius:12px}
footer{border-top:1px solid #dbe5e2;padding-top:20px}
@media(max-width:950px){main{padding-top:32px}.passaggi p{min-height:unset}.passaggi article:hover{transform:none}}
@media(max-width:550px){header{padding:0 22px}.brand{font-size:23px}.brand span{font-size:17px}.locale{font-size:11px}.titolo{align-items:flex-start}.titolo #backup{width:100%}.passaggi article{padding:21px}}

/* Hosted login and operator administration. */
.accesso { max-width: 520px; margin: 8vh auto; padding: 28px; }
.accesso input, #gestione-utenti input, #gestione-utenti select { display: block; width: 100%; margin: 8px 0 20px; }
#gestione-utenti form { max-width: 600px; margin: 24px 0; }
[hidden] { display: none !important; }
