/* Strumenti di pianificazione: stesse basi di app.css, qualche elemento in più per confronti e verdetti. */
.brand .altro{margin-left:auto;color:var(--onnavy-2);font-size:.88rem;text-decoration:none;border-bottom:1px solid transparent}
.brand .altro:hover{color:var(--onnavy);border-bottom-color:var(--gold)}
.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.layout>*{min-width:0}
.res{grid-template-columns:minmax(0,1fr)}
.res>*{min-width:0}
body.pian .wrap{max-width:1240px}
.cmp td:first-child{min-width:150px}
.cmp th.n{white-space:normal;text-transform:none;letter-spacing:0;font-family:var(--f-body);font-size:.84rem;color:var(--ink)}
@media (min-width:980px){.layout{grid-template-columns:minmax(0,410px) minmax(0,1fr);align-items:start}.layout .res{position:sticky;top:12px}}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{font-family:var(--f-display);font-weight:600;font-size:1.08rem;padding:0;margin-bottom:10px}
.panel + .panel{margin-top:14px}
.grid1{display:grid;gap:12px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;flex-wrap:wrap}
.seg label{display:flex;align-items:center;gap:6px;padding:7px 11px;font-size:.9rem;cursor:pointer;border-right:1px solid var(--line)}
.seg label:last-child{border-right:0}
.seg input{accent-color:var(--gold);width:16px;height:16px}
.seg label:has(input:checked){background:var(--gold-soft);font-weight:600;box-shadow:inset 0 0 0 2px var(--gold)}
.toggle input,input[type=checkbox]{accent-color:var(--gold)}
.socio{border-top:1px solid var(--line);padding-top:12px;margin-top:12px;display:grid;gap:10px}
.socio:first-of-type{border-top:0;margin-top:0;padding-top:0}
.socio .top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.socio .top input{max-width:200px;font-weight:600}
.socio .g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
.x{background:none;border:0;color:var(--ink-2);cursor:pointer;font-size:.85rem;text-decoration:underline}
.verdetto{border:1px solid var(--line);border-left-width:6px;border-radius:8px;padding:14px 16px;background:var(--surface)}
.verdetto.ok{border-left-color:var(--ok)} .verdetto.mid{border-left-color:var(--mid)} .verdetto.hi{border-left-color:var(--hi)} .verdetto.info{border-left-color:var(--line)}
.verdetto .lbl{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.verdetto p{margin:6px 0 0;font-size:1.04rem;line-height:1.5}
.cmp th.n,.cmp td.n{min-width:110px}
.cmp tr.tot td{font-weight:700;border-top:2px solid var(--ink-2)}
.cmp tr.sub td{color:var(--ink-2);font-size:.86rem}
.cmp tr.best td.n.hl{background:var(--ok-bg);color:var(--ok)}
.cmp td.n.hl{background:var(--ok-bg);color:var(--ok);font-weight:700}
.cbars{display:grid;gap:10px}
.cbar .lab{display:flex;justify-content:space-between;gap:8px;font-size:.88rem;margin-bottom:4px}
.cbar .lab b{font-weight:600}
.cbar .lab span{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.cbar .track{height:14px;background:var(--field);border:1px solid var(--line);border-radius:4px;position:relative;overflow:hidden}
.cbar .fill{position:absolute;inset:0 auto 0 0;background:var(--navy-2)}
.cbar .fill.reg{background:transparent;border-right:2px dashed var(--gold)}
.cbar.best .fill{background:var(--ok)}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.8rem;color:var(--ink-2)}
.legend i{display:inline-block;width:12px;height:12px;vertical-align:-2px;margin-right:5px;border-radius:2px;background:var(--navy-2)}
.legend i.reg{background:transparent;border-right:2px dashed var(--gold);width:8px;border-radius:0}
details.det summary{cursor:pointer;font-weight:600;padding:6px 0}
.params{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 16px}
.vai{display:inline-block;margin-bottom:14px;text-decoration:none}
@media (min-width:980px){.vai{display:none}}
#out{scroll-margin-top:12px}
.esito{border-radius:10px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--line)}
.esito.ok{border-top-color:var(--ok)} .esito.mid{border-top-color:var(--mid)} .esito.hi{border-top-color:var(--hi)}
.esito .lbl{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.esito h3{font-size:1.7rem;margin:4px 0 10px;line-height:1.2}
.esito.ok h3{color:var(--ok)} .esito.mid h3{color:var(--mid)} .esito.hi h3{color:var(--hi)}
.esito .motivi{margin:0;padding-left:18px;display:grid;gap:6px}
.domanda{border-color:var(--gold);background:var(--gold-soft)}
.domanda .q{margin:0;font-family:var(--f-display);font-weight:600;font-size:1.12rem}
.domanda input.num{background:var(--surface)}
.budget{display:grid;gap:10px;border-top:1px dashed var(--gold);padding-top:12px}
.budget .t{font-weight:600}
.toolbar{display:flex;gap:8px;flex-wrap:wrap}
.cta{margin-top:18px;background:var(--navy);color:var(--onnavy);border-radius:8px;padding:16px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.cta p{margin:0;flex:1 1 260px}
.cta b{color:var(--gold)}
.richiesta{display:grid;gap:12px}
.richiesta label.f span.t{color:var(--onnavy)}
.richiesta label.f input{font:inherit;width:100%;min-width:0;padding:8px 10px;border-radius:6px;border:1px solid transparent;background:#fff;color:#1a2233}
.richiesta .toggle{color:var(--onnavy-2)}
.richiesta .informativa summary{cursor:pointer;color:var(--onnavy-2);font-size:.88rem}
.richiesta .informativa p{color:var(--onnavy-2);font-size:.84rem;margin:6px 0 0}
.richiesta .err{background:var(--hi-bg);color:var(--hi)}
.richiesta .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cta .oppure{color:var(--onnavy-2);font-size:.9rem}
.btn.prenota{background:transparent;border-color:var(--gold);color:var(--gold);text-decoration:none;display:inline-block}
.btn.prenota:hover{background:var(--gold);color:#1a1405}
#ctaBox{margin-top:22px}
.cta.inviato{border-left:6px solid var(--ok)}
/* Documenti */
.documenti .drop{display:block;cursor:pointer;padding:16px}
.documenti table.small{font-size:.82rem}
.documenti .usa-anno{padding:3px 10px;font-size:.82rem}
.doc-stato{margin-top:10px;padding:10px 12px;border-radius:6px;font-size:.92rem;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--info-bg)}
.doc-stato.ok{background:var(--ok-bg);color:var(--ink);border:1px solid var(--ok)}
.doc-stato.err{background:var(--hi-bg);color:var(--ink);border:1px solid var(--hi)}
.doc-err{color:var(--hi)}
.simula-box{margin-top:16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.btn.simula{font-size:1.05rem;padding:11px 26px}
@keyframes lampo{0%{box-shadow:0 0 0 0 var(--gold)}50%{box-shadow:0 0 0 6px var(--gold-soft)}100%{box-shadow:0 0 0 0 transparent}}
#out.lampeggia .esito{animation:lampo 1.2s ease-out 1}
@media (prefers-reduced-motion:reduce){#out.lampeggia .esito{animation:none}}
/* Confronto principale */
.confronto{border-color:var(--gold)}
.confronto .lead-conf{margin:0 0 10px;font-size:1.02rem}
.cmp tr.risp td{font-weight:700;border-top:2px solid var(--gold)}
/* Stampa della simulazione */
.stampa-box{margin-top:22px;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;border:1px solid var(--gold);background:var(--gold-soft);border-radius:8px;padding:14px 16px}
.stampa-box>div{flex:1 1 300px}
.solo-stampa{display:none}
.testata-stampa{display:flex;justify-content:space-between;gap:12px;border-bottom:2px solid var(--gold);padding-bottom:6px;margin-bottom:10px;font-size:.95rem}
table.dati-stampa{font-size:.86rem;margin-bottom:8px}
table.dati-stampa th{text-transform:none;letter-spacing:0;font-size:.86rem;color:var(--ink-2);width:42%;font-weight:600}
/* Incorporato nel sito dello studio */
body.incorporato{background:transparent}
body.incorporato .brand .altro{display:none}
body.incorporato header.band{border-radius:12px 12px 0 0}
/* Guida */
.guida{max-width:860px}
.guida section{margin-top:26px;scroll-margin-top:12px}
.guida h3{font-size:1.25rem;border-bottom:1px solid var(--gold);padding-bottom:4px}
.guida p,.guida li{max-width:72ch}
.guida li{margin-bottom:6px}
.guida .nota{background:var(--info-bg);border-radius:6px;padding:10px 12px}
.guida .indice ol{margin:8px 0 0;padding-left:20px;columns:2;column-gap:24px}
@media (max-width:600px){.guida .indice ol{columns:1}}
.guida .indice a{color:var(--navy-2)}
.guida .passi>li{margin-bottom:10px}
.livelli{display:grid;gap:8px;margin:10px 0 16px}
.liv{border:1px solid var(--line);border-left:6px solid var(--line);border-radius:6px;padding:10px 12px;background:var(--surface);display:grid;gap:2px}
.liv.ok{border-left-color:var(--ok)} .liv.ok b{color:var(--ok)} .liv.mid{border-left-color:var(--mid)} .liv.mid b{color:var(--mid)} .liv.hi{border-left-color:var(--hi)} .liv.hi b{color:var(--hi)}
.liv span{color:var(--ink-2);font-size:.93rem}
.guida details{border-top:1px solid var(--line);padding:8px 0}
.guida details summary{cursor:pointer;font-weight:600}
.guida details p{margin:6px 0 0;color:var(--ink-2)}
.glossario{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px}
.glossario dt{font-weight:700}
.glossario dd{margin:0;color:var(--ink-2)}
@media (max-width:520px){.glossario{grid-template-columns:1fr}.glossario dd{margin-bottom:6px}}
.linkbtn{background:none;border:0;padding:0;color:var(--navy-2);font:600 .95rem var(--f-body);cursor:pointer;text-decoration:underline;margin-top:6px}
.toolbar .linkbtn{align-self:center;margin:0 0 0 8px}
.banner .btn{padding:6px 12px;font-size:.88rem}
@media print{
  .guida details{display:block}
  .guida .indice{display:none}
  header.band nav,.noprint,.layout>.inputs,.toolbar,#ctaBox,.banner .btn,.vai{display:none!important}
  .solo-stampa{display:block}
  .brand .altro,.banner{display:none!important}
  .esito,.kpis,.kpi,.panel,.cbar,table.dati-stampa tr{break-inside:avoid}
  h3{break-after:avoid}
  .layout .res{position:static}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .layout{display:block}
  body{background:#fff}
  .panel,.verdetto{break-inside:avoid}
}

.doc-lista { list-style: none; padding-left: 0; }
.doc-lista li { display: flex; gap: 6px; align-items: baseline; }
.doc-del { flex: none; width: 22px; height: 22px; line-height: 20px; border-radius: 50%; border: 1px solid #c9ced8; background: #fff; color: #a33a2b; font-size: 15px; font-weight: 700; cursor: pointer; padding: 0; }
.doc-del:hover { background: #a33a2b; color: #fff; border-color: #a33a2b; }
@media print { .doc-del { display: none; } }

.btn.ripulisci { color: #a33a2b; border-color: #e3b9b2; }
.btn.ripulisci:hover { background: #a33a2b; color: #fff; }

.semaforo{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border-radius:10px;padding:14px 18px;border:1px solid var(--line);background:var(--surface)}
.semaforo .luce{flex:none;width:34px;height:34px;border-radius:50%;box-shadow:inset 0 -3px 0 rgba(0,0,0,.15)}
.semaforo .testo{flex:1 1 320px}.semaforo .azioni{display:flex;gap:8px;flex-wrap:wrap}
@media print{.semaforo{break-inside:avoid}}

.badge-sem{font-family:"Source Sans 3",sans-serif;display:inline-block;padding:1px 8px;border-radius:10px;font-size:.78rem;font-weight:700;color:#fff;white-space:nowrap}
.badge-sem.verde{background:#1f7a4a}.badge-sem.arancione{background:#d9730d}.badge-sem.rosso{background:#b3261e}

/* semaforo: colori leggibili in chiaro e in scuro */
.semaforo{--s-verde:#e9f6ee;--s-arancione:#fdf0e3;--s-rosso:#fbeceb;--s-giallo:#fdf7e8;color:var(--ink)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .semaforo{--s-verde:#12301f;--s-arancione:#3a2410;--s-rosso:#3a1614;--s-giallo:#33290f}}
:root[data-theme="dark"] .semaforo{--s-verde:#12301f;--s-arancione:#3a2410;--s-rosso:#3a1614;--s-giallo:#33290f}
.semaforo .testo,.semaforo .testo b{color:var(--ink)}
.semaforo.verde{border-left:6px solid #22a35a;background:var(--s-verde)}.semaforo.verde .luce{background:#22a35a;box-shadow:0 0 0 4px rgba(34,163,90,.3)}
.semaforo.arancione{border-left:6px solid #f08a24;background:var(--s-arancione)}.semaforo.arancione .luce{background:#f08a24;box-shadow:0 0 0 4px rgba(240,138,36,.3)}
.semaforo.rosso{border-left:6px solid #e0443a;background:var(--s-rosso)}.semaforo.rosso .luce{background:#e0443a;box-shadow:0 0 0 4px rgba(224,68,58,.3)}
.semaforo.giallo{border-left:6px solid #f0b323;background:var(--s-giallo)}.semaforo.giallo .luce{background:#f0b323}
.semaforo .btn.ghost{color:var(--ink);border-color:var(--line);background:var(--surface)}

.avviso-welfare{border-left:3px solid var(--gold);padding:6px 10px;background:var(--gold-soft);border-radius:4px}
