/* ============================================================
   Impostazione visiva
   La pagina è costruita come un asse di misura: una riga
   verticale a sinistra del testo, con tacche in corrispondenza
   delle sezioni. Il colore "segnale" indica ciò che si misura,
   "modello" ciò che si stima.
   ============================================================ */

:root{
  --inchiostro:      #14181b;
  --inchiostro-tenue:#4f585d;
  --carta:           #fcfcf9;
  --riga:            #dde1da;
  --segnale:         #1b6b58;
  --modello:         #55698c;
  --allerta:         #8a4030;

  --serif:  "Newsreader", Charter, "Bitstream Charter", Cambria, Georgia, serif;
  --sans:   "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --mono:   "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --misura: 34rem;          /* lunghezza di riga leggibile */
  --gronda: 2.75rem;        /* distanza del testo dall'asse */
}

*,*::before,*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--carta);
  color:var(--inchiostro);
  font-family:var(--serif);
  font-size:1.0625rem;
  line-height:1.62;
  font-variant-numeric:oldstyle-nums;
}

@media (min-width:48rem){ body{ font-size:1.125rem; } }

.salta{
  position:absolute; left:-9999px;
  background:var(--inchiostro); color:var(--carta);
  padding:.6rem 1rem; z-index:50;
}
.salta:focus{ left:1rem; top:1rem; }

a{ color:inherit; text-decoration-color:var(--riga); text-underline-offset:.18em; }
a:hover{ text-decoration-color:var(--segnale); }
:focus-visible{ outline:2px solid var(--segnale); outline-offset:3px; }

/* ---------- Testata ---------- */

.testata{
  border-bottom:1px solid var(--riga);
  background:var(--carta);
}
.testata-interno{
  max-width:62rem; margin:0 auto;
  padding:1.4rem 1.5rem 1.1rem;
  display:flex; flex-wrap:wrap; gap:1rem 2rem;
  align-items:baseline; justify-content:space-between;
}
.marchio{ text-decoration:none; display:block; }
.marchio-nome{
  display:block;
  font-size:1.2rem; font-weight:500; letter-spacing:-.01em;
}
.marchio-sotto{
  display:block;
  font-family:var(--sans); font-size:.8rem; font-weight:400;
  color:var(--inchiostro-tenue); margin-top:.15rem;
}
.navigazione{
  font-family:var(--sans); font-size:.875rem;
  display:flex; flex-wrap:wrap; gap:.25rem 1.25rem;
}
.navigazione a{
  text-decoration:none; color:var(--inchiostro-tenue);
  padding:.2rem 0; position:relative;
}
.navigazione a:hover{ color:var(--inchiostro); }
.navigazione a[aria-current="page"]{ color:var(--inchiostro); }
/* il punto pieno segna la posizione corrente, come un punto misurato */
.navigazione a[aria-current="page"]::before{
  content:""; position:absolute; left:-.75rem; top:.72em;
  width:5px; height:5px; background:var(--segnale);
}

/* ---------- Corpo ---------- */

main{ max-width:62rem; margin:0 auto; padding:0 1.5rem; }

.articolo{
  max-width:var(--misura);
  margin:3.5rem 0 5rem var(--gronda);
  position:relative;
}
/* l'asse */
.articolo::before{
  content:""; position:absolute;
  left:calc(-1 * var(--gronda) / 2); top:.4rem; bottom:0;
  width:1px; background:var(--riga);
}
@media (max-width:40rem){
  .articolo{ margin-left:1.25rem; }
  .articolo::before{ left:-1.25rem; }
}

.occhiello{
  font-family:var(--sans); font-size:.78rem; font-weight:500;
  color:var(--segnale); margin:0 0 .9rem;
}

h1{
  font-weight:400; letter-spacing:-.02em;
  font-size:clamp(2.1rem, 6vw, 3.1rem);
  line-height:1.08; margin:0 0 1.1rem;
  text-wrap:balance;
}
h2{
  font-weight:500; letter-spacing:-.012em;
  font-size:1.55rem; line-height:1.2;
  margin:3rem 0 .85rem; position:relative;
}
/* tacca sull'asse in corrispondenza di ogni sezione */
h2::before{
  content:""; position:absolute;
  left:calc(-1 * var(--gronda) / 2 - .35rem); top:.7em;
  width:.7rem; height:1px; background:var(--segnale);
}
@media (max-width:40rem){ h2::before{ left:-1.55rem; } }

