  /* Palette da "palette-font-dashboard.pdf" (ottobre 2026): stessi nomi e valori del documento.
     Tema chiaro predefinito, tema scuro automatico secondo il dispositivo. */
  :root{
    --bg:#F6F4EE; --surface:#FFFEFB; --surface-2:#FAF8F3; --surface-3:#F1EEE6;
    --ink:#1C211D; --ink-2:#4C554D; --ink-3:#6C756C;
    --line:#E7E3D8; --line-strong:#D3CDBF; --griglia:#ECE8DD;
    --accent:#1F5A45; --on-accent:#FFFEFB; --accent-soft:#E4EAE5; --accent-forte:#1B4D3B;
    --pos:#1B7A4E; --pos-soft:#E3F2E9; --neg:#B93A2C; --neg-soft:#F9E9E5;
    --warn:#96600B; --warn-soft:#F8EFD9; --info:#2F6A9E; --info-soft:#E4EEF6; --neutro:#6C756C; --neutro-soft:#EEEBE3;
    --serie-1:#17805A; --serie-2:#DE8B33; --serie-3:#3F77B5; --serie-4:#96901C; --serie-5:#A8548F; --serie-6:#4A52C4; --serie-altro:#8D958C;
    /* Font e scala tipografica dal PDF: Figtree ovunque, monospazio di sistema solo per codici */
    --font:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
    --mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;
    --fs-2xs:11px; --fs-xs:12px; --fs-sm:13px; --fs-md:14px; --fs-lg:16px; --fs-xl:20px;
    --fs-2xl:26px; --fs-kpi:28px; --fs-3xl:32px; --fs-kpi-lg:40px;
    --fw-normale:400; --fw-medio:500; --fw-titolo:600; --fw-forte:700;
    color-scheme: light;
  }
  /* Tema scuro: solo se scelto dall'utente con il pulsante in basso a sinistra (il PDF indica il chiaro come predefinito) */
  :root[data-theme="dark"]{
    --bg:#111411; --surface:#191D1A; --surface-2:#1F2420; --surface-3:#262C27;
    --ink:#EAEDE7; --ink-2:#B3BBB1; --ink-3:#8C958A;
    --line:#2A312B; --line-strong:#3A433B; --griglia:#262C27;
    --accent:#84CDAE; --on-accent:#0F1410; --accent-soft:#2A3932; --accent-forte:#84CDAE;
    --pos:#6FD39D; --pos-soft:#1A3024; --neg:#F09584; --neg-soft:#38211D;
    --warn:#ECBB58; --warn-soft:#33290F; --info:#8FBDE6; --info-soft:#1B2A38; --neutro:#8C958A; --neutro-soft:#232823;
    --serie-1:#35A57B; --serie-2:#C87C30; --serie-3:#5B8FD6; --serie-4:#969A2E; --serie-5:#C460A2; --serie-6:#6F73E6; --serie-altro:#7B847A;
    color-scheme: dark;
  }
  *{box-sizing:border-box;}
  html{scroll-padding-top:env(safe-area-inset-top,0px);}
  /* Corpo: Figtree 14 px, interlinea 1,5 (palette-font-dashboard.pdf) */
  body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--font); font-size:var(--fs-md); line-height:1.5;
    padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px); min-height:100%;}
  h1,h2,h3{font-family:var(--font); font-weight:var(--fw-titolo); margin:0; line-height:1.2; letter-spacing:-.01em;}
  /* cifre tabellari su KPI e tabelle: i numeri si allineano in colonna */
  .num, table, .kpi .value, .score-num{font-variant-numeric:tabular-nums;}
  a{color:var(--accent);} a:hover{color:var(--accent-forte);}

  .shell{display:flex; min-height:100vh;}
  .rail{width:230px; flex:0 0 230px; background:var(--surface); border-right:1px solid var(--line); padding:24px 0;
    position:sticky; top:0; align-self:flex-start; height:100vh; overflow-y:auto;}
  .brand{padding:0 22px 16px; border-bottom:1px solid var(--line); margin-bottom:6px;}
  .brand .eyebrow{font-size:var(--fs-2xs); font-weight:var(--fw-titolo); letter-spacing:.06em; color:var(--ink-3); margin-bottom:4px;}
  .brand h1{font-size:var(--fs-lg); font-weight:var(--fw-forte); line-height:1.25;}

  .report-switch{padding:14px 22px 14px; border-bottom:1px solid var(--line); margin-bottom:8px; display:flex; flex-direction:column; gap:4px;}
  .report-switch button{all:unset; cursor:pointer; font-size:var(--fs-sm); font-weight:var(--fw-medio); padding:7px 10px; border-radius:4px; color:var(--ink-2);}
  .report-switch button:hover{background:var(--surface-2); color:var(--ink);}
  .report-switch button.active{background:var(--accent); color:var(--on-accent); font-weight:var(--fw-titolo);}

  .rail nav{display:flex; flex-direction:column; padding-top:6px;}
  .rail button.navbtn{all:unset; cursor:pointer; padding:9px 22px; font-size:var(--fs-sm); font-weight:var(--fw-medio);
    color:var(--ink-2); border-left:2px solid transparent; display:flex; gap:10px; align-items:baseline;}
  .rail button.navbtn .idx{font-size:var(--fs-2xs); font-variant-numeric:tabular-nums; color:var(--ink-3);}
  .rail button.navbtn:hover{color:var(--ink); background:var(--surface-2);}
  .rail button.navbtn.active{color:var(--accent); border-left-color:var(--accent); background:var(--surface-3); font-weight:var(--fw-titolo);}
  .rail button.navbtn.active .idx{color:var(--accent);}

  .main{flex:1; min-width:0; padding:28px 40px 80px;}
  .topbar{display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:16px;
    padding-bottom:18px; margin-bottom:28px; border-bottom:1px solid var(--line);}
  /* Riquadro "ultimo aggiornamento": sempre visibile in cima, colore secondo l'esito */
  .agg{display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; margin-bottom:18px; padding:10px 14px;
    border-radius:6px; border-left:4px solid var(--neutro); background:var(--neutro-soft); font-size:var(--fs-sm); color:var(--ink-2);}
  .agg b{color:var(--ink); font-size:var(--fs-md, 15px);}
  .agg .esito{font-weight:var(--fw-forte);}
  .agg.ok{border-left-color:var(--pos); background:var(--pos-soft);} .agg.ok .esito{color:var(--pos);}
  .agg.oss{border-left-color:var(--warn); background:var(--warn-soft);} .agg.oss .esito{color:var(--warn);}
  .agg.ko{border-left-color:var(--neg); background:var(--neg-soft);} .agg.ko .esito{color:var(--neg);}
  /* Titolo di pagina (h1): 32 px bold, 26 su tablet, 20 su telefono */
  .topbar .title{font-size:var(--fs-3xl); font-weight:var(--fw-forte); letter-spacing:-.02em; line-height:1.2;}
  .topbar .sub{color:var(--ink-2); font-size:var(--fs-sm); margin-top:4px;}
  .esercizio-toggle{display:flex; border:1px solid var(--line-strong); border-radius:4px; overflow:hidden;}
  .esercizio-toggle button{all:unset; cursor:pointer; padding:8px 16px; font-size:var(--fs-sm); font-weight:var(--fw-medio); font-variant-numeric:tabular-nums; color:var(--ink-2); background:var(--surface);}
  .esercizio-toggle button:hover{background:var(--surface-2);}
  .esercizio-toggle button.active{background:var(--accent); color:var(--on-accent); font-weight:var(--fw-titolo);}

  section.panel{display:block;}

  .section-head{margin-bottom:18px;}
  .section-head h2{font-size:var(--fs-xl);}
  .section-head p{color:var(--ink-2); font-size:var(--fs-sm); margin-top:4px; max-width:660px; line-height:1.5;}

  .kpi-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(190px,1fr)); gap:0;
    border-top:1px solid var(--line); border-left:1px solid var(--line); margin-bottom:32px;}
  .kpi{background:var(--surface); padding:18px 20px; border-right:1px solid var(--line); border-bottom:1px solid var(--line);}
  /* Etichetta KPI 13 px medium · valore KPI 28 px bold */
  .kpi .label{font-size:var(--fs-sm); font-weight:var(--fw-medio); color:var(--ink-2); margin-bottom:6px;}
  .kpi .value{font-size:var(--fs-kpi); font-weight:var(--fw-forte); letter-spacing:-.02em; line-height:1.2; white-space:nowrap;}
  .kpi .delta{font-size:var(--fs-xs); font-weight:var(--fw-medio); margin-top:6px; color:var(--ink-3);}
  .delta.up{color:var(--pos);} .delta.down{color:var(--neg);}

  /* Tabelle: celle 13 px, intestazioni 12 px semibold su --surface-2, righe alternate e passaggio del mouse */
  table{width:100%; border-collapse:collapse; font-size:var(--fs-sm); margin-bottom:28px; background:var(--surface);}
  th,td{padding:8px 10px; text-align:right; border-bottom:1px solid var(--line);}
  th:first-child, td:first-child{text-align:left;}
  thead th{color:var(--ink-2); background:var(--surface-2); font-weight:var(--fw-titolo); font-size:var(--fs-xs); border-bottom:1px solid var(--line-strong);}
  tbody tr:nth-child(even) td{background:var(--surface-2);}
  tbody tr:hover td{background:var(--surface-3);}
  tr.total td{font-weight:var(--fw-titolo); border-top:1px solid var(--line-strong); background:var(--accent-soft);}

  .chart-card{background:var(--surface); border:1px solid var(--line); border-radius:4px; padding:18px; margin-bottom:28px;}
  /* Titoli dei grafici e delle schede: 16 px semibold */
  .chart-card h3{font-size:var(--fs-lg); margin-bottom:14px;}
  /* Pulsante informativa (i) su ogni visual: testi in INFO, inserimento in aggiungiInformative() */
  .kpi, .chart-card, .table-wrap, .score-card, .pill-row, .tab-bar{position:relative;}
  .info-btn{all:unset; box-sizing:border-box; cursor:pointer; position:absolute; top:10px; right:10px; width:20px; height:20px; z-index:2;
    border-radius:50%; border:1px solid var(--line-strong); color:var(--ink-3); background:var(--surface);
    font:var(--fw-forte) var(--fs-2xs)/18px var(--font); text-align:center;}
  .info-btn:hover, .info-btn[aria-expanded="true"]{border-color:var(--accent); color:var(--on-accent); background:var(--accent);}
  .info-btn:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
  .table-wrap.con-info{padding-top:26px;}
  .table-wrap > .info-btn{top:2px; right:2px;}
  .pill-row > .info-btn{top:2px; right:0;}
  .pill-row.con-info{padding-right:30px;}
  .kpi.con-info .label, .chart-card.con-info h3{padding-right:26px;}
  .info-pop{position:absolute; z-index:50; width:min(340px, calc(100vw - 32px)); background:var(--surface); color:var(--ink);
    border:1px solid var(--line-strong); border-radius:6px; box-shadow:0 6px 24px rgba(0,0,0,.12); padding:12px 14px;
    font-size:var(--fs-sm); line-height:1.45;}
  .info-pop h4{margin:0 0 6px; font-size:var(--fs-md); font-weight:var(--fw-titolo);}
  .info-pop p{margin:0 0 5px;} .info-pop p:last-child{margin:0;}
  .info-pop b{color:var(--accent); font-weight:var(--fw-titolo);}
  .chart-wrap{position:relative; height:280px;}

  .two-col{display:grid; grid-template-columns:1.3fr 1fr; gap:24px; align-items:start;}
  @media (max-width:880px){ .two-col{grid-template-columns:1fr;} }

  .note{background:var(--info-soft); border-left:3px solid var(--info); border-radius:0 4px 4px 0; padding:14px 16px; font-size:var(--fs-sm);
    color:var(--ink-2); line-height:1.5; margin-bottom:24px;}
  /* Badge: 12 px semibold */
  .badge{display:inline-block; font-size:var(--fs-xs); font-weight:var(--fw-titolo); padding:3px 9px; border:1px solid var(--line); border-radius:999px; background:var(--neutro-soft); color:var(--neutro);}
  .badge.ledger{border-color:var(--pos-soft); color:var(--pos); background:var(--pos-soft);}
  .badge.brick{border-color:var(--neg-soft); color:var(--neg); background:var(--neg-soft);}
  .badge.amber{border-color:var(--warn-soft); color:var(--warn); background:var(--warn-soft);}

  .score-card{display:flex; align-items:center; gap:28px; background:var(--surface); border:1px solid var(--line); border-radius:4px; padding:24px; margin-bottom:24px; flex-wrap:wrap;}
  /* KPI principale: 40 px bold */
  .score-num{font-size:var(--fs-kpi-lg); font-weight:var(--fw-forte); letter-spacing:-.02em; color:var(--accent); line-height:1;}
  .score-scale{display:flex; gap:2px; margin-top:14px;}
  .score-scale span{width:20px; height:8px; background:var(--surface-3);}
  .score-scale span.filled{background:var(--accent);}

  .pill-row{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px;}
  .pill{border:1px solid var(--line); border-radius:20px; padding:5px 14px; font-size:var(--fs-xs); color:var(--ink-2); background:var(--surface);}
  .pill b{color:var(--ink); font-weight:var(--fw-forte); font-variant-numeric:tabular-nums; margin-left:5px;}

  footer{margin-top:40px; padding-top:16px; border-top:1px solid var(--line); font-size:var(--fs-xs); color:var(--ink-3);}

  .tema-btn{all:unset; cursor:pointer; display:block; margin:18px 22px 0; padding:7px 10px; border:1px solid var(--line-strong); border-radius:4px;
    font-size:var(--fs-xs); font-weight:var(--fw-medio); color:var(--ink-2);}
  .tema-btn:hover{background:var(--surface-2); color:var(--ink);}
  .tema-btn:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
  /* pulsante "Sezioni" solo su telefono: all:unset va prima di display, altrimenti lo annulla */
  .menu-btn{all:unset; display:none; cursor:pointer; border:1px solid var(--line-strong); border-radius:4px; padding:8px 12px; font-size:var(--fs-sm); font-weight:var(--fw-medio); margin-bottom:14px;}
  @media (max-width:1100px){ .topbar .title{font-size:var(--fs-2xl);} }
  @media (max-width:760px){
    .rail{position:fixed; z-index:20; transform:translateX(-100%); transition:transform .2s; background:var(--surface); box-shadow:2px 0 12px rgba(0,0,0,.15);}
    .rail.open{transform:translateX(0);}
    .main{padding:20px 16px 70px;}
    .menu-btn{display:inline-flex;}
    .topbar .title{font-size:var(--fs-xl);}
    .kpi .value{font-size:var(--fs-xl);}
  }
  /* Analisi Centrale Rischi e controlli */
  .data-select{font-family:var(--font); font-size:var(--fs-sm); font-weight:var(--fw-medio); color:var(--ink); background:var(--surface-3);
    border:1px solid var(--line-strong); border-radius:4px; padding:7px 10px;}
  .data-select-wrap{display:flex; align-items:center; gap:8px; font-size:var(--fs-xs); color:var(--ink-2);}
  .table-wrap{overflow-x:auto; margin-bottom:28px;}
  .table-wrap table{margin-bottom:0;}
  table.compact{font-size:var(--fs-sm);} table.compact th, table.compact td{padding:6px 8px;}
  table.compact thead th{font-size:var(--fs-xs);}
  table.compact th:not(.num), table.compact td:not(.num){text-align:left;}
  td.txt{text-align:left; color:var(--ink-2); font-size:var(--fs-xs); max-width:240px;}
  td.neg{color:var(--neg); font-weight:var(--fw-titolo);}
  h3.block{font-size:var(--fs-lg); margin:6px 0 10px;}
  .btn{all:unset; cursor:pointer; display:inline-block; font-size:var(--fs-sm); font-weight:var(--fw-titolo); padding:9px 14px; border-radius:4px;
    border:1px solid var(--accent); color:var(--accent); background:var(--surface);}
  .btn:hover{background:var(--accent-soft);}
  .btn.primary{background:var(--accent); color:var(--on-accent);} .btn.primary:hover{background:var(--accent-forte);}
  .btn:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
  .btn-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:18px;}
  .seg{display:inline-flex; border:1px solid var(--line-strong); border-radius:4px; overflow:hidden; margin-bottom:18px;}
  .seg button{all:unset; cursor:pointer; padding:7px 14px; font-size:var(--fs-sm); font-weight:var(--fw-medio); color:var(--ink-2); background:var(--surface);}
  .seg button:hover{background:var(--surface-2);}
  .seg button.active{background:var(--accent); color:var(--on-accent); font-weight:var(--fw-titolo);}
  .progress{font-size:var(--fs-sm); color:var(--ink-3); min-height:18px; margin-bottom:14px;}
  .ok-line{color:var(--pos);} .err-line{color:var(--neg);}
  tbody tr.fuori td{background:var(--warn-soft);}
  /* Tabellone e drill: righe e grafici cliccabili, chip dei filtri e dei raggruppamenti, tabella con prima colonna fissa */
  tr.drill{cursor:pointer;}
  tr.drill:focus-visible, th[data-ta]:focus-visible{outline:2px solid var(--accent); outline-offset:-2px;}
  /* KPI, pillole e riquadri punteggio cliccabili (drill verso il Tabellone) */
  .kpi.drill, .pill.drill, .score-card.drill{cursor:pointer;}
  .kpi.drill:hover, .score-card.drill:hover{background:var(--surface-2);}
  .pill.drill:hover{background:var(--surface-2); border-color:var(--line-strong);}
  .kpi.drill:focus-visible, .pill.drill:focus-visible, .score-card.drill:focus-visible{outline:2px solid var(--accent); outline-offset:-2px;}
  .kpi.drill .label::after{content:" ›"; color:var(--accent);}
  .tab-coll{all:unset; cursor:pointer; font-size:var(--fs-xs); font-weight:var(--fw-titolo); color:var(--accent); padding:2px 6px; border-radius:4px;}
  .tab-coll:hover{background:var(--accent-soft);} .tab-coll:focus-visible{outline:2px solid var(--accent); outline-offset:1px;}
  .tab-priv{background:var(--warn-soft); border-left-color:var(--warn);}
  .chart-card canvas{cursor:default;}
  .drill-help{font-size:var(--fs-xs); color:var(--ink-3); margin:8px 0 22px;}
  .chart-card .drill-help{margin:8px 0 0;}
  .tab-bar{position:relative; background:var(--surface); border:1px solid var(--line); border-radius:4px; padding:14px 16px; margin-bottom:16px; display:flex; flex-direction:column; gap:12px;}
  .tab-bar.con-info{padding-right:40px;}
  .tab-crumb{font-size:var(--fs-xs); color:var(--ink-3); display:flex; flex-wrap:wrap; gap:2px 6px; align-items:baseline;}
  .tab-crumb button{all:unset; cursor:pointer; color:var(--accent); font-weight:var(--fw-titolo);}
  .tab-crumb button:hover{text-decoration:underline;} .tab-crumb button:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
  .tab-crumb span:not(.sep){color:var(--ink); font-weight:var(--fw-titolo);}
  .tab-row{display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px;}
  .tab-lbl{font-size:var(--fs-xs); font-weight:var(--fw-titolo); color:var(--ink-2); width:96px; flex:0 0 96px;}
  .tab-vuoto{font-size:var(--fs-xs); color:var(--ink-3); margin-bottom:12px;}
  .tab-row .tab-vuoto{margin:0;}
  .chip{all:unset; cursor:pointer; box-sizing:border-box; display:inline-flex; align-items:center; gap:6px; padding:4px 12px; border:1px solid var(--line-strong); border-radius:999px;
    font-size:var(--fs-xs); font-weight:var(--fw-medio); color:var(--ink-2); background:var(--surface);}
  .chip:hover{background:var(--surface-2); color:var(--ink);}
  .chip.on{background:var(--accent); border-color:var(--accent); color:var(--on-accent); font-weight:var(--fw-titolo);}
  .chip .n{display:inline-block; min-width:16px; height:16px; line-height:16px; text-align:center; border-radius:50%; background:var(--on-accent); color:var(--accent); font-size:var(--fs-2xs); font-weight:var(--fw-forte);}
  .chip:focus-visible, .fchip button:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
  .fchip{display:inline-flex; align-items:center; gap:6px; padding:3px 4px 3px 12px; border:1px solid var(--accent); border-radius:999px; background:var(--accent-soft); color:var(--accent-forte); font-size:var(--fs-xs); font-weight:var(--fw-titolo);}
  .fchip button{all:unset; cursor:pointer; width:18px; height:18px; line-height:18px; text-align:center; border-radius:50%; font-size:var(--fs-md);}
  .fchip button:hover{background:var(--accent); color:var(--on-accent);}
  .tab-act{padding-top:2px;}
  .tab-conf{font-size:var(--fs-xs); color:var(--ink-2); display:inline-flex; align-items:center; gap:6px; cursor:pointer;}
  .tab-wrap{border:1px solid var(--line); background:var(--surface); margin-bottom:0; max-width:100%;}
  table.tab{width:max-content; min-width:100%; margin-bottom:0;}
  table.tab th, table.tab td{white-space:nowrap;}
  table.tab th.dim, table.tab td.dim{text-align:left;}
  table.tab td.dim{max-width:240px; overflow:hidden; text-overflow:ellipsis;}
  table.tab td.rip{color:var(--ink-3);}
  table.tab th[data-ta]{cursor:pointer; user-select:none;}
  table.tab th[data-ta]:hover{color:var(--ink);}
  table.tab th .u{font-weight:var(--fw-normale); color:var(--ink-3);}
  table.tab th.dl, table.tab td.dl{font-size:var(--fs-xs); color:var(--ink-3); font-weight:var(--fw-normale);}
  table.tab td.dl.up{color:var(--pos);} table.tab td.dl.down{color:var(--neg);}
  table.tab td.vuoto{text-align:center; color:var(--ink-3); padding:18px;}
  /* prima colonna fissa mentre la tabella scorre in orizzontale (telefono) */
  .tab-wrap th:first-child, .tab-wrap td:first-child{position:sticky; left:0; z-index:1; background:var(--surface); box-shadow:1px 0 0 var(--line);}
  .tab-wrap thead th:first-child{background:var(--surface-2); z-index:2;}
  .tab-wrap tbody tr:nth-child(even) td:first-child{background:var(--surface-2);}
  .tab-wrap tbody tr:hover td:first-child{background:var(--surface-3);}
  .tab-wrap tr.total td:first-child{background:var(--accent-soft);}
  @media (max-width:760px){
    .tab-lbl{flex:0 0 100%; width:100%;}
    table.tab td.dim{max-width:150px;}
  }
  /* Elementi cliccabili in generale (decisione 56): carte, celle, totali, delta. Stesso linguaggio dei KPI: manina, evidenziazione discreta, focus da tastiera */
  [data-dr].drill{cursor:pointer;}
  .carta.drill{border-radius:4px;} .carta.drill:hover{background:var(--surface-2);}
  .carta.drill:focus-visible, td.drill:focus-visible, .delta.drill:focus-visible{outline:2px solid var(--accent); outline-offset:-2px;}
  td.drill:not(.dim):hover{background:var(--accent-soft);}
  td.drill{text-decoration:underline dotted var(--ink-3); text-underline-offset:3px;}
  .delta.drill{text-decoration:underline dotted; text-underline-offset:3px;} .delta.drill:hover{background:var(--surface-3);}
  .kpi.drill .delta.drill{position:relative; z-index:1;}
  /* Tabellone: ogni numero si spiega, ma la sottolineatura compare solo al passaggio del mouse (tabella densa) */
  table.tab td.drill{text-decoration:none; cursor:pointer;}
  table.tab td.drill:hover{text-decoration:underline dotted var(--ink-3); text-underline-offset:3px;}
  /* Dettaglio che spiega il dato */
  .sp-bar{display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:16px;}
  .sp-valore{display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 14px; margin-bottom:14px;}
  .sp-valore .grande{font-size:var(--fs-kpi-lg); font-weight:var(--fw-forte); letter-spacing:-.02em; color:var(--accent); line-height:1.1; font-variant-numeric:tabular-nums;}
  .sp-info p{margin:0 0 6px;} .sp-info p:last-child{margin:0;} .sp-info b{color:var(--accent); font-weight:var(--fw-titolo);}
  .sp-ko{background:var(--neg-soft); border-left-color:var(--neg);}
  .sp-wrap{border:1px solid var(--line); background:var(--surface); margin-bottom:6px; max-width:100%;}
  .sp-scroll{max-height:420px; overflow-y:auto;}
  .sp-scroll thead th{position:sticky; top:0; z-index:1;}
  table.sp-tab td, table.sp-tab th{white-space:nowrap;}
  table.sp-tab td:first-child{white-space:normal; min-width:120px;}
  .sp-riep table.sp-tab td{font-size:var(--fs-md); font-weight:var(--fw-titolo);}
  .sp-nota{margin:0 0 22px;}
  .sp-wrap + h3.block, .sp-nota + h3.block{margin-top:18px;}
