/* =====================================================================================================
   Osservatorio ScuolaGo, foglio unico (prototipo del 27/10/2026)
   Ordine: 1) segni del sito  2) pezzi del sito copiati da /datalab/ (intestazione, pastiglia, piede, barra)
           3) fondo sfumato delle pagine strumento  4) componenti dell'Osservatorio  5) tema scuro del sito
   Regola: niente caratteri esterni ne' librerie; i colori dei grafici si leggono da queste variabili.
   ===================================================================================================== */

/* ---------- 1. segni del sito ---------- */
:root{
  --bg:#E7ECF4;--bg-2:#E9EEF6;--paper:#FFFFFF;--ink:#19223A;--ink-2:#46506A;--muted:#5E6782;--hair:rgba(38,52,84,.12);
  --display:"Fraunces",Lora,Georgia,serif;--body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  /* nomi usati dai pezzi copiati da DataLab: qui puntano al teal di ScuolaGo */
  --teal:#176E82;--teal-ink:#0F5364;--orange:#176E82;--orange-2:#1F8AA3;--navy:#0a3b47;--navy-2:#0F5364;--green:#2fbf86;--green-ink:#1E9E6A;
  --shadow:0 18px 48px rgba(28,40,75,.14),0 2px 8px rgba(28,40,75,.06);--radius:18px;
  /* colori di sezione (gli stessi del menu del sito) */
  --c-gps:#176E82;--c-gps-ink:#0F5364;--c-gps-2:#1F8AA3;
  --c-ata:#2F86BF;--c-ata-ink:#1F6FA8;--c-ata-2:#4FAEE0;
  --c-int:#D9694B;--c-int-ink:#A9472A;--c-int-2:#E88466;
  --c-oro:#E0A53A;--c-oro-ink:#8A5F12;--c-dl:#E2662A;--c-corsi:#1E3A8A;--c-academy:#B98300;
  /* vetro degli strumenti */
  --glass:rgba(255,255,255,.34);--glass-forte:rgba(255,255,255,.62);--glass-bd:rgba(255,255,255,.7);
  --glass-sh:0 6px 18px rgba(20,30,60,.07);
  /* grafici */
  --grid:rgba(38,52,84,.10);--asse:rgba(38,52,84,.32);--chart-base:#C9D6E2;--nd:#E3E8EF;
  --ramp-0:#DCEEF2;--ramp-1:#A6D3DE;--ramp-2:#62AFC2;--ramp-3:#2A879E;--ramp-4:#0F5364;
  --ramp-t0:#19223A;--ramp-t1:#19223A;--ramp-t2:#19223A;--ramp-t3:#FFFFFF;--ramp-t4:#FFFFFF;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.02em;text-wrap:balance}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:2.5px solid var(--teal);outline-offset:2px;border-radius:6px}

/* ---------- 3. fondo sfumato: lo stesso delle pagine strumento (Interpelli, Simulatore) ---------- */
body::before{content:"";position:fixed;inset:-200px;z-index:-2;pointer-events:none;filter:blur(30px) saturate(1.2);
  background:radial-gradient(34vmax 34vmax at 10% 6%,rgba(35,120,150,.42),transparent 58%),radial-gradient(40vmax 40vmax at 90% 12%,rgba(96,176,224,.44),transparent 60%),
    radial-gradient(32vmax 32vmax at 80% 86%,rgba(150,196,200,.36),transparent 58%),radial-gradient(38vmax 38vmax at 16% 84%,rgba(70,160,200,.42),transparent 60%),
    radial-gradient(30vmax 30vmax at 52% 48%,rgba(35,120,150,.42),transparent 62%);
  animation:oss-liquido 38s ease-in-out infinite alternate}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(rgba(231,236,244,.08),rgba(231,236,244,.26))}
@keyframes oss-liquido{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-2%,1.5%,0) scale(1.04)}100%{transform:translate3d(1.5%,-1%,0) scale(1.02)}}

/* ---------- 2. pezzi del sito (copiati da /datalab/index.html il 27/10/2026, stesse classi) ---------- */