h3{
  font-family:var(--sans); font-weight:600;
  font-size:.95rem; letter-spacing:.005em;
  margin:2rem 0 .5rem;
}

p{ margin:0 0 1.05rem; }
.guida{ font-size:1.2em; line-height:1.5; color:var(--inchiostro-tenue); }

ul,ol{ margin:0 0 1.2rem; padding-left:1.25rem; }
li{ margin-bottom:.45rem; }
li::marker{ color:var(--segnale); }

blockquote{
  margin:1.6rem 0; padding:.15rem 0 .15rem 1.1rem;
  border-left:2px solid var(--segnale);
  color:var(--inchiostro-tenue); font-style:italic;
}
blockquote p{ margin:0; }

hr{
  border:0; border-top:1px solid var(--riga);
  margin:2.5rem 0;
}

code{
  font-family:var(--mono); font-size:.86em;
  background:rgba(27,107,88,.07); padding:.1em .35em;
}

.tabella-scroll{ overflow-x:auto; margin:1.6rem 0; }
table{ border-collapse:collapse; width:100%; font-size:.94rem; }
th,td{
  text-align:left; padding:.55rem .8rem .55rem 0;
  border-bottom:1px solid var(--riga); vertical-align:top;
}
th{
  font-family:var(--sans); font-size:.78rem; font-weight:600;
  color:var(--inchiostro-tenue); border-bottom-color:var(--inchiostro);
}

/* ---------- Apertura ---------- */

.apertura{ margin:3.25rem 0 0; }
.apertura-testo{ max-width:var(--misura); margin-left:var(--gronda); }
@media (max-width:40rem){ .apertura-testo{ margin-left:1.25rem; } }

.grafico-apertura{
  margin:2.5rem 0 0; width:100%; height:auto;
  display:block; overflow:visible;
}
.grafico-apertura .assi{ stroke:var(--riga); stroke-width:1; }
.grafico-apertura .traccia{
  fill:none; stroke-width:1.75; stroke-linecap:round;
}
.grafico-apertura .eti{
  font-family:var(--sans); font-size:11px; fill:var(--inchiostro-tenue);
}
.grafico-apertura .eti-traccia{
  font-family:var(--sans); font-size:11.5px; font-weight:500;
}

@media (prefers-reduced-motion:no-preference){
  .grafico-apertura .traccia{
    stroke-dasharray:1000; stroke-dashoffset:1000;
    animation:disegna 1.5s cubic-bezier(.22,.61,.36,1) forwards;
  }
  .grafico-apertura .traccia:nth-of-type(2){ animation-delay:.18s; }
  .grafico-apertura .traccia:nth-of-type(3){ animation-delay:.36s; }
  .grafico-apertura .eti-traccia{ opacity:0; animation:comparsa .5s 1.35s forwards; }
}
@keyframes disegna{ to{ stroke-dashoffset:0; } }
@keyframes comparsa{ to{ opacity:1; } }

/* ---------- Riquadro di nota ---------- */

.nota{
  margin:2rem 0; padding:1.1rem 1.25rem;
  border:1px solid var(--riga); border-left:2px solid var(--allerta);
  font-size:.95rem;
}
.nota h3{ margin-top:0; color:var(--allerta); }
.nota p:last-child{ margin-bottom:0; }

/* ---------- Il motore ---------- */

body.ampio main{ max-width:76rem; }

.motore{ margin:2.5rem 0 4rem; }
.motore-griglia{
  display:grid; gap:2rem;
  grid-template-columns:1fr;
}
@media (min-width:56rem){
  .motore-griglia{ grid-template-columns:minmax(0,1fr) 19rem; align-items:start; }
}

.tela-riquadro{
  border:1px solid var(--riga); background:#fff;
  padding:.5rem;
}
canvas{ display:block; width:100%; height:auto; }

.pannello{
  font-family:var(--sans); font-size:.875rem;
  border:1px solid var(--riga); padding:1.1rem 1.15rem;
  background:#fff;
}
.pannello h3{ margin:0 0 .9rem; font-size:.8rem; }
.pannello + .pannello{ margin-top:1rem; }

.cursore{ margin-bottom:1rem; }
.cursore label{
  display:flex; justify-content:space-between; align-items:baseline;
  gap:1rem; margin-bottom:.3rem;
}
.cursore-nome{ color:var(--inchiostro); }
.cursore-valore{ font-family:var(--mono); font-size:.8rem; color:var(--segnale); }
input[type=range]{
  width:100%; accent-color:var(--segnale);
  height:1.25rem; cursor:pointer;
}

