
:root{
  --ink:#0B1F2E; --ink2:#3A5566; --ink3:#78909A;
  --paper:#F2F4F3; --card:#FFFFFF; --rule:#D8DEDC;
  --soglia:#A32E23; --sicuro:#12796A; --ottone:#B0561A; --azzurro:#1E6C8C;
  --oro:#C09A3E; --oro-scuro:#8A6B22;
  --s:8px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:"Public Sans",system-ui,sans-serif;
  font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}
h1,h2,h3{font-family:"Newsreader",Georgia,serif;font-weight:400;letter-spacing:-.01em;line-height:1.15}
button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}
button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--azzurro);outline-offset:3px}

.wrap{max-width:920px;margin:0 auto;padding:0 20px}

/* ---------- intestazione con la soglia ---------- */
header{background:var(--ink);color:#E9EEEC;padding:18px 0 0;position:sticky;top:0;z-index:20}
.hd{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{font-family:"Public Sans";font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:#8FA8AC;font-weight:600}
.hd .stato{font-size:12px;color:#8FA8AC}
.hd-dx{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.modocorr{font-size:10px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;
  padding:3px 9px;border-radius:20px;border:1px solid transparent}
.modocorr.programma{color:#3FBF9B;background:rgba(63,191,155,.12);border-color:rgba(63,191,155,.35)}
.modocorr.libero{color:#DDA85C;background:rgba(221,168,92,.12);border-color:rgba(221,168,92,.35)}
.modocorr:empty{display:none}

/* la soglia: strumento di misura 0-50 con la linea a 30 */
.soglia{margin:14px 0 0;padding-bottom:16px}
.scale{position:relative;height:46px}
.track{position:absolute;left:0;right:0;top:20px;height:8px;background:#22434D;border-radius:1px}
.band{position:absolute;top:20px;height:8px;background:#3D6B74;border-radius:1px;transition:all .5s cubic-bezier(.2,.7,.3,1)}
.band.ok{background:#159C87}
.point{position:absolute;top:14px;width:2px;height:20px;background:#EAEFEA;transition:left .5s cubic-bezier(.2,.7,.3,1)}
.line{position:absolute;top:6px;bottom:8px;width:2px;background:var(--soglia)}
.line::after{content:"soglia 30";position:absolute;top:-2px;left:7px;font-size:10px;
  letter-spacing:.08em;text-transform:uppercase;color:#DE8F87;white-space:nowrap;font-weight:600}
.ticks{position:absolute;left:0;right:0;top:32px;height:12px}
.ticks span{position:absolute;top:0;width:1px;height:5px;background:#3C6069}
.ticks b{position:absolute;top:7px;transform:translateX(-50%);font-size:10px;color:#7A959B;font-weight:400}
.readout{display:flex;align-items:baseline;gap:10px;margin-top:2px}
.readout .n{font-family:"IBM Plex Mono";font-size:34px;font-weight:500;letter-spacing:-.02em}
.readout .lab{font-size:12px;color:#8FA8AC;max-width:520px}

/* ---------- struttura ---------- */
main{padding:26px 0 80px}
.card{background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:22px}
.card+.card{margin-top:14px}
.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);font-weight:600}

/* modalità */
.modi{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:12px;margin-top:14px}
.modo{background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:16px 16px 15px;
  text-align:left;transition:border-color .15s,transform .15s;display:block;width:100%}
.modo:hover{border-color:var(--ink2);transform:translateY(-1px)}
.modo:disabled{opacity:.45;cursor:not-allowed;transform:none}
.modo .t{font-family:"Newsreader";font-size:20px;margin-bottom:3px}
.modo .d{font-size:13px;color:var(--ink2);line-height:1.45}
.modo .m{font-size:11px;color:var(--ink3);margin-top:8px;letter-spacing:.04em}

/* domanda */
.qmeta{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--ink3);
  padding-bottom:12px;border-bottom:1px solid var(--rule);margin-bottom:18px;flex-wrap:wrap}
.qtext{font-size:21px;font-family:"Newsreader";font-size:22px;line-height:1.4;margin-bottom:20px}
.opt{display:block;width:100%;text-align:left;border:1px solid var(--rule);border-radius:3px;
  padding:13px 15px;margin-bottom:9px;background:var(--card);transition:border-color .12s,background .12s;
  font-size:15px;line-height:1.45;display:flex;gap:12px;align-items:flex-start}
.opt:hover:not(:disabled){border-color:var(--ink2);background:#FAFBF9}
.opt .k{font-family:"IBM Plex Mono";font-size:12px;color:var(--ink3);padding-top:2px;flex:0 0 auto}
.opt.giusta{border-color:var(--sicuro);background:#F0F7F4}
.opt.giusta .k{color:var(--sicuro)}
.opt.sbagliata{border-color:var(--soglia);background:#FBF2F1}
.opt.sbagliata .k{color:var(--soglia)}
.opt.sel{border-width:2px}
.opt:disabled{cursor:default}
.opt.segnata{border-color:var(--ottone);background:#FCF3EC}

/* tag di sicurezza */
.tag{margin:6px 0 4px}
.tag .q{font-size:13px;color:var(--ink2);margin-bottom:10px}
.tagbtn{display:inline-flex;gap:8px;flex-wrap:wrap}
.tagbtn button{border:1px solid var(--rule);border-radius:20px;padding:7px 15px;font-size:13px;background:var(--card)}
.tagbtn button:hover{border-color:var(--ink2)}

/* esito */
.esito{margin-top:18px;padding:16px 18px;border-radius:3px;border-left:3px solid}
.esito.ok{background:#F0F7F4;border-color:var(--sicuro)}
.esito.no{background:#FBF2F1;border-color:var(--soglia)}
.esito.att{background:#FCF3EC;border-color:var(--ottone)}
.esito h3{font-size:17px;margin-bottom:6px}
.esito p{font-size:14px;line-height:1.55;color:var(--ink2)}
.esito p+p{margin-top:8px}
.vuoto{font-size:13px;color:var(--ink3);font-style:italic;border:1px dashed var(--rule);
  padding:12px 14px;border-radius:3px;margin-top:12px;background:#FBFCFA}
.campo{margin-top:14px}
.campo label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.campo textarea{width:100%;border:1px solid var(--rule);border-radius:3px;padding:10px 12px;
  font:inherit;font-size:14px;resize:vertical;min-height:64px;background:var(--card);color:var(--ink)}
.campo .hint{font-size:12px;color:var(--ink3);margin-top:5px;font-style:italic}

.azioni{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.btn{background:var(--ink);color:#F3F5F2;border-radius:3px;padding:11px 22px;font-size:14px;font-weight:600}
.btn:hover{background:#0E252C}
.btn.sec{background:transparent;color:var(--ink);border:1px solid var(--rule)}
.btn.sec:hover{background:#EEF1EE}

/* statistica */
table{width:100%;border-collapse:collapse;font-size:14px;margin-top:6px}
th{text-align:left;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);
  font-weight:600;padding:8px 10px 8px 0;border-bottom:1px solid var(--rule)}
th.r,td.r{text-align:right;padding-right:0}
td{padding:11px 10px 11px 0;border-bottom:1px solid #EDF0EC;vertical-align:top}
tr:last-child td{border-bottom:none}
.bar{height:5px;background:#E6EAE5;border-radius:1px;margin-top:6px;overflow:hidden;max-width:200px}
.bar i{display:block;height:100%;background:var(--azzurro)}
.gain{font-family:"IBM Plex Mono";font-weight:600;color:var(--azzurro)}
.gain.z{color:var(--ink3);font-weight:400}

.griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:var(--rule);
  border:1px solid var(--rule);border-radius:3px;overflow:hidden;margin-top:14px}
.cellula{background:var(--card);padding:14px 16px}
.cellula .n{font-family:"IBM Plex Mono";font-size:26px;font-weight:500;display:block;line-height:1.1}
.cellula .l{font-size:11.5px;color:var(--ink3);margin-top:3px;display:block;line-height:1.35}
.cellula.a .n{color:var(--sicuro)} .cellula.b .n{color:var(--ottone)} .cellula.c .n{color:var(--soglia)}

.nota{font-size:13px;color:var(--ink2);line-height:1.55;margin-top:14px;padding-top:14px;border-top:1px solid var(--rule)}

/* la regola: sempre il primo campo visibile dopo l'esito, mai un dettaglio fra gli altri */
.regolabox{background:#FAFBF9;border-left:3px solid var(--oro-scuro);border-radius:0 3px 3px 0;
  padding:12px 15px 13px;margin-top:12px}
.regolalab{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  font-weight:700;color:var(--oro-scuro);margin-bottom:5px}
.regolatxt{font-family:"Newsreader";font-size:16.5px;line-height:1.45;color:var(--ink)}
.livbadge{display:inline-block;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;
  font-weight:700;color:var(--ink3);background:#EEF0ED;border:1px solid var(--rule);
  border-radius:2px;padding:1px 5px;margin-left:6px;vertical-align:middle}
.timer{font-family:"IBM Plex Mono";font-size:13px}
.timer.urg{color:var(--soglia);font-weight:600}
.prog{height:2px;background:#E6EAE5;margin:-22px -22px 20px;border-radius:3px 3px 0 0;overflow:hidden}
.prog i{display:block;height:100%;background:var(--ink2);transition:width .3s}

.modo.grande{padding:22px 20px}
.modo.grande .t{font-size:26px}
.modo.attiva{border-color:var(--ink);border-width:2px;background:#F7F9F6}
details summary::-webkit-details-marker{display:none}
details summary::before{content:"▸";display:inline-block;margin-right:8px;color:var(--ink3);transition:transform .15s}
details[open] summary::before{transform:rotate(90deg)}
details .esito{margin-top:12px}

.linkbtn{font-size:13px;color:var(--azzurro);border-bottom:1px solid #B9CBDC;padding-bottom:1px;font-weight:500}
.linkbtn:hover{border-color:var(--azzurro)}

/* blocco d'avvio: la scelta principale, in evidenza */
.avvio{background:var(--ink);border-radius:4px;padding:20px 22px 22px;color:#EAEFEA}
.eyebrow.chiaro{color:#8FA8AC}
.tre{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.scelta{background:#1D3C46;border:1px solid #2B535F;border-radius:3px;padding:18px 17px 16px;
  text-align:left;color:#EAEFEA;display:block;width:100%;transition:background .15s,border-color .15s,transform .15s}
.scelta:hover{background:#244B57;border-color:#159C87;transform:translateY(-1px)}
.scelta .t{font-family:"Newsreader";font-size:27px;display:block;margin-bottom:5px;line-height:1.1}
.scelta .d{font-size:13px;color:#B4C6C9;line-height:1.45;display:block}
.scelta .m{font-size:11px;color:#7E9BA1;margin-top:10px;display:block;letter-spacing:.04em}
@media(max-width:640px){.tre{grid-template-columns:1fr}.scelta .t{font-size:23px}}

.decid{margin:6px 0 14px;padding:12px 14px;background:#F7F9F6;border:1px solid var(--rule);border-radius:3px}
.decid .q{font-size:13.5px;color:var(--ink2);margin-bottom:10px}
.contro{margin-top:14px;padding:14px 16px;border-radius:3px;background:#F2F6FA;border-left:3px solid var(--azzurro)}
.contro b{font-family:"IBM Plex Mono";font-weight:600}

.passo{display:flex;align-items:center;gap:10px;margin:26px 0 12px}
.passo .num{width:22px;height:22px;border-radius:50%;background:var(--ink);color:#F3F5F2;
  font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:600;flex:0 0 auto}
.passo .lab{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);font-weight:600}
.btn:disabled{opacity:.4;cursor:not-allowed}
.btn:disabled:hover{background:var(--ink)}

.ada{font-family:"Public Sans";font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  color:var(--azzurro);background:#E8F0F8;border:1px solid #C9DCEC;border-radius:2px;padding:2px 6px;
  vertical-align:middle;margin-left:6px;position:relative;top:-2px}
.modo:disabled .ada{color:var(--ink3);background:#EEF0ED;border-color:var(--rule)}

/* istruzione dell'esclusione */
.decid .q.rosso{color:var(--soglia);font-weight:600}
.decid .q.rosso .poi{color:var(--ink2);font-weight:400}

/* opzioni in attesa di essere escluse: il cursore mostra cosa sta per succedere */
.opt.daescludere{cursor:crosshair}
.opt.daescludere:hover{border-color:var(--soglia);background:#FCF4F3}
.opt.daescludere:hover span:last-child{text-decoration:line-through;
  text-decoration-color:var(--soglia);text-decoration-thickness:2px;opacity:.6}
.opt.daescludere:hover .k{color:var(--soglia)}
.opt.daescludere:hover::after{content:"escludi";margin-left:auto;font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700;color:var(--soglia);align-self:center;flex:0 0 auto;padding-left:12px}
.opt.daescludere:focus-visible span:last-child{text-decoration:line-through;text-decoration-color:var(--soglia)}

/* dopo l'esclusione */
.opt.escluso{opacity:.5;border-style:dashed;border-color:var(--soglia)}
.opt.escluso span:last-child{text-decoration:line-through;text-decoration-color:var(--soglia);text-decoration-thickness:2px}
.opt.escluso .k{color:var(--soglia)}

/* pannello delle formulazioni */
.varianti{margin-top:16px;border:1px solid var(--rule);border-radius:3px;overflow:hidden;background:var(--card)}
.varianti.obbligo{border-color:var(--azzurro);box-shadow:0 0 0 3px #E8F0F8}
.vhead{display:flex;gap:13px;align-items:flex-start;padding:14px 16px;background:#F2F6FA;
  border-bottom:1px solid var(--rule);font-size:13.5px;line-height:1.5}
.varianti.obbligo .vhead{background:#E8F0F8}
.vconta{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--azzurro);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}
.varbox{padding:4px 16px 14px}
.vgruppo{padding:14px 0;border-bottom:1px solid #EDF0EC}
.vgruppo:last-child{border-bottom:none}
.vtesta{display:flex;gap:10px;align-items:center;margin-bottom:7px;flex-wrap:wrap}
.vm{font-size:11px;letter-spacing:.06em;color:var(--ink3)}
.vtag{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding:2px 7px;border-radius:2px}
.vtag.ok{color:var(--sicuro);background:#EAF4F0;border:1px solid #C4E0D6}
.vtag.med{color:var(--ottone);background:#FCF2EA;border:1px solid #EBD3C0}
.vtag.att{color:var(--soglia);background:#FBF0EF;border:1px solid #E8CFCC}
.vq{font-family:"Newsreader";font-size:16.5px;line-height:1.4;margin-bottom:9px}
.vlab{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);font-weight:600;display:block;margin-bottom:5px}
.vdiff{font-size:14px;line-height:1.55}
.agg{background:#DFF0E7;color:#155E48;border-radius:2px;padding:0 2px;font-weight:600}
.tolto{background:#FAE3E1;color:#8C2B24;border-radius:2px;padding:0 2px;text-decoration:line-through;
  text-decoration-thickness:1px;opacity:.85}
.vo{font-size:13.5px;padding:8px 11px;border:1px solid var(--rule);border-radius:3px;margin-bottom:6px;
  display:flex;gap:9px;background:var(--card);width:100%;text-align:left;line-height:1.4}
.vo:hover:not(:disabled){border-color:var(--ink2)}
.vo .k{font-family:"IBM Plex Mono";font-size:11px;color:var(--ink3);padding-top:2px}
.vo.giusta{border-color:var(--sicuro);background:#F0F7F4}
.vo.sbagliata{border-color:var(--soglia);background:#FBF2F1}
.esitovar{font-size:13px;margin-top:6px;padding:8px 11px;border-radius:3px}
.esitovar.ok{background:#F0F7F4;color:#155E48}
.esitovar.no{background:#FCF3EC;color:#8A4413}

/* provenienza del quesito, in evidenza */
.vfonte{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.vfonte .sigla{font-size:10px;letter-spacing:.14em;font-weight:700;color:#fff;background:var(--ink);
  padding:3px 7px;border-radius:2px}
.vfonte .num{font-size:12.5px;color:var(--ink2);font-weight:500;letter-spacing:.02em}
.vconf{background:#FAFBF9;border:1px solid var(--rule);border-radius:3px;padding:11px 13px;margin-top:9px}
.vconf .vtesta{justify-content:space-between;margin-bottom:7px}
.vdopo{margin-top:4px}
.salta{display:block;margin-top:8px;font-size:12.5px}

/* archivio */
.blocco{border:1px solid var(--rule);transition:border-color .15s,transform .15s;cursor:pointer}
.blocco:hover{border-color:var(--azzurro);transform:translateY(-1px)}
.filtri{display:flex;gap:8px;align-items:center;margin:20px 0 4px;flex-wrap:wrap}
.fbtn{border:1px solid var(--rule);border-radius:20px;padding:6px 14px;font-size:13px;background:var(--card)}
.fbtn:hover{border-color:var(--ink2)}
.fbtn.on{background:var(--ink);color:#F3F5F2;border-color:var(--ink)}
.arch{margin-top:10px;border-top:1px solid var(--rule)}
.ariga{display:flex;gap:14px;align-items:center;width:100%;text-align:left;padding:12px 4px;
  border-bottom:1px solid #EDF0EC;transition:background .12s}
.ariga:hover{background:#F7F9F6}
.apos{flex:0 0 30px;font-size:12px;color:var(--ink3);text-align:right}
.acorpo{flex:1 1 auto;min-width:0}
.atesto{display:block;font-size:14px;line-height:1.45;color:var(--ink)}
.ameta{display:block;font-size:11px;color:var(--ink3);margin-top:3px}
.aval{flex:0 0 78px;text-align:center}
.aval b{display:block;font-size:19px;line-height:1.1;color:var(--azzurro)}
.aval span{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}
.apunti{flex:0 0 62px;text-align:right;font-size:15px;color:var(--ink2)}
.apunti span{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}
.ariga.chiusa .atesto{color:var(--ink3)}
.ariga.chiusa .apos::after{content:"✓";color:var(--sicuro);margin-left:5px;font-weight:700}
@media(max-width:640px){.aval,.apunti{flex-basis:56px}.atesto{font-size:13px}}

.modo.ampia{grid-column:1/-1}
.numeri{display:block;margin-top:12px;padding-top:12px;border-top:1px solid var(--rule)}
.nr{display:inline-block;margin:0 18px 8px 0;font-size:11.5px;color:var(--ink3);letter-spacing:.02em}
.nr b{display:block;font-size:20px;color:var(--azzurro);line-height:1.2;font-weight:600}
.nrtesto{display:block;font-size:13px;color:var(--ink2);line-height:1.55;margin-top:4px}
.nresempio{display:block;font-size:13px;color:var(--ink2);line-height:1.55;margin-top:11px;
  padding:11px 13px;background:#F7F9F6;border-left:2px solid var(--azzurro);border-radius:0 3px 3px 0}

/* velo sulla lettura del quesito */
.velo{background:#F7F9F6;border:1px solid var(--rule);border-radius:3px;padding:16px 18px;margin-bottom:14px}
.velo p{font-size:13.5px;color:var(--ink2);line-height:1.55;margin-bottom:12px;max-width:600px}
.velo .btn{padding:9px 18px;font-size:13.5px}
/* scarto sul budget */
.scarto{font-family:"IBM Plex Mono";font-size:12.5px;font-weight:500}
.scarto.avanti{color:var(--sicuro)}
.scarto.indietro{color:var(--soglia)}

/* ---- scelte: chiare, uniformi, con lo stato visibile ---- */
.scelte{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;margin-bottom:6px}
.sc{display:flex;gap:13px;align-items:flex-start;text-align:left;width:100%;
  background:var(--card);border:1.5px solid var(--rule);border-radius:4px;padding:15px 16px;
  transition:border-color .12s,background .12s,box-shadow .12s}
.sc:hover:not(:disabled){border-color:var(--ink2);background:#FAFBF9}
.sc.on{border-color:var(--ink);background:#F4F7F4;box-shadow:0 0 0 3px rgba(22,50,59,.07)}
.sc:disabled{opacity:.45;cursor:not-allowed}
.segno{flex:0 0 auto;width:19px;height:19px;border-radius:50%;border:1.5px solid var(--ink3);
  margin-top:2px;position:relative;transition:all .12s}
.sc.on .segno{border-color:var(--ink);background:var(--ink)}
.sc.on .segno::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(43deg)}
.sctxt{flex:1 1 auto;min-width:0}
.sctxt b{display:block;font-size:16px;font-weight:600;margin-bottom:3px;line-height:1.3}
.sctxt>span{display:block;font-size:13px;color:var(--ink2);line-height:1.5}
.badge{display:inline-block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;
  color:var(--ink2);background:#EDF0EC;border:1px solid var(--rule);border-radius:2px;padding:2px 6px;
  vertical-align:middle;margin-left:5px;position:relative;top:-1px}
.sotto{font-size:12.5px;color:var(--ink3);margin:2px 0 0;max-width:660px}
.spiega{margin:12px 0 4px;padding:15px 17px;background:#F7F9F6;border:1px solid var(--rule);border-radius:4px}
.spiega .numeri{border-top:none;padding-top:0;margin-top:0}

/* ---- barra d'azione ---- */
.barra{display:flex;gap:10px;align-items:center;margin-top:26px;padding-top:18px;border-top:1px solid var(--rule)}
.btn.grosso{font-size:16px;padding:14px 30px;border-radius:4px}
.btn.grosso:disabled{opacity:.35}
@media(max-width:640px){.scelte{grid-template-columns:1fr}.barra{flex-direction:column-reverse;align-items:stretch}
  .btn.grosso{width:100%}}

@media(max-width:640px){.titolone h1{font-size:26px}.titolone h1 .ad2{font-size:16px}}

/* ---- identità TrenTutor ---- */

/* il 31: primo punto oltre la soglia */
.trentuno-mark{position:absolute;top:12px;bottom:14px;width:1px;background:#4A6B72;opacity:.5;transition:all .4s}
.trentuno-mark::after{content:"31";position:absolute;bottom:-14px;left:-6px;font-family:"IBM Plex Mono";
  font-size:9.5px;color:#5F8288;font-weight:500}
.trentuno-mark.acceso{background:#3FBF9B;opacity:1;box-shadow:0 0 8px rgba(63,191,155,.5)}
.trentuno-mark.acceso::after{color:#3FBF9B;font-weight:700}

/* ricerca nella norma */
.fontebox{margin-top:14px}
.fonterisult{border:1px solid var(--rule);border-radius:3px;padding:14px 16px;background:#FBFCFA}
.fguida{font-size:12.5px;color:var(--ink2);line-height:1.55;padding-bottom:11px;margin-bottom:11px;border-bottom:1px solid var(--rule)}
.fart{padding:10px 0;border-bottom:1px solid #EDF0EC}
.fart:last-of-type{border-bottom:none}
.ftesta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.frub{font-size:12.5px;color:var(--ink2);font-weight:600}
.fbest{font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--azzurro);
  background:#E4F0F5;border:1px solid #C3DEE8;border-radius:2px;padding:2px 6px}
.ftesto{font-size:13px;line-height:1.6;color:var(--ink2)}
.ftesto mark{background:#DCEEF5;color:var(--ink);padding:0 2px;border-radius:2px;font-weight:600}
.fnota{font-size:12px;color:var(--ink3);line-height:1.55;margin-top:11px;font-style:italic}

.vetrina{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin-top:14px}
.vcard{background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:13px 14px;text-align:left;
  transition:border-color .12s,transform .12s;display:block;width:100%}
.vcard:hover{border-color:var(--azzurro);transform:translateY(-1px)}
.vcard .vfonte{margin-bottom:7px}
.vtxt{display:block;font-size:13.5px;line-height:1.45;color:var(--ink)}
.vmat{display:block;font-size:10.5px;color:var(--ink3);margin-top:7px}

/* ---- marchio: TUN è il perno, appartiene a trentuno e a tuning ---- */


.fcerca{display:flex;gap:8px;margin:12px 0 10px}
.finput{flex:1 1 auto;border:1.5px solid var(--rule);border-radius:3px;padding:9px 12px;font:inherit;
  font-size:14px;background:var(--card);color:var(--ink)}
.finput:focus{outline:none;border-color:var(--azzurro)}
.fgo{padding:9px 18px;font-size:14px}
.fsugg{margin-bottom:12px}
.flab{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);
  font-weight:600;margin-bottom:7px}
.fchip{border:1px solid var(--rule);border-radius:20px;padding:4px 12px;font-size:12.5px;margin:0 6px 6px 0;
  background:var(--card);font-family:"IBM Plex Mono"}
.fchip:hover{border-color:var(--azzurro);color:var(--azzurro)}
.fhint{display:block;font-size:12px;color:var(--ink3);line-height:1.5;margin-top:5px;font-style:italic}
.fwarn{display:block;margin-top:7px;color:var(--soglia);font-weight:600;font-size:12.5px;line-height:1.5}

/* ---- marchio ---- */

/* ---- logo come da progetto: 31 sopra, nome sotto, su fondo notte ---- */
.targa{background:var(--ink);border-radius:5px;padding:34px 34px 30px;margin-bottom:22px;
  display:flex;align-items:center;gap:38px;flex-wrap:wrap}
.logo{flex:0 0 auto;text-align:center;line-height:1}
.logo31{font-family:"Chakra Petch","Public Sans",sans-serif;font-weight:700;font-size:62px;
  color:#DDE3E4;letter-spacing:.01em;line-height:.9}
.logonome{font-family:"Chakra Petch","Public Sans",sans-serif;font-weight:700;font-size:34px;
  letter-spacing:-.005em;margin-top:10px;white-space:nowrap}
.logonome .lat{color:#DDE3E4}
.logonome .oro{color:var(--oro)}
.targatxt{flex:1 1 300px;min-width:0;border-left:1px solid #22404F;padding-left:34px}
.targatxt .sub{font-family:"Newsreader";font-size:19px;font-style:italic;color:#B7C6CC;
  line-height:1.45;max-width:420px}
.targatxt .dati{font-family:"IBM Plex Mono";font-size:11.5px;color:#7A959F;margin-top:12px;letter-spacing:.02em}

/* marchio in barra: stesso carattere, 31 in evidenza */
.marchio{font-family:"Chakra Petch","Public Sans",sans-serif;font-size:17px;font-weight:700;
  letter-spacing:.005em;display:inline-flex;align-items:baseline;gap:9px}
.marchio .n31{font-family:"Chakra Petch",monospace;font-size:15px;color:#7A959F;font-weight:700}
.marchio .lat{color:#DDE3E4}
.marchio .oro{color:var(--oro)}

@media(max-width:640px){
  .targa{flex-direction:column;align-items:flex-start;gap:20px;padding:24px}
  .logo{text-align:left}
  .logo31{font-size:48px}.logonome{font-size:27px}
  .targatxt{border-left:none;border-top:1px solid #22404F;padding-left:0;padding-top:18px}
  .targatxt .sub{font-size:16px}}

/* ═══ il programma ═══ */
.prog-avvio{background:var(--ink);border-radius:5px;padding:26px 28px 28px;color:#E9EEEC;margin-bottom:16px}
.prog-avvio h2{font-family:"Newsreader";font-size:28px;font-weight:400;margin:8px 0 10px;color:#F2F5F3;line-height:1.2}
.prog-avvio p{font-size:14px;color:#AFC2C7;line-height:1.6;max-width:660px}
.pa-data{display:flex;gap:12px;align-items:flex-end;margin-top:20px;flex-wrap:wrap}
.pa-data label{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#7E9BA1;
  font-weight:600;margin-bottom:6px}
.pa-data input{border:1.5px solid #2B535F;background:#173540;color:#E9EEEC;border-radius:3px;
  padding:11px 13px;font:inherit;font-size:15px;font-family:"IBM Plex Mono"}
.pa-data input:focus{outline:none;border-color:var(--oro)}

.prog-testa{display:flex;gap:30px;background:var(--card);border:1px solid var(--rule);border-radius:5px;
  padding:20px 24px;margin-bottom:12px;flex-wrap:wrap}
.pt-sx{flex:1 1 300px;min-width:0}
.pt-pos{font-size:13px;color:var(--ink2);margin:6px 0 10px;letter-spacing:.02em}
.pt-barra{height:7px;background:#E6EAE5;border-radius:2px;overflow:hidden}
.pt-barra i{display:block;height:100%;background:var(--ink);transition:width .5s}
.pt-num{font-size:12.5px;color:var(--ink3);margin-top:8px}
.pt-num b{color:var(--ink)}
.pt-dx{flex:0 1 250px;border-left:1px solid var(--rule);padding-left:26px}
.cond-eti{font-family:"Newsreader";font-size:21px;color:var(--ink);display:block}
.cond-arco{height:7px;background:#E6EAE5;border-radius:2px;overflow:hidden;margin:9px 0 8px}
.cond-arco i{display:block;height:100%;background:linear-gradient(90deg,#8FA8AC,var(--oro));transition:width .5s}
.cond-nota{font-size:12.5px;color:var(--ink2);line-height:1.5}

.attivita{display:block;width:100%;text-align:left;background:var(--card);border:2px solid var(--ink);
  border-radius:5px;padding:22px 24px;transition:transform .15s,box-shadow .15s}
.attivita:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(11,31,46,.10)}
.att-tipo{display:inline-block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;
  color:#fff;background:var(--ink);padding:3px 9px;border-radius:2px}
.att-tit{display:block;font-family:"Newsreader";font-size:31px;margin:11px 0 7px;line-height:1.15}
.att-perche{display:block;font-size:14px;color:var(--ink2);line-height:1.6;max-width:640px}
.att-piede{display:flex;justify-content:space-between;align-items:center;margin-top:18px;
  padding-top:14px;border-top:1px solid var(--rule);gap:12px;flex-wrap:wrap}
.att-piede .mono{font-size:12.5px;color:var(--ink3)}
.att-go{font-size:15px;font-weight:700;color:var(--oro-scuro)}

.ritmo{background:#F2F6FA;border-left:3px solid var(--azzurro);border-radius:0 4px 4px 0;
  padding:13px 16px;margin-top:12px;font-size:14px;line-height:1.6;color:var(--ink2)}
.ritmo b{color:var(--ink)}

@media(max-width:640px){
  .prog-testa{flex-direction:column;gap:18px}
  .pt-dx{border-left:none;border-top:1px solid var(--rule);padding-left:0;padding-top:16px}
  .att-tit{font-size:25px}
  .pa-data{flex-direction:column;align-items:stretch}}

/* percorso libero: intestazione e tasti in evidenza */
.libero{margin-top:38px;padding:26px 26px 28px;border:1px solid var(--rule);border-radius:5px;background:var(--card)}
.lb-testa{margin-bottom:18px}
.lb-tit{font-family:"Newsreader";font-size:27px;font-weight:400;color:var(--ink);line-height:1.15;margin-bottom:7px}
.lb-nota{display:block;font-size:13.5px;color:var(--ink2);max-width:700px;line-height:1.55}
.libero .tre{margin-top:0;gap:12px}
.libero .scelta{background:#F7F9F6;border:1.5px solid var(--rule);color:var(--ink);padding:20px 20px 18px;
  border-radius:4px}
.libero .scelta:hover{background:var(--card);border-color:var(--ink);transform:translateY(-2px);
  box-shadow:0 3px 12px rgba(11,31,46,.08)}
.libero .scelta .t{font-family:"Newsreader";font-size:25px;color:var(--ink);margin-bottom:6px;line-height:1.15}
.libero .scelta .d{color:var(--ink2);font-size:13.5px;line-height:1.5}
@media(max-width:640px){.libero{padding:20px}.lb-tit{font-size:23px}.libero .scelta .t{font-size:22px}}
.hidden{display:none!important}
@media(max-width:640px){
  .qtext{font-size:21px;font-size:19px}.readout .n{font-size:28px}.card{padding:17px}
  .modi{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}


/* ============================================================
   NUOVO — finestra sovrapposta, cornice, elenco, associazione
   ============================================================ */

/* la scelta del corsista deve vedersi: era il bug */
.opt.sel{border-width:2px;border-color:var(--ink);background:#EDF1F3}
.opt.sel .k{color:var(--ink);font-weight:600}

.grigio{color:var(--ink3)}
.prog{height:2px;background:var(--rule);margin:-22px -22px 16px;border-radius:2px 2px 0 0}
.prog i{display:block;height:100%;background:var(--azzurro);transition:width .3s}

/* ---------- finestra sovrapposta ---------- */
.velo-modale{position:fixed;inset:0;background:rgba(11,31,46,.55);z-index:60;
  display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow:auto}
.velo-modale.hidden{display:none}
.modale-box{background:var(--card);border-radius:4px;max-width:680px;width:100%;
  padding:26px 28px 22px;box-shadow:0 18px 50px rgba(11,31,46,.28);animation:sali .18s ease-out}
@keyframes sali{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}

.m-testa{margin:-26px -28px 18px;padding:12px 28px;border-bottom:1px solid var(--rule)}
.m-testa.ok{background:#F0F7F4;border-bottom-color:#BFE0D5}
.m-testa.ko{background:#FBF2F1;border-bottom-color:#E8C9C5}
.m-testa.cornice{background:#F3F6F9;border-bottom-color:#CFDCE5}
.m-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink2)}
.m-testa.ok .m-eyebrow{color:var(--sicuro)}
.m-testa.ko .m-eyebrow{color:var(--soglia)}
.m-testa.cornice .m-eyebrow{color:var(--azzurro)}

.m-giusta{border:1px solid var(--sicuro);background:#F0F7F4;border-radius:3px;
  padding:11px 14px;margin-bottom:16px;display:flex;gap:10px;align-items:flex-start}
.m-giusta .k{color:var(--sicuro);font-weight:700}
.m-lab{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--azzurro);
  font-weight:700;margin-bottom:5px}
.m-regola{font-size:15.5px;line-height:1.5;margin-bottom:16px}
.m-spirito{font-size:14.5px;line-height:1.55;color:var(--ink2);margin-bottom:20px}

.m-tit{font-size:24px;margin-bottom:6px}
.m-fonte-riga{font-size:12px;color:var(--ink3);margin-bottom:16px}
.m-corpo p{font-size:14.5px;line-height:1.6;margin-bottom:12px}
.rif{color:var(--ink3);font-size:12.5px}
.m-anc{list-style:none;margin-bottom:18px}
.m-anc li{padding:7px 0 7px 16px;border-left:2px solid var(--rule);margin-bottom:4px;
  font-size:14px;line-height:1.5}
.anc-q{color:var(--azzurro);font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}

.m-dom{font-family:"Newsreader";font-size:19px;line-height:1.4;margin:8px 0 16px}
.m-opz .opt{margin-bottom:8px}

.m-piede{display:flex;align-items:center;gap:14px;padding-top:16px;border-top:1px solid var(--rule)}
.m-fonte{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);
  border-bottom:1px dotted var(--ink3);padding-bottom:1px}
.m-fontebox{margin-top:12px;font-size:12.5px;color:var(--ink2);background:var(--paper);
  padding:10px 12px;border-radius:3px}

.btn{background:var(--ink);color:#fff;padding:10px 20px;border-radius:3px;font-size:14px;font-weight:600}
.btn:hover{background:var(--ink2)}
.btn.grande{padding:14px 26px;font-size:15px;margin-top:14px}

/* ---------- elenco raggruppato ---------- */
.el-intro,.as-intro{font-size:14px;color:var(--ink2);line-height:1.55;margin:10px 0 18px;max-width:640px}
.el-riga{display:flex;gap:18px;padding:16px 0;border-top:1px solid var(--rule)}
.el-testo{flex:1}
.el-r{font-size:14.5px;line-height:1.5;margin-bottom:12px}
.el-s{font-size:13.5px;line-height:1.55;color:var(--ink2);margin-bottom:8px}
.el-q{font-size:11.5px;color:var(--ink3);font-family:"IBM Plex Mono"}
.el-check{flex:0 0 auto;display:flex;align-items:flex-start;gap:7px;font-size:12.5px;
  color:var(--ink2);cursor:pointer;padding-top:2px;white-space:nowrap}
.el-check input{width:16px;height:16px;accent-color:var(--sicuro);cursor:pointer}

/* ---------- associazione ---------- */
.as-riga{display:grid;grid-template-columns:1.15fr .85fr;gap:0;border:1px solid var(--rule);
  border-radius:3px;overflow:hidden}
.as-sx{padding:18px}
.as-dx{padding:18px;background:#F7F9FA;border-left:1px solid var(--rule)}
.as-dom{font-family:"Newsreader";font-size:18px;line-height:1.4;margin-bottom:14px}
.as-sp{font-size:14px;line-height:1.6;color:var(--ink2)}
@media(max-width:760px){.as-riga{grid-template-columns:1fr}.as-dx{border-left:none;border-top:1px solid var(--rule)}}

/* ---------- fine sessione e home ---------- */
.fs-n{font-size:20px;margin:10px 0 6px}
.fs-n .mono{font-size:30px;font-weight:600}
.fs-d{font-size:13px;color:var(--ink3);margin-bottom:18px}
.fs-prox{border-top:1px solid var(--rule);padding-top:16px}
.h-tit{font-size:26px;margin:8px 0 8px}
.h-p{font-size:14.5px;color:var(--ink2);line-height:1.55;max-width:600px}
.h-gr{margin-top:10px}
.h-riga{display:flex;justify-content:space-between;gap:16px;padding:9px 0;
  border-top:1px solid var(--rule);font-size:13.5px}
.h-riga .mono{color:var(--ink3);font-size:12px;white-space:nowrap}


/* ============ HOME, METODO, ROADMAP ============ */
header{padding:0}
.hd{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{font-family:"Newsreader";font-size:19px;color:#E9EEEC;letter-spacing:.01em;font-weight:400}
.brand:hover{color:#fff}

.home{text-align:left}
.home .logo{font-family:"Newsreader";font-size:38px;margin-bottom:22px;letter-spacing:-.01em}
.ob p{font-size:16px;line-height:1.6;max-width:620px;color:var(--ink)}
.dataes{margin:26px 0 8px;padding:18px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.de-riga{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:7px}
.de-riga input{font:inherit;padding:8px 11px;border:1px solid var(--rule);border-radius:3px;background:#fff}
.de-nota{font-size:12.5px;color:var(--ink3)}
.home-btn{display:flex;align-items:center;gap:16px;margin-top:22px}

.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}
.tile{background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:16px;
  text-align:left;transition:border-color .15s,transform .15s}
.tile:hover{border-color:var(--ink2);transform:translateY(-1px)}
.tile .t-t{display:block;font-family:"Newsreader";font-size:19px;margin-bottom:4px}
.tile .t-d{display:block;font-size:12.5px;color:var(--ink2);line-height:1.45}
.dev{margin-top:26px;text-align:right}
.dev button{font-size:11px;color:var(--ink3);border-bottom:1px dotted var(--ink3)}

.met p{font-size:15px;line-height:1.65;margin-bottom:14px;max-width:680px}
.rm-num{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;
  margin:20px 0;padding:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.rm-num div{display:flex;flex-direction:column;gap:2px}
.rm-num b{font-size:24px;font-weight:500}
.rm-num span{font-size:11.5px;color:var(--ink3);letter-spacing:.03em}
.badge{display:inline-block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  font-weight:700;padding:2px 7px;border-radius:20px;margin-right:8px}
.badge.st{color:var(--sicuro);background:#E7F2EE}
.badge.te{color:var(--ottone);background:#FBF0E6}

/* ============ FINESTRA ============ */
.m-dom-r{font-family:"Newsreader";font-size:18px;line-height:1.42;margin-bottom:12px}
.m-tua{border:1px solid var(--soglia);background:#FBF2F1;border-radius:3px;padding:10px 13px;
  margin-bottom:12px;display:flex;gap:10px;align-items:flex-start;font-size:14px}
.m-tua .k{color:var(--soglia);font-weight:700}
.m-tua em{margin-left:auto;font-size:11px;color:var(--soglia);font-style:normal;
  letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.m-mostra{font-size:12px;color:var(--azzurro);border-bottom:1px dotted var(--azzurro);padding-bottom:1px}
.m-errate{margin-top:10px}
.m-err{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink2);
  padding:8px 12px;background:var(--paper);border-radius:3px;margin-bottom:6px}
.m-err .k{color:var(--ink3)}
.m-sep{height:1px;background:var(--rule);margin:18px 0}
.m-ritorno{background:#F2F7FA;border-left:3px solid var(--azzurro);padding:11px 14px;
  font-size:13px;line-height:1.5;color:var(--ink2);margin-top:14px}
.m-check{display:flex;flex-direction:column;gap:8px}
.m-c{text-align:left;border:1px solid var(--rule);border-radius:3px;padding:12px 15px;
  font-size:14px;background:var(--card);transition:border-color .12s,background .12s}
.m-c:hover{border-color:var(--ink2);background:#FAFBF9}
.m-p{font-size:14.5px;line-height:1.6;margin-bottom:14px}
.hd-format{background:var(--paper);border-radius:3px;padding:14px;margin-bottom:16px}
.hd-r{display:flex;gap:12px;font-size:13px;margin-bottom:8px}
.hd-r span{color:var(--ink3);flex:0 0 78px}
.hd-format textarea{width:100%;font:inherit;font-size:13px;padding:9px 11px;
  border:1px solid var(--rule);border-radius:3px;resize:vertical}

/* ============ CORNICE ============ */
.c-testa{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;
  padding-bottom:16px;border-bottom:1px solid var(--rule);margin-bottom:20px;flex-wrap:wrap}
.c-tit{font-size:25px;margin:6px 0 4px;line-height:1.15}
.c-fonte{font-size:12px;color:var(--ink3)}
.c-dx{text-align:right}
.c-n{font-size:12.5px;color:var(--ink2);margin-bottom:6px}
.c-n b{font-size:20px;font-family:"IBM Plex Mono";color:var(--azzurro)}
.c-corpo{font-size:16px;line-height:1.68;max-width:660px;min-height:150px}
.c-anc{list-style:none}
.c-anc li{padding:10px 0;border-top:1px solid var(--rule);display:flex;gap:16px;
  justify-content:space-between;align-items:baseline;font-size:14.5px;line-height:1.5}
.c-piede{display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin-top:22px;padding-top:16px;border-top:1px solid var(--rule)}
.c-avanz{font-size:12px;color:var(--ink3);font-family:"IBM Plex Mono"}

/* ============ ASSOCIAZIONE ============ */
.as-intro{font-size:14px;color:var(--ink2);line-height:1.55;margin:10px 0 14px;max-width:680px}
.as-avanz{font-size:12px;color:var(--ink3);font-family:"IBM Plex Mono";margin-bottom:12px}
.as-card{border:1px solid var(--rule);border-radius:3px;padding:20px;background:#FCFDFC}
.as-reg{font-size:15.5px;line-height:1.55;margin-bottom:18px;padding-bottom:16px;
  border-bottom:1px solid var(--rule)}
.as-dom{font-family:"Newsreader";font-size:19px;line-height:1.4;margin-bottom:16px}
.as-opz{margin-bottom:16px}
.as-opz .opt{cursor:default;display:flex;gap:12px}
.as-sp{font-size:14.5px;line-height:1.6;color:var(--ink2);margin-bottom:16px}


/* ============ LEGGIBILITÀ: si studia sul software ============ */
.opt{font-size:15.5px;line-height:1.5;padding:13px 16px}
.m-regola{font-size:16.5px;line-height:1.55}
.m-spirito{font-size:15.5px;line-height:1.6}
.m-dom-r{font-size:19px;line-height:1.45}
.c-corpo{font-size:16.5px;line-height:1.7}
.met p{font-size:15.5px;line-height:1.7}

/* risposte errate ben distinte */
.opt.sbagliata{border-color:#D9B0AB;background:#FCF4F3;color:var(--ink2)}
.opt.sbagliata .k{color:#C0392B;font-weight:700}
.opt.giusta{border-color:var(--sicuro);background:#EFF7F3}
.opt.giusta .k{color:var(--sicuro);font-weight:700}
.m-mia{margin-left:auto;font-style:normal;font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink3);white-space:nowrap;padding-left:12px}

/* finestra: guida e conferma */
.m-guida{font-size:14px;line-height:1.55;color:var(--ink2);background:#F2F7FA;
  border-left:3px solid var(--azzurro);padding:11px 14px;margin-bottom:18px}
.m-opzioni{margin-bottom:16px}
.m-opzioni .opt{display:flex;gap:12px;align-items:flex-start;margin-bottom:8px;width:100%}
.m-hint{font-size:12.5px;color:var(--ink3)}
.m-nota-cambio{font-size:12.5px;color:var(--ink3);background:var(--paper);
  padding:9px 12px;border-radius:3px;margin-top:4px}
.m-lab.grande{font-size:13px;letter-spacing:.1em;color:var(--ink)}

/* intestazione di sessione */
.sess-testa{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;
  padding-bottom:14px;border-bottom:1px solid var(--rule);margin-bottom:18px;flex-wrap:wrap}
.sess-mod{margin-bottom:6px}
.sess-tit{font-family:"Newsreader";font-size:19px;line-height:1.3;max-width:640px}
.sess-n{font-size:12px;color:var(--ink3);white-space:nowrap}
.badge{font-size:11px;padding:3px 9px}

/* metodo */
.met-tit{font-family:"Newsreader";font-size:34px;margin:8px 0 10px;letter-spacing:-.01em}
.met-sub{font-size:16px;line-height:1.6;color:var(--ink2);max-width:620px;
  margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--rule)}

/* data esame */
.dataes.ok{border-color:var(--sicuro)}
.dataes.ok .de-nota{color:var(--sicuro)}
.dataes.attesa .de-nota{color:var(--ottone)}
.de-nota{line-height:1.5;max-width:600px}

/* barra sviluppo, sempre visibile */


/* ============ ESERCITAZIONE A TASTI ============ */
.as-avviso{font-size:14px;font-weight:600;color:var(--azzurro);background:#F2F7FA;
  border-left:3px solid var(--azzurro);padding:10px 14px;margin:18px 0 14px}
.as-tasti{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}
.qbtn{border:1px solid var(--rule);background:var(--card);border-radius:3px;
  padding:11px 16px;font-size:13.5px;font-weight:600;color:var(--ink);
  transition:border-color .12s,background .12s,color .12s}
.qbtn:hover{border-color:var(--azzurro);background:#F5F9FC}
.qbtn.visto{border-color:var(--sicuro);background:#EFF7F3;color:var(--sicuro)}
.qbtn.visto::before{content:"\2713  ";font-weight:700}
.as-piede{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-top:16px;border-top:1px solid var(--rule)}
.as-conta{font-size:12.5px;color:var(--ink3);font-family:"IBM Plex Mono"}
.btn:disabled{background:var(--rule);color:var(--ink3);cursor:not-allowed}
.btn.pronto{background:var(--sicuro)}
.as-regsotto{background:#EFF7F3;border-left:3px solid var(--sicuro);padding:12px 15px;
  margin:-4px 0 12px;font-size:14.5px;line-height:1.55}
.as-regsotto .m-lab{margin-bottom:5px;color:var(--sicuro)}

.c-azioni{display:flex;align-items:center;gap:16px;margin-bottom:22px;padding-bottom:18px;
  border-bottom:1px solid var(--rule)}
.anc-n{color:var(--ink3);font-size:12px;font-family:"IBM Plex Mono";white-space:nowrap}

/* riepilogo a due colonne */
.c-riep{font-family:"Newsreader";font-size:22px;margin:4px 0 16px}
.c-tab{width:100%;border-collapse:collapse}
.c-tab td{padding:11px 0;border-top:1px solid var(--rule);vertical-align:top}
.c-q{width:150px;padding-right:20px !important;font-family:"IBM Plex Mono";font-size:13.5px;
  font-weight:600;color:var(--azzurro);white-space:normal;line-height:1.5}
.c-t{font-size:15px;line-height:1.5}

/* trascinamento */
.tr-avviso{font-size:14px;font-weight:600;color:var(--azzurro);background:#F2F7FA;
  border-left:3px solid var(--azzurro);padding:10px 14px;margin:14px 0}
.tr-avviso.ok{color:var(--sicuro);background:#EFF7F3;border-left-color:var(--sicuro)}
.tr-reg{border:2px dashed var(--azzurro);background:#F7FBFD;border-radius:4px;
  padding:14px 16px;font-size:15px;line-height:1.55;cursor:grab;transition:all .15s}
.tr-reg:hover{background:#EDF5FA}
.tr-reg.drag,.tr-reg.preso{opacity:.6;border-style:solid;transform:scale(.99)}
.tr-reg.agganciata{border:none;border-left:3px solid var(--sicuro);background:#EFF7F3;
  border-radius:0;cursor:default;margin:-4px 0 12px}
.tr-reg .m-lab{display:block;margin-bottom:5px}
.opt.drop{cursor:pointer;transition:all .15s}
.opt.drop.sopra{border-color:var(--azzurro);background:#EDF5FA;transform:scale(1.01)}
.opt.rifiuta{animation:scuoti .38s}
@keyframes scuoti{0%,100%{transform:none}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}

.tr-chiusura{font-family:"IBM Plex Mono";font-size:12.5px;font-weight:600;color:var(--azzurro);
  letter-spacing:.04em;margin:18px 0 9px;padding-top:16px;border-top:1px solid var(--rule)}

/* pannello di collaudo */
.cl-sez{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
  color:var(--azzurro);margin:24px 0 8px;padding-top:14px;border-top:1px solid var(--rule)}
.cl-riga{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  padding:11px 0;border-top:1px solid #EDF0EE}
.cl-riga.no{opacity:.5}
.cl-n{font-size:15px;font-weight:600;margin-bottom:3px}
.cl-d{font-size:12.5px;color:var(--ink2);line-height:1.45;max-width:640px}
.cl-go{flex:0 0 auto;white-space:nowrap;padding-top:3px}
.cl-todo{flex:0 0 auto;font-size:11px;color:var(--ink3);letter-spacing:.05em;white-space:nowrap}

/* roadmap: ragnatela e materie */
.rm-int{font-size:14px;color:var(--ink2);line-height:1.55;margin:8px 0 18px;max-width:640px}
.rm-riga{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:center}
@media(max-width:720px){.rm-riga{grid-template-columns:1fr}.rm-ragno{justify-self:center}}
.rm-lista{display:flex;flex-direction:column;gap:11px}
.rm-mat{display:grid;grid-template-columns:10px 1fr 110px 50px;gap:12px;align-items:center}
.rm-cap{display:grid;grid-template-columns:10px 1fr 110px 50px;gap:12px;
  font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);
  padding-bottom:6px;border-bottom:1px solid var(--rule);margin-bottom:4px}
.rm-cap span:nth-child(3){text-align:left}
.rm-cap span:nth-child(4){text-align:right}
.rm-nome em{display:block;font-style:normal;font-size:11px;color:var(--ink3);margin-top:2px}
.rm-barra{position:relative;height:auto}
.rm-barra i{display:block;height:7px;border-radius:4px}
.rm-barra{background:none}
.rm-barra::before{content:"";position:absolute;left:0;right:34px;top:0;height:7px;
  background:var(--rule);border-radius:4px}
.rm-barra i{position:relative;z-index:1;max-width:calc(100% - 34px)}
.rm-barra b{position:absolute;right:0;top:-4px;font-size:11px;color:var(--ink3);font-weight:500}
.rm-pallino{width:10px;height:10px;border-radius:50%}
.rm-nome{font-size:13.5px;line-height:1.35}
.rm-barra{height:6px;background:var(--rule);border-radius:3px;overflow:hidden}
.rm-barra i{display:block;height:100%;border-radius:3px;transition:width .4s}
.rm-val{font-size:12px;color:var(--ink3);text-align:right}

.rm-ragno{text-align:center}
.rm-leg{display:flex;justify-content:center;gap:16px;margin-top:10px;font-size:11.5px;color:var(--ink2)}
.rm-leg span{display:flex;align-items:center;gap:6px}
.lg{width:11px;height:11px;border-radius:2px;display:inline-block}
.lg.pieno{background:#2E6E8E}
.lg.chiaro{background:#2E6E8E;opacity:.3}
.lg.vuoto{background:#EDF0EE;border:1px solid #D8DEDC}

/* tabella materie — allineata */
.rm-tab{width:100%;border-collapse:collapse}
.rm-tab th{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);
  font-weight:600;text-align:left;padding:0 10px 8px;border-bottom:1px solid var(--rule)}
.rm-tab th.c,.rm-tab td.c{width:120px;text-align:left}
.rm-tab td{padding:12px 10px;border-bottom:1px solid #EDF0EE;vertical-align:middle}
.rm-tab td:first-child,.rm-tab th:first-child{width:16px;padding-left:0}
.rm-pal span{display:block;width:10px;height:10px;border-radius:50%}
.rm-tab .rm-nome{font-size:13.5px;line-height:1.35}
.rm-tab .rm-nome em{display:block;font-style:normal;font-size:11px;color:var(--ink3);margin-top:3px}
.rm-b{height:7px;background:var(--rule);border-radius:4px;overflow:hidden;margin-bottom:5px}
.rm-b i{display:block;height:100%;border-radius:4px;transition:width .4s}
.rm-cifra{font-size:11px;color:var(--ink3)}
.rm-int.piccolo{font-size:12.5px;color:var(--ink3);margin-top:-8px}

/* roadmap: tre misure */
.rm-riga{grid-template-columns:300px 1fr;gap:32px;align-items:start}
.rm-def{margin:14px 0 4px}
.rm-def dt{font-size:12.5px;font-weight:700;padding-left:9px;border-left:3px solid;margin-top:9px}
.rm-def dd{font-size:12.5px;color:var(--ink2);line-height:1.5;padding-left:12px;margin-top:2px}
.rm-tab th .lg{width:9px;height:9px;border-radius:2px;display:inline-block;margin-right:5px;
  vertical-align:baseline}
.rm-tab th.c,.rm-tab td.c{width:118px}
.rm-tab td:first-child,.rm-tab th:first-child{width:auto;padding-left:0}
.rm-leg .lg{width:11px;height:11px}

/* accuratezza: barre confrontabili */
.acc-lista{margin-top:6px}
.acc-riga{display:grid;grid-template-columns:1fr 260px 48px 84px;gap:14px;align-items:center;
  padding:10px 0;border-top:1px solid #EDF0EE}
.acc-riga.no{opacity:.45}
.acc-nome{font-size:13.5px;line-height:1.35}
.acc-b{position:relative;height:11px;background:var(--rule);border-radius:5px}
.acc-b i{display:block;height:100%;border-radius:5px;background:#C79A4C;transition:width .4s}
.acc-b u{position:absolute;top:-3px;bottom:-3px;width:1.5px;background:var(--ink2);text-decoration:none}
.acc-v{font-size:14px;font-weight:600;text-align:right}
.acc-d{font-size:11px;color:var(--ink3);text-align:right}
.acc-nota{font-size:12px;color:var(--ink3);line-height:1.5;margin-top:14px;
  padding-top:12px;border-top:1px solid var(--rule)}
.rm-vuoto{font-size:13.5px;color:var(--ink3);padding:10px 0}
@media(max-width:760px){.acc-riga{grid-template-columns:1fr 44px;gap:8px}
  .acc-b,.acc-d{display:none}}

.rm-leg2{font-size:11.5px;color:var(--ink3);line-height:1.5;margin-top:8px;max-width:290px;
  text-align:center;margin-left:auto;margin-right:auto}
.acc-pal{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:8px;
  vertical-align:baseline}
.rm-tab td.rm-pal,.rm-tab th:first-child{width:16px;padding-left:0;padding-right:0}

/* avanzamento a barre, due per materia */
.av-lista{margin-top:6px}
.av-mat{padding:14px 0;border-top:1px solid #EDF0EE}
.av-mat:first-child{border-top:none;padding-top:4px}
.av-testa{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  margin-bottom:9px;flex-wrap:wrap}
.av-nome{font-size:14px;font-weight:600}
.av-peso{font-size:11px;color:var(--ink3);white-space:nowrap}
.av-b{display:grid;grid-template-columns:88px 1fr 92px 42px;gap:12px;align-items:center;
  padding:3px 0;border-radius:3px;transition:background .12s}
.av-b:hover{background:#F7F9F8}
.av-b:hover .av-pct{opacity:1}
.av-et{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);text-align:right}
.av-track{height:12px;background:var(--rule);border-radius:6px;overflow:hidden}
.av-track i{display:block;height:100%;border-radius:6px;transition:width .4s}
.av-n{font-size:12.5px;color:var(--ink2);text-align:right;white-space:nowrap}
.av-n em{font-style:normal;color:var(--ink3);font-size:11px}
.av-pct{font-size:12px;color:var(--ink3);text-align:right;opacity:0;transition:opacity .15s}
@media(max-width:700px){.av-b{grid-template-columns:72px 1fr 78px}.av-pct{display:none}}

/* rispondi o escludi */
.re-azioni{margin:18px 0 4px;padding:16px 18px;background:#F7F9FA;border:1px solid var(--rule);border-radius:4px}
.re-scelta{margin:20px 0 6px;padding:18px;background:#F7F9FA;border:1px solid var(--rule);border-radius:4px}
.re-scelta.fatta{background:transparent;border-color:transparent;padding:10px 0}
.re-dom{font-size:14.5px;font-weight:600;margin-bottom:12px}
.re-scelta.fatta .re-dom{display:none}
.re-btn{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.re-btn button{border:1px solid var(--rule);background:var(--card);border-radius:4px;
  padding:14px 12px;text-align:left;transition:all .13s}
.re-btn button:hover:not(:disabled){border-color:var(--ink2);transform:translateY(-1px)}
.re-btn button b{display:block;font-size:15px;margin-bottom:2px}
.re-btn button span{font-size:11.5px;color:var(--ink3)}
.re-btn button:disabled{opacity:.35}
.re-btn button.sel{opacity:1;border-color:var(--ink);border-width:2px;background:#EDF1F3}
.re-guida{font-size:13.5px;color:var(--ink2);background:#F2F7FA;border-left:3px solid var(--azzurro);
  padding:10px 14px;margin:16px 0 12px}
.opt.escluso{border-style:dashed;opacity:.5;text-decoration:line-through}
@media(max-width:640px){.re-btn{grid-template-columns:1fr}}

.re-bil{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;
  margin:18px 0;padding:18px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.re-bil div{display:flex;flex-direction:column;gap:3px}
.re-bil b{font-size:26px;font-weight:500}
.re-bil span{font-size:11.5px;color:var(--ink3)}
.re-tes p{font-size:14.5px;line-height:1.65;margin-bottom:12px;max-width:700px}
.re-conto{background:#FBF6EC;border-left:3px solid var(--ottone);padding:12px 15px}
.btn.chiaro{background:var(--card);color:var(--ink);border:1px solid var(--ink)}
.btn.chiaro:hover{background:var(--paper)}

.rp-num{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;
  margin:16px 0;padding:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.rp-num div{display:flex;flex-direction:column;gap:3px}
.rp-num b{font-size:24px;font-weight:500}
.rp-num span{font-size:11.5px;color:var(--ink3)}
.rp-conf{margin-top:20px;padding-top:18px;border-top:1px solid var(--rule)}
.rp-due{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 14px}
.rp-due>div{border:1px solid var(--rule);border-radius:4px;padding:20px 18px;text-align:center}
.rp-due span{display:block;font-size:12px;color:var(--ink3);margin-bottom:10px;line-height:1.4;min-height:34px}
.rp-due b{display:block;font-size:38px;font-weight:500;line-height:1}
.rp-due em{display:block;font-style:normal;font-size:11.5px;color:var(--ink3);margin-top:8px}
.rp-due .vince{border-color:var(--sicuro);border-width:2px;background:#EFF7F3}
.rp-due .vince b{color:var(--sicuro)}
.rp-verd{font-size:14.5px;text-align:center;padding:11px;border-radius:4px;margin-bottom:6px}
.rp-verd.ok{background:#EFF7F3;color:var(--sicuro)}
.rp-verd.no{background:#FBF6EC;color:#8A6520}
.rp-esc{display:grid;grid-template-columns:1fr;gap:10px;margin-top:8px}
.rp-b{height:12px;background:var(--rule);border-radius:6px;overflow:hidden}
.rp-b i{display:block;height:100%;background:var(--azzurro);border-radius:6px}
.rp-esct{display:flex;gap:14px;align-items:flex-start}
.rp-esct b{font-size:26px;font-weight:500;color:var(--azzurro);line-height:1}
.rp-esct span{font-size:13px;color:var(--ink2);line-height:1.5}
@media(max-width:640px){.rp-due{grid-template-columns:1fr}}

#re-lista.bloccato{opacity:.62;pointer-events:none}
.re-dom.attivo{color:var(--azzurro)}
.re-azioni{margin-top:16px}

/* report: percentuale e dettaglio */
.rp-due u{display:block;text-decoration:none;font-family:"IBM Plex Mono";font-size:15px;
  font-weight:600;margin-top:4px}
.rp-due u.sopra{color:var(--sicuro)}
.rp-due u.sotto{color:var(--ink3)}
.rp-esct{display:flex;gap:16px;align-items:flex-start;margin-top:10px}
.rp-esct>b{font-size:30px;font-weight:500;color:var(--azzurro);line-height:1;flex:0 0 auto}
.rp-esct .rp-b{margin-bottom:8px}
.dt-leg{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--ink2);
  margin:14px 0 16px;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.dt-leg span{display:flex;align-items:center;gap:7px}
.dt-p{width:11px;height:11px;border-radius:3px;display:inline-block}
.dt-p.ok,.dt-riga.ok{--c:#2E7D5B}
.dt-p.ko,.dt-riga.ko{--c:#B0503F}
.dt-p.esc-ok,.dt-riga.esc-ok{--c:#4E8AA8}
.dt-p.esc-ko,.dt-riga.esc-ko{--c:#C08A2E}
.dt-p.salt,.dt-riga.salt,.dt-riga.esc{--c:#9AA5AA}
.dt-p{background:var(--c)}
.dt-riga{display:grid;grid-template-columns:52px 1fr 132px;gap:14px;align-items:flex-start;
  padding:11px 0 11px 12px;border-top:1px solid #EDF0EE;border-left:3px solid var(--c)}
.dt-n{font-size:12px;color:var(--ink3);padding-top:1px}
.dt-e{font-size:11.5px;color:var(--c);font-weight:600;text-align:right;white-space:nowrap}
@media(max-width:680px){.dt-riga{grid-template-columns:44px 1fr}.dt-e{grid-column:2;text-align:left}}

/* ripasso: quesiti per intero */
.dt-q{border-left:3px solid var(--c);padding:16px 0 16px 16px;margin-bottom:14px;
  border-top:1px solid #EDF0EE}
.dt-testa{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:8px}
.dt-n{font-size:12px;font-weight:600;color:var(--azzurro)}
.dt-e{font-size:11.5px;color:var(--c);font-weight:600;white-space:nowrap}
.dt-dom{font-family:"Newsreader";font-size:17.5px;line-height:1.42;margin-bottom:10px}
.dt-opt{display:grid;grid-template-columns:18px 1fr;gap:6px 11px;padding:9px 13px;margin-bottom:5px;
  border-radius:3px;font-size:14px;line-height:1.45;border:1px solid var(--rule)}
.dt-opt.g{border-color:var(--sicuro);background:#EFF7F3}
.dt-opt.g .k{color:var(--sicuro);font-weight:700}
.dt-opt.s{border-color:#E2D5D2;background:#FCF7F6;color:var(--ink2)}
.dt-opt.s .k{color:#C0392B;font-weight:700}
.dt-opt.x .dt-txt{text-decoration:line-through;opacity:.55}
.dt-opt.mia{border-width:2px}
.dt-txt{min-width:0}
.dt-tag{grid-column:2;font-style:normal;font-size:10px;letter-spacing:.07em;
  text-transform:uppercase;font-weight:700;white-space:nowrap}
.dt-tag.esc{color:var(--ink3)}
.dt-tag.sc{color:var(--ink)}

/* report comune: perimetro, soglia, blocchi */
.rp-perim{background:var(--paper);border-radius:4px;padding:14px 16px;margin:16px 0}
.rp-pt{font-size:14.5px;margin-bottom:9px}
.rp-pm{display:flex;flex-wrap:wrap;gap:6px}
.rp-pm span{font-size:11px;background:var(--card);border:1px solid var(--rule);
  border-radius:12px;padding:3px 10px;color:var(--ink2)}
.rp-sog{margin:20px 0}
.rp-sb{position:relative;height:14px;background:var(--rule);border-radius:7px;margin-bottom:10px}
.rp-sb i{display:block;height:100%;background:var(--ottone);border-radius:7px;transition:width .4s}
.rp-sog.ok .rp-sb i{background:var(--sicuro)}
.rp-sb u{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink2);text-decoration:none}
.rp-sl{display:flex;gap:14px;align-items:flex-start}
.rp-sl b{font-size:26px;font-weight:500;line-height:1;color:var(--ottone)}
.rp-sog.ok .rp-sl b{color:var(--sicuro)}
.rp-sl span{font-size:13px;color:var(--ink2);line-height:1.5}
.rp-split{margin-top:24px;padding-top:18px;border-top:1px solid var(--rule)}
.rp-bt{margin:30px 0 14px;padding:14px 16px;border-radius:4px;border-left:4px solid var(--c)}
.rp-bt1{font-size:15px;font-weight:700;margin-bottom:3px}
.rp-bt1 span{color:var(--ink3);font-weight:400;font-size:13px;margin-left:6px}
.rp-bt2{font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:700;color:var(--c)}
.rp-bt3{font-size:12.5px;color:var(--ink2);line-height:1.5;margin-top:7px;max-width:660px}
.rp-bt.b-cons{--c:#2E7D5B;background:#EFF7F3}
.rp-bt.b-appr{--c:#B0503F;background:#FCF4F3}
.rp-bt.b-nuov{--c:#2E6E8E;background:#F1F6FA}
/* sfondo diverso per blocco: la differenza si vede scorrendo */
.dt-q{border-radius:0 4px 4px 0;padding:16px 18px 16px 16px}
.dt-q.b-cons{border-left-color:#2E7D5B;background:#F4FAF7}
.dt-q.b-cons .dt-n{color:#2E7D5B}
.dt-q.b-appr{border-left-color:#B0503F;background:#FEF8F7}
.dt-q.b-appr .dt-n{color:#B0503F}
.dt-q.b-nuov{border-left-color:#2E6E8E;background:#F4F8FB}
.dt-q.b-nuov .dt-n{color:#2E6E8E}
.dt-q .dt-opt{background:#fff}
.dt-q.b-cons .dt-opt.g{background:#EAF5F0}
.dt-q.b-appr .dt-opt.s{background:#FCF2F0}
.dt-q .dt-sch{background:#fff;border:1px solid rgba(0,0,0,.06)}
.dt-rs{margin-top:8px}
.dt-sch{margin-top:10px;padding:12px 14px;background:var(--paper);border-radius:3px}
.dt-reg{font-size:14.5px;line-height:1.5;margin-bottom:10px}
.dt-sp{font-size:13.5px;line-height:1.55;color:var(--ink2);margin-bottom:8px}

.rp-pun{flex:0 0 auto;text-align:center;padding-right:16px;border-right:1px solid var(--rule);margin-right:2px}
.rp-pun b{display:block;font-size:34px;font-weight:500;line-height:1;color:var(--ink)}
.rp-pun i{display:block;font-style:normal;font-size:11px;color:var(--ink3);margin-top:3px}
.rp-pun u{display:block;text-decoration:none;font-size:15px;font-weight:600;margin-top:6px;color:var(--ottone)}
.rp-sog.ok .rp-pun u{color:var(--sicuro)}
.rp-sl b{font-size:inherit;color:inherit;font-weight:700}

/* barra di avanzamento del programma */
.pg{margin:18px 0 26px;padding:20px;background:#F7F9F8;border-radius:4px}
.pg-r{display:grid;grid-template-columns:1fr 260px 48px;gap:16px;align-items:center;margin-bottom:14px}
.pg-et{font-size:14px;font-weight:600;line-height:1.3}
.pg-et em{display:block;font-style:normal;font-size:11.5px;color:var(--ink3);
  font-weight:400;margin-top:2px}
.pg-b{height:14px;background:var(--rule);border-radius:7px;overflow:hidden}
.pg-b i{display:block;height:100%;background:var(--azzurro);border-radius:7px;transition:width .45s}
.pg-b i.t{background:var(--ottone)}
.pg-v{font-size:15px;font-weight:600;text-align:right}
.pg-n{font-size:12px;color:var(--ink3);line-height:1.5;margin-top:14px;
  padding-top:12px;border-top:1px solid var(--rule)}
@media(max-width:700px){.pg-r{grid-template-columns:1fr 60px}.pg-b{grid-column:1/-1;order:3}}

.re-btn.q4{grid-template-columns:repeat(4,1fr)}
@media(max-width:860px){.re-btn.q4{grid-template-columns:repeat(2,1fr)}}
.re-conto.sim{background:#F3F6F9;border-left-color:#5A6E76;font-style:italic;color:var(--ink2)}
.dt-q.b-nuov.salt{background:#F7F8F8}

/* studio libero */
.badge.lib{color:#8A6520;background:#FBF2E6}
.sl-testa{margin-bottom:10px}
.sl-sez{margin:22px 0;padding-top:18px;border-top:1px solid var(--rule)}
.sl-sez:first-of-type{border-top:none;padding-top:0}
.sl-opt{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:10px}
.sl-opt.sl-n{grid-template-columns:repeat(4,minmax(60px,110px))}
.sl-opt button{border:1px solid var(--rule);background:var(--card);border-radius:4px;
  padding:13px 15px;text-align:left;transition:all .13s}
.sl-opt button:hover{border-color:var(--ink2)}
.sl-opt button.on{border-color:var(--ink);border-width:2px;background:#EEF2F4}
.sl-opt button b{display:block;font-size:14.5px;margin-bottom:2px}
.sl-opt button span{font-size:11.5px;color:var(--ink3);line-height:1.4}
.sl-opt.sl-n button{text-align:center}
.sl-opt.sl-n button b{font-size:19px;margin:0}
.sl-scelta{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.sl-chip{border:1px solid var(--rule);background:var(--card);border-radius:16px;
  padding:6px 13px;font-size:12.5px;transition:all .12s}
.sl-chip:hover{border-color:var(--ink2)}
.sl-chip.on{border-color:var(--ink);background:var(--ink);color:#fff}
.sl-chip em{font-style:normal;color:var(--ink3);font-size:11px;margin-left:5px}
.sl-chip.on em{color:rgba(255,255,255,.6)}
.m-cerca{margin-left:10px;font-size:11px;color:var(--azzurro);
  border-bottom:1px dotted var(--azzurro);padding-bottom:1px}

.pd-avviso{font-size:14px;color:var(--azzurro);background:#F2F7FA;border-left:3px solid var(--azzurro);
  padding:11px 15px;margin:16px 0 14px;line-height:1.5}

.tr-solo{font-size:16px;line-height:1.6;padding:16px 18px;background:#F7FBFD;
  border-left:3px solid var(--azzurro);border-radius:0 3px 3px 0;margin-bottom:14px}

.as-reg2{font-size:16px;line-height:1.6;padding:14px 17px;background:#F7FBFD;
  border-left:3px solid var(--azzurro);border-radius:0 3px 3px 0;margin-bottom:6px}
.as-dom2{font-family:"Newsreader";font-size:19px;line-height:1.42;margin:14px 0 12px}

.m-testa-ok{margin-bottom:12px}
.m-eyebrow.ok{color:var(--sicuro);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:700}

/* metodo di studio */
.mm{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:8px}
.mm-f{padding:18px 20px;border:1px solid var(--rule);background:#FBFCFC}
.mm-f+.mm-f{border-left:none}
.mm-f b{display:block;font-size:15.5px;margin-bottom:6px;line-height:1.35}
.mm-f span{font-size:13.5px;color:var(--ink2);line-height:1.55}
.mm-f i{font-style:normal;display:inline-block;width:23px;height:23px;border-radius:50%;
  background:var(--azzurro);color:#fff;font-size:12px;font-weight:700;text-align:center;
  line-height:23px;margin-right:9px;vertical-align:2px}
@media(max-width:760px){.mm{grid-template-columns:1fr}.mm-f+.mm-f{border-left:1px solid var(--rule);border-top:none}}
.mm-d{font-family:"Newsreader";font-size:19px;margin-bottom:5px;color:var(--ink)}
.mm-ris{font-size:14.5px;color:var(--ink2);line-height:1.6;margin-bottom:17px;
  padding-bottom:17px;border-bottom:1px solid var(--rule)}
.mm-ris:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}
.mm-tre{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.mm-tre>div{border:1px solid var(--rule);border-radius:4px;padding:16px 17px;border-top:4px solid var(--c)}
.mm-tre b{display:block;font-size:15.5px;margin-bottom:6px;color:var(--c)}
.mm-tre span{font-size:13px;color:var(--ink2);line-height:1.5}
.mm-tre .c1{--c:#2E6E8E}.mm-tre .c2{--c:#2E7D5B}.mm-tre .c3{--c:#B0503F}
@media(max-width:760px){.mm-tre{grid-template-columns:1fr}}
.mm-ob{background:#F7F9F8}

.mm-pg{border-color:var(--ink);border-width:2px}
.mm-pg .c-tit{font-size:22px;line-height:1.3}

.mm-tut{margin-top:16px;padding:14px 17px;background:#F3F7FA;border-left:3px solid var(--azzurro);
  font-size:14px;line-height:1.6;color:var(--ink2)}
.mm-tut .m-lab{margin-bottom:5px}

/* famiglie di insidia */
.badge.in{color:#7A5518;background:#FBF2E6}
.in-vita{background:#FBF6EC;border-left:3px solid var(--ottone);padding:16px 18px;margin:16px 0;
  font-size:14.5px;line-height:1.65}
.in-vita p+p{margin-top:10px}
.in-lente{background:#F3F7FA;border-left:3px solid var(--azzurro);padding:16px 18px;margin:16px 0;
  font-size:14.5px;line-height:1.6}
.in-blocco{background:#FAFBFB;border:1px solid var(--rule);border-radius:4px;padding:18px 20px;
  user-select:none;pointer-events:none;margin:14px 0}
.in-qn{font-family:"IBM Plex Mono";font-size:11.5px;color:var(--azzurro);font-weight:600;margin-bottom:8px}
.in-qd{font-family:"Newsreader";font-size:17.5px;line-height:1.45;margin-bottom:13px}
.in-ro{display:flex;gap:11px;padding:9px 0;font-size:14px;line-height:1.5}
.in-ro+.in-ro{border-top:1px solid #EDF0EE}
.in-ro .k{font-family:"IBM Plex Mono";font-size:12px;color:var(--ink3);flex:0 0 14px;padding-top:1px}
.in-dd{font-size:14.5px;font-weight:600;margin-bottom:11px}
.in-dn{display:inline-block;font-style:normal;font-size:12px;font-weight:700;letter-spacing:.04em;
  color:var(--azzurro);background:#EAF1F6;border-radius:12px;padding:3px 11px;margin-left:9px;vertical-align:1px}
.in-sc{display:flex;flex-wrap:wrap;gap:8px}
.in-sc .sc{border:1px solid var(--rule);background:var(--card);border-radius:20px;padding:8px 16px;
  font-family:inherit;font-size:13.5px;transition:all .12s}
.in-sc .sc:hover:not(:disabled){border-color:var(--ink2)}
.in-sc .sc.on{border-color:var(--rosso);border-width:2px;background:#FCF4F2;color:#8A3A2C;font-weight:600}
.in-sc .sc.nessuna{border-style:dashed;margin-left:6px}
.in-sc .sc.nessuna.on{border-color:var(--sicuro);background:#F2F9F5;color:#1F5E44}
.in-sc .sc:disabled{opacity:.5}
.in-sc .sc.on:disabled{opacity:1}
.in-sc .sc.persa{border-color:var(--rosso);border-style:dashed;border-width:2px;opacity:1}
.in-esito{font-size:13.5px;margin-top:14px;padding:12px 15px;border-radius:3px;line-height:1.55}
.in-esito.si{background:#F2F9F5;border-left:3px solid var(--sicuro);color:#1F5E44}
.in-esito.parz{background:#FBF6EC;border-left:3px solid var(--ottone);color:#7A5518}

/* help desk */
.hd-sez{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--azzurro);
  font-weight:700;margin:22px 0 9px;padding-bottom:6px;border-bottom:1px solid var(--rule)}
.hd-c{display:block;width:100%;text-align:left;border:1px solid var(--rule);background:var(--card);
  border-radius:4px;padding:12px 15px;margin-bottom:7px;font-family:inherit;font-size:14.5px;
  color:var(--ink);transition:all .12s;line-height:1.45}
.hd-c:hover{border-color:var(--ink2);background:#FAFBFB}
.hd-c.altro{border-style:dashed;color:var(--ink2)}
.hd-r{font-size:15px;line-height:1.65;margin:14px 0}
.hd-tut{font-size:13.5px;background:#F3F7FA;border-left:3px solid var(--azzurro);
  padding:11px 15px;margin-bottom:14px;color:var(--ink2)}
.hd-utile{margin-top:22px;padding-top:18px;border-top:1px solid var(--rule)}
.hd-btn{display:flex;gap:10px;flex-wrap:wrap;margin-top:9px}
.hd-caso{background:var(--paper);border-radius:3px;padding:12px 15px;margin-bottom:16px;font-size:14.5px}
.hd-lab{display:block;font-size:13px;color:var(--ink2);margin-bottom:14px}
.hd-in{display:block;width:100%;margin-top:6px;border:1px solid var(--rule);border-radius:4px;
  padding:10px 13px;font-family:inherit;font-size:14.5px;color:var(--ink);background:#fff}
.hd-in:focus{outline:none;border-color:var(--ink2)}
.hd-ta{resize:vertical;line-height:1.55}

/* accesso */
.card.ac{max-width:440px;margin:40px auto}
.ac-logo{display:block;width:210px;height:auto;margin:0 auto 22px}
.ac-dato{background:var(--paper);border-radius:4px;padding:13px 16px;margin:16px 0}
.ac-dato b{font-size:17px}
.ac-demo{margin-top:26px;padding-top:20px;border-top:1px dashed var(--rule)}
.ac-b{display:block;width:100%;text-align:left;border:1px solid var(--rule);background:var(--card);
  border-radius:4px;padding:10px 14px;margin-bottom:6px;font-family:inherit;font-size:14px;
  color:var(--ink);transition:all .12s}
.ac-b:hover{border-color:var(--ink2)}
.ac-b em{float:right;font-style:normal;font-size:11.5px;color:var(--ink3)}
/* tutor e admin */
.tu-testa{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.tu-tab{width:100%;border-collapse:collapse;margin-top:10px}
.tu-tab th{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);
  font-weight:600;text-align:left;padding:0 10px 8px;border-bottom:1px solid var(--rule)}
.tu-tab th.c,.tu-tab td.c{width:92px}
.tu-tab td{padding:13px 10px;border-bottom:1px solid #EDF0EE;vertical-align:middle;font-size:13.5px}
.tu-tab tbody tr{cursor:pointer;transition:background .12s}
.tu-tab tbody tr:hover{background:#FAFBFB}
.tu-tab td em{display:block;font-style:normal;font-size:11.5px;color:var(--ink3);margin-top:2px}
.tu-b{height:7px;background:var(--rule);border-radius:4px;overflow:hidden;margin-bottom:4px}
.tu-b i{display:block;height:100%;background:var(--azzurro);border-radius:4px}
.tu-b i.t{background:var(--ottone)}
.tu-pt{font-size:19px;font-weight:600}
.tu-pt.ok{color:var(--sicuro)} .tu-pt.giu{color:var(--rosso)}
.tu-al{display:inline-block;font-size:11.5px;background:#FBF2E6;color:#7A5518;border-radius:11px;
  padding:3px 10px;margin:2px 4px 2px 0}
.tu-ok{font-size:12px;color:var(--ink3)}
.tu-alert{margin-top:20px;padding:16px 18px;background:#FBF8F3;border-left:3px solid var(--ottone);border-radius:0 3px 3px 0}
.tu-qs{margin-top:10px}
.tu-q{font-size:13px;padding:8px 0;border-top:1px solid #EDE7DC;line-height:1.45}
.tu-q .mono{color:var(--azzurro);margin-right:9px;font-size:11.5px}
.ad-az{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}

/* cruscotto tutor */
.tu-card{border:1px solid var(--rule);border-radius:5px;padding:18px 20px;margin-bottom:14px}
.tu-riga1{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.tu-nome{font-size:17px;font-weight:600}
.tu-sub{font-size:12px;color:var(--ink3);margin-top:2px}
.tu-az{display:flex;gap:8px}
.tu-az .m-mostra.con{border-color:var(--ottone);color:#7A5518}
.tu-az .m-mostra b{margin-left:5px;background:var(--ottone);color:#fff;border-radius:9px;
  padding:1px 6px;font-size:11px}
.tu-dati{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px;margin-top:16px;
  padding-top:16px;border-top:1px solid #EDF0EE}
@media(max-width:760px){.tu-dati{grid-template-columns:1fr}}
.tu-lab{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink3);font-weight:600;margin-bottom:9px}
.tu-bar{height:7px;background:var(--rule);border-radius:4px;overflow:hidden;margin-bottom:3px}
.tu-bar i{display:block;height:100%;background:var(--azzurro);border-radius:4px}
.tu-bar i.t{background:var(--ottone)}
.tu-v{display:block;font-size:11.5px;color:var(--ink3);margin-bottom:9px}
.tu-v b{color:var(--ink);font-size:12.5px}
.tu-acc b,.tu-pt2 b{font-size:28px;font-weight:500;display:block;line-height:1}
.tu-acc span,.tu-pt2 span{font-size:11.5px;color:var(--ink3)}
.tu-acc.ok b,.tu-pt2.ok b{color:var(--sicuro)}
.tu-acc.giu b,.tu-pt2.giu b{color:var(--rosso)}
.tu-attesa{font-size:12.5px;color:var(--ink3);line-height:1.45;padding-top:4px}
.tu-attesa em{display:block;font-style:normal;font-family:"IBM Plex Mono";margin-top:4px;color:var(--ink2)}
.tu-albar{margin-top:14px;padding-top:12px;border-top:1px solid #EDF0EE}
.tu-ritmo{display:flex;gap:28px;margin-top:10px}
.tu-ritmo b{font-size:22px;font-weight:500;display:block;line-height:1}
.tu-ritmo span{font-size:11.5px;color:var(--ink3)}
.tu-sugg{margin-top:12px;padding-top:11px;border-top:1px solid #EDE7DC;font-size:13px;color:var(--ink2)}

.met-avviso{margin-top:18px;padding:15px 18px;background:#F3F7FA;border-left:4px solid var(--azzurro);
  font-size:14.5px;line-height:1.6;color:var(--ink2)}
.met-avviso b{display:block;color:var(--ink);margin-bottom:4px;font-size:15px}

.de-data{font-family:"IBM Plex Mono";font-size:21px;font-weight:600;margin:4px 0 7px}
/* anteprima del modulo */
.ap-mat{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.ap-mat span{font-size:12px;background:var(--paper);border-radius:13px;padding:4px 12px;color:var(--ink2)}
.ap-mat em{font-style:normal;color:var(--ink3);font-size:11px;margin-left:3px}
.ap-fasi{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:18px 0}
.ap-f{padding:13px 15px;border:1px solid var(--rule);font-size:13.5px;color:var(--ink3);
  display:flex;align-items:center;gap:9px}
.ap-f+.ap-f{border-left:none}
.ap-f i{font-style:normal;width:20px;height:20px;border-radius:50%;border:1px solid var(--rule);
  display:flex;align-items:center;justify-content:center;font-size:11px;flex:0 0 auto}
.ap-f.fatta{color:var(--ink2);background:#F4FAF7}
.ap-f.fatta i{background:var(--sicuro);border-color:var(--sicuro);color:#fff}
.ap-f.ora{color:var(--ink);font-weight:600;border-color:var(--ink);border-width:2px;background:#F3F7FA}
@media(max-width:700px){.ap-fasi{grid-template-columns:1fr}.ap-f+.ap-f{border-left:1px solid var(--rule);border-top:none}}
.ap-ora{background:#F3F7FA;border-left:3px solid var(--azzurro);padding:16px 18px}
.ap-ora b{display:block;font-size:17px;margin:3px 0 5px}
.ap-ora p{font-size:14px;color:var(--ink2);line-height:1.55}

/* esito dell'associazione: visibile, senza commenti */
.as-esito{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:16px;padding:16px 20px;border-radius:4px;border-left:5px solid var(--c)}
.as-esito b{font-size:19px;font-weight:600;color:var(--c)}
.as-esito.ok{--c:#2E7D5B;background:#F0F8F4}
.as-esito.ko{--c:#B0503F;background:#FCF4F2}

.as-esito{align-items:flex-start;flex-direction:column;gap:12px}
.as-esito-btn{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tr-avviso.fatto{background:#F0F8F4;border-left-color:#2E7D5B;color:#1F5E44}
.tr-avviso.fatto b{color:#2E7D5B}
.tr-avviso.errato{background:#FCF4F2;border-left-color:#B0503F;color:#8A3A2C}
.tr-avviso.errato b{color:#B0503F}

/* regola e spirito nello stesso riquadro trascinabile */
/* lo spirito: discreto mentre si trascina, in negativo quando si aggancia */
.tr-sp{margin-top:11px;padding:11px 0 0;border-top:1px dashed rgba(0,0,0,.14);
  border-radius:0;transition:all .3s ease}
.tr-sp-t{display:block;font-size:13.5px;line-height:1.55;color:var(--ink2);transition:all .3s}
.tr-reg.con-sp .tr-sp{background:var(--ink);border-top-color:transparent;
  margin:13px -17px -15px;padding:15px 17px;border-radius:0 0 4px 4px}
.tr-reg.con-sp .tr-sp .m-lab{color:rgba(255,255,255,.62)}
.tr-reg.con-sp .tr-sp-t{color:#fff;font-size:15px;line-height:1.6;font-weight:400}
.as-esito-btn{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* dopo l'aggancio i due tasti sono l'unica cosa attiva */
#tr-dopo{margin-top:26px;padding-top:22px;border-top:1px solid var(--rule)}
#tr-dopo .m-check{display:flex;flex-direction:column;gap:10px;align-items:stretch}
#tr-dopo .m-c{background:var(--ink);color:#fff;border:2px solid var(--ink);border-radius:5px;
  padding:15px 22px;font-family:inherit;font-size:15.5px;font-weight:600;cursor:pointer;
  text-align:center;transition:all .14s}
#tr-dopo .m-c:hover{background:#17364a;border-color:#17364a;transform:translateY(-1px)}
#tr-dopo .m-c[data-d="1"]{background:var(--card);color:var(--ink)}
#tr-dopo .m-c[data-d="1"]:hover{background:var(--paper);border-color:var(--ink)}
@media(min-width:620px){
  #tr-dopo .m-check{flex-direction:row}
  #tr-dopo .m-c{flex:1}
}

/* l'istruzione del trascinamento, più marcata */
.tr-avviso{font-size:16px;font-weight:600;color:var(--ink);background:#EAF1F6;
  border-left:5px solid var(--azzurro);padding:15px 19px;margin:18px 0 14px;line-height:1.5}
.tr-avviso.fatto{font-weight:600}

/* la domanda quando resta davanti insieme alla regola */
.as-dom-p{font-family:"Newsreader";font-size:17px;line-height:1.45;color:var(--ink2);
  padding:13px 16px;background:var(--paper);border-radius:4px;margin-bottom:18px}

/* lo spirito in negativo, dopo la risposta corretta */
.as-sp-neg{background:var(--ink);border-radius:4px;padding:16px 19px;margin-top:18px}
.as-sp-neg .m-lab{color:rgba(255,255,255,.62)}
.as-sp-t{color:#fff;font-size:15px;line-height:1.6;margin-top:6px}

/* il quesito IVASS, riconoscibile */
.as-qbox{border:2px solid var(--azzurro);border-radius:5px;padding:0 0 17px;margin:20px 0 4px;
  overflow:hidden}
.as-qtag{background:var(--azzurro);color:#fff;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;font-weight:600;padding:6px 17px;margin-bottom:14px}
.as-qtag b{font-family:"IBM Plex Mono";font-weight:700;letter-spacing:0;font-size:12.5px;margin-left:3px}
.as-dom3{font-family:"Newsreader";font-size:19px;line-height:1.42;padding:0 18px}
.btn.grande{font-size:15.5px;padding:14px 26px;line-height:1.35}

.as-esito.ok .as-sp-neg{margin-top:14px;width:100%}
.as-esito .as-sp-t{margin-top:0}

.as-esito-btn .btn{font-size:15px;padding:12px 22px}
.as-esito-btn .btn.chiaro{background:transparent;border:2px solid var(--ink);color:var(--ink)}
.as-esito.ok .btn{border:2px solid var(--sicuro);background:var(--sicuro)}
.as-esito.ok .btn.chiaro{background:transparent;border-color:var(--sicuro);color:#1F5E44}

/* regola e quesito: stesso peso */
.as-box{border:2px solid var(--c);border-radius:5px;margin:18px 0;overflow:hidden}
.as-box.reg{--c:#5A7A8A}
.as-box.que{--c:#2E6E8E}
.as-tag{background:var(--c);color:#fff;font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  font-weight:600;padding:7px 17px;text-align:center}
.as-tag b{font-family:"IBM Plex Mono";font-weight:700;letter-spacing:0;font-size:12.5px;margin-left:3px}
.as-testo{padding:15px 18px;font-size:16px;line-height:1.6}
.as-testo.dom{font-family:"Newsreader";font-size:19px;line-height:1.42}

.tr-avviso.ko{background:#FCF4F2;border-left-color:#B0503F;color:#8A3A2C}
.tr-avviso.ko b{color:#B0503F}

/* la scelta fatta, ricordata nel trascinamento */
.opt.tua{border-color:var(--ink2);border-width:2px}
.opt-tua{display:block;font-style:normal;font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  font-weight:700;color:var(--ink3);margin-top:5px}
/* rifiuto: l'opzione si accende, la regola rimbalza */
.opt.respinta{background:#FBEBE7 !important;border-color:#B0503F !important;
  box-shadow:0 0 0 3px rgba(176,80,63,.16)}
@keyframes rimbalzo{
  0%{transform:translateY(0) scale(1)} 25%{transform:translateY(-9px) scale(1.015)}
  55%{transform:translateY(3px) scale(.995)} 100%{transform:translateY(0) scale(1)} }
.tr-reg.rimbalza{animation:rimbalzo .55s cubic-bezier(.3,1.4,.5,1);
  border-color:#B0503F;background:#FDF6F4}

/* logo del prodotto */
.h-logo{display:block;width:290px;height:auto;margin-bottom:6px}
@media(max-width:600px){.h-logo{width:220px}}

/* marchio nella barra */
.brand{padding:0;background:none;border:none;cursor:pointer;display:flex;align-items:center}
.brand img{display:block;height:26px;width:auto}
@media(max-width:600px){.brand img{height:21px}}

/* home centrata */
.card.home.centrata{text-align:center}
.card.home.centrata .h-logo{margin:6px auto 20px;width:330px}
.card.home.centrata .ob.centro{max-width:640px;margin:0 auto 22px}
.card.home.centrata .ob p{font-size:15.5px;line-height:1.65}
.card.home.centrata .dataes{max-width:420px;margin:0 auto 22px;text-align:center}
.card.home.centrata .home-btn{justify-content:center}
@media(max-width:600px){.card.home.centrata .h-logo{width:250px}}
/* intestazione unica */
.sess-dove{font-size:12px;color:var(--ink3);margin-top:5px;font-family:"IBM Plex Mono"}
.sess-tit{font-size:14px;font-weight:600;margin-top:3px}

/* barra di azione ancorata in fondo alla finestra */
.ancora{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--card);
  border-top:1px solid var(--rule);box-shadow:0 -6px 20px rgba(11,31,46,.10);
  padding:12px 20px;animation:sale .22s ease}
@keyframes sale{from{transform:translateY(100%)}to{transform:translateY(0)}}
.ancora-in{max-width:820px;margin:0 auto;display:flex;gap:10px;flex-wrap:wrap}
.ancora .m-c{flex:1;min-width:200px;background:var(--ink);color:#fff;border:2px solid var(--ink);
  border-radius:5px;padding:14px 20px;font-family:inherit;font-size:15px;font-weight:600;
  cursor:pointer;text-align:center;transition:all .13s}
.ancora .m-c:hover{background:#17364a;border-color:#17364a}
.ancora .m-c[data-d="1"]{background:var(--card);color:var(--ink)}
.ancora .m-c[data-d="1"]:hover{background:var(--paper)}
.tr-spazio{height:0;transition:height .2s}
.tr-spazio.attivo{height:88px}
@media(max-width:640px){.ancora .m-c{min-width:100%}.tr-spazio.attivo{height:150px}}

.as-esito.ok .as-sp-neg{margin:12px 0 4px;width:100%}
.as-esito .as-sp-neg .m-lab{color:rgba(255,255,255,.6);margin-bottom:5px}

/* finestra dello spirito su richiesta */
.fsp-fondo{position:fixed;inset:0;z-index:60;background:rgba(11,31,46,.42);
  display:flex;align-items:center;justify-content:center;padding:24px;
  animation:fspIn .18s ease}
@keyframes fspIn{from{opacity:0}to{opacity:1}}
.fsp{background:var(--card);border-radius:6px;max-width:620px;width:100%;
  padding:22px;box-shadow:0 18px 50px rgba(11,31,46,.28);
  animation:fspSu .22s cubic-bezier(.2,.9,.3,1)}
@keyframes fspSu{from{transform:translateY(14px);opacity:.6}to{transform:translateY(0);opacity:1}}
.fsp .as-sp-neg{margin:0}
.fsp .as-sp-neg .m-lab{color:rgba(255,255,255,.62);margin-bottom:6px}
.fsp-piede{margin-top:16px;text-align:right}

/* storico del quesito */
.st-lista{margin:10px 0 16px}
.st-riga{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:baseline;
  padding:10px 0 10px 13px;border-left:3px solid var(--c);border-top:1px solid #EDF0EE;font-size:13.5px}
.st-riga.ok{--c:#2E7D5B}
.st-riga.ko{--c:#B0503F}
.st-d{font-size:12px;color:var(--ink3)}
.st-a{font-weight:600}
.st-e{font-size:12.5px;color:var(--c);text-align:right}
.st-sugg{font-size:13px;line-height:1.6;color:var(--ink2);background:var(--paper);
  border-radius:4px;padding:13px 16px}
/* pulsanti nel report */
.dt-az{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.btn.pic{font-size:13px;padding:8px 15px;border-width:1px}
/* conteggio in studio libero */
.sl-conta{margin-top:12px;font-size:13.5px;color:var(--ink2)}
.sl-conta b{font-size:16px;color:var(--ink);margin-right:4px}
.sl-conta .vuoto{color:var(--ink3);line-height:1.5}
.btn:disabled{opacity:.35;cursor:default}

.badge.pg{color:#1F5E44;background:#EFF7F3}
.at-dati{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;
  margin:20px 0;padding:18px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.at-dati div{display:flex;flex-direction:column;gap:3px}
.at-dati span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);font-weight:600}
.at-dati b{font-size:15px;font-weight:600;line-height:1.35}
.sosp-riga{margin-top:16px;text-align:right}
.m-mostra.sosp{font-size:12.5px;color:var(--ink3)}
.m-mostra.sosp:hover{color:var(--ink)}
.re-azioni .sosp{float:right;margin-top:-4px}
.card.sp{max-width:560px;margin:40px auto;text-align:center}
.card.sp .m-piede{justify-content:center}

/* storico: terzo stato */
.st-riga.na{--c:#9AA5AA}
.st-riga.na .st-e{color:var(--ink3)}
/* serie delle simulazioni */
.rp-serie{display:flex;align-items:flex-end;gap:6px;height:90px;margin:16px 0 6px;
  padding-bottom:2px;border-bottom:1px solid var(--rule)}
.rp-col{flex:1;max-width:34px;background:var(--ottone);border-radius:3px 3px 0 0;
  transition:height .3s;min-height:6px}
.rp-col.ok{background:var(--sicuro)}
.rp-col.giu{background:var(--rosso)}

/* il report come attività da completare */
.rt-az{margin-top:26px;padding-top:20px;border-top:2px solid var(--rule);
  display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.rt-nota{font-size:13px;color:var(--ink3);line-height:1.5}
.rt-az .btn.grande{font-size:16px;padding:15px 30px}
/* composizione del test */
.rp-comp{margin:14px 0 18px}
.rp-cb{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--rule)}
.rp-cb i.tr{background:var(--azzurro)}
.rp-cb i.nt{background:#B9C6CC}
.rp-cl{display:flex;gap:20px;flex-wrap:wrap;margin-top:9px;font-size:12.5px;color:var(--ink2)}
.rp-cl span{display:flex;align-items:center;gap:7px}
.rp-cl i{width:11px;height:11px;border-radius:3px}
.rp-cl i.tr{background:var(--azzurro)}
.rp-cl i.nt{background:#B9C6CC}
.rp-cl b{font-family:"IBM Plex Mono";color:var(--ink)}

.rp-rec{margin-top:22px;padding:18px 20px;background:#FBF6EC;border-left:4px solid var(--ottone);
  border-radius:0 4px 4px 0}
.rp-rec p{font-size:14.5px;line-height:1.6;color:var(--ink2)}
.rp-rec p+p{margin-top:9px}
.rp-rec b{color:var(--ink)}

.rp-ok{font-size:13px;font-weight:600;color:var(--sicuro)}
.rp-tes{margin-top:18px;padding:16px 18px;background:#F4F8FB;border-radius:4px}
.rp-tes p{font-size:13.5px;line-height:1.6;color:var(--ink2);margin-top:7px}
.rp-tesn{display:flex;gap:26px;flex-wrap:wrap;margin-top:14px}
.rp-tesn b{font-size:24px;font-weight:500;display:block;line-height:1;color:var(--azzurro)}
.rp-tesn span{font-size:11.5px;color:var(--ink3)}

.rp-tes+.rp-tes{margin-top:12px}
.rp-tesn b.su{color:var(--sicuro)}
.rp-tesn b.giu{color:var(--rosso)}
.rp-tesp{font-size:13px;line-height:1.6;color:var(--ink2);margin-top:12px;
  padding-top:11px;border-top:1px solid #DDE6EC}

/* il tempo nelle simulazioni */
.sess-dx{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.tempo{font-family:"IBM Plex Mono";font-size:13px;font-weight:600;color:var(--ink3);
  background:var(--paper);border-radius:12px;padding:3px 11px;transition:all .3s}
.tempo.giallo{color:#7A5518;background:#FBF2E6}
.tempo.rosso{color:#8A3A2C;background:#FBEBE7}

/* le due soglie nella barra del report */
.rp-sb u.s30{background:var(--ink3);width:2px;opacity:.55}
.rp-sb u.s36{background:var(--ink);width:3px}
.rp-tacche{position:relative;height:26px;margin-top:5px;font-size:10.5px;color:var(--ink3);
  letter-spacing:.03em}
.rp-tacche span{position:absolute;transform:translateX(-50%);white-space:nowrap;
  padding-top:3px;border-left:1px solid var(--rule);padding-left:0}
.rp-tacche span:last-child{font-weight:700;color:var(--ink2)}
.rp-sog.sicuro .rp-sb i{background:var(--sicuro)}
.rp-ok.med{color:var(--ottone)}
@media(max-width:600px){.rp-tacche span{font-size:9.5px}}

.btn.grande.largo{max-width:600px;text-align:left;line-height:1.4;padding:18px 24px;
  display:flex;align-items:center;gap:16px;font-size:15.5px;font-weight:600;
  border-radius:6px;box-shadow:0 2px 0 rgba(11,31,46,.28);transition:all .14s}
.btn.grande.largo::after{content:"\2192";font-size:22px;font-weight:400;margin-left:auto;
  flex:0 0 auto;opacity:.75}
.btn.grande.largo:hover{transform:translateY(-1px);box-shadow:0 4px 0 rgba(11,31,46,.28)}
.btn.grande.largo:active{transform:translateY(1px);box-shadow:0 1px 0 rgba(11,31,46,.28)}

/* area amministratore */
.ad-nav{display:flex;gap:6px;flex-wrap:wrap;margin:24px 0 20px;padding-bottom:12px;
  border-bottom:1px solid var(--rule)}
.ad-nav button{border:1px solid var(--rule);background:var(--card);border-radius:18px;
  padding:7px 15px;font-family:inherit;font-size:13.5px;color:var(--ink2);transition:all .12s}
.ad-nav button:hover{border-color:var(--ink2)}
.ad-nav button.on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}
.ad-form{margin-top:26px;padding-top:20px;border-top:1px solid var(--rule)}
.ad-riga{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}
.ad-riga .hd-lab{flex:1;min-width:190px;margin-bottom:0}
.tu-tab td.dx{text-align:right;width:90px}
.m-mostra.pic{font-size:12px}
.hd-in.pic{padding:6px 10px;font-size:13px;width:auto}
/* tutor */
.ad-tut{border:1px solid var(--rule);border-radius:5px;padding:15px 17px;margin-bottom:12px}
.ad-tut1{display:flex;justify-content:space-between;align-items:center;gap:14px}
.ad-tut1 b{font-size:16px}
.ad-tut1 span{font-size:12px;color:var(--ink3);margin-left:9px}
.ad-suoi{margin-top:12px;padding-top:12px;border-top:1px solid #EDF0EE}
.ad-c{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:14px}
.ad-vuoto{margin-top:10px;font-size:13px;color:var(--ink3)}
/* confronto database */
.ad-casi{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:18px 0}
.ad-casi div{border:1px solid var(--rule);border-radius:4px;padding:12px 14px}
.ad-casi b{display:block;font-size:13.5px;margin-bottom:3px}
.ad-casi span{font-size:12px;color:var(--ink3);line-height:1.45}
.ad-drop{border:2px dashed var(--rule);border-radius:6px;padding:34px 20px;text-align:center;
  cursor:pointer;transition:all .13s;margin-top:12px}
.ad-drop:hover{border-color:var(--azzurro);background:#F7FAFC}
.ad-drop b{display:block;font-size:15px;margin-bottom:4px}
.ad-drop span{font-size:13px;color:var(--ink3)}
.cf-caso{border:1px solid var(--rule);border-left:4px solid var(--c);border-radius:0 5px 5px 0;
  padding:15px 18px;margin-bottom:12px;--c:var(--ink3)}
.cf-caso.nuovo{--c:#2E7D5B} .cf-caso.elim{--c:#B0503F}
.cf-caso.dom{--c:#C08A2E} .cf-caso.distr{--c:#2E6E8E} .cf-caso.mat{--c:#7A5A8A}
.cf-t{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.cf-tag{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--c)}
.cf-t .mono{font-size:12px;color:var(--ink3)}
.cf-d{font-family:"Newsreader";font-size:16px;line-height:1.45;margin-bottom:10px}
.cf-dif{display:grid;gap:8px;margin:10px 0}
.cf-v,.cf-n{font-size:13.5px;line-height:1.5;padding:10px 13px;border-radius:3px}
.cf-v{background:#FCF4F2}.cf-n{background:#F2F9F5}
.cf-v span,.cf-n span{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  font-weight:700;margin-bottom:4px;color:var(--ink3)}
.cf-az{font-size:13px;color:var(--ink2);margin-top:10px;padding-top:10px;border-top:1px solid #EDF0EE}
/* schede */
.sc-lista{margin-top:16px}
.sc-r{display:flex;align-items:baseline;gap:13px;padding:12px 14px;border:1px solid var(--rule);
  border-radius:4px;margin-bottom:7px;cursor:pointer;transition:all .12s}
.sc-r:hover{border-color:var(--ink2);background:#FAFBFB}
.sc-r .mono{color:var(--azzurro);font-size:12.5px;flex:0 0 auto}
.sc-d{flex:1;font-size:14px;line-height:1.45}
.sc-r em{font-style:normal;font-size:11.5px;color:var(--ink3);flex:0 0 auto}
.ms-opz{margin:14px 0}

.ms-az{margin:14px 0 4px}
.mq-avviso{background:#FBF6EC;border-left:4px solid var(--ottone);padding:14px 17px;
  margin:16px 0 20px;font-size:13.5px;line-height:1.6;color:var(--ink2);border-radius:0 4px 4px 0}
.mq-avviso b{display:block;color:var(--ink);margin-bottom:4px}
.mq-storia{margin:18px 0;padding:14px 16px;background:var(--paper);border-radius:4px}
.mq-sr{display:flex;gap:14px;font-size:13px;padding:5px 0;color:var(--ink2)}
.mq-sr .mono{color:var(--ink3);font-size:12px;flex:0 0 84px}

/* report del percorso */
.card.rep{max-width:820px;margin:0 auto}
.rep-testa{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  padding-bottom:18px;border-bottom:2px solid var(--ink)}
.rep-tit{font-family:"Newsreader";font-size:27px;font-weight:600}
.rep-sub{font-size:14px;color:var(--ink2);margin-top:4px}
.rep-esito{margin:22px 0;border:2px solid var(--rule);border-radius:6px;overflow:hidden}
.rep-esito.ok{border-color:var(--sicuro)}
.rep-e{display:flex;justify-content:space-between;align-items:center;gap:18px;
  padding:15px 18px;font-size:14.5px;color:var(--ink2)}
.rep-e+.rep-e{border-top:1px solid var(--rule)}
.rep-e b{font-size:16px;color:var(--ink);white-space:nowrap;text-transform:uppercase;
  letter-spacing:.05em;font-size:13px}
.rep-esito.ok .rep-e b{color:var(--sicuro)}
.rep-sez{margin-top:26px;padding-top:20px;border-top:1px solid var(--rule)}
.rep-tab{width:100%;border-collapse:collapse;margin-top:12px}
.rep-tab td,.rep-tab th{padding:10px 0;border-bottom:1px solid #EDF0EE;font-size:14px;text-align:left}
.rep-tab th{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);font-weight:600}
.rep-tab .dx{text-align:right}
.rep-tab .su{color:var(--sicuro);font-weight:600}
.rep-tab .giu{color:var(--rosso)}
.rep-piede{margin-top:28px;padding-top:18px;border-top:2px solid var(--ink);
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.rep-piede span{font-size:12px;color:var(--ink3)}
@media print{
  header,.topbar,  body{background:#fff;padding:0;margin:0}
  main,.wrap{padding:0 !important;margin:0 !important;max-width:none !important}
  .card,.card.rep{border:none;box-shadow:none;max-width:none;padding:0}
  .rep-testa{padding-top:0}
  .rep-sez,.rep-esito{page-break-inside:avoid}
  a[href]:after{content:none !important}
}

/* dopo la prova */
.es-sez{margin-top:24px;padding-top:20px;border-top:1px solid var(--rule)}
.es-scelta{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.es-scelta button{flex:1;min-width:200px;border:2px solid var(--rule);background:var(--card);
  border-radius:5px;padding:16px 20px;font-family:inherit;font-size:15px;color:var(--ink);
  text-align:left;transition:all .13s}
.es-scelta button:hover{border-color:var(--ink2)}
.es-scelta button.on{border-color:var(--ink);background:#F3F7FA}
.es-d{display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:14px 0;border-bottom:1px solid #EDF0EE;font-size:14.5px;line-height:1.5}
.es-stelle{display:flex;gap:5px;flex:0 0 auto}
.es-stelle button{width:36px;height:36px;border:1px solid var(--rule);background:var(--card);
  border-radius:5px;font-family:"IBM Plex Mono";font-size:13px;color:var(--ink3);transition:all .12s}
.es-stelle button:hover{border-color:var(--azzurro)}
.es-stelle button.on{background:var(--azzurro);border-color:var(--azzurro);color:#fff;font-weight:600}
.es-aut{margin-top:22px}
.es-check{display:flex;gap:12px;align-items:flex-start;text-align:left;background:none;
  border:none;font-family:inherit;font-size:13.5px;line-height:1.6;color:var(--ink2);cursor:pointer}
.es-check i{flex:0 0 auto;width:20px;height:20px;border:2px solid var(--rule);border-radius:4px;
  margin-top:1px;transition:all .12s}
.es-check.on i{background:var(--sicuro);border-color:var(--sicuro);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M6.5 11.5L3 8l1-1 2.5 2.5L12 4l1 1z'/%3E%3C/svg%3E");
  background-size:contain}
.ad-alert{background:#FBF6EC;border-left:4px solid var(--ottone);padding:14px 17px;
  margin-top:18px;font-size:13.5px;line-height:1.6;color:var(--ink2);border-radius:0 4px 4px 0}
.ad-alert b{display:block;color:var(--ink);margin-bottom:3px}

.es-aut{display:flex;flex-direction:column;gap:9px;margin-top:12px}
.es-check{border:2px solid var(--rule);border-radius:5px;padding:14px 16px;align-items:flex-start}
.es-check:hover{border-color:var(--ink2)}
.es-check.on{border-color:var(--sicuro);background:#F4FAF7}
.es-check span b{display:block;color:var(--ink);font-size:14.5px;margin-bottom:2px}

.rep-logo{display:block;width:180px;height:auto;margin-bottom:14px}
@media print{ .rep-logo{width:150px} }

/* elenco delle famiglie */
.in-elenco{margin-top:20px}
.in-voce{display:grid;grid-template-columns:1fr auto;gap:4px 16px;width:100%;text-align:left;
  border:1px solid var(--rule);background:var(--card);border-radius:5px;padding:14px 17px;
  margin-bottom:8px;font-family:inherit;transition:all .12s;cursor:pointer}
.in-voce:hover{border-color:var(--ottone);background:#FDFBF7}
.in-vn{font-size:15.5px;font-weight:600;color:var(--ink)}
.in-vq{font-size:11.5px;color:var(--ink3);text-align:right;padding-top:3px}
.in-vd{grid-column:1/-1;font-size:13px;color:var(--ink2);line-height:1.45}
.in-freq{font-size:12.5px;color:var(--ink3);margin-bottom:6px}
.in-freq .mono{color:var(--ottone);font-weight:600;font-size:14px}
.in-sez{margin-top:22px;padding-top:18px;border-top:1px solid var(--rule)}
.in-vita p{font-size:14.5px;line-height:1.65}
.in-vopz{margin:12px 0 10px}
.in-vopz .opt{cursor:default}
.in-chiusa{font-size:13.5px;line-height:1.6;color:var(--ink2);margin-top:10px;
  padding-top:10px;border-top:1px solid rgba(0,0,0,.07)}
.in-dove{font-size:13.5px;color:var(--ink2);margin-top:10px;line-height:1.55}
.in-dove b{color:var(--ink)}

/* modalità accelerata */
.ac-btn{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:20px 0 18px;
  padding-bottom:18px;border-bottom:1px solid var(--rule)}
.ac-log{max-height:520px;overflow:auto;border:1px solid var(--rule);border-radius:4px}
.ac-r{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:baseline;
  padding:8px 10px;border-bottom:1px solid #EDF0EE;font-size:13px}
.ac-r.test{background:#FBF6EC;border-left:3px solid var(--ottone);padding-left:9px}
.ac-r.test.simulazione{background:#FCF4F2;border-left-color:var(--rosso)}
.ac-n{font-size:11px;color:var(--ink3)}
.ac-d{line-height:1.4}
.ac-p{font-size:12.5px;color:var(--ink2)}
.ac-p.su{color:var(--sicuro);font-weight:600} .ac-p.giu{color:var(--rosso)}

/* simulazione cartacea */
.ct-due{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}
@media(max-width:760px){.ct-due{grid-template-columns:1fr}}
.ct-f{border:1px solid var(--rule);border-radius:5px;padding:16px 18px;position:relative}
.ct-n{position:absolute;top:14px;right:16px;font-size:26px;color:var(--rule);font-weight:600}
.ct-f b{display:block;font-size:15.5px;margin-bottom:5px;padding-right:26px}
.ct-f span{display:block;font-size:13px;line-height:1.5;color:var(--ink2)}
.ct-az{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.ct-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:6px;margin:18px 0}
.ct-r{display:flex;align-items:center;gap:4px}
.ct-i{flex:0 0 22px;text-align:right;font-size:11.5px;color:var(--ink3)}
.ct-l{width:26px;height:26px;border:1px solid var(--rule);background:var(--card);border-radius:4px;
  font-family:"IBM Plex Mono";font-size:12px;color:var(--ink3);transition:all .1s;cursor:pointer}
.ct-l:hover{border-color:var(--ink2)}
.ct-l.on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}
.h-cart{background:#FBF6EC;border-left:4px solid var(--ottone);padding:15px 18px;
  margin:0 auto 22px;max-width:640px;text-align:left;border-radius:0 4px 4px 0}
.h-cart p{font-size:14px;line-height:1.6;color:var(--ink2);margin-top:5px}

.ac-int{font-size:12.5px;color:var(--ink3);margin-bottom:8px}

.ac-fatto{background:#F0F8F4;border-left:4px solid var(--sicuro);padding:13px 16px;
  margin:18px 0 0;font-size:13.5px;line-height:1.55;color:#1F5E44;border-radius:0 4px 4px 0}

/* calibrazione */
.cl-sez{margin-top:24px;padding-top:20px;border-top:1px solid var(--rule)}
.cl-a{display:flex;justify-content:space-between;align-items:center;gap:16px;
  border:1px solid var(--rule);border-radius:5px;padding:14px 16px;margin-bottom:8px}
.cl-a b{display:block;font-size:14.5px;margin-bottom:2px}
.cl-a span{font-size:12.5px;color:var(--ink2);line-height:1.45}
.cl-dx{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.cl-dx em{font-style:normal;font-size:12px;color:var(--ink3)}
.cl-fatta{display:flex;align-items:center;gap:12px;padding:9px 0;
  border-bottom:1px solid #EDF0EE;font-size:13.5px}
.cl-fatta span{flex:1}
.cl-fatta em{font-style:normal;font-size:12px;color:var(--ink3)}
.cl-fatta i{font-style:normal;font-size:11.5px;color:var(--sicuro)}
.rm-cal{margin-top:18px;padding:15px 18px;background:#F4F8FB;border-radius:4px}
.rm-cal p{font-size:13.5px;color:var(--ink2);margin:5px 0 10px;line-height:1.55}
.rm-cr{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13.5px}
.rm-cr i{font-style:normal;width:16px;color:var(--sicuro)}
.rm-cr span{flex:1}
.rm-cr em{font-style:normal;font-size:12px;color:var(--ink3)}
.rm-cr.fatta span{color:var(--ink3)}
.rm-num b em{font-size:14px;color:var(--ink3);font-style:normal}

.cl-f{margin-bottom:18px}
.cl-f .m-lab{margin-bottom:8px}
.cl-mat{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.cl-mat button{border:1px solid var(--rule);background:var(--card);border-radius:16px;
  padding:6px 13px;font-family:inherit;font-size:12.5px;color:var(--ink2);cursor:pointer}
.cl-mat button:hover{border-color:var(--ink2)}
.cl-mat button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.cl-esito{background:var(--paper);border-radius:4px;padding:13px 16px;margin:16px 0 4px;
  font-size:13.5px;color:var(--ink2)}
.cl-esito b{font-size:15px;color:var(--ink)}
.cl-esito.vuoto{color:var(--ink3)}
.cl-esito em{font-style:normal;display:block;margin-top:5px;font-size:12.5px}
.cl-esito em.giu{color:var(--rosso)}
#cl-modo button span{display:block;font-size:11.5px;color:var(--ink3);margin-top:2px}

/* orientamento normativo */
.or-mat{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0 24px;padding-bottom:14px;
  border-bottom:1px solid var(--rule)}
.or-mat button{border:1px solid var(--rule);background:var(--card);border-radius:18px;
  padding:7px 14px;font-family:inherit;font-size:13px;color:var(--ink2);cursor:pointer;
  display:flex;align-items:center;gap:7px;transition:all .12s}
.or-mat button:hover{border-color:var(--ink2)}
.or-mat button.on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}
.or-mat em{font-style:normal;font-size:11px;opacity:.65;font-family:"IBM Plex Mono"}
.or-atto{margin-bottom:22px}
.or-an{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;
  color:var(--ottone);margin-bottom:9px}
.or-v{display:flex;justify-content:space-between;align-items:baseline;gap:14px;width:100%;
  text-align:left;border:1px solid var(--rule);background:var(--card);border-radius:5px;
  padding:12px 15px;margin-bottom:6px;font-family:inherit;cursor:pointer;transition:all .12s}
.or-v:hover{border-color:var(--ottone);background:#FDFBF7}
.or-t{font-size:14.5px;color:var(--ink);line-height:1.4}
.or-q{font-size:11.5px;color:var(--ink3);flex:0 0 auto}
.or-cap{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ottone);
  font-weight:700;margin-bottom:6px}
.or-n{font-size:12.5px;color:var(--ink3);margin-bottom:18px}
.or-n .mono{color:var(--ottone);font-weight:600;font-size:14px}
.or-testo p{font-size:15px;line-height:1.7;color:var(--ink2);margin-bottom:12px}
.or-testo p:first-child{font-size:16px;color:var(--ink)}
.or-f{margin-top:20px;padding-top:14px;border-top:1px solid var(--rule);
  font-size:12.5px;color:var(--ink3);line-height:1.5}

/* copertine */
.cp-v{margin-top:20px}
.cp-v .m-lab{margin-bottom:7px}
.cp-v p{font-size:15px;line-height:1.65;color:var(--ink2)}
.cp-seq{list-style:none;counter-reset:s;margin-top:4px}
.cp-seq li{counter-increment:s;position:relative;padding:7px 0 7px 32px;font-size:14.5px;
  line-height:1.5;color:var(--ink2);border-bottom:1px solid #EDF0EE}
.cp-seq li:last-child{border-bottom:none}
.cp-seq li:before{content:counter(s);position:absolute;left:0;top:7px;width:20px;height:20px;
  border-radius:50%;background:var(--paper);color:var(--ink3);font-family:"IBM Plex Mono";
  font-size:11px;display:flex;align-items:center;justify-content:center}
.at-dati b br{content:"";display:block;margin-bottom:2px}

.badge.cal{color:#5C3D73;background:#F4EFF8}


/* le copertine: fascia in testa, fondo diverso, per riconoscerle come stacco */
.card.copertina{background:#F4F7F9;border:1px solid #C9D6DD;
  padding-top:0;overflow:hidden;--cop:#2E6E8E}
.card.copertina.unita{--cop:#5B8AA6}
.card.copertina.cal{--cop:#7B4F91}
.card.copertina.test{--cop:#C08A2E}
.cop-eti{background:var(--cop);color:#fff;margin:0 -22px 20px;padding:11px 22px;
  font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700}
.card.copertina .cp-v p,.card.copertina .cp-seq li{color:var(--ink2)}
.card.copertina .at-dati{background:var(--card);border-radius:5px;padding:16px 18px;
  border:1px solid #E2E9ED}
.card.copertina .ap-fasi{background:var(--card);border-radius:5px;padding:4px 14px}
.card.copertina .cp-seq li{border-bottom-color:#E4EBEF}
.card.copertina .btn.grande{background:var(--cop);border-color:var(--cop)}

/* help desk: le segnalazioni tecniche */
.hd-c.urg{border-left:3px solid var(--rosso)}
.hd-c em{font-style:normal;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--rosso);font-weight:700;margin-left:9px}
.hd-urg{background:#FCF3F1;border-left:4px solid var(--rosso);padding:13px 16px;
  margin-top:16px;font-size:13.5px;line-height:1.6;color:var(--ink2);border-radius:0 4px 4px 0}
.hd-urg b{display:block;color:var(--ink);margin-bottom:3px}
.hd-caso.urg{border-left-color:var(--rosso)}

/* l'utenza nella schermata di attivazione */
.ac-utenza{background:#F4F7F9;border:1px solid #C9D6DD;border-radius:5px;
  padding:13px 16px;margin-bottom:18px}
.ac-utenza b{display:block;font-size:15px;color:var(--ink);margin-top:4px}

/* i «perché no» in amministrazione */
.pn-cerca{margin-bottom:20px}
.pn-riga{display:flex;gap:9px;align-items:flex-start;margin-top:6px}
.pn-riga .hd-in{max-width:180px}
.pn-scheda{background:#F7F9FA;border:1px solid #C9D6DD;border-radius:6px;
  padding:20px 22px;margin-bottom:24px}
.pn-t{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.pn-t b{font-size:15px}
.pn-t em{font-style:normal;font-size:11.5px;color:var(--ottone);font-weight:600}
.pn-ok{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;
  color:var(--sicuro);background:#EAF5F0;padding:3px 9px;border-radius:3px}
.pn-dom{font-size:15px;line-height:1.5;font-weight:600;margin-bottom:12px}
.pn-ok-r{background:#F2F9F5;border-left:4px solid var(--sicuro);padding:11px 15px;
  border-radius:0 4px 4px 0;font-size:14.5px;margin-bottom:12px}
.pn-ok-r .k{color:var(--sicuro);margin-right:8px;font-weight:700}
.pn-reg{background:var(--card);border:1px solid var(--rule);border-radius:5px;
  padding:13px 16px;margin-bottom:18px;font-size:14px;line-height:1.55;color:var(--ink2)}
.pn-err{display:block;color:var(--soglia);font-weight:600;margin-bottom:5px}
.pn-lista{margin-top:8px}
.pn-v{display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  border:1px solid var(--rule);background:var(--card);border-radius:5px;
  padding:11px 15px;margin-bottom:7px;font-family:inherit;font-size:14px;cursor:pointer}
.pn-v:hover{border-color:var(--ink2)}
.pn-vd{flex:1;color:var(--ink2);font-size:13.5px}
.pn-v em{font-style:normal;font-family:"IBM Plex Mono";font-size:12px;color:var(--ottone);
  font-weight:600}

/* la risposta a una richiesta */
.ad-risp{margin-top:14px;display:flex;flex-direction:column;gap:9px}
.ad-risp .btn{align-self:flex-start}

/* le ore di calibrazione rimaste */
.cl-ore{background:var(--card);border:1px solid var(--rule);border-radius:5px;
  padding:12px 15px;margin-bottom:14px;font-size:14px;color:var(--ink2)}
.cl-ore b{color:var(--ink)}
.cl-ore em{display:block;font-style:normal;font-size:13px;color:var(--ink3);margin-top:5px}

/* il programma di mantenimento */
.mn-box{background:#F4F7F9;border:1px solid #C9D6DD;border-radius:6px;
  padding:20px 22px;margin:20px 0}
.mn-box.attivo{background:#F2F9F5;border-color:#BFE0D5}

/* il report del percorso */
.rep-testa{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  margin-bottom:22px}
.rep-sub{font-size:13px;color:var(--ink3);margin-top:4px}
.rep-sez{margin:24px 0}
.rp-av{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rp-al{font-size:12px;color:var(--ink3);display:block;margin-bottom:6px}
.rp-sb.piccola{height:7px}
.rp-an{font-size:12px;color:var(--ink2);display:block;margin-top:5px}
@media(max-width:600px){.rp-av{grid-template-columns:1fr}}

/* il confronto fra database */
.db-sez{margin:22px 0}
.db-nota{background:#FBF6EC;border-left:4px solid var(--ottone);border-radius:0 5px 5px 0;
  padding:18px 20px;margin-top:22px}
.db-r{background:var(--card);border:1px solid #E8DFC9;border-radius:5px;
  padding:11px 15px;margin-top:8px}
.db-r b{display:block;font-size:14px;color:var(--ink);margin-bottom:3px}
.db-r span{font-size:13.5px;color:var(--ink2);line-height:1.5}

/* il modulo aggiornamenti quando è vuoto */
.rm-mat.vuota{opacity:.85}
.rm-vuota{font-size:13px;color:var(--ink3);line-height:1.5;margin-top:3px;
  grid-column:1 / -1}

/* il tasto della logica, nel consolidamento */
.m-logica{display:inline-flex;align-items:center;gap:7px;margin-top:12px;
  border:1px solid rgba(192,154,62,.55);background:var(--card);border-radius:5px;
  padding:9px 15px;font-family:inherit;font-size:13.5px;color:var(--ottone);
  font-weight:600;cursor:pointer}
.m-logica:hover{background:#FBF6EC}
.m-logica::before{content:"\1F511";font-size:15px;line-height:1}
.cs-sp{margin-top:12px;padding-top:12px;border-top:1px solid rgba(192,154,62,.3);
  font-size:14px;line-height:1.6;color:var(--ink2)}
.cs-sp.chiuso{display:none}

/* le presentazioni delle attività */
.pres-box{width:100%;height:min(72vh,620px);border:1px solid var(--rule);border-radius:6px;
  background:var(--paper);margin:16px 0}

/* la simulazione cartacea */
.ct-due{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}
.ct-f{background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:18px 20px}
.ct-n{width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:13px;margin-bottom:10px}
.ct-f b{display:block;font-size:15px;margin-bottom:5px}
.ct-f > span{display:block;font-size:13.5px;color:var(--ink2);line-height:1.55}
.ct-az{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.ct-az .btn{text-decoration:none;display:inline-block}
.ct-esito{margin-top:12px;padding:11px 14px;border-radius:5px;background:#F2F4F3;font-size:13px}
.ct-esito b{font-size:18px;display:inline}
.ct-esito.su{background:#F2F9F5} .ct-esito.giu{background:#FCF3F1}
.ct-esito span{display:block;color:var(--ink3);font-size:12.5px;margin-top:3px}
@media(max-width:640px){.ct-due{grid-template-columns:1fr}}

.cr-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:7px;
  margin:18px 0}
.cr-q{display:flex;align-items:center;gap:5px}
.cr-q > .mono{width:22px;text-align:right;font-size:12px;color:var(--ink3)}
.cr-l{width:30px;height:30px;border:1px solid var(--rule);background:var(--card);
  border-radius:4px;font-family:inherit;font-size:13px;color:var(--ink2);cursor:pointer}
.cr-l.on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:700}
.cr-l.vuoto{color:var(--ink3)}
.cr-stato{font-family:"IBM Plex Mono";font-size:13px;color:var(--ink3);margin-bottom:10px}
.cr-esiti{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px;
  margin-top:10px}
.cr-e{display:flex;align-items:center;gap:5px;padding:6px 9px;border-radius:4px;
  background:#F2F4F3;font-size:13px}
.cr-e .mono{color:var(--ink3);font-size:11.5px}
.cr-e b{font-size:14px}
.cr-e em{font-style:normal;color:var(--sicuro);font-weight:700;font-size:13px}
.cr-e.ok{background:#F2F9F5} .cr-e.ok b{color:var(--sicuro)}
.cr-e.ko{background:#FCF3F1} .cr-e.ko b{color:var(--soglia);text-decoration:line-through}
.cr-e.vuota{opacity:.6}

/* il pannello di collaudo */
#cl-pan{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:900}
#cl-tab{position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:34px;height:56px;border:1px solid var(--rule);border-right:none;
  border-radius:6px 0 0 6px;background:var(--card);color:var(--ink2);
  font-size:17px;cursor:pointer;box-shadow:-2px 0 8px rgba(11,31,46,.08)}
#cl-tab:hover{background:#EEF2F4}
#cl-box{position:fixed;right:-380px;top:0;bottom:0;width:370px;background:var(--card);
  border-left:1px solid var(--rule);box-shadow:-4px 0 24px rgba(11,31,46,.10);
  transition:right .22s ease;display:flex;flex-direction:column;z-index:901}
#cl-box.aperto{right:0}
.cl-testa{display:flex;justify-content:space-between;align-items:center;
  padding:16px 18px;border-bottom:1px solid var(--rule)}
.cl-testa b{font-size:14px}
.cl-testa button{border:none;background:none;font-size:15px;color:var(--ink3);cursor:pointer}
.cl-corpo{flex:1;overflow-y:auto;padding:14px 16px 30px}
.cl-sez{margin-bottom:18px}
.cl-st{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);
  font-weight:700;margin-bottom:7px}
.cl-v{display:block;width:100%;text-align:left;border:1px solid var(--rule);
  background:var(--paper);border-radius:5px;padding:9px 12px;margin-bottom:5px;
  font-family:inherit;cursor:pointer}
.cl-v:hover{border-color:var(--ink2);background:var(--card)}
.cl-v b{display:block;font-size:13.5px;color:var(--ink);font-weight:600}
.cl-v span{display:block;font-size:12px;color:var(--ink3);line-height:1.45;margin-top:2px}
.cl-avviso{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);
  background:var(--ink);color:#fff;padding:12px 20px;border-radius:6px;font-size:14px;
  max-width:520px;z-index:950;box-shadow:0 4px 18px rgba(11,31,46,.25)}