.shell{width:min(1160px,calc(100% - 32px));margin:0 auto}
.test-bar{background:#f4c04e;color:#3a2a05;font-size:13px;font-weight:700;text-align:center;padding:8px 16px}
.head{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:rgba(243,246,251,.82);border-bottom:1px solid var(--hair)}
.head .row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:18px;letter-spacing:-.01em}
.brand img{height:34px;width:auto}
.brand .dl{color:var(--muted);font-weight:500;font-size:14px;margin-left:4px}.brand .dl b{color:var(--ink)}.brand .dl b i{font-style:normal;color:var(--teal-ink)}
.head nav{display:flex;gap:20px;align-items:center;font-size:14px}
.head nav a{color:var(--ink-2);text-decoration:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 24px;font-weight:700;font-size:15px;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:var(--body);transition:transform .15s ease,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 12px 30px rgba(242,118,46,.28)}.btn-primary:hover{background:var(--orange-2)}
.btn-ghost{background:var(--paper);border-color:var(--hair);color:var(--ink)}
.btn-sm{padding:10px 18px;font-size:14px}
.kicker{display:inline-flex;align-items:center;gap:8px;color:var(--teal-ink);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.kicker::before{content:"";width:22px;height:2px;background:var(--teal);border-radius:2px}
/* ===== nuova versione del sito (22/10/2026): gli stessi pezzi di Corsi e Academy ===== */
.head .row{gap:14px}
.marchio{display:flex;align-items:center;gap:10px;margin-right:auto;min-width:0}
.logo{position:relative;display:flex;align-items:center;gap:9px;font:600 20px/1 var(--display);text-decoration:none;color:var(--ink)}
.logo img{height:26px;width:auto}
.pg-nav{display:flex;gap:20px;align-items:center;font-size:14px}
.pg-nav a{color:var(--ink-2);text-decoration:none}
.pg-nav a:not(.btn):hover{color:var(--teal-ink)}
/* pastiglia "DataLab" con il menu delle sezioni del sito, come quelle di Corsi e Academy */
.sz{position:relative;display:inline-flex}
.sz .sz-pill{font:700 11px/1 var(--body);letter-spacing:.09em;text-transform:uppercase;color:#fff;background:linear-gradient(140deg,#F2762E,#D2561E);border-radius:999px}
.sz-b{display:inline-flex;align-items:center;gap:5px;border:0;cursor:pointer;padding:6px 9px 6px 11px!important;box-shadow:0 6px 16px rgba(210,86,30,.25);transition:filter .2s,box-shadow .25s,transform .2s}
.sz.aperto .sz-b{filter:brightness(1.06);box-shadow:0 10px 22px rgba(210,86,30,.32);transform:translateY(-1px)}
@media (hover:hover) and (pointer:fine){.sz-b:hover{filter:brightness(1.06);box-shadow:0 10px 22px rgba(210,86,30,.32);transform:translateY(-1px)}}
.sz-giu{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s cubic-bezier(.2,.9,.25,1.2)}
.sz.aperto .sz-giu{transform:rotate(180deg)}
.sz-p{position:absolute;top:calc(100% + 12px);left:-8px;z-index:80;width:min(380px,calc(100vw - 24px))}
.sz-p::before{content:"";position:absolute;left:0;right:0;top:-14px;height:16px}
.sz-in{position:relative;overflow:hidden;padding:8px;border-radius:24px;
  background:radial-gradient(260px 170px at 90% -20%,rgba(226,102,42,.10),transparent 70%),radial-gradient(240px 170px at 5% 115%,rgba(23,110,130,.07),transparent 70%),linear-gradient(165deg,rgba(255,255,255,.97),rgba(246,249,253,.94));
  border:1px solid rgba(255,255,255,.95);box-shadow:0 30px 70px rgba(20,32,60,.22),0 6px 18px rgba(20,32,60,.08),inset 0 1px 0 #fff;
  transform-origin:30px 0;opacity:0;transform:translateY(-8px) scale(.96);transition:opacity .22s ease,transform .38s cubic-bezier(.2,.95,.25,1.15)}
.sz.aperto .sz-in{opacity:1;transform:none}
.sz-in::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(112deg,transparent 32%,rgba(255,255,255,.85) 47%,transparent 62%) no-repeat;background-size:260% 100%;background-position:130% 0;opacity:0}
.sz.aperto .sz-in::after{animation:sz-luce 1s .1s cubic-bezier(.3,.6,.3,1) both}
@keyframes sz-luce{0%{opacity:1;background-position:130% 0}100%{opacity:1;background-position:-40% 0}}
.sz-hr{border:0;height:1px;margin:6px 12px;background:linear-gradient(90deg,transparent,rgba(38,52,84,.14),transparent)}
.sz-i{--c:#2D4FC0;--t:rgba(45,79,192,.10);position:relative;z-index:1;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:9px 12px;border-radius:16px;color:var(--ink);text-decoration:none;
  opacity:0;transform:translateY(8px);transition:background-color .2s,opacity .3s ease,transform .45s cubic-bezier(.2,.9,.25,1.2)}
.sz.aperto .sz-i{opacity:1;transform:none;transition-delay:0s,calc(var(--i) * 45ms + 60ms),calc(var(--i) * 45ms + 60ms)}
.sz-gps{--c:#176E82;--t:rgba(23,110,130,.10)}
.sz-ata{--c:#2F86BF;--t:rgba(62,155,208,.12)}
.sz-academy{--c:#B98300;--t:rgba(214,154,0,.13)}
.sz-dl{--c:#E2662A;--t:rgba(226,102,42,.11)}
.sz-i:hover,.sz-i:focus-visible,.sz-qui{background:var(--t)}
.sz-ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:var(--c);background:var(--t);transition:transform .35s cubic-bezier(.2,.9,.25,1.3),background-color .2s,color .2s}
.sz-i:hover .sz-ic,.sz-qui .sz-ic{background:var(--c);color:#fff}
.sz-i:hover .sz-ic{transform:scale(1.08) rotate(-4deg)}
.sz-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sz-t{display:grid;gap:2px;min-width:0;text-transform:none;letter-spacing:0}
.sz-t b{font:700 15px/1.2 var(--body)}
.sz-t small{font:500 12.5px/1.35 var(--body);color:var(--muted)}
.sz-sq{font:700 10.5px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--c);background:#fff;border:1px solid var(--t);border-radius:999px;padding:5px 8px}
/* a destra il profilo, come in tutte le sezioni */
.gn{display:flex;align-items:center}
/* nell'app Guide e News accanto al profilo, con le misure dei Corsi nell'app. Le mette sg-anteprima.js (a.wow-gn-n);
   se fossero gia' nella pagina (a.gn-x), quelle di sg-anteprima.js non si vedono, cosi' non compaiono due volte */
.gn a.gn-x{display:none}
.gn a.gn-x svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* 23/10/2026: anche sul sito da telefono, come nell'app (prima solo html.sg-app106 e html.is-app); html body per battere le regole qui sotto */
@media (max-width:860px){
  html body .head .gn,html body .head .gn{gap:0}
  html body .gn a.gn-x,html body .gn a.gn-x,html body .gn a.wow-gn-n,html body .gn a.wow-gn-n{display:grid;place-items:center;width:36px;height:44px;color:#3D4862;text-decoration:none}
  html body .gn a.wow-gn-n svg,html body .gn a.wow-gn-n svg{width:26px;height:26px}
  html body .gn a.gn-x~a.wow-gn-n,html body .gn a.gn-x~a.wow-gn-n{display:none!important}
  html body .gn a.omino,html body .gn a.omino{margin-left:4px}
}
@media (min-width:401px) and (max-width:860px){
  html body .gn a.gn-x,html body .gn a.gn-x,html body .gn a.wow-gn-n,html body .gn a.wow-gn-n{width:42px}
  html body .gn a.gn-x svg,html body .gn a.gn-x svg,html body .gn a.wow-gn-n svg,html body .gn a.wow-gn-n svg{width:28px;height:28px}
}
/* sotto i 390px si stringe come Docenti in sg-anteprima.js: riga 6px, voci 30px, icone 24px, omino 36px, pastiglia 1px piu' stretta per lato.
   .marchio ha min-width:0: se la riga non ci sta, la pastiglia DATALAB finisce sopra Guide, non nel margine */
@media (max-width:389.98px){
  html body .head .row,html body .head .row{gap:6px}
  html body .gn a.gn-x,html body .gn a.gn-x,html body .gn a.wow-gn-n,html body .gn a.wow-gn-n{width:30px}
  html body .gn a.gn-x svg,html body .gn a.gn-x svg,html body .gn a.wow-gn-n svg,html body .gn a.wow-gn-n svg{width:24px;height:24px}
  html body .gn a.omino,html body .gn a.omino{width:36px;height:36px}
  html body .head .sz .sz-pill.sz-b,html body .head .sz .sz-pill.sz-b{padding:6px 7px 6px 10px!important}
}
/* sotto i 360px (iPhone SE di prima generazione, iOS 15) si taglia il nome, come Docenti, invece di coprire le icone */
@media (max-width:359.98px){
  html body .head .logo,html body .head .logo{min-width:0;overflow:hidden}
}
.gn a.omino{position:relative;overflow:visible;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;background:linear-gradient(140deg,#4FAEE0,#1F6FA8);box-shadow:0 6px 14px rgba(31,111,168,.28);text-decoration:none}
.gn a.omino svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.gn a.omino [data-sg-notif]{position:absolute!important;top:-5px;right:-7px;margin:0!important;min-width:18px!important;height:18px!important;line-height:14px!important;padding:0 4px!important;font-size:10px!important;border:2px solid #fff;border-radius:999px!important;box-shadow:0 2px 6px rgba(229,72,77,.35)}
/* "PRO" sotto ScuolaGo per chi ha un piano Pro */
.sg-pro-logo{position:absolute;right:0;bottom:-1px;display:block;background:linear-gradient(120deg,#F2C54E,#D69A00 55%,#B98300);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font:800 8px/1 Inter,system-ui,sans-serif;letter-spacing:.24em;pointer-events:none}
/* telefono: la pastiglia non apre le sezioni (si cambiano con la barra in basso); la freccia apre le parti della pagina */
.sz-pm{display:none}
section[id]{scroll-margin-top:84px}
.tb{display:none}
@media (max-width:860px){
  .logo{font-size:18px}
  .head .pg-nav{display:none}
  .sz-p{display:none!important}
  .sz-b{box-shadow:none!important;transform:none!important;padding:5px 9px!important}
  .sz-pm{display:block;position:fixed;left:10px;right:10px;top:72px;z-index:80}
  .sz-pm[hidden]{display:none}
  .sz-pm-in{position:relative;overflow:hidden;padding:10px;border-radius:24px;
    background:radial-gradient(260px 170px at 90% -20%,rgba(226,102,42,.12),transparent 70%),linear-gradient(165deg,rgba(255,255,255,.97),rgba(246,249,253,.94));
    border:1px solid rgba(255,255,255,.95);box-shadow:0 30px 70px rgba(20,32,60,.22),0 6px 18px rgba(20,32,60,.08),inset 0 1px 0 #fff;
    transform-origin:30% 0;opacity:0;transform:translateY(-8px) scale(.96);transition:opacity .22s ease,transform .38s cubic-bezier(.2,.95,.25,1.15)}
  .sz.aperto-pm .sz-pm-in{opacity:1;transform:none}
  .sz.aperto-pm .sz-giu{transform:rotate(180deg)}
  .pm-tit{font:700 11px/1 var(--body);letter-spacing:.11em;text-transform:uppercase;color:var(--teal-ink);margin:6px 10px 10px}
  .pm-i{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:9px 10px;border-radius:16px;color:var(--ink);text-decoration:none;
    opacity:0;transform:translateY(8px);transition:background-color .2s,opacity .3s ease,transform .45s cubic-bezier(.2,.9,.25,1.2)}
  .sz.aperto-pm .pm-i{opacity:1;transform:none;transition-delay:0s,calc(var(--i) * 55ms + 60ms),calc(var(--i) * 55ms + 60ms)}
  .pm-i:active{background:rgba(226,102,42,.10)}
  .pm-sig{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;font:700 14px/1 var(--display);color:#fff;background:linear-gradient(140deg,#F2762E,#D2561E)}
  .pm-t{display:grid;gap:2px;min-width:0}
  .pm-t b{font:700 15px/1.2 var(--body)}
  .pm-t small{font:500 12.5px/1.35 var(--body);color:var(--muted)}
  .pm-fr{width:16px;height:16px;fill:none;stroke:#A3AABB;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .pm-fondo{display:flex;align-items:center;justify-content:center;margin:8px 4px 2px;min-height:46px;border-radius:999px;font:700 15px/1 var(--body);color:#fff;background:var(--orange);box-shadow:0 10px 24px rgba(242,118,46,.28);text-decoration:none}
  /* barra delle sezioni in basso, DataLab acceso */
  .tb{display:grid;grid-template-columns:repeat(5,1fr);position:sticky;bottom:0;z-index:45;background:rgba(243,246,251,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--hair);padding:7px 4px calc(10px + env(safe-area-inset-bottom,0px))}
  .tb a{display:grid;justify-items:center;gap:4px;font:600 11px/1 var(--body);color:var(--muted);text-decoration:none;position:relative;padding-top:4px}
  .tb a.on{color:#D2561E}
  .tb a.on::before{content:"";position:absolute;top:-7px;left:24%;right:24%;height:3px;border-radius:0 0 3px 3px;background:#E2662A}
  .tb svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  /* scorrendo in giù spariscono intestazione e barra in basso, scorrendo in su tornano (come Docenti e ATA) */
  .head{transition:top .32s cubic-bezier(.22,.61,.36,1)}
  .tb{transition:bottom .32s cubic-bezier(.22,.61,.36,1)}
  html.scorre-giu .head{top:calc(-96px - env(safe-area-inset-top,0px))}
  html.scorre-giu .tb{bottom:calc(-80px - env(safe-area-inset-bottom,0px))}
}
/* piede unico, come in tutte le sezioni */
.sg-piede{margin-top:16px;padding:40px 0 28px;border-top:1px solid var(--hair);color:var(--muted);font-size:14px}
.sgf{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr));gap:32px;align-items:start}
.sgf-marchio{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font:600 20px/1 var(--display)}
.sgf-marchio img{height:30px;width:auto}
.sgf-brand p{margin:12px 0 0;max-width:340px;line-height:1.6}
.sgf-t{display:flex;align-items:center;gap:7px;margin:6px 0 8px;font:700 12px/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.sgf-t::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sgf-c,#176E82)}
.sgf-gps{--sgf-c:#176E82}.sgf-ata{--sgf-c:#3E9BD0}.sgf-corsi{--sgf-c:#1E3A8A}.sgf-altre{--sgf-c:#B98300}
.sgf ul{list-style:none;margin:0;padding:0}
.sgf li a{display:inline-flex;align-items:center;min-height:36px;color:var(--muted);text-decoration:none}
.sgf li a:hover{color:var(--ink);text-decoration:underline}
.piede-legal{margin-top:28px;padding-top:20px;border-top:1px solid var(--hair);font-size:13px;line-height:1.7}
.piede-legal p{margin:0 0 6px}
.piede-legal a{color:var(--muted)}
.piede-soc{opacity:.85}
@media (max-width:860px){
  .sg-piede{padding:28px 0 20px;font-size:13.5px}
  .sgf{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .sgf-brand{grid-column:1/-1;margin-bottom:4px}
  .sgf-brand p{font-size:13.5px;line-height:1.55;margin-top:8px;max-width:none}
  .sgf-col{padding:12px 14px 8px;border-radius:16px;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.9);box-shadow:0 6px 18px rgba(28,40,75,.06)}
  .sgf-t{margin:0 0 4px;font-size:10.5px;letter-spacing:.1em}
  .sgf li a{min-height:38px;font-size:14px;color:var(--ink-2)}
  .piede-legal{margin-top:18px;padding-top:16px;text-align:center;font-size:12.5px;line-height:1.55}
}
@media (prefers-reduced-motion:reduce){.sz-in,.sz-i,.sz-giu,.sz-pm-in,.pm-i,.head,.tb{transition:none!important}.sz.aperto .sz-in::after{animation:none}}
/* intestazione del telefono come quella dei Corsi (22/10/2026): fondo bianco senza vetro, riga sottile, 64px, nome 20px, logo 30px,
   pastiglia e omino delle stesse misure; pannello della pastiglia opaco; campi a 16px (iPhone non ingrandisce la pagina) */
@media (max-width:860px){
  /* fondo pieno: senza vetro un bianco al 96% lascia leggere le scritte che passano sotto (come la barra al 97% in sg-barre-mobile.js) */
  .head{background:#fff!important;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:#e3e9f2}
  .head::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(45,79,192,.45),transparent);opacity:.7;pointer-events:none}
  .head .row{min-height:64px}
  .marchio{gap:9px}
  .logo{min-height:44px;font-size:20px;letter-spacing:-.01em}
  .logo img{height:30px;width:auto}
  .sz .sz-pill.sz-b{min-height:30px;font-size:11.5px;padding:6px 8px 6px 11px!important}
  .gn a.omino svg{width:22px;height:22px}
  .sz-pm-in{background-color:#fff}
}
html.is-ios .head{padding-top:env(safe-area-inset-top,0px)}
html.is-ios section[id]{scroll-margin-top:calc(84px + env(safe-area-inset-top,0px))}
@media (max-width:860px),(pointer:coarse){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}}
/* app vera (html.is-app): la fascia segnaposto che nginx mette in fondo (body::after fissa, z-index 200, prende i tocchi) copriva la barra in basso */
html.is-app body::after{content:none!important;display:none!important}
/* new accanto a Corsi, Academy e DataLab nella tendina delle sezioni, sul computer (utente, 23/10/2026); sul telefono il new sta nella barra in basso */
.sz-t b .sz-nov{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;vertical-align:1px;background:#f4c04e;color:#3a2a05;font:800 9px/1 Inter,system-ui,sans-serif;border-radius:99px;padding:2px 7px;min-height:14px;text-transform:lowercase;letter-spacing:0}
@media (max-width:900px){.sz-t b .sz-nov{display:none}}
@media (prefers-reduced-motion:reduce){.dl-barra,.dl-barra.dl-vista{transition:none}}
/* new su Corsi, Academy e DataLab nella barra in basso (23/10/2026) */
.tb a{position:relative}
.tb a .tb-new{position:absolute;top:2px;left:50%;margin-left:7px;font:800 8.5px/1 Inter,system-ui,sans-serif;font-style:normal;background:#f4c04e;color:#3a2a05;border-radius:99px;padding:2px 5px;text-transform:lowercase;pointer-events:none}

/* ---------- 2b. ritocchi ai pezzi copiati: la pastiglia e i pulsanti dell'Osservatorio sono teal ---------- */
.sz .sz-pill{background:linear-gradient(140deg,#1F8AA3,#0F5364)}
.sz-b{box-shadow:0 6px 16px rgba(15,83,100,.25)}
.sz.aperto .sz-b{box-shadow:0 10px 22px rgba(15,83,100,.32)}
@media (hover:hover) and (pointer:fine){.sz-b:hover{box-shadow:0 10px 22px rgba(15,83,100,.32)}}
.sz-oss{--c:#0F5364;--t:rgba(15,83,100,.10)}
.btn-primary{background:linear-gradient(140deg,#1F8AA3,#0F5364);color:#fff;box-shadow:0 12px 28px rgba(15,83,100,.26)}
.btn-primary:hover{background:linear-gradient(140deg,#2496AF,#11606F)}
.head .pg-nav a.btn-primary,.head .pg-nav a.btn-primary:hover{color:#fff}
.btn-ghost{background:rgba(255,255,255,.62);border-color:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.kicker{color:var(--teal-ink)}.kicker::before{background:var(--teal)}
@media (max-width:1060px){.pg-nav a:not(.btn){display:none}}
@media (max-width:860px){
  .pm-sig{background:linear-gradient(140deg,#1F8AA3,#0F5364)}
  .pm-fondo{background:linear-gradient(140deg,#1F8AA3,#0F5364);box-shadow:0 10px 24px rgba(15,83,100,.26)}
  .pm-i:active{background:rgba(23,110,130,.10)}
  .sz-pm-in{background:radial-gradient(260px 170px at 90% -20%,rgba(23,110,130,.12),transparent 70%),linear-gradient(165deg,rgba(255,255,255,.97),rgba(246,249,253,.94));max-height:calc(100dvh - 160px);overflow-y:auto}
}
.test-bar:not([hidden]){display:block}
.muted{color:var(--muted)}

/* ---------- 4. componenti dell'Osservatorio ---------- */
/* vetro opaco degli strumenti */
.card{background:var(--glass);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
  border:.8px solid var(--glass-bd);border-radius:14px;box-shadow:var(--glass-sh)}
.card-forte{background:var(--glass-forte)}

/* colori di sezione */
.sez-gps{--sc:#176E82;--sc-ink:#0F5364;--sf:rgba(23,110,130,.10)}
.sez-spe{--sc:#D9694B;--sc-ink:#A9472A;--sf:rgba(217,105,75,.12)}
.sez-int{--sc:#E0A53A;--sc-ink:#8A5F12;--sf:rgba(224,165,58,.16)}
.sez-ata{--sc:#2F86BF;--sc-ink:#1F6FA8;--sf:rgba(47,134,191,.12)}
.sez-geo{--sc:#0F5364;--sc-ink:#0a3b47;--sf:rgba(15,83,100,.10)}
.sez-ana{--sc:#3D6F7C;--sc-ink:#244E59;--sf:rgba(61,111,124,.11)}

/* pastiglie di sezione */
.pill{display:inline-flex;align-items:center;gap:6px;font:700 11px/1 var(--body);letter-spacing:.09em;text-transform:uppercase;color:#fff;
  border-radius:999px;padding:6px 10px;background:linear-gradient(140deg,var(--p2,#1F8AA3),var(--p1,#0F5364));box-shadow:0 4px 12px rgba(20,30,60,.12);white-space:nowrap}
.pill-gps{--p1:#0F5364;--p2:#1F8AA3}
.pill-spe{--p1:#A9472A;--p2:#E07A5B}
.pill-int{--p1:#8A5F12;--p2:#D29A35}
.pill-ata{--p1:#1F6FA8;--p2:#4FAEE0}
.pill-geo{--p1:#0a3b47;--p2:#176E82}
.pill-ana{--p1:#244E59;--p2:#4E8796}

/* ===== apertura con il video ===== */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#071a21;color:#EAF3F5}
.hero-media{position:absolute;inset:0;z-index:-1}
.hero-poster,.hero-video{position:absolute;top:0;right:0;width:82%;height:100%;object-fit:cover;object-position:50% 46%;display:block}
.hero-video{opacity:0;transition:opacity 1.4s ease}
.hero-video.su{opacity:1}
.hero-velo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,33,.97) 0%,rgba(7,26,33,.86) 34%,rgba(7,26,33,.22) 60%,rgba(7,26,33,0) 76%),linear-gradient(0deg,rgba(7,26,33,.95) 0%,rgba(7,26,33,.55) 22%,rgba(7,26,33,0) 44%)}
.hero-in{position:relative;min-height:min(880px,calc(100vh - 67px));display:flex;flex-direction:column;justify-content:space-between;gap:44px;padding:84px 0 36px}
.hero-testo{max-width:590px}
.hero-k{margin:0;font:700 12.5px/1.5 var(--body);letter-spacing:.16em;text-transform:uppercase;color:#86d8d0}
.hero h1{margin:18px 0 18px;font-size:clamp(38px,4.4vw,60px);line-height:1.05;letter-spacing:-.02em;color:#fff}
.hero h1 em{color:#86d8d0;font-style:italic}
.hero-lead{margin:0 0 22px;font-size:17px;line-height:1.6;color:rgba(234,243,245,.84);max-width:58ch}
.hero-stato{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 24px;padding:10px 14px;border-radius:12px;background:rgba(7,26,33,.55);border:1px solid rgba(134,216,208,.25);font-size:13.5px;color:rgba(234,243,245,.86)}
.hero-stato b{color:#fff;font-weight:700}
.hero-stato i{width:8px;height:8px;border-radius:50%;background:#2FA36B;box-shadow:0 0 0 0 rgba(47,163,107,.55);animation:oss-vivo 2.2s infinite}
@keyframes oss-vivo{0%{box-shadow:0 0 0 0 rgba(47,163,107,.55)}70%{box-shadow:0 0 0 8px rgba(47,163,107,0)}100%{box-shadow:0 0 0 0 rgba(47,163,107,0)}}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero .b1{background:#86d8d0;color:#071a21;box-shadow:0 10px 26px rgba(134,216,208,.22)}
.hero .b1:hover{background:#9fe3dc}
.hero .b2{background:rgba(7,26,33,.35);border:1px solid rgba(134,216,208,.5);color:#EAF3F5}
.hero .b2:hover{background:rgba(7,26,33,.6)}
.hero-num{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.hero-num li{padding:16px 16px 14px;border-radius:14px;background:rgba(7,26,33,.64);border:1px solid rgba(134,216,208,.22);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:0}
.hero-num b{display:block;font:600 clamp(24px,2.2vw,31px)/1.05 var(--display);letter-spacing:-.01em;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.hero-num li>span{display:block;margin-top:7px;font-size:12.5px;line-height:1.35;color:rgba(234,243,245,.74)}
.hero-num .c-spe b{color:#F2B79A}.hero-num .c-ata b{color:#9CCBEA}.hero-num .c-int b{color:#F1CE85}
.hero-nota{margin:-28px 0 0;font-size:11.5px;color:rgba(234,243,245,.5)}

/* ===== barra dei capitoli ===== */
.cap-nav{position:sticky;top:67px;z-index:15;background:rgba(243,246,251,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--hair);transition:top .32s cubic-bezier(.22,.61,.36,1)}
.cap-nav ol{display:flex;gap:2px;list-style:none;margin:0 auto;padding:7px 0;overflow-x:auto;scrollbar-width:none}
.cap-nav ol::-webkit-scrollbar{display:none}
.cap-nav a{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border-radius:999px;font:600 13.5px/1 var(--body);color:var(--ink-2);text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.cap-nav a b{font:600 13px/1 var(--display);color:var(--teal)}
.cap-nav a:hover{background:rgba(255,255,255,.8);color:var(--ink)}
.cap-nav a.on{background:#0F5364;color:#fff}
.cap-nav a.on b{color:#86d8d0}

/* ===== sommario ===== */
.somm{padding:72px 0 16px}
.somm-h{max-width:900px;margin:0 0 30px}
.somm-h h2{font-size:clamp(30px,3.6vw,48px);line-height:1.06;margin:10px 0 12px}
.somm-h h2 em{color:var(--teal);font-style:italic}
.somm-h p{margin:0;font-size:17px;color:var(--ink-2);max-width:72ch}
.somm-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}
.somm-g a{display:flex;flex-direction:column;gap:10px;height:100%;min-height:172px;padding:20px 20px 18px;text-decoration:none;color:var(--ink);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.somm-g a:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(20,30,60,.12)}
.somm-g .t{display:flex;justify-content:space-between;align-items:center;gap:8px}
.somm-g .n{font:600 30px/1 var(--display);color:var(--sc-ink)}
.somm-g .et{font:700 10.5px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:var(--sf);color:var(--sc-ink);white-space:nowrap}
.somm-g b{font-size:17px;line-height:1.25}
.somm-g small{font-size:13.5px;line-height:1.45;color:var(--muted)}

/* ===== capitoli ===== */
.cap{padding:76px 0 20px;scroll-margin-top:110px}
.cap-h{max-width:940px;margin:0 0 26px}
.cap-k{display:flex;align-items:center;gap:10px;margin:0 0 12px;font:700 12.5px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--sc-ink)}
.cap-k .cn{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 6px;border-radius:10px;background:var(--sc);color:#fff;font:600 15px/1 var(--display);letter-spacing:0}
.sez-int .cap-k .cn{background:#C98A20}
.cap-k .nuovo{font-size:10.5px;letter-spacing:.08em;padding:4px 8px;border-radius:999px;background:var(--sf);color:var(--sc-ink)}
.cap-h h2{margin:0 0 12px;font-size:clamp(27px,3.2vw,42px);line-height:1.1}
.cap-h h2 em{color:var(--sc-ink);font-style:italic}
.cap-lead{margin:0;font-size:16.5px;line-height:1.6;color:var(--ink-2);max-width:76ch}
.kpi{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px}
.kpi li{position:relative;padding:16px 16px 14px;overflow:hidden;min-width:0}
.kpi li::before{content:"";position:absolute;left:16px;right:16px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--sc);opacity:.8}
.kpi b{display:block;font:600 clamp(24px,2.3vw,30px)/1.08 var(--display);letter-spacing:-.01em;color:var(--sc-ink);font-variant-numeric:tabular-nums}
.kpi li>span{display:block;margin-top:6px;font-size:13px;line-height:1.4;color:var(--ink-2)}
.gr{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:start}
.gr>*{min-width:0}
.w12{grid-column:span 12}.w8{grid-column:span 8}.w7{grid-column:span 7}.w6{grid-column:span 6}.w5{grid-column:span 5}.w4{grid-column:span 4}
.col{display:grid;gap:16px;align-content:start}
.nota-cap{margin:14px 0 0;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.55;color:var(--ink-2)}
.nota-cap b{color:var(--ink)}

/* estremi e valori di riferimento */
.blocco{padding:20px 20px 16px}
.blocco h3{font-size:20px;line-height:1.22;margin:0 0 12px;letter-spacing:-.01em}
.estremi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.estremi>div{padding:16px;border-radius:12px;background:var(--sf)}
.estremi .k{display:block;font:700 11px/1.3 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--sc-ink)}
.estremi b{display:block;font:600 clamp(28px,3vw,40px)/1.05 var(--display);color:var(--sc-ink);margin:6px 0 4px;font-variant-numeric:tabular-nums}
.estremi>div>span:not(.k){font-size:14px;color:var(--ink-2);line-height:1.45}
.estremi .basso{background:rgba(217,105,75,.10)}.estremi .basso .k,.estremi .basso b{color:#A9472A}
.blocco p{margin:12px 0 0;font-size:14px;line-height:1.55;color:var(--ink-2)}
.elenco-s{list-style:none;margin:10px 0 0;padding:0;font-size:14px}
.elenco-s li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--hair)}
.elenco-s li b{font-variant-numeric:tabular-nums}

/* ===== figure ===== */
.fig{margin:0;padding:20px 20px 12px;display:flex;flex-direction:column;min-width:0;scroll-margin-top:120px}
.fig-k{display:flex;align-items:center;gap:8px;margin:0 0 10px}
.fig h3{font-size:19px;line-height:1.25;margin:0 0 4px;letter-spacing:-.01em}
.fig-sub{font-size:14px;color:var(--ink-2);margin:0 0 12px;line-height:1.45}
.fig-leg{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 8px;font-size:12.5px;color:var(--ink-2)}
.fig-leg span{display:inline-flex;align-items:center;gap:7px}
.fig-leg i{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--sc)}
.fig-leg i.ln{height:3px;border-radius:2px;width:18px;background:var(--ink)}
.fig-leg i.tr{height:0;width:18px;border-top:2px dashed #8A5F12;border-radius:0;background:none}
.fig-c{position:relative;min-height:120px}
.fig-c:not(.attesa){min-height:0}
.fig-c svg{display:block;width:100%;height:auto;overflow:visible}
.fig-c.attesa::after{content:"";position:absolute;inset:8px 0;border-radius:10px;background:linear-gradient(100deg,rgba(255,255,255,.18) 30%,rgba(255,255,255,.55) 50%,rgba(255,255,255,.18) 70%) 0 0/300% 100%;animation:oss-luce 1.4s linear infinite}
@keyframes oss-luce{to{background-position:-150% 0}}
.fig-f{margin:10px 0 2px;font-size:12.5px;color:var(--muted);line-height:1.5}
.fig-f p{margin:0 0 3px}.fig-f b{color:var(--ink-2);font-weight:600}
.fig-t{margin:8px 0 6px}
.fig-t summary{cursor:pointer;display:inline-flex;align-items:center;gap:7px;min-height:36px;font-size:13px;font-weight:600;color:var(--teal-ink);list-style:none}
.fig-t summary::-webkit-details-marker{display:none}
.fig-t summary::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s;margin-right:2px}
.fig-t[open] summary::before{transform:rotate(45deg)}
.tw{max-height:340px;overflow:auto;border-radius:10px;background:rgba(255,255,255,.62);border:.8px solid rgba(255,255,255,.9);margin-top:6px}
.tw table{width:100%;border-collapse:collapse;font-size:13.5px}
.tw th,.tw td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--hair);vertical-align:top}
.tw th{position:sticky;top:0;background:#F4F7FB;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-weight:700}
.tw tbody th{position:static;background:none;font-size:13.5px;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:500}
.tw td.n,.tw th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tw caption{caption-side:top;text-align:left;padding:10px 12px 4px;font-size:12.5px;color:var(--muted)}
.altre{margin:8px 0 0;border:0;background:none;padding:6px 0;font:600 13px/1 var(--body);color:var(--teal-ink);cursor:pointer;text-decoration:underline;text-underline-offset:3px;align-self:flex-start;min-height:36px}
.fig-c g.hit:hover .m,.ev-mini g.hit:hover .m{filter:brightness(.9) saturate(1.1)}

/* azioni: Cita, PNG, Incorpora, CSV */
.az{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:auto;padding-top:8px;border-top:1px solid var(--hair)}
.az button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 6px;border:0;border-radius:10px;background:transparent;
  font:600 12.5px/1 var(--body);color:var(--ink-2);cursor:pointer;white-space:nowrap}
.az button:hover{background:rgba(255,255,255,.75);color:var(--ink)}
.az svg{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.az button.fatto{color:var(--green-ink)}

/* fumetto */
.tip{position:fixed;z-index:200;pointer-events:none;max-width:260px;padding:9px 12px;border-radius:12px;font-size:13px;line-height:1.4;color:var(--ink);
  background:rgba(255,255,255,.97);border:.8px solid rgba(255,255,255,.9);box-shadow:0 14px 34px rgba(20,30,60,.18),0 2px 6px rgba(20,30,60,.08);opacity:0;transform:translateY(4px);transition:opacity .12s,transform .12s}
.tip.su{opacity:1;transform:none}
.tip b{display:block;font-weight:700;margin-bottom:2px}
.tip span{display:block;color:var(--ink-2)}
.tip .v{font:600 18px/1.2 var(--display);color:var(--ink);margin-top:2px}

/* ===== mappa a punti ===== */
[data-componente="mappa"]{min-height:520px}
.mp-misure{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.mp-misure button{min-height:38px;padding:0 14px;border-radius:999px;border:.8px solid rgba(255,255,255,.9);background:rgba(255,255,255,.55);font:600 13.5px/1.2 var(--body);color:var(--ink-2);cursor:pointer;transition:background .2s,color .2s}
.mp-misure button:hover{background:rgba(255,255,255,.9);color:var(--ink)}
.mp-misure button[aria-pressed="true"]{background:#0F5364;border-color:#0F5364;color:#fff}
.mp-g{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.mp-tela{position:relative;border-radius:22px;overflow:hidden;background:radial-gradient(70% 60% at 52% 46%,#11495a 0%,#0b2f39 62%,#081f27 100%);box-shadow:0 26px 60px rgba(8,31,39,.28),inset 0 0 0 1px rgba(255,255,255,.06);touch-action:pan-y}
.mp-tela canvas{display:block;width:100%;height:100%}
.mp-sopra{position:absolute;left:20px;top:18px;right:20px;display:grid;gap:4px;color:rgba(255,255,255,.92);pointer-events:none}
.mp-sopra .k{font:700 11px/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#86d8d0}
.mp-sopra .t{font:600 19px/1.25 var(--display);max-width:26ch}
.mp-sopra .s{font-size:12px;color:rgba(255,255,255,.6)}
.mp-leg{position:absolute;left:20px;bottom:18px;display:grid;gap:6px;color:rgba(255,255,255,.8);font-size:11.5px;pointer-events:none}
.mp-leg .q{display:grid;grid-template-columns:repeat(5,30px);gap:4px}
.mp-leg .q i{height:8px;border-radius:4px}
.mp-leg>b{font-weight:700;color:#fff}
.mp-leg ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.mp-leg li{display:flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums}
.mp-leg li i{width:10px;height:10px;border-radius:3px;flex:0 0 auto}
.mp-pan{padding:18px}
.mp-pan h4{margin:0 0 6px;font:700 11.5px/1.3 var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.mp-pan ol{list-style:none;margin:0 0 14px;padding:0}
.mp-pan li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--hair);font-size:14px}
.mp-pan li b{font-variant-numeric:tabular-nums}
.mp-pan li button{all:unset;cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mp-pan li button:hover{text-decoration:underline}
.mp-pan li button:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px}
.mp-pan .def{font-size:13px;line-height:1.5;color:var(--ink-2);margin:0 0 12px}
.mp-sel{margin:0 0 14px;padding:12px 14px;border-radius:12px;background:var(--sf,rgba(23,110,130,.1));font-size:14px;min-height:64px}
.mp-sel b{display:block;font:600 22px/1.15 var(--display);color:var(--ink)}
.mp-sel span{color:var(--ink-2)}
.mp-fissa .mp-g{grid-template-columns:minmax(0,1fr) 280px}

/* ===== evidenze del giorno ===== */
.ev-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}
.ev{display:flex;flex-direction:column;gap:10px;padding:20px 20px 12px;min-width:0;scroll-margin-top:120px}
.ev .pill{align-self:flex-start}
.ev-num{font:600 clamp(36px,3.4vw,46px)/1 var(--display);letter-spacing:-.02em;color:var(--sc-ink);font-variant-numeric:tabular-nums}
.ev h3{margin:0;font:600 16.5px/1.4 var(--body);letter-spacing:0;color:var(--ink)}
.ev-mini{min-height:96px}
.ev-mini svg{display:block;width:100%;height:auto;overflow:visible}
.ev-f{font-size:12px;line-height:1.45;color:var(--muted);margin:0}
.ev-tutti{margin:18px 0 0;padding:6px 18px}
.ev-tutti summary{cursor:pointer;min-height:48px;display:flex;align-items:center;gap:10px;font:600 15px/1.3 var(--body);color:var(--ink);list-style:none}
.ev-tutti summary::-webkit-details-marker{display:none}
.ev-tutti summary::before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s}
.ev-tutti[open] summary::before{transform:rotate(45deg)}
.ev-el{list-style:none;margin:0 0 12px;padding:0;columns:2;column-gap:28px}
.ev-el li{break-inside:avoid;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--hair);font-size:14px;line-height:1.45;color:var(--ink-2)}
.ev-el li .pill{font-size:9.5px;padding:4px 7px;margin-top:1px;box-shadow:none}
.ev-az{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}

/* ===== metodo e citazioni ===== */
.met-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.met-g .blocco ul{margin:0;padding:0 0 0 18px;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.met-g .blocco li{margin:0 0 6px}
.formula{font:600 clamp(18px,2vw,23px)/1.35 var(--display);margin:8px 0 12px;color:var(--ink)}
.codice{position:relative;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:rgba(10,59,71,.92);color:#E3F2F6;border-radius:12px;padding:14px 16px;white-space:pre-wrap;word-break:break-word;margin:0}
.copia{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border-radius:999px;border:.8px solid rgba(255,255,255,.9);background:rgba(255,255,255,.7);font:600 13px/1 var(--body);color:var(--ink);cursor:pointer;margin-top:10px;text-decoration:none}
.copia svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.copia.fatto{color:var(--green-ink)}
.link-servizio{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.link-servizio a{display:grid;grid-template-columns:40px minmax(0,1fr) 16px;gap:12px;align-items:center;padding:12px;border-radius:14px;text-decoration:none;background:rgba(255,255,255,.5);border:.8px solid rgba(255,255,255,.85)}
.link-servizio a:hover{background:rgba(255,255,255,.85)}
.link-servizio .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--teal);background:rgba(23,110,130,.10)}
.link-servizio svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.link-servizio b{display:block;font-size:15px}.link-servizio small{display:block;font-size:12.5px;color:var(--muted)}

/* ===== finestra Cita / Incorpora ===== */
dialog.oss-d{width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 40px);padding:0;border:0;border-radius:22px;color:var(--ink);
  background:linear-gradient(165deg,rgba(255,255,255,.98),rgba(246,249,253,.97));box-shadow:0 30px 70px rgba(20,32,60,.28),0 6px 18px rgba(20,32,60,.1)}
dialog.oss-d::backdrop{background:rgba(25,34,58,.38);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.d-in{padding:20px 22px 22px}
.d-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.d-h h2{font-size:21px;margin:8px 0 2px;line-height:1.25}
.d-h p{margin:0;font-size:13.5px;color:var(--muted)}
.d-x{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:0;background:rgba(38,52,84,.06);cursor:pointer;display:grid;place-items:center;color:var(--ink)}
.d-x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.d-tab{display:flex;gap:2px;padding:4px;border-radius:999px;background:rgba(38,52,84,.06);margin:16px 0 14px;width:max-content}
.d-tab button{min-height:36px;padding:0 16px;border:0;border-radius:999px;background:transparent;font:600 14px/1 var(--body);color:var(--ink-2);cursor:pointer}
.d-tab button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(20,30,60,.10)}
.d-bl{margin:0 0 16px}
.d-bl h3{font:700 12px/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.d-bl p{margin:0 0 6px;font-size:14px;color:var(--ink-2)}

/* ===== pagine di servizio ===== */
.pagina{padding:44px 0 64px}
.pagina-g{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start}
.indice{position:sticky;top:96px;padding:16px}
.indice p{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.indice ol{margin:0;padding:0 0 0 18px;font-size:14px;line-height:1.5}
.indice li{margin:0 0 6px}
.indice a{color:var(--ink-2);text-decoration:none}.indice a:hover{color:var(--teal-ink);text-decoration:underline}
.prosa{padding:28px 32px;max-width:none}
.prosa h1{font-size:clamp(34px,4.4vw,52px);line-height:1.05;margin:12px 0 14px}
.prosa h2{font-size:26px;line-height:1.15;margin:34px 0 10px;scroll-margin-top:100px}
.prosa h3{font-size:19px;margin:22px 0 6px}
.prosa p,.prosa li{font-size:16.5px;color:var(--ink-2);max-width:70ch}
.prosa li{margin:0 0 6px}
.prosa .lead{font-size:19px;margin:0 0 14px}
.prosa table{border-collapse:collapse;width:100%;font-size:14.5px;margin:10px 0 18px}
.prosa th,.prosa td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--hair);vertical-align:top}
.prosa th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.segnaposto{display:inline;background:rgba(224,165,58,.22);border-radius:4px;padding:1px 5px;color:#6b4a0c;font-weight:600}
.riquadro{padding:16px 18px;border-radius:14px;margin:14px 0}
.kit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 18px}
.kit div{padding:16px;text-align:center}
.kit .anteprima{height:96px;border-radius:10px;display:grid;place-items:center;margin-bottom:10px;background:rgba(255,255,255,.7)}
.kit .anteprima.scura{background:#0a3b47}
.kit b{display:block;font-size:14px}
.kit small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.tw-scroll{overflow-x:auto}

/* ===== pagina da incorporare ===== */
body.embed{background:#fff}
body.embed::before,body.embed::after{display:none}
body.embed .fig{border:0;box-shadow:none;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;padding:16px 16px 8px;border-radius:0}
.emb-f{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 16px 14px;font-size:12.5px;color:var(--muted)}
.emb-f a{display:inline-flex;align-items:center;gap:7px;color:var(--ink);text-decoration:none;font-weight:700}
.emb-f img{height:18px;width:auto}

/* ===== comparsa al passaggio (solo con JavaScript e senza movimento ridotto) ===== */
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}

/* salto al contenuto, visibile solo con la tastiera */
.salta{position:absolute;left:12px;top:-60px;z-index:300;padding:10px 16px;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;text-decoration:none}
.salta:focus{top:12px}

/* ===== tavoletta e telefono ===== */
@media (max-width:1100px){
  .hero-num{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-nota{margin-top:-24px}
  .somm-g{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ev-g{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .w8,.w7,.w5,.w4{grid-column:span 12}
  .mp-g,.mp-fissa .mp-g{grid-template-columns:1fr}
  .met-g{grid-template-columns:1fr}
  .pagina-g{grid-template-columns:1fr}
  .indice{position:static}
}
@media (max-width:860px){
  .cap-nav{top:64px}
  html.scorre-giu .cap-nav{top:0}
  .hero-media{position:relative;inset:auto;aspect-ratio:900/508;width:100%}
  .hero-poster{width:100%;height:100%}
  .hero-video{display:none}
  .hero-velo{background:linear-gradient(0deg,#071a21 0%,rgba(7,26,33,.4) 30%,rgba(7,26,33,0) 60%)}
  .hero-in{min-height:0;padding:6px 0 30px;gap:26px}
  .hero-k{font-size:11px;letter-spacing:.13em}
  .hero h1{font-size:clamp(30px,8.4vw,40px);margin:12px 0 14px}
  .hero-lead{font-size:15.5px}
  .hero-stato{font-size:13px}
  .hero-num{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .hero-num li{padding:14px 12px 12px}
  .hero-num b{font-size:24px}
  .hero-nota{margin-top:-14px}
  .somm{padding:48px 0 8px}
  .somm-g{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .somm-g a{min-height:0;padding:16px 14px 14px;gap:8px}
  .somm-g .n{font-size:24px}
  .somm-g b{font-size:15px}
  .somm-g small{font-size:12.5px}
  .cap{padding:54px 0 12px;scroll-margin-top:60px}
  .w6{grid-column:span 12}
  .ev-g{grid-template-columns:1fr}
  .ev-el{columns:1}
}
@media (max-width:560px){
  .somm-g .et{display:none}
  .kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .kpi li{padding:14px 12px 12px}.kpi li::before{left:12px;right:12px}
  .kpi b{font-size:23px}
  .kpi li>span{font-size:12.5px}
  .fig{padding:16px 14px 10px}
  .fig h3{font-size:17.5px}
  .blocco{padding:16px 14px 14px}
  .estremi{grid-template-columns:1fr 1fr;gap:8px}
  .estremi>div{padding:12px}
  .az button{font-size:12px;gap:5px;padding:0 2px}
  .prosa{padding:20px 18px}
  .kit{grid-template-columns:1fr}
  .hero-cta .btn{flex:1 1 auto}
  .mp-sopra .t{font-size:16px}
  .mp-leg{left:14px;bottom:12px}
  .mp-sopra{left:14px;top:12px}
}
@media (max-width:340px){
  .az button span{display:none}
  .az button{min-height:44px}
}

/* ===== movimento ridotto ===== */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body::before{animation:none}
  .hero-stato i{animation:none}
  .hero-video{display:none}
  .rv{opacity:1;transform:none;transition:none}
  .somm-g a,.tip,.cap-nav a,.cap-nav{transition:none}
  .fig-c.attesa::after{animation:none}
}

/* ===== stampa ===== */
@media print{
  body::before,body::after,.head,.tb,.sg-piede,.cap-nav,.az,.test-bar,.hero-media{display:none!important}
  .hero{background:#fff;color:#000}.hero h1,.hero-num b{color:#000}
  .card{background:#fff;box-shadow:none;border:1px solid #ccd}
}

/* ---------- 5. tema scuro: solo quando il sito lo chiede (html[data-theme=dark], come nelle pagine GPS) ---------- */
html[data-theme=dark]{
  --bg:#0E1524;--bg-2:#121B2D;--paper:#162036;--ink:#E8EDF6;--ink-2:#B9C3D6;--muted:#93A0B8;--hair:rgba(200,214,240,.14);
  --teal:#4FB3C9;--teal-ink:#7FCDDD;
  --glass:rgba(22,32,54,.55);--glass-forte:rgba(22,32,54,.78);--glass-bd:rgba(160,180,220,.18);--glass-sh:0 6px 18px rgba(0,0,0,.3);
  --grid:rgba(200,214,240,.10);--asse:rgba(200,214,240,.3);--chart-base:#33415C;--nd:#26324A;
}
html[data-theme=dark] .sez-gps,html[data-theme=dark] .sez-geo,html[data-theme=dark] .sez-ana{--sc-ink:#8FD3E2}
html[data-theme=dark] .sez-spe{--sc-ink:#F2AD98}html[data-theme=dark] .sez-int{--sc-ink:#F1CE85}html[data-theme=dark] .sez-ata{--sc-ink:#9FD0F0}
html[data-theme=dark] body::before{opacity:.35}
html[data-theme=dark] body::after{background:linear-gradient(rgba(14,21,36,.5),rgba(14,21,36,.7))}
html[data-theme=dark] .head{background:rgba(14,21,36,.82)!important;border-bottom-color:rgba(200,214,240,.12)}
html[data-theme=dark] .logo,html[data-theme=dark] .sgf-marchio{color:var(--ink)}
html[data-theme=dark] .tb{background:rgba(14,21,36,.95)}
html[data-theme=dark] .cap-nav{background:rgba(14,21,36,.88)}
html[data-theme=dark] .copia,html[data-theme=dark] .link-servizio a,html[data-theme=dark] .tw,html[data-theme=dark] .mp-misure button{background:rgba(22,32,54,.7);border-color:rgba(160,180,220,.18);color:var(--ink)}
html[data-theme=dark] .tw th{background:#18233A}
html[data-theme=dark] .tip{background:rgba(22,32,54,.97);border-color:rgba(160,180,220,.2)}
html[data-theme=dark] dialog.oss-d{background:#162036}
html[data-theme=dark] .d-tab button[aria-selected="true"]{background:#24304A}
html[data-theme=dark] .btn-ghost{background:rgba(22,32,54,.7);border-color:rgba(160,180,220,.2);color:var(--ink)}

/* telefono stretto: "Osservatorio" e' piu' lungo di "DataLab", la pastiglia si stringe per non toccare il nome */
@media (max-width:430px){
  html body .head .sz .sz-pill.sz-b{font-size:10.5px;letter-spacing:.05em;padding:6px 6px 6px 9px!important;gap:3px}
  html body .head .logo{font-size:18.5px}
  html body .head .logo img{height:27px}
}

/* ===== tabelle consultabili (tutti i valori) ===== */
.tv-c{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:0 0 10px}
.tv-c .mp-misure{margin:0;flex:1 1 100%}
.tv-cerca{flex:1 1 220px;max-width:380px}
.tv-cerca input,.tv-sel select{width:100%;min-height:42px;padding:0 14px;border-radius:12px;border:.8px solid rgba(38,52,84,.18);background:rgba(255,255,255,.85);font:500 14.5px/1 var(--body);color:var(--ink)}
.tv-sel{display:grid;gap:4px;font:700 11px/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex:0 1 220px}
.tw-alta{max-height:520px}
.tabviva .tw th button{all:unset;cursor:pointer;display:inline-block;line-height:1.25;white-space:normal}
.tabviva .tw th button:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px}
.tabviva .tw thead th{vertical-align:bottom;min-width:84px}
.tabviva .tw tbody th{white-space:nowrap}
.tv-n{font-size:12.5px;margin:6px 0 0}
/* grafico incorporato: solo il grafico e la riga di citazione */
body.embed .az,body.embed .fig-t,body.embed .altre{display:none!important}


/* ===== navigazione tra le pagine dell'Osservatorio ===== */
.sz-sub{display:flex;flex-wrap:wrap;gap:4px;margin:2px 12px 8px 68px}
.sz-sub a{font:600 12.5px/1 var(--body);color:var(--teal-ink);text-decoration:none;padding:7px 10px;border-radius:999px;background:rgba(15,83,100,.07)}
.sz-sub a:hover{background:rgba(15,83,100,.14)}
.pm-oss{display:flex;flex-wrap:wrap;gap:6px;margin:8px 6px 4px}
.pm-oss a{font:600 13px/1 var(--body);color:var(--teal-ink);text-decoration:none;padding:10px 12px;border-radius:999px;background:rgba(15,83,100,.08)}
.torna{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;align-items:center;margin:0 0 18px;padding:10px 14px;border-radius:12px;background:rgba(15,83,100,.07);font-size:14px;color:var(--ink-2)}
.prosa .torna{max-width:none}
.torna a{font-weight:700;color:var(--teal-ink);text-decoration:none}
.torna a:hover{text-decoration:underline}
.prosa .torna:last-child{margin:28px 0 0}

/* ===== schede affiancate della stessa altezza, piede in basso ===== */
.gr{align-items:stretch}
.gr>.fig,.gr>.blocco,.gr>.col{height:100%}
.fig .az{margin-top:0}
.fig .fig-f{margin-top:auto;padding-top:10px}
.fig-c{flex:0 0 auto}

/* ===== mappa e tabelle: sempre a tutta larghezza; la colonna laterale va sotto quando manca spazio ===== */
.gr>.mappa-fig,.gr>.tabviva{grid-column:1/-1}
.mp-g{display:flex!important;flex-wrap:wrap;gap:18px;align-items:flex-start}
.mp-g>:first-child{flex:1 1 520px;min-width:min(100%,320px)}
.mp-g>.mp-pan{flex:1 1 260px;max-width:340px;min-width:min(100%,240px)}
.mp-tela{min-height:300px}
@media (max-width:980px){.mp-g>.mp-pan{max-width:none}}

/* ===== tabelle (v5): niente scorrimento verticale interno, prima colonna fissa, scorrimento orizzontale segnalato ===== */
.tw{max-height:none!important;overflow-y:hidden;position:relative}
.tw table{border-collapse:separate;border-spacing:0}
.tw tr>:first-child{position:sticky;left:0;z-index:1;background:#F7F9FC;box-shadow:1px 0 0 var(--hair)}
.tw thead tr>:first-child{z-index:2;background:#F4F7FB}
.tw thead th{position:static}
.tw.ombra-d{box-shadow:inset -18px 0 14px -14px rgba(20,30,60,.28)}
.tw.ombra-s.ombra-d{box-shadow:inset -18px 0 14px -14px rgba(20,30,60,.28),inset 18px 0 14px -14px rgba(20,30,60,.18)}
.tw.ombra-s{box-shadow:inset 18px 0 14px -14px rgba(20,30,60,.18)}
.tv-scorri{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:6px 0 4px;font:600 12.5px/1 var(--body);color:var(--teal-ink)}
.tv-scorri[hidden]{display:none}
.tv-fr{width:36px;height:36px;border-radius:50%;border:.8px solid rgba(15,83,100,.25);background:#fff;color:var(--teal-ink);font:700 20px/1 var(--body);cursor:pointer;display:grid;place-items:center}
.tv-fr:disabled{opacity:.35;cursor:default}
.tv-piede{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px}
.tv-piede .altre{margin:0}
.tabviva .tw thead th{min-width:76px}
[data-componente="mappa"]{min-height:1200px}
@media (max-width:860px){[data-componente="mappa"]{min-height:1400px}}
section.cap,section.somm{scroll-margin-top:120px}
.tabviva .tw tbody th{white-space:normal;min-width:150px;max-width:240px}
@media (max-width:560px){.tabviva .tw tbody th{min-width:110px;max-width:150px}}

/* barra di scorrimento orizzontale che segue la pagina (v6) */
.tw.con-barra{scrollbar-width:none}
.tw.con-barra::-webkit-scrollbar{display:none}
.tv-barra{position:fixed;z-index:60;height:16px;overflow-x:auto;overflow-y:hidden;background:rgba(243,246,251,.92);border-radius:8px;box-shadow:0 -2px 10px rgba(20,30,60,.10);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.tv-barra[hidden]{display:none}
.tv-barra-in{height:1px}
.tv-barra::-webkit-scrollbar{height:10px}
.tv-barra::-webkit-scrollbar-thumb{background:rgba(15,83,100,.55);border-radius:6px}
.tv-barra::-webkit-scrollbar-track{background:rgba(15,83,100,.10);border-radius:6px}
.tv-barra{scrollbar-color:rgba(15,83,100,.55) rgba(15,83,100,.10)}
body.embed .tv-barra{display:none}

/* ===== analisi: temi trasversali ===== */
.an-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0;align-items:stretch}
.an{display:flex;flex-direction:column;gap:10px;padding:22px 22px 12px;min-width:0;scroll-margin-top:120px}
.an .pill{align-self:flex-start}
.an h3{margin:0;font-size:20px;line-height:1.25}
.an-t{margin:0;font-size:15px;line-height:1.6;color:var(--ink-2)}
.an-g-c{margin:4px 0 0;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.55)}
.an-gt{margin:0 0 8px;font:700 11.5px/1.3 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.an-mini{min-height:96px}
.an-mini svg{display:block;width:100%;height:auto;overflow:visible}
.an-l{margin:0;font-size:14px;color:var(--ink-2)}
.an-l a{font-weight:700;color:var(--teal-ink);text-decoration:none}
.an-l a:hover{text-decoration:underline}
.an .ev-f{margin-top:auto}
@media (max-width:980px){.an-g{grid-template-columns:1fr}}

.an-g>li:last-child:nth-child(odd){grid-column:1/-1}

/* ===== intestazione e barra dei capitoli a vetro, come le pagine nuove del sito (corsi.css, .cw-testa) ===== */
html body .head,html body .head{background:rgba(255,255,255,.88)!important;-webkit-backdrop-filter:saturate(1.4) blur(14px)!important;backdrop-filter:saturate(1.4) blur(14px)!important;border-bottom:1px solid #E3E9F2}
html body .head::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(45,79,192,.45),transparent);opacity:.7;pointer-events:none}
.cap-nav{background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid #E3E9F2}
html[data-theme=dark] body .head{background:rgba(14,21,36,.82)!important}
html[data-theme=dark] .cap-nav{background:rgba(14,21,36,.82)}

/* ===== Condividi ===== */
.az button.in-corso{opacity:.55;cursor:progress}
.oss-cond .cond-img{display:block;width:100%;height:auto;max-height:46vh;object-fit:contain;margin:14px 0 12px;border-radius:12px;border:1px solid var(--hair);background:#fff}
.cond-az,.cond-soc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.cond-az .copia,.cond-soc .copia{margin:0}
.cond-n{margin:4px 0 0;font-size:12.5px;color:var(--muted)}

/* ===== (28/10) tabelle in finestra; via le barre di scorrimento aggiunte ===== */
.tv-scorri,.tv-barra{display:none!important}
.tw-compatta{overflow-x:auto}
.fig-tab{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;min-height:40px;margin:8px 0 4px;padding:0 14px;border-radius:999px;border:.8px solid rgba(15,83,100,.22);background:rgba(255,255,255,.7);font:600 13px/1 var(--body);color:var(--teal-ink);cursor:pointer}
.fig-tab:hover{background:#fff}
.fig-tab svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.embed .fig-tab{display:none!important}
html.popup-aperto{overflow:hidden}
dialog.oss-tab{width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:.8px solid rgba(255,255,255,.9);border-radius:20px;color:var(--ink);overflow:hidden;
  background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 30px 70px rgba(20,32,60,.28),0 6px 18px rgba(20,32,60,.10)}
dialog.oss-tab[open]{display:flex}
dialog.oss-tab::backdrop{background:rgba(25,34,58,.42);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.ot-in{display:flex;flex-direction:column;width:100%;min-height:0;max-height:calc(100dvh - 48px)}
.ot-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 12px;border-bottom:1px solid var(--hair)}
.ot-h h2{font-size:20px;line-height:1.25;margin:0 0 4px}
.ot-h p{margin:0;font-size:13.5px;color:var(--muted)}
.ot-corpo{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;background:rgba(255,255,255,.55)}
.ot-corpo table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
.ot-corpo caption{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.ot-corpo th,.ot-corpo td{padding:9px 14px;text-align:left;border-bottom:1px solid var(--hair);white-space:nowrap;vertical-align:top}
.ot-corpo thead th{position:sticky;top:0;z-index:2;background:#F4F7FB;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-weight:700;white-space:normal;vertical-align:bottom;min-width:84px}
.ot-corpo thead th button{all:unset;cursor:pointer;display:block}
.ot-corpo thead th[aria-sort=ascending] button::after{content:" ▲"}.ot-corpo thead th[aria-sort=descending] button::after{content:" ▼"}
.ot-corpo tr>:first-child{position:sticky;left:0;z-index:1;background:#F7F9FC;box-shadow:1px 0 0 var(--hair)}
.ot-corpo thead tr>:first-child{z-index:3;background:#EEF3F8}
.ot-corpo tbody th{white-space:normal;min-width:150px;max-width:300px;font-weight:600}
.ot-corpo .n{text-align:right;font-variant-numeric:tabular-nums}
.ot-corpo tbody tr:hover td,.ot-corpo tbody tr:hover th{background:#EAF2F6}
.ot-f{margin:0;padding:10px 20px 14px;font-size:12.5px;line-height:1.5;color:var(--muted);border-top:1px solid var(--hair)}
@media (max-width:860px){
  dialog.oss-tab{width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border:0}
  .ot-in{max-height:100dvh}
  .ot-corpo tbody th{min-width:120px;max-width:170px}
}
.tv-sel{min-width:200px}
.mp-sel-m{flex:0 1 380px}

/* v12: capitolo 12 con due schede */
.met-g{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
/* tabelle (28/10): colonne dei valori centrate, cifre incolonnate (incolonna in oss-popup.js) */
.ot-corpo .cc,.tw td.cc,.tw th.cc{text-align:center}
.ot-corpo thead th.cc button,.tw thead th.cc button{display:inline-block;text-align:center}
.cv{display:inline-block;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
/* menu dei capitoli (28/10): otto voci come le schede delle sezioni GPS e ATA, tre con tendina */
.cap-nav .cn{display:flex;align-items:center;gap:4px;list-style:none;margin:0 auto;padding:8px 0;overflow-x:auto;scrollbar-width:none}
.cap-nav .cn::-webkit-scrollbar{display:none}
.cap-nav .cn>li{flex:0 0 auto}
.cap-nav .cn>li>a,.cap-nav .cn-b{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 15px;border:0;border-radius:999px;background:none;
  font:600 14px/1 var(--body);color:var(--ink-2);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s}
.cap-nav .cn>li>a:hover,.cap-nav .cn-b:hover,.cap-nav .cn-b[aria-expanded=true]{background:rgba(255,255,255,.85);color:var(--ink)}
.cap-nav .cn>li>a.on,.cap-nav .cn-b.on{background:#0F5364;color:#fff}
.cn-giu{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.cn-b[aria-expanded=true] .cn-giu{transform:rotate(180deg)}
.cn-p{position:fixed;z-index:40;min-width:260px;padding:8px;border-radius:16px;border:.8px solid rgba(255,255,255,.9);
  background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 18px 44px rgba(20,32,60,.18),0 4px 12px rgba(20,32,60,.08)}
.cn-p[hidden]{display:none}
.cap-nav .cn-p a{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:0;padding:10px 12px;border-radius:10px;color:var(--ink);text-decoration:none;white-space:normal}
.cap-nav .cn-p a b{font:600 14px/1.25 var(--body);color:var(--ink)}
.cap-nav .cn-p a small{font-size:12.5px;line-height:1.3;color:var(--muted)}
.cap-nav .cn-p a:hover,.cap-nav .cn-p a.on{background:#EAF2F6}
.cap-nav .cn-p a.on b{color:#0F5364}
html[data-theme=dark] .cn-p{background:rgba(14,21,36,.96);border-color:rgba(255,255,255,.12)}
html[data-theme=dark] .cap-nav .cn-p a b{color:#E8EEF6}
html[data-theme=dark] .cap-nav .cn-p a:hover,html[data-theme=dark] .cap-nav .cn-p a.on{background:rgba(255,255,255,.08)}
@media (min-width:1061px){.cap-nav .cn{justify-content:center}}
/* Guide e News nell'intestazione, come DataLab e Academy */
header .gn .wow-gn-n{width:40px;height:44px;display:grid;place-items:center;color:#2E333A;text-decoration:none;border-radius:12px;-webkit-tap-highlight-color:transparent}
header .gn .wow-gn-n svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
html[data-theme=dark] header .gn .wow-gn-n{color:#E8EEF6}