.bottone{
  font-family:var(--sans); font-size:.85rem; font-weight:500;
  background:var(--inchiostro); color:var(--carta);
  border:1px solid var(--inchiostro); padding:.55rem 1rem;
  cursor:pointer; width:100%;
}
.bottone:hover{ background:#000; }
.bottone[disabled]{ opacity:.45; cursor:progress; }
.bottone-tenue{
  background:transparent; color:var(--inchiostro);
  border-color:var(--riga); margin-top:.5rem;
}
.bottone-tenue:hover{ background:rgba(0,0,0,.03); border-color:var(--inchiostro); }

.lettura{ width:100%; border-collapse:collapse; font-size:.82rem; }
.lettura th,.lettura td{
  padding:.42rem .3rem; border-bottom:1px solid var(--riga);
}
.lettura th{ font-size:.72rem; }
.lettura td.num{
  font-family:var(--mono); font-variant-numeric:tabular-nums;
  text-align:right; white-space:nowrap;
}
.lettura td.stima{ color:var(--modello); }
.lettura .icc-alto{ color:var(--segnale); font-weight:500; }
.lettura .icc-basso{ color:var(--allerta); font-weight:500; }

.legenda{
  font-family:var(--sans); font-size:.8rem;
  color:var(--inchiostro-tenue);
  display:flex; flex-wrap:wrap; gap:.4rem 1.4rem; margin:.9rem 0 0;
}
.legenda span{ display:inline-flex; align-items:center; gap:.4rem; }
.legenda i{ width:1.1rem; height:2px; display:inline-block; }
.legenda .i-oss{ background:var(--segnale); }
.legenda .i-mod{ background:var(--modello); }
.legenda .i-ver{ background:var(--inchiostro-tenue); height:0; border-top:2px dashed var(--inchiostro-tenue); }

.stato{
  font-family:var(--sans); font-size:.8rem;
  color:var(--inchiostro-tenue); margin:.75rem 0 0; min-height:1.2em;
}

/* ---------- Chiusura ---------- */

.chiusura{
  border-top:1px solid var(--riga); margin-top:4rem;
  font-family:var(--sans); font-size:.82rem;
  color:var(--inchiostro-tenue);
}
.chiusura-interno{
  max-width:62rem; margin:0 auto; padding:1.6rem 1.5rem 3rem;
}
.chiusura p{ margin:0 0 .4rem; max-width:46rem; }

/* ============================================================
   Amministrazione
   ============================================================ */

body.admin{ background:#f4f5f2; }

.admin-testata{
  background:var(--inchiostro); color:var(--carta);
  font-family:var(--sans);
}
.admin-testata-interno{
  max-width:66rem; margin:0 auto; padding:.9rem 1.5rem;
  display:flex; flex-wrap:wrap; gap:.75rem 1.5rem;
  align-items:center; justify-content:space-between;
}
.admin-testata a{ color:var(--carta); text-decoration-color:rgba(252,252,249,.35); }
.admin-titolo{ font-size:.95rem; font-weight:600; }
.admin-menu{ display:flex; gap:1.25rem; font-size:.85rem; }

.admin-corpo{ max-width:66rem; margin:0 auto; padding:2rem 1.5rem 5rem; font-family:var(--sans); }
.admin-corpo h1{ font-family:var(--sans); font-size:1.35rem; font-weight:600; letter-spacing:0; margin-bottom:.4rem; }
.admin-corpo h2{ font-family:var(--sans); font-size:1rem; font-weight:600; margin:2rem 0 .75rem; }
.admin-corpo h2::before{ display:none; }
.admin-corpo p{ font-size:.9rem; }

.scheda{
  background:#fff; border:1px solid var(--riga);
  padding:1.25rem 1.35rem; margin-bottom:1rem;
}

.elenco-pagine{ list-style:none; margin:0; padding:0; }
.elenco-pagine li{
  display:flex; flex-wrap:wrap; gap:.6rem 1rem; align-items:center;
  background:#fff; border:1px solid var(--riga);
  padding:.7rem .9rem; margin-bottom:.4rem;
}
.pagina-nome{ flex:1 1 12rem; font-size:.92rem; font-weight:500; }
.pagina-slug{ font-family:var(--mono); font-size:.75rem; color:var(--inchiostro-tenue); }
.pagina-azioni{ display:flex; gap:.4rem; align-items:center; }
.nascosta .pagina-nome{ color:var(--inchiostro-tenue); font-weight:400; }
.segno-nascosta{ font-size:.72rem; color:var(--allerta); }

label.campo{ display:block; margin-bottom:1rem; }
label.campo > span{
  display:block; font-size:.78rem; font-weight:600;
  margin-bottom:.3rem;
}
label.campo small{ display:block; font-weight:400; color:var(--inchiostro-tenue); margin-top:.15rem; }

input[type=text],input[type=password],textarea,select{
  width:100%; font-family:var(--sans); font-size:.9rem;
  padding:.55rem .65rem; border:1px solid var(--riga);
  background:#fff; color:var(--inchiostro); border-radius:0;
}
textarea{
  font-family:var(--mono); font-size:.85rem; line-height:1.6;
  min-height:26rem; resize:vertical;
}
input:focus,textarea:focus,select:focus{ border-color:var(--segnale); outline:none; }

.riga-bottoni{ display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; margin-top:1.25rem; }
.btn{
  font-family:var(--sans); font-size:.85rem; font-weight:500;
  padding:.55rem 1.1rem; border:1px solid var(--inchiostro);
  background:var(--inchiostro); color:var(--carta);
  cursor:pointer; text-decoration:none; display:inline-block; width:auto;
}
.btn:hover{ background:#000; }
.btn-tenue{ background:#fff; color:var(--inchiostro); border-color:var(--riga); }
.btn-tenue:hover{ background:#f4f5f2; border-color:var(--inchiostro); }
.btn-rischio{ background:#fff; color:var(--allerta); border-color:var(--allerta); }
.btn-rischio:hover{ background:var(--allerta); color:#fff; }
.btn-minuto{ padding:.3rem .55rem; font-size:.75rem; }

.avviso{ padding:.8rem 1rem; margin-bottom:1.25rem; font-size:.88rem; border:1px solid; }
.avviso-ok{ border-color:var(--segnale); color:var(--segnale); background:rgba(27,107,88,.05); }
.avviso-no{ border-color:var(--allerta); color:var(--allerta); background:rgba(138,64,48,.05); }

.accesso{ max-width:23rem; margin:5rem auto; }
.accesso .scheda{ padding:1.75rem; }
.accesso h1{ margin-top:0; }

.aiuto{ font-size:.8rem; color:var(--inchiostro-tenue); }
.aiuto table{ font-size:.78rem; }
.aiuto td{ padding:.3rem .8rem .3rem 0; }
.aiuto code{ background:#f0f1ed; }

details.aiuto-blocco{ margin-top:1rem; }
details.aiuto-blocco summary{ cursor:pointer; font-size:.82rem; font-weight:600; }

/* ---------- Scelta della lingua ---------- */

.testata-destra{
  display:flex; flex-wrap:wrap; align-items:baseline;
  gap:.4rem 1.5rem;
}
.lingue{
  font-family:var(--sans); font-size:.78rem; font-weight:500;
  display:flex; gap:.5rem; align-items:baseline;
}
.lingue a{
  text-decoration:none; color:var(--inchiostro-tenue);
  padding:.15rem .3rem; border:1px solid transparent;
}
.lingue a:hover{ color:var(--inchiostro); border-color:var(--riga); }
.lingue a[aria-current="true"]{
  color:var(--segnale); border-color:var(--segnale);
}

/* ---------- Lingue nell'amministrazione ---------- */

.bandierine{ display:flex; gap:.3rem; }
.bandierina{
  font-family:var(--mono); font-size:.68rem; font-weight:500;
  text-decoration:none; padding:.12rem .32rem; border:1px solid;
}
.bandierina.piena{ color:var(--segnale); border-color:var(--segnale); background:rgba(27,107,88,.07); }
.bandierina.vuota{ color:var(--inchiostro-tenue); border-color:var(--riga); }
.bandierina:hover{ border-color:var(--inchiostro); color:var(--inchiostro); }

.schede-lingua{
  display:flex; gap:.4rem; margin:0 0 1.1rem;
  border-bottom:1px solid var(--riga);
}
.schede-lingua a{
  font-family:var(--sans); font-size:.85rem; font-weight:500;
  text-decoration:none; color:var(--inchiostro-tenue);
  padding:.5rem .9rem; margin-bottom:-1px;
  border:1px solid transparent; border-bottom-color:var(--riga);
  background:transparent;
}
.schede-lingua a:hover{ color:var(--inchiostro); }
.schede-lingua a.attiva{
  color:var(--inchiostro); background:#fff;
  border-color:var(--riga); border-bottom-color:#fff;
}
.schede-lingua .segno-nascosta{ margin-left:.25rem; }

/* ---------- Pianificatore dei costi ---------- */

.piano{ margin:2.5rem 0 4rem; }
.piano-griglia{ display:grid; gap:1.5rem; grid-template-columns:1fr; align-items:start; }
@media (min-width:56rem){
  .piano-griglia{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
}
@media (min-width:72rem){
  .piano-griglia{ grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); }
}

.piano .pannello + .pannello{ margin-top:1rem; }
.piano select{
  font-family:var(--sans); font-size:.85rem;
  padding:.4rem .5rem; border:1px solid var(--riga); background:#fff; width:auto;
}

.campo-numero{
  display:flex; justify-content:space-between; align-items:center;
  gap:1rem; margin-bottom:.55rem;
}
.campo-nome{ font-size:.85rem; color:var(--inchiostro); }
.campo-valore{ display:inline-flex; align-items:baseline; gap:.3rem; flex:0 0 auto; }
.campo-valore input{
  width:6.5rem; text-align:right;
  font-family:var(--mono); font-size:.84rem;
  padding:.35rem .45rem; border:1px solid var(--riga); background:#fff;
}
.campo-valore input:focus{ border-color:var(--segnale); outline:none; }
.campo-suffisso{
  font-family:var(--sans); font-size:.75rem; color:var(--inchiostro-tenue);
  width:1.6rem;
}

.pers-riga{
  display:grid; gap:.35rem;
  grid-template-columns:minmax(0,1fr) 3.4rem 3.4rem 5.4rem 1.5rem;
  align-items:center; margin-bottom:.35rem;
}
.pers-riga input{
  font-family:var(--mono); font-size:.8rem;
  padding:.3rem .4rem; border:1px solid var(--riga); background:#fff; width:100%;
}
.pers-riga input[type=text]{ font-family:var(--sans); }
.pers-intestazione{
  font-family:var(--sans); font-size:.68rem; font-weight:600;
  color:var(--inchiostro-tenue); margin-bottom:.4rem;
}
.pers-intestazione span:not(:first-child){ text-align:right; }
.btn-via{
  background:none; border:0; color:var(--inchiostro-tenue);
  font-size:1rem; line-height:1; cursor:pointer; padding:.2rem;
}
.btn-via:hover{ color:var(--allerta); }

.pannello-esito .lettura + .lettura{ margin-top:1.1rem; }
.riga-totale td{
  font-weight:600; border-top:1px solid var(--inchiostro);
  border-bottom-color:transparent;
}
.piano-allerta{
  font-family:var(--sans); font-size:.78rem; color:var(--allerta);
  border-left:2px solid var(--allerta); padding:.4rem 0 .4rem .7rem;
  margin:.9rem 0 0;
}

.barra-riga{
  display:grid; gap:.6rem; align-items:center;
  grid-template-columns:minmax(0,8rem) minmax(0,1fr) auto;
  font-family:var(--sans); font-size:.78rem; margin-bottom:.4rem;
}
.barra-nome{ color:var(--inchiostro-tenue); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.barra-pista{ background:var(--riga); height:6px; display:block; }
.barra{ background:var(--segnale); height:6px; display:block; }
.barra-valore{ font-family:var(--mono); font-size:.74rem; white-space:nowrap; }

.piano .bottone{ margin-bottom:.4rem; }

/* ---------- Firma della piattaforma ---------- */

.chiusura-firma{
  margin-top:1.1rem; padding-top:.9rem;
  border-top:1px solid var(--riga);
  display:flex; flex-wrap:wrap; align-items:baseline; gap:.5rem;
}
.firma-nome{
  font-family:var(--serif); font-size:1rem; font-weight:500;
  letter-spacing:.01em; color:var(--inchiostro);
}
.firma-motto{ font-size:.76rem; color:var(--inchiostro-tenue); }

.admin-motto{
  font-weight:400; opacity:.65; font-size:.78rem; margin-left:.5rem;
}

/* ---------- Sezioni firmate ---------- */

.sezione{ position:relative; }
.sezione-firma{
  font-family:var(--sans); font-size:.75rem;
  color:var(--inchiostro-tenue);
  display:flex; flex-wrap:wrap; gap:.3rem 1rem;
  margin:-.3rem 0 1.8rem; padding-top:.3rem;
}
.firma-autore{ color:var(--inchiostro-tenue); }
.firma-storico, .firma-proponi{ color:var(--modello); text-decoration-color:var(--riga); }
.firma-proponi{ color:var(--segnale); }
.firma-attesa{ color:var(--allerta); }

.aggiungi-sezione{
  font-family:var(--sans); font-size:.82rem;
  margin:2rem 0 0; padding-top:1rem; border-top:1px dashed var(--riga);
}
.aggiungi-sezione a{ color:var(--segnale); }

.contributori{
  font-family:var(--sans); font-size:.78rem; color:var(--inchiostro-tenue);
  margin:2.5rem 0 0; padding-top:1rem; border-top:1px solid var(--riga);
}

.segno-riservata{ color:var(--modello); font-weight:700; margin-left:.15rem; }

/* ---------- Barra dell'utente ---------- */

.barra-utente{
  background:var(--inchiostro); color:var(--carta);
  font-family:var(--sans); font-size:.78rem;
}
.barra-utente-interno{
  max-width:62rem; margin:0 auto; padding:.45rem 1.5rem;
  display:flex; flex-wrap:wrap; gap:.4rem 1.5rem; justify-content:space-between;
}
.barra-utente a{ color:var(--carta); text-decoration-color:rgba(252,252,249,.4); }
.barra-azioni{ display:flex; gap:1.1rem; }

.chiusura-legami{ display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; margin-top:.6rem; }

/* ---------- Proposte e storico ---------- */

.proposta-capo{
  display:flex; flex-wrap:wrap; gap:.3rem 1rem;
  align-items:baseline; justify-content:space-between;
  margin-bottom:.8rem; padding-bottom:.6rem;
  border-bottom:1px solid var(--riga);
}
.proposta-dove{ font-size:.95rem; font-weight:600; }
.proposta-meta{ font-size:.75rem; color:var(--inchiostro-tenue); }
.proposta-nota{
  font-size:.82rem; color:var(--inchiostro-tenue);
  border-left:2px solid var(--modello); padding-left:.7rem; margin:0 0 1rem;
}
.proposta-testo{
  font-family:var(--serif); font-size:1rem; line-height:1.55;
  border-left:2px solid var(--segnale); padding-left:1rem; margin-bottom:1rem;
}
.proposta-testo h3{ font-family:var(--serif); font-size:1.15rem; font-weight:500; margin:0 0 .6rem; }
.proposta-testo p{ font-size:1rem; }

.confronto{ margin-bottom:1rem; }
.confronto summary{
  cursor:pointer; font-family:var(--sans); font-size:.78rem;
  color:var(--inchiostro-tenue);
}
.confronto-testo{
  font-family:var(--serif); font-size:.95rem; opacity:.7;
  border-left:2px solid var(--riga); padding-left:1rem; margin-top:.7rem;
}
.confronto-testo h3{ font-family:var(--serif); font-size:1.05rem; font-weight:500; margin:0 0 .5rem; }

.scheda-storica{ opacity:.78; }
.scheda-storica .proposta-testo{ border-left-color:var(--riga); }

/* ---------- Utenti ---------- */

.utente-attesa{ border-left:3px solid var(--allerta); }
.riga-utente{
  display:flex; flex-wrap:wrap; gap:.75rem 1rem; align-items:flex-end;
}
.riga-utente label{
  font-size:.72rem; font-weight:600; color:var(--inchiostro-tenue);
  display:flex; flex-direction:column; gap:.2rem;
}
.riga-utente select{ width:auto; min-width:8.5rem; font-size:.85rem; padding:.35rem .4rem; }

.elenco-piano{ margin:0; padding-left:1.1rem; font-size:.88rem; }
.elenco-piano li{ margin-bottom:.35rem; }

/* ---------- Riquadro della licenza nel modulo ---------- */

.riquadro-licenza{
  border:1px solid var(--riga); border-left:2px solid var(--segnale);
  padding:1.1rem 1.25rem; margin:1.5rem 0 0; font-size:.85rem;
}
.riquadro-licenza h3{ margin:0 0 .6rem; font-size:.82rem; }
.riquadro-licenza p{ margin:0 0 .7rem; font-size:.85rem; }
