:root{
  --head:#0b2a3f;--ink:#3b5263;--ink2:#1b384c;--line:#cddae3;--soft:#e2eaf0;--paper:#eef3f6;--white:#fff;--ctl:#6a8090;
  --acc:#ffcf33;--accbg:#fff3c0;--sea:#0b3a5a;--sea2:#0f4c76;
  --rosso:#d62b2b;--arancione:#f08a1c;--azzurro:#2fa7d8;--verde:#2a9d62;--bianco:#fff;
  --ok-bg:#dff3e7;--ok-fg:#14633a;--mid-bg:#ffefcc;--mid-fg:#6b4300;--bad-bg:#fde3e3;--bad-fg:#8f1d1d;--nd-bg:#e5ecf1;--nd-fg:#3b5263;
  --lv-ok:#1b7f4b;--lv-ok-fg:#fff;--lv-mid:#f6a21e;--lv-mid-fg:#0b2a3f;--lv-bad:#c62828;--lv-bad-fg:#fff;--lv-nd:#55697a;--lv-nd-fg:#fff;
  --bar:#0b3a5a;--btn-bg:#0b3a5a;--btn-fg:#fff;--btn-hov:#0f4c76;--track:#dbe6ed;--mapbg:#dde7ee;--shadow:rgba(11,42,63,.25);--sh-card:0 1px 2px rgba(11,42,63,.08),0 8px 22px -8px rgba(11,42,63,.22);
  --cr-bg:#fdeaea;--cr-bd:#e9a3a3;--ca-bg:#fff1de;--ca-bd:#f1c38c;--cz-bg:#e4f4fb;--cz-bd:#9ed3ea;--cv-bg:#e3f4ea;--cv-bd:#9bd1b0;--cb-bg:#f3f6f8;--cb-bd:#cbd7df;
  --ff-d:"Archivo","Arial Narrow",Arial,sans-serif;--ff-b:"Figtree","Helvetica Neue",Arial,sans-serif}
:root[data-theme=dark]{color-scheme:dark;
  --head:#f3f7f9;--ink:#b4c5d1;--ink2:#dbe6ec;--line:#27485f;--soft:#1a3447;--paper:#09192a;--white:#112a3d;--accbg:#3a3010;--ctl:#86a0b3;
  --bar:#06141f;--sea:#06141f;--sea2:#0b2538;--btn-bg:#ffcf33;--btn-fg:#0b2a3f;--btn-hov:#ffe071;--track:#21425a;--mapbg:#0f2536;--shadow:rgba(0,0,0,.6);--sh-card:0 1px 2px rgba(0,0,0,.4),0 10px 26px -10px rgba(0,0,0,.6);
  --ok-bg:#12351f;--ok-fg:#8fd6aa;--mid-bg:#3a2a0a;--mid-fg:#f5c673;--bad-bg:#3d1717;--bad-fg:#f5a3a3;--nd-bg:#1a3447;--nd-fg:#b4c5d1;
  --cr-bg:#3a1717;--cr-bd:#7a3535;--ca-bg:#3a2810;--ca-bd:#7a5420;--cz-bg:#10303d;--cz-bd:#2d6a85;--cv-bg:#12301f;--cv-bd:#2d6b45;--cb-bg:#1a3447;--cb-bd:#43627a}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:12px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--ff-b);-webkit-text-size-adjust:100%}
::selection{background:var(--acc);color:#0b2a3f}
html{scrollbar-color:var(--ctl) var(--paper)}
.wrap{max-width:1120px;margin:0 auto;padding-inline:20px}
a{color:var(--head);text-underline-offset:3px;text-decoration-thickness:1.5px}a:hover{background:var(--accbg)}
button,input{font:inherit}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px;box-shadow:0 0 0 5px var(--sea)}
.vh{position:absolute;left:-9999px}
h1,h2,h3{color:var(--head);margin:0;font-family:var(--ff-d)}

/* barra */
.top{background:var(--sea);color:#fff}
.top-in{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-block:12px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.brand:hover{background:none;color:#fff}
.logo{background:#fff;border-radius:12px;padding:6px;display:flex;flex:none}.logo img{display:block;object-fit:contain}
.brand-t{display:flex;flex-direction:column;line-height:1.25}.brand-t strong{font:800 19px/1.1 var(--ff-d);font-stretch:90%;letter-spacing:-.01em}.brand-t small{font-size:12px;color:#c4d6e3}
.acc{color:var(--acc)}
.top nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:4px}
.top nav a{color:#fff;text-decoration:none;font-size:14px;font-weight:600;padding:10px 12px;border-radius:50px}
.top nav a:hover{background:rgba(255,255,255,.14);color:#fff}

/* hero: etichetta da cassetta d'agrumi su fondo mare */
.hero{background:var(--sea);color:#e6eff5;position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,.12)}
.hero:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23ffcf33' stroke-width='1.2'%3E%3Cpath d='M0 32a32 32 0 0 0 32-32M64 32a32 32 0 0 1-32-32M0 32a32 32 0 0 1 32 32M64 32a32 32 0 0 0-32 32'/%3E%3Ccircle cx='32' cy='32' r='6'/%3E%3C/g%3E%3C/svg%3E");opacity:.09;pointer-events:none}
.hero-in{position:relative;padding-block:28px 32px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"t s" "l s" "a a";gap:14px 40px;align-items:start}
.hero .live{grid-area:t;margin:0;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#c4d6e3}
.dot{width:9px;height:9px;border-radius:50%;background:#5be09a;flex:none;box-shadow:0 0 0 4px rgba(91,224,154,.25)}
.hero h1{grid-row:1;grid-column:1;margin-top:26px;font:800 clamp(34px,6.4vw,64px)/.98 var(--ff-d);font-stretch:85%;letter-spacing:-.025em;color:#fff;text-wrap:balance}
.hero .live{grid-row:1;align-self:start}
.mark{color:var(--acc)}
.lead{grid-area:l;margin:0;font-size:17px;max-width:520px;color:#d3e1eb}
.stats{grid-area:s;grid-row:1 / span 2;display:grid;gap:14px;align-self:center}
.plate{display:flex;flex-direction:column;gap:2px;text-align:left;border:0;border-radius:20px;padding:18px 22px 20px;font:inherit;cursor:default}
.plate .pl-k{font:700 13px/1.2 var(--ff-b);text-transform:uppercase;letter-spacing:.06em}
.plate b{font:900 clamp(64px,13vw,112px)/.9 var(--ff-d);font-stretch:80%;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.plate .pl-t{font-size:15px;font-weight:600}
.plate.sole{background:var(--acc);color:#0b2a3f;box-shadow:0 18px 30px -16px rgba(0,0,0,.55)}
.plate.sole .pl-k{opacity:.85}
.plate.verde{background:#f3f7f9;color:#0b2a3f;flex-direction:row;align-items:center;gap:16px;cursor:pointer;padding:14px 20px;box-shadow:0 12px 24px -14px rgba(0,0,0,.5);transition:transform .25s cubic-bezier(.16,1,.3,1)}
.plate.verde:hover{transform:translateY(-2px)}
.plate.verde .pct.lg{font-size:18px}
.plate.verde .pct{flex:none;width:68px;height:68px;border-radius:50%;background:var(--lv-ok);color:#fff;display:grid;place-items:center;font:900 22px/1 var(--ff-d);font-variant-numeric:tabular-nums}
.plate.verde .pl-t{font:800 19px/1.15 var(--ff-d)}
.plate.verde .pl-k{color:#14633a}
.plate.verde svg{margin-left:auto;flex:none}
.avviso{grid-area:a;display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:12px 16px;font-size:14px;color:#e6eff5}
.avviso svg{flex:none;margin-top:1px;color:var(--acc)}.avviso strong{color:#fff}
.avviso>svg{display:none}
.avviso{display:block}
.call112{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;margin-bottom:8px;background:#d62828;color:#fff;font-weight:800;font-size:16px;text-decoration:none;border-radius:999px;padding:12px 18px;min-height:44px}
.call112:hover,.call112:focus-visible{background:#b81f1f;outline:2px solid #fff;outline-offset:2px}.call112 svg{display:block;margin:0;color:#fff}
@media (max-width:820px){
  .hero-in{grid-template-columns:1fr;grid-template-areas:"t" "s" "l" "a";gap:14px}
  .hero h1{grid-row:auto;grid-column:auto;order:0;margin-top:6px;font-size:clamp(30px,9vw,44px)}.hero .live{grid-row:auto}
  .hero-in{grid-template-areas:"t" "h" "s" "l" "a"}.hero h1{grid-area:h}
  .stats{grid-row:auto}
}
@media (prefers-reduced-motion:no-preference){
  .plate{animation:sali .7s cubic-bezier(.16,1,.3,1) both}.plate:nth-child(2){animation-delay:.12s}
  @keyframes sali{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}

/* sezioni */
.sez{padding-block:44px 8px}
.sez>h2{font:800 clamp(28px,4.4vw,40px)/1.05 var(--ff-d);font-stretch:88%;letter-spacing:-.02em;margin-bottom:16px}.sez>h2:after{content:"";display:block;width:56px;height:6px;border-radius:6px;background:var(--acc);margin-top:10px}
.sez-s{margin:0 0 12px;font-size:14px}

/* mappa */
#map{height:480px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--mapbg);box-shadow:var(--sh-card)}
.mleg{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px}
.mleg li{display:flex;align-items:center;gap:6px}.mleg i{width:14px;height:14px;border-radius:50%;border:3px solid;background:var(--white);display:inline-block}
.pin{position:relative;width:52px;height:52px;box-sizing:border-box;border-radius:50%;border:4px solid var(--ctl);box-shadow:0 2px 8px rgba(11,42,63,.5);display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.pin.ok{border-color:var(--lv-ok)}.pin.mid{border-color:var(--lv-mid)}.pin.bad{border-color:var(--lv-bad)}
.pin span{width:30px;height:30px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font:900 16px/1 var(--ff-d);color:#0b2a3f}
.pin.me{width:18px;height:18px;border:3px solid #fff;background:#1d6fe0}
.leaflet-container{font-family:inherit}
.nomap{display:flex;height:100%;align-items:center;justify-content:center;text-align:center;padding:20px}

/* strumenti */
.tools,.tools2{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.tools2{margin-top:14px}
.cerca{flex:1 1 240px;min-width:0}
.cerca input{width:100%;height:48px;border:1.5px solid var(--ctl);border-radius:50px;padding:0 20px;color:var(--head);background:var(--white)}.cerca input:focus-visible{border-color:var(--head)}
.grp{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.lab{font-size:13px;font-weight:700;color:var(--ink2);margin-right:2px}
.pill{min-height:48px;padding:0 18px;border-radius:50px;border:1.5px solid var(--ctl);background:var(--white);color:var(--head);font-size:14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.pill small{font-size:13px;font-weight:600;opacity:.85}
.chip{min-height:40px;padding:0 14px;border-radius:50px;border:1.5px solid var(--ctl);background:var(--white);color:var(--head);font-size:13px;font-weight:700;cursor:pointer}
.pill[aria-pressed=true],.chip[aria-pressed=true]{background:var(--btn-bg);border-color:var(--btn-bg);color:var(--btn-fg)}
.vista{margin-left:auto}
#lista{margin-top:12px}
.vuoto{padding:32px 0;text-align:center}

/* schede */
.griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:16px}
.card{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh-card);display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:box-shadow .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1)}
.card:hover{box-shadow:0 2px 4px rgba(11,42,63,.1),0 14px 28px -10px rgba(11,42,63,.24);transform:translateY(-2px)}
.card>*{margin-inline:22px}.card>.card-h+*{margin-top:16px}
.card>.err{margin-bottom:16px}
@media (prefers-reduced-motion:reduce){.card,.card:hover{transition:none;transform:none}html{scroll-behavior:auto}}
@media (prefers-reduced-motion:no-preference){.griglia .card{animation:sali .6s cubic-bezier(.16,1,.3,1) both}.griglia .card:nth-child(2){animation-delay:.06s}.griglia .card:nth-child(3){animation-delay:.12s}.griglia .card:nth-child(4){animation-delay:.18s}.griglia .card:nth-child(n+5){animation-delay:.24s}}
.card-h{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;padding:20px 22px 0;margin-inline:0!important}
.card h3{font:800 21px/1.15 var(--ff-d);font-stretch:90%;letter-spacing:-.01em;color:var(--head)}
.card-h p,.dove{margin:4px 0 0;font-size:13px;line-height:1.35}.card-h p{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-h>div:first-child{min-width:0;flex:1}.card h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge{flex:none;font-size:12px;font-weight:700;padding:4px 10px;border-radius:50px;white-space:nowrap;display:inline-block}
.card-h .badge{font-size:12px;padding:5px 11px 5px 10px;margin-top:2px;background:var(--lv-nd);color:var(--lv-nd-fg);display:inline-flex;align-items:center;gap:6px}
.card-h .badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.85}
.lv-ok .card-h .badge{background:var(--lv-ok);color:var(--lv-ok-fg)}.lv-mid .card-h .badge{background:var(--lv-mid);color:var(--lv-mid-fg)}.lv-bad .card-h .badge{background:var(--lv-bad);color:var(--lv-bad-fg)}
.tipo{display:table;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:50px;margin-bottom:6px}
.tipo{color:var(--ink);background:var(--soft);padding:3px 9px;font-size:10px}.tipo.t-ped{color:#0b5ea8;background:#e3effa}:root[data-theme=dark] .tipo{color:#e8f1f6;background:#2d546e}:root[data-theme=dark] .tipo.t-ped{color:#c4e2fa;background:#1c4d7a}
#lista th .tipo{margin:5px 0 0;padding:3px 9px;line-height:1.2}
.badge.ok{background:var(--ok-bg);color:var(--ok-fg)}.badge.mid{background:var(--mid-bg);color:var(--mid-fg)}.badge.bad{background:var(--bad-bg);color:var(--bad-fg)}.badge.nd{background:var(--nd-bg);color:var(--nd-fg)}
.num{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;align-items:flex-end}
.num div b{display:block;font:900 64px/.9 var(--ff-d);font-stretch:80%;letter-spacing:-.03em;color:var(--head);font-variant-numeric:tabular-nums}
.num div:nth-child(2){text-align:right}.num div:nth-child(2) b{font-size:40px;color:var(--ink);font-weight:800}
.num div small{display:block;font-size:12.5px;font-weight:600;color:var(--ink);margin-top:6px}
.bar-l{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--ink2);margin-bottom:6px;font-variant-numeric:tabular-nums}
.bar{position:relative;height:8px;border-radius:50px;background:var(--track)}
.bar i{position:absolute;left:0;top:0;height:8px;border-radius:50px;background:var(--ctl);transform-origin:left;animation:cresce .9s cubic-bezier(.16,1,.3,1) both}
@keyframes cresce{from{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.bar i{animation:none}}
.bar i.ok,.bar i.mid,.bar i.bad{background:var(--sea2)}:root[data-theme=dark] .bar i.ok,:root[data-theme=dark] .bar i.mid,:root[data-theme=dark] .bar i.bad{background:#7fc4ee}
.bar u{position:absolute;left:50%;top:-4px;width:2px;height:16px;border-radius:2px;background:var(--head)}
.cod{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.cod div{border:1px solid;border-radius:12px;padding:10px 4px;text-align:center;font-variant-numeric:tabular-nums}
.cod b{display:block;font:800 22px/1.1 var(--ff-d);color:inherit}
.cod span{display:flex;align-items:center;justify-content:center;gap:4px;font-size:11px;font-weight:700;color:inherit;margin-top:2px}
.cod span i{width:8px;height:8px;border-radius:50%;border:1px solid rgba(0,0,0,.3);flex:none}
.cod .nd{opacity:.45}
.c-rosso{background:var(--lv-bad);border-color:var(--lv-bad);color:var(--lv-bad-fg)}.c-rosso i{display:none}
.c-arancione{background:var(--lv-mid);border-color:var(--lv-mid);color:var(--lv-mid-fg)}.c-arancione i{display:none}
.c-azzurro{background:var(--azzurro);border-color:var(--azzurro);color:var(--head)}.c-azzurro i{display:none}
.c-verde{background:var(--lv-ok);border-color:var(--lv-ok);color:var(--lv-ok-fg)}.c-verde i{display:none}
.c-bianco{background:var(--white);border-color:var(--ctl);color:var(--head)}.c-bianco i{display:none}
.c-rosso span i{background:var(--lv-bad)}.c-arancione span i{background:var(--lv-mid)}.c-azzurro span i{background:var(--azzurro)}.c-verde span i{background:var(--lv-ok)}.c-bianco span i{background:var(--white);box-shadow:inset 0 0 0 1.5px var(--ctl)}
.tempi{margin:0;font-size:12.5px;line-height:1.45;color:var(--ink)}.tempi strong{color:var(--head)}.card>.tempi{margin-inline:22px}
.card-f{margin-top:auto!important;display:flex;justify-content:space-between;gap:8px;align-items:center;border-top:1px solid var(--soft);padding-block:14px 16px;font-size:12.5px;color:var(--ink);flex-wrap:wrap}.card>.cod,.card>.tempi,.card>.num{margin-bottom:0}.card>div+div,.card>div+p{margin-top:16px}
.vecchio{color:var(--bad-fg);font-weight:700}
.err{margin:0;font-size:13px;color:var(--bad-fg);font-weight:600}
.btn{min-height:44px;padding:0 18px;border-radius:50px;border:1.5px solid var(--btn-bg);background:var(--btn-bg);color:var(--btn-fg);font-size:13px;font-weight:700;cursor:pointer}
.btn:hover{background:var(--btn-hov)}
.btn.sec{background:var(--white);color:var(--head)}.btn.sec:hover{background:var(--accbg)}
a.btn{display:inline-flex;align-items:center;text-decoration:none}a.btn:hover{color:var(--btn-fg);background:var(--btn-hov)}a.btn.sec:hover{color:var(--head);background:var(--accbg)}

/* tabella */
.tw{overflow-x:auto;background:var(--white);border:1px solid var(--line);border-radius:20px;box-shadow:var(--sh-card)}
table{width:100%;min-width:760px;border-collapse:collapse;font-size:14px}
th,td{padding:12px 8px;text-align:right;font-variant-numeric:tabular-nums}
thead th{font-size:12px;font-weight:700;color:var(--ink2)}
tbody tr{border-top:1px solid var(--soft)}
tbody tr:hover{background:var(--accbg)}
th:first-child,td:first-child{text-align:left;padding-left:14px}
td:last-child,th:last-child{padding-right:14px}
td:last-child{font:800 20px var(--ff-d);color:var(--head)}
@media (min-width:701px){
#lista th:nth-child(n+3):nth-child(-n+7),#lista td:nth-child(n+3):nth-child(-n+7){text-align:center}
#lista thead th:nth-child(n+3):nth-child(-n+7){font-weight:800;color:var(--ink2)}
#lista .cn{display:inline-block;min-width:38px;padding:4px 8px;border-radius:8px;font:800 16px/1.2 var(--ff-d);font-variant-numeric:tabular-nums;border:1px solid transparent}
#lista .cn.c-rosso{background:var(--lv-bad);color:var(--lv-bad-fg)}
#lista .cn.c-arancione{background:var(--lv-mid);color:var(--lv-mid-fg)}
#lista .cn.c-azzurro{background:var(--azzurro);color:var(--head)}
#lista .cn.c-verde{background:var(--lv-ok);color:var(--lv-ok-fg)}
#lista .cn.c-bianco{background:var(--white);color:var(--head);border-color:var(--cb-bd)}
#lista .cn.z{background:var(--cb-bg);color:var(--ink);border-color:var(--cb-bd);font-weight:700}
#lista .cn.nd{background:none;border:0;color:var(--ink)}
}
.tw .lk{background:none;border:0;padding:0;font-weight:700;color:var(--head);text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.tw small{display:block;font-weight:400;font-size:12px;color:var(--ink)}

/* legenda */
.info{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.box{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--sh-card)}
.box h3{font-size:20px;margin-bottom:10px}
.box p,.box li{font-size:14px;line-height:1.5;margin:0}
.box ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.box li{display:flex;align-items:center;gap:10px}
.box p+p{margin-top:10px}
.dot{flex:none;width:14px;height:14px;border-radius:50%;border:1px solid transparent;box-shadow:none}
.dot.c-bianco{border-color:var(--cb-bd)}

/* footer */
footer{margin-top:56px;background:var(--bar);color:#d3e1eb}
.foot{padding-block:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;align-items:start}
.foot-b{display:flex;gap:14px;align-items:flex-start}
footer p{margin:0;font-size:14px;line-height:1.6}
footer a{color:#fff}footer a:hover{color:#fff;background:rgba(255,255,255,.14)}
footer h2{font:800 18px var(--ff-d);color:var(--acc);margin:0 0 8px}
footer strong{color:#fff}

/* scheda */
dialog{border:0;padding:0;border-radius:24px;max-width:min(980px,calc(100vw - 24px));width:100%;max-height:calc(100vh - 24px);box-shadow:0 8px 28px rgba(0,0,0,.35);color:var(--ink);background:var(--white)}
dialog::backdrop{background:rgba(6,20,31,.7)}
.s-in{padding:22px;display:flex;flex-direction:column;gap:18px}
.s-h{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}
.s-h h2{font:800 32px/1.05 var(--ff-d);font-stretch:88%;letter-spacing:-.02em}
.s-x{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--ctl);background:var(--white);font-size:24px;line-height:1;cursor:pointer;color:var(--head)}
.s-x:hover{background:var(--accbg)}
.s-big{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.s-big div{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--paper)}
.s-big b{display:block;font-size:30px;font-weight:800;color:var(--head);line-height:1;font-variant-numeric:tabular-nums}
.s-big span{display:block;font-size:12px;margin-top:4px}
.s-sec h3{font-size:15px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--soft)}
.s-t{width:100%;min-width:0;font-size:14px}
.s-t th,.s-t td{padding:8px}
.s-t thead th{font-size:12px}
.s-t td:last-child{font-size:inherit;font-weight:400;color:inherit}
.s-t td:last-child,.s-t th:last-child{padding-right:8px}
.s-t .n{font-weight:700;color:var(--head)}
.s-t .sw{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.3);margin-right:8px}
.s-perm{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.s-perm div{border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.s-perm b{display:block;font-size:20px;color:var(--head);font-variant-numeric:tabular-nums}
.s-perm span{font-size:12px}
#s-map{height:220px;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:10px}
.s-az{display:flex;gap:8px;flex-wrap:wrap}
.s-nota{margin:0;font-size:13px}
/* scheda a due colonne */
.s-chips{display:flex;gap:8px;flex-wrap:wrap}
.s-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:start}
.s-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.s-box{border:1px solid var(--line);border-radius:18px;padding:16px;background:var(--paper)}
.s-box h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin:0 0 12px;font-weight:700}
.s-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.s-top h3{margin:0}
.s-top .live{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:4px 10px;border-radius:50px;border:1px solid var(--line);background:var(--white)}
.s-top .live:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--verde);margin-right:6px}
.s-top .live.vecchio:before{background:var(--rosso)}
.s-big{display:flex;gap:32px;margin-bottom:12px}
.s-big div{border:0;background:none;padding:0}
.s-big b{font-size:44px}.s-big b.ok{color:var(--ok-fg)}.s-big b.mid{color:var(--mid-fg)}.s-big b.bad{color:var(--bad-fg)}
.s-r{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.s-r:last-child{border-bottom:0}.s-r b{color:var(--head);font-variant-numeric:tabular-nums}
.s-i{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:14px;overflow-wrap:anywhere}
.s-i a{color:var(--head);font-weight:600}
.s-tot th,.s-tot td{border-top:2px solid var(--line);font-weight:700}
.bar-s{display:flex;justify-content:space-between;font-size:11px;margin-top:6px;color:var(--ink)}
.s-avviso{margin:0}.s-avviso .call112{margin-bottom:10px}.s-avviso p{margin:0;font-size:12px;color:var(--ctl)}
.s-box #s-map{margin-top:0}
@media (max-width:760px){.s-grid{grid-template-columns:1fr}.s-t{font-size:13px}.s-t th,.s-t td{padding:8px 4px}.s-t thead th{font-size:10px;letter-spacing:0}.s-box{padding:12px}.s-big{gap:20px}.s-big b{font-size:36px}}
@media (max-width:520px){.hero-in{padding-block:24px 20px}#map{height:340px}.s-in{padding:16px}.s-h h2{font-size:22px}}
.mleg .dc{border:1px solid rgba(0,0,0,.4);width:14px;height:14px}
.mleg .sep{width:1px;height:14px;background:var(--line)}

/* tema scuro: pannelli Leaflet e interruttore */
:root[data-theme=dark] .raster .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.95) contrast(.9) saturate(.7)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip,.ps-tip{background:var(--white);color:var(--ink)}
.leaflet-container a.leaflet-popup-close-button{color:var(--ink)}
.leaflet-bar a,.leaflet-bar a:hover{background:var(--white);color:var(--head);border-color:var(--line)}
.leaflet-control-attribution{background:rgba(255,255,255,.75)!important;color:#333}
:root[data-theme=dark] .leaflet-control-attribution{background:rgba(20,20,19,.8)!important;color:#c9c5be}
:root[data-theme=dark] .leaflet-control-attribution a{color:#e0ddd6}
:root[data-theme=dark] .logo{background:#f3f7f9}

/* colonna di pulsanti tondi sulla mappa */
.mc{display:flex;flex-direction:column;gap:10px;margin:12px 0 0 12px!important}
.mc-b{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--white);color:var(--head);display:grid;place-items:center;padding:0;cursor:pointer;box-shadow:0 1px 4px var(--shadow)}
.mc-b:hover{background:var(--accbg)}.mc-b:focus-visible{outline:2px solid var(--head);outline-offset:2px}
#map:fullscreen{height:100vh;border-radius:0}
header .tema{margin-left:-8px;border-color:rgba(255,255,255,.35);background:transparent;color:#fff;box-shadow:none}header .tema:hover{background:rgba(255,255,255,.14)}

/* scheda: fascia in alto, colonne bilanciate, piastrelle */
.s-hero{border-radius:18px;padding:18px 20px;background:var(--sea);color:#d3e1eb;border:0}.s-hero .s-big b,.s-hero .s-big b.ok,.s-hero .s-big b.mid,.s-hero .s-big b.bad{color:#fff}.s-hero .s-big b.ok{color:#7ee0a9}.s-hero .s-big b.mid{color:var(--acc)}.s-hero .s-big b.bad{color:#ff9d9d}.s-hero .s-big div{border-left-color:rgba(255,255,255,.2)}.s-hero .bar-l,.s-hero .bar-s{color:#d3e1eb}.s-hero .bar{background:rgba(255,255,255,.18)}.s-hero .bar u{background:#fff}.s-hero .live{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff}
.s-hero .s-top{margin-bottom:14px}.s-hero .s-top h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#d3e1eb;margin:0;font-weight:700}
.s-hero .s-big{margin-bottom:14px;gap:0;flex-wrap:wrap}
.s-hero .s-big div{flex:1 1 140px;padding:0 20px;border-left:1px solid var(--line)}
.s-hero .s-big div:first-child{padding-left:0;border-left:0}
.s-hero .s-big b{font:900 64px/.9 var(--ff-d);font-stretch:80%;letter-spacing:-.03em}
.s-hero .s-big span{font-size:13px;margin-top:6px}
.s-hero .bar-s{margin-top:6px}
.s-chips+.dove{margin:-8px 0 0}
.s-az{padding-bottom:2px}
.s-box .tw{border:0;box-shadow:none;background:none;border-radius:0}
.s-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.s-tiles.col{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}
.s-tiles div{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:10px 12px;border-top:4px solid var(--tc,var(--line))}
.s-tiles b{display:block;font:800 24px/1.1 var(--ff-d);color:var(--head);line-height:1.1;font-variant-numeric:tabular-nums}
.s-tiles span{display:block;font-size:12px;margin-top:3px}
.s-box #s-map{height:260px}
@media (max-width:760px){.s-hero .s-big div{padding:0 12px}.s-hero .s-big b{font-size:38px}.s-tiles{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.s-hero .s-big div{flex:1 1 40%;padding:8px 12px 8px 0;border-left:0}.s-hero .s-big{row-gap:6px}}
.s-t th[scope=row]{white-space:nowrap}
.s-box #s-map{height:230px}

/* mobile: testata compatta */
@media (max-width:700px){
  .top-in{gap:8px 8px;padding-block:10px}
  .brand{flex:1;min-width:0}.brand-t strong{font-size:17px}
  header .tema{margin-left:0}
  .top nav{order:3;width:100%;margin:0;flex-wrap:nowrap;overflow-x:auto;gap:2px;scrollbar-width:none}.top nav a{white-space:nowrap;padding:8px 12px}
  .plate.verde .pct{width:72px;height:72px;font-size:19px;letter-spacing:-.02em}
}

/* mobile: controlli e schede più compatti */
@media (max-width:700px){
  body{font-size:15px}
  .wrap{padding-inline:16px}
  .sez{padding-block:28px 4px}
  .sez>h2{font-size:26px;margin-bottom:12px}.sez>h2:after{width:44px;height:5px;margin-top:8px}
  .sez-s{font-size:13px;margin-bottom:10px}
  #map{height:380px;border-radius:16px}
  .mleg{gap:4px 12px;font-size:12px}.mleg i{width:12px;height:12px;border-width:2.5px}
  .tools,.tools2{gap:8px}
  .cerca input{height:42px;padding:0 16px;font-size:15px}
  .grp{gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%}
  #filtri,.geo{flex:none}
  .tools{flex-direction:column;align-items:stretch}
  .tools .cerca{flex:none}
  .pill{min-height:38px;padding:0 14px;font-size:13px;flex:none}
  .pill small{font-size:12px}
  .chip{min-height:34px;padding:0 12px;font-size:12.5px;flex:none}
  .lab{font-size:12px;flex:none}
  .tools2{flex-direction:column;align-items:stretch}
  .vista{margin-left:0}
  .tools2 .grp{width:100%}
  #lista{margin-top:10px}
  .griglia{gap:12px}
  .card{border-radius:16px}
  .card>*,.card>.tempi{margin-inline:16px}.card>.card-h+*{margin-top:14px}
  .card-h{padding:16px 16px 0}.card h3{font-size:19px}.card-h p{font-size:12px}
  .num{gap:20px}.num div b{font-size:50px}.num div:nth-child(2) b{font-size:34px}
  .cod div{padding:8px 2px;border-radius:10px}.cod b{font-size:18px}.cod span{font-size:10px}
  .card-f{padding-block:10px 12px}.btn{min-height:40px;padding:0 14px;font-size:13px}
  .box{padding:16px;border-radius:16px}.box h3{font-size:18px}
  .plate b{font-size:clamp(56px,18vw,84px)}
  .plate{padding:14px 18px 16px;border-radius:16px}
  .plate.verde{padding:12px 16px;gap:12px}.plate.verde .pct{width:60px;height:60px;font-size:17px}.plate.verde .pl-t{font-size:17px}
  .hero-in{padding-block:20px 24px}
  .s-hero .s-big b{font-size:44px}
}
@media (max-width:700px){.tools2 .grp,.vista{justify-content:flex-start}}

/* barra strumenti in basso: solo mobile */
.bnav{display:none}
@media (max-width:700px){
  .top nav{display:none}
  .bnav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:2000;background:var(--sea);border-top:1px solid rgba(255,255,255,.14);padding:6px 8px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px -10px rgba(0,0,0,.4)}
  .bnav a,.bnav button{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:52px;justify-content:center;border:0;background:none;color:#c4d6e3;font:600 12px/1.1 var(--ff-b);text-decoration:none;border-radius:14px;cursor:pointer}
  .bnav a:hover,.bnav button:hover{background:rgba(255,255,255,.08);color:#fff}
  .bnav .on{background:var(--acc);color:#0b2a3f}
  .bnav :focus-visible{outline-color:#fff;box-shadow:none}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  html{scroll-padding-top:8px}
  .leaflet-control-attribution{margin-bottom:0}
}
#map,#s-map{isolation:isolate}

/* pulsanti meno arrotondati */
:root{--r-btn:10px}
.pill,.chip,.btn,.pop button,.cerca input,.mc-b,.s-x,.top nav a,.bnav a,.bnav button{border-radius:var(--r-btn)}
.badge,.s-top .live{border-radius:8px}
.plate.verde .pct{border-radius:14px}
.bnav .on,.bnav .on:hover,.bnav a.on:hover,.bnav button.on:hover{background:var(--acc);color:#0b2a3f}
@media (max-width:700px){#viste{display:none}}

/* tabella su mobile: ogni presidio è una riga a blocchi, senza scorrimento laterale */
@media (max-width:700px){
  #lista .tw{overflow:visible;background:none;border:0;box-shadow:none;border-radius:0}
  #lista table{min-width:0;display:block}
  #lista thead{display:none}
  #lista tbody{display:flex;flex-direction:column;gap:10px}
  #lista tr{display:grid;grid-template-columns:repeat(5,1fr);gap:6px 6px;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-card);padding:14px 14px 12px}
  #lista tbody tr{border-top:1px solid var(--line)}
  #lista th,#lista td{padding:0;text-align:left;border:0}
  #lista th[scope=row]{grid-column:1/4;grid-row:1;white-space:normal}
  #lista th .lk{font:800 19px/1.15 var(--ff-d);font-stretch:90%;text-decoration:none;color:var(--head)}
  #lista th small{margin-top:2px;font-size:12px}
  #lista td:last-child{grid-column:4/6;grid-row:1;text-align:right;font:900 44px/.9 var(--ff-d);font-stretch:80%;padding:0;color:var(--head)}
  #lista td:last-child:after{content:"in attesa";display:block;font:600 12px/1.2 var(--ff-b);color:var(--ink);margin-top:4px}
  #lista td:nth-child(2){grid-column:1/6;grid-row:2;margin-bottom:4px}
  #lista td:nth-child(2) .badge{font-size:12px}
  #lista td:nth-child(n+3):nth-child(-n+7){grid-row:3;text-align:center;border:1px solid;border-radius:10px;padding:6px 2px;font:800 18px/1.1 var(--ff-d)}
  #lista .cn{background:none;border:0;color:inherit}
  #lista td:nth-child(n+3):nth-child(-n+7):before{display:block;font:700 10px/1.2 var(--ff-b);color:inherit;margin-bottom:2px}
  #lista td:nth-child(3){background:var(--lv-bad);border-color:var(--lv-bad);color:var(--lv-bad-fg)}#lista td:nth-child(3):before{content:"Rosso"}
  #lista td:nth-child(4){background:var(--lv-mid);border-color:var(--lv-mid);color:var(--lv-mid-fg)}#lista td:nth-child(4):before{content:"Arancio"}
  #lista td:nth-child(5){background:var(--azzurro);border-color:var(--azzurro);color:var(--head)}#lista td:nth-child(5):before{content:"Azzurro"}
  #lista td:nth-child(6){background:var(--lv-ok);border-color:var(--lv-ok);color:var(--lv-ok-fg)}#lista td:nth-child(6):before{content:"Verde"}
  #lista td:nth-child(7){background:var(--white);border-color:var(--ctl);color:var(--head)}#lista td:nth-child(7):before{content:"Bianco"}
}

/* popup e tooltip grafici: fascia scura, righe etichetta/valore, quadrati colore, linea guida con punto */
.leaflet-popup-content-wrapper{padding:0;border:0;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px -6px var(--shadow),0 2px 6px var(--shadow)}
.ps-tip{padding:0;border:0;background:none;box-shadow:none;color:var(--ink)}
.leaflet-popup-content{margin:0!important;width:232px!important;font-size:13px}
.leaflet-popup-tip{display:none}
/* linea guida a gomito: sale in verticale dal pin e gira in orizzontale verso il riquadro; punto sul pin */
.leaflet-popup-tip-container,.ps-tip.leaflet-tooltip-top:before{--ln:var(--sea);display:block;overflow:visible;position:absolute;width:16px;height:auto;margin:0;border:0;background:linear-gradient(var(--ln),var(--ln)) 0 0/16px 2px no-repeat,linear-gradient(var(--ln),var(--ln)) 0 0/2px 100% no-repeat}
:root[data-theme=dark] .leaflet-popup-tip-container,:root[data-theme=dark] .ps-tip.leaflet-tooltip-top:before{--ln:var(--acc)}
.leaflet-popup-tip-container{left:-15px;top:18px;bottom:-20px}
.ps-tip.leaflet-tooltip-top:before{left:-15px;top:18px;bottom:-16px}
.ps-tip.rev.leaflet-tooltip-top:before{left:auto;right:-15px;background:linear-gradient(var(--ln),var(--ln)) 100% 0/16px 2px no-repeat,linear-gradient(var(--ln),var(--ln)) 100% 0/2px 100% no-repeat}
.leaflet-popup-tip-container:after,.ps-tip.leaflet-tooltip-top:after{content:"";position:absolute;left:-3px;bottom:-4px;width:8px;height:8px;border-radius:50%;background:var(--sea);border:2px solid #fff;box-sizing:content-box}
.ps-tip.leaflet-tooltip-top:after{left:-20px}
.ps-tip.rev.leaflet-tooltip-top:after{left:auto;right:-20px}
:root[data-theme=dark] .leaflet-popup-tip-container:after,:root[data-theme=dark] .ps-tip.leaflet-tooltip-top:after{background:var(--acc)}
.ps-tip:before,.ps-tip:after{display:none}
.ps-tip.leaflet-tooltip-top:before,.ps-tip.leaflet-tooltip-top:after{display:block}
.leaflet-container a.leaflet-popup-close-button{top:7px;right:7px;width:24px;height:24px;font-size:18px;line-height:22px;padding:0;text-align:center;color:#fff;border-radius:50%}
.leaflet-container a.leaflet-popup-close-button:hover{background:rgba(255,255,255,.18);color:#fff}
.pn{width:232px;color:var(--ink);background:var(--white);border-radius:12px;overflow:hidden}
.ps-tip .pn{width:200px;box-shadow:0 6px 20px -4px var(--shadow),0 1px 4px var(--shadow)}
.pn-h{display:flex;align-items:center;gap:8px;padding:8px 36px 8px 8px;background:var(--sea);color:#fff}
.ps-tip .pn-h{padding-right:10px}
:root[data-theme=dark] .pn-h{background:#0b2538}
.pn-i{flex:none;width:26px;height:26px;border-radius:7px;background:rgba(255,255,255,.16);display:grid;place-items:center}
.pn-h h3{margin:0;color:#fff;font:700 11px/1.25 var(--ff-b);letter-spacing:.09em;text-transform:uppercase}
.pn-b{padding:2px 12px 4px}
.pn-r{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--soft);font-size:12.5px}
.pn-r:last-of-type{border-bottom:0}
.pn-r>b{color:var(--head);font-weight:800;font-variant-numeric:tabular-nums}
.pn-big{font:900 19px/1 var(--ff-d)!important}
.pn-st{font-style:normal;font-size:11px;font-weight:700;padding:2px 8px;border-radius:50px;background:var(--nd-bg);color:var(--nd-fg)}
.pn-st.lv-ok{background:var(--ok-bg);color:var(--ok-fg)}.pn-st.lv-mid{background:var(--mid-bg);color:var(--mid-fg)}.pn-st.lv-bad{background:var(--bad-bg);color:var(--bad-fg)}
.pn-n{display:flex;align-items:center;gap:8px}
.pn-q{width:14px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.25);display:inline-block}
.pn-q.c-bianco{border-color:var(--ctl)}
.pn-g{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;padding:6px 0 4px;border-top:1px solid var(--soft)}
.pn-c{display:grid;place-items:center;height:26px;border-radius:5px;border:1px solid;font:800 13px/1 var(--ff-d);font-variant-numeric:tabular-nums}
.pn-t{margin:0;padding:6px 0 8px;border-top:1px solid var(--soft);font-size:11px}
.pn>button{display:block;width:calc(100% - 24px);margin:0 12px 12px;min-height:38px;padding:0 12px;border-radius:50px;border:1px solid var(--btn-bg);background:var(--btn-bg);color:var(--btn-fg);font-weight:700;font-size:13px;cursor:pointer}
.pn>button:hover{background:var(--btn-hov)}
.pop-aperto .leaflet-tooltip{display:none!important}
.pop.pn .pn-r{padding:4px 0}

/* Separatore adulti / pediatrici */

h3.sep-tipo,.sep-in{display:flex;align-items:center;gap:12px;font:800 12px/1 var(--ff-d);letter-spacing:.08em;text-transform:uppercase;color:#fff}
h3.sep-tipo{grid-column:1/-1;margin:22px 0 4px}
h3.sep-tipo::before,h3.sep-tipo::after,.sep-in::before,.sep-in::after{content:"";flex:1;height:0;border-top:2px dashed #0b5ea8;opacity:.45}
.sep-tipo span,.sep-in span{background:#0b5ea8;padding:7px 14px 7px 12px;border-radius:50px;white-space:nowrap;box-shadow:0 2px 6px rgba(11,94,168,.3)}
.sep-tipo span::before,.sep-in span::before{content:"✚";margin-right:7px;font-size:11px}
#lista tr.sep-tipo{background:none;box-shadow:none;border:0;padding:0}
#lista tr.sep-tipo th{padding:18px 20px 10px;border:0;background:var(--soft)}
@media(max-width:700px){#lista tr.sep-tipo{display:block;margin:10px 0 2px;background:none}#lista tr.sep-tipo th{display:block;background:none;padding:6px 2px}}

/* bullet chart sovraffollamento */
#confronto{--cap:50%}
.bc-asse{position:relative;height:18px;margin:0 10px;font-size:11px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.bc-asse span{position:absolute;top:0;transform:translateX(-50%)}.bc-asse span:first-child{transform:none}.bc-asse span:last-child{transform:translateX(-100%)}.bc-asse .cap{color:var(--head);font-weight:800}
.bc{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.bc-r{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;width:100%;padding:8px 10px;border-radius:12px}
.bc-r:hover{background:var(--soft)}.bc-r:focus-visible{outline:3px solid var(--acc);outline-offset:1px}
.bc-n{font-size:14px;color:var(--head);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bc-n em{font-style:normal;font-size:11px;font-weight:700;color:var(--ink)}
.bc-v{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bc-v b{font-size:14px}.bc-v b.sopra{color:var(--lv-bad)}.bc-v b.sotto{color:var(--lv-ok)}.bc-v small{margin-left:8px;font-size:12px;color:var(--ink)}
.bc-b{grid-column:1/-1;position:relative;height:14px;border-radius:4px;background:var(--track)}
.bc-b i{position:absolute;top:0;height:14px;transform-origin:left;animation:cresce .9s cubic-bezier(.16,1,.3,1) both}
.bc-b .dentro{left:0;background:var(--sea);border-radius:4px 0 0 4px}
.bc-b .eccesso{background:var(--lv-bad);border-radius:0 4px 4px 0}
.bc-b u{position:absolute;left:var(--cap);top:-4px;width:3px;height:22px;margin-left:-1.5px;border-radius:2px;background:var(--head)}
:root[data-theme=dark] .bc-b .dentro{background:#5d9bc4}
.bc-nota{margin:10px 10px 0;font-size:12px;color:var(--ink)}
.sb-b{display:flex;overflow:hidden}
.sb-b i{position:static;flex:none;box-sizing:border-box;height:14px;display:flex;align-items:center;justify-content:center;font:700 10px/1 var(--ff-b,inherit);font-style:normal;font-variant-numeric:tabular-nums;border-width:0;border-right:1px solid var(--white)}
.sb-b i:last-child{border-right:0}.sb-b i.c-bianco{border-width:0 1px 0 0;border-style:solid;border-color:var(--ctl)}
.sb-leg{list-style:none;margin:0 10px 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;font-weight:700;color:var(--head)}
.sb-leg li{display:flex;align-items:center;gap:6px}.sb-leg i{width:12px;height:12px;border-radius:50%;border:1.5px solid transparent;display:inline-block}
.sb-leg i.c-bianco{border-color:var(--ctl)}
#confronto-sez{padding-top:0}
.db-b{background:none;height:14px}
.db-b::before{content:"";position:absolute;left:0;right:0;top:6px;height:2px;border-radius:1px;background:var(--track)}
.db-b .db-l{top:4px;height:6px;border-radius:3px;background:var(--lv-bad);opacity:.55;animation:none}
.db-b u{top:0;width:14px;height:14px;margin-left:-7px;border-radius:50%;box-sizing:border-box;border:2px solid var(--white)}
.db-a{background:var(--acc)}.db-s{background:var(--head)}
.sb-leg i.db-a,.sb-leg i.db-s{border-radius:50%}
@media (prefers-reduced-motion:reduce){.bc-b i{animation:none}}
@media (max-width:640px){.bc-asse{margin:0 4px}.bc-v small{display:block;margin-left:0}.bc-r{grid-template-columns:minmax(0,1fr) auto;padding:8px 4px}}
.sez-h{font:800 clamp(28px,4.4vw,40px)/1.05 var(--ff-d);font-stretch:88%;letter-spacing:-.02em;margin:8px 0 16px}.sez-h:after{content:"";display:block;width:56px;height:6px;border-radius:6px;background:var(--acc);margin-top:10px}
.top nav a[aria-current=page]{background:rgba(255,255,255,.14)}

/* ---------- storico: sparkline, linea città, heatmap ---------- */
.spk-w{display:flex;flex-direction:column;gap:2px}.spk-w small{font-size:11.5px;color:var(--ink)}
.spk{display:block;width:100%;height:auto;overflow:visible}
.spk-l{fill:none;stroke:var(--sea2);stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.spk-a{fill:var(--sea2);opacity:.12;stroke:none}.spk-p{fill:var(--sea2);stroke:var(--white);stroke-width:1.5}
:root[data-theme=dark] .spk-l,:root[data-theme=dark] .spk-p{stroke:#7fc4ee}:root[data-theme=dark] .spk-a,:root[data-theme=dark] .spk-p{fill:#7fc4ee}
.chip-g{display:flex;gap:8px;margin:0 0 10px;flex-wrap:wrap}
.ln{display:block;width:100%;height:auto;max-height:300px;color:var(--ink)}
.ln-g{stroke:var(--soft);stroke-width:1}.ln-g.v{stroke-dasharray:2 4}
.ln-t{fill:var(--ink);font:600 11px var(--ff-b)}
.ln-b{fill:var(--ctl);opacity:.28}
.ln-l{fill:none;stroke:var(--sea2);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}.ln-p{fill:var(--sea2);stroke:var(--white);stroke-width:2}
:root[data-theme=dark] .ln-l{stroke:#7fc4ee}:root[data-theme=dark] .ln-p{fill:#7fc4ee}
.sb-leg i.ln-lg{width:18px;height:3px;border-radius:2px;background:var(--sea2)}.sb-leg i.ln-bg{width:18px;height:10px;border-radius:2px;background:var(--ctl);opacity:.4}
:root[data-theme=dark] .sb-leg i.ln-lg{background:#7fc4ee}
.hm-sel{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:13px;font-weight:700;color:var(--ink2)}
.hm-sel select{min-height:40px;border-radius:10px;border:1.5px solid var(--ctl);background:var(--white);color:var(--head);font:600 14px var(--ff-b);padding:0 10px;max-width:100%}
.hm-sc{overflow-x:auto}
.hm{--hm:#0f4c76;border-collapse:separate;border-spacing:2px;width:100%;min-width:320px;table-layout:fixed}
:root[data-theme=dark] .hm{--hm:#7fc4ee}
.hm th{font:600 11px var(--ff-b);color:var(--ink);text-align:center;padding:0}.hm tbody th{text-align:right;padding-right:6px;width:30px}
.hm td{height:26px;border-radius:3px;background:color-mix(in srgb,var(--hm) var(--q,0%),var(--white))}
.hm td.nd{background:repeating-linear-gradient(45deg,var(--soft),var(--soft) 3px,transparent 3px,transparent 6px)}
.hm-leg{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:12px;color:var(--ink)}
.hm-leg i{flex:0 0 120px;height:10px;border-radius:5px;background:linear-gradient(90deg,var(--white),#0f4c76);border:1px solid var(--line)}
:root[data-theme=dark] .hm-leg i{background:linear-gradient(90deg,var(--white),#7fc4ee)}
.hm-meno{margin:12px 0 0;font-size:14px;color:var(--ink2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:640px){.hm td{height:20px}.hm th{font-size:10px}.hm tbody th{width:26px}}
.hm td.nd0{background:none}
.spk{touch-action:pan-y;cursor:crosshair}.spk-c{stroke:var(--ctl);stroke-width:1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}
.spk-w small{min-height:1.4em}.spk-w small.spk-hot{color:var(--head);font-weight:700}
:root[data-theme=dark] .spk-c{stroke:#7fc4ee}

.ln-a{fill:var(--sea2);opacity:.12}:root[data-theme=dark] .ln-a{fill:#7fc4ee}
.ln-c{stroke:var(--ctl);stroke-width:1;stroke-dasharray:3 3}
.ln-w .ln{touch-action:pan-y;cursor:crosshair}
.ln-out{margin:6px 0 0;font-size:13px;color:var(--ink);min-height:1.5em}.ln-out.hot{color:var(--head);font-weight:700}

.ln-pb{fill:var(--white);stroke:var(--ctl);stroke-width:2}:root[data-theme=dark] .ln-pb{stroke:#7fc4ee}
#citta .ln{touch-action:pan-y;cursor:crosshair}

/* torna in cima */
.cima{position:fixed;right:16px;bottom:20px;z-index:1900;width:46px;height:46px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--sea);color:#fff;box-shadow:0 6px 18px -6px rgba(0,0,0,.5);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.cima.on{opacity:1;visibility:visible;transform:none}
.cima:hover{background:var(--sea2)}
:root[data-theme=dark] .cima{background:var(--acc);color:#0b2a3f}
@media (max-width:700px){.cima{bottom:calc(76px + env(safe-area-inset-bottom))}}
/* Avviso hero: niente riquadro, il pulsante 112 sta da solo e il testo sui dati va sotto */
.avviso{background:none;border:0;padding:0;border-radius:0}
.avviso>span{display:block}
.avviso .call112{margin-bottom:12px}
.pn-r .tipo{margin:0;display:inline-block}
