/* GZ PREMIUM · trattamento additivo della candidate .08. Nessuna immagine remota.
   Lavoro chiaro, superfici perla, luce verde/blu; il moto non inventa attività. */
html[data-gz-premium="on"] { --gzp-ink:#17312a;--gzp-muted:#536c65;--gzp-green:#087745;--gzp-blue:#174a76;--gzp-border:#d7e3dd;--gzp-paper:#fffef9;--gzp-shadow:0 12px 34px rgba(22,57,44,.07); }
html[data-gz-premium="on"] body { background:#f1f4ef;background-image:radial-gradient(ellipse at 6% 7%,rgba(14,141,94,.12),transparent 38%),radial-gradient(ellipse at 94% 30%,rgba(32,117,177,.10),transparent 40%);background-attachment:fixed; }
html[data-gz-premium="on"] [data-screen-label] { background:transparent !important; }
html[data-gz-premium="on"] [data-screen-label] > main { min-width:0; }
html[data-gz-premium="on"] [data-gzp-heading] { position:relative;text-wrap:balance;letter-spacing:-.028em; }
html[data-gz-premium="on"] [data-gzp-heading]::after { content:"";display:block;width:56px;height:3px;border-radius:4px;background:linear-gradient(90deg,#09945e,#1b80b1);margin-top:9px;box-shadow:0 0 16px #16a3742a; }
html[data-gz-premium="on"] :is(.gz-card,.gzc-card,.gzs-card,.card)[data-gzp-surface] { border-color:var(--gzp-border);border-radius:17px;box-shadow:var(--gzp-shadow);background:linear-gradient(145deg,#fffefc,#f8fbf7); }
html[data-gz-premium="on"] [data-gzp-surface] { transition:box-shadow .2s ease,border-color .2s ease; }
html[data-gz-premium="on"] [data-gzp-surface]:focus-within { box-shadow:0 0 0 2px #158b6130,var(--gzp-shadow); }
html[data-gz-premium="on"] :is(button,a,input,select,textarea):focus-visible { outline:3px solid #087c5c;outline-offset:3px; }
html[data-gz-premium="on"] :is(.gz-btn,.gz-btn-mini,.gzs-btn) { min-height:44px;border-radius:11px;transition:background-color .18s ease,box-shadow .18s ease; }
html[data-gz-premium="on"] :is(input,select,textarea) { accent-color:#087745; }
html[data-gz-premium="on"] :is(.gz-tabbar,.gzs-tabs) { border-radius:12px;padding:4px;background:#eef4ef; }
html[data-gz-premium="on"] :is(.gz-table,.gzs-table) tbody tr:hover { background:#edf7f0; }
html[data-gz-premium="on"] [data-gzp-new] { animation:gzp-enter .35s ease both; }
@keyframes gzp-enter { from{opacity:.65}to{opacity:1} }
#gz-premium-control { position:relative;display:inline-flex;margin:12px 20px;z-index:1;border:1px solid #bdcfc4;background:#fffefaed;box-shadow:0 4px 16px #10382915;color:#36584b;border-radius:12px;font:600 12px/1.2 system-ui;padding:9px 12px;min-height:44px;cursor:pointer; }
#gz-premium-control:hover { background:#e5f5eb; }
@media(hover:hover) and (pointer:fine){html[data-gz-premium="on"] [data-gzp-surface]:hover { border-color:#b7d7c6;box-shadow:0 16px 38px #15392e16; }}
/* DISTRIBUZIONE · stessa fonte per la mappa e il cockpit, nessun dato decorativo. */
.gzd-cockpit { color:#17312a;font-family:var(--font-body,system-ui);margin:16px 20px 26px;max-width:1560px;box-sizing:border-box; }
.gzd-cockpit * { box-sizing:border-box; }
.gzd-cockpit p { line-height:1.55; }
.gzd-hero { display:flex;position:relative;isolation:isolate;overflow:hidden;gap:28px;align-items:center;justify-content:space-between;border-radius:25px;padding:34px 36px;background:#10332c;background-image:radial-gradient(ellipse at 83% 35%,#15655d 0%,transparent 42%),linear-gradient(115deg,#102f28,#113b3a 53%,#163e66);color:#f4fbf7;box-shadow:0 18px 45px #163c3424;min-height:250px; }
.gzd-hero::before { content:"";position:absolute;inset:0;z-index:-1;opacity:.24;background-image:linear-gradient(#82ccb314 1px,transparent 1px),linear-gradient(90deg,#82ccb314 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent,#000); }
.gzd-hero::after { content:"";position:absolute;z-index:-1;inset:-120% -50%;background:linear-gradient(105deg,transparent 42%,#84e5c310 50%,transparent 58%);transform:translateX(15%);animation:gzp-light 4s ease-out 1;pointer-events:none; }
@keyframes gzp-light { from{transform:translateX(-20%)}to{transform:translateX(15%)} }
.gzd-lead { max-width:760px;min-width:0; }
.gzd-kicker { font-size:11px;font-weight:800;letter-spacing:.16em;line-height:1.5;color:#458a72; }
.gzd-hero .gzd-kicker { color:#a0ddc6; }
.gzd-hero h2 { font-family:var(--font-heading,system-ui);font-size:clamp(25px,3vw,40px);line-height:1.15;letter-spacing:-.04em;font-weight:650;margin:12px 0 14px;color:#fbfffb;max-width:18em; }
.gzd-hero p { max-width:55ch;font-size:14px;color:#d0e7de;margin:0 0 20px; }
.gzd-actions { display:flex;flex-wrap:wrap;gap:9px;align-items:center; }
.gzd-button { display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #c7dcd0;border-radius:11px;min-height:44px;padding:10px 15px;font:600 13px/1.35 var(--font-body,system-ui);background:#fffef9;color:#184e37;text-decoration:none;text-align:center;cursor:pointer;transition:background .18s,box-shadow .18s,border-color .18s; }
.gzd-button:hover { background:#edf7f1;border-color:#87bba1;box-shadow:0 4px 16px #0c513c12; }
.gzd-button:disabled { opacity:.55;cursor:not-allowed;box-shadow:none; }
.gzd-primary { background:#087745;color:#fff;border-color:#087745;width:100%; }
.gzd-primary:hover { background:#075f39;color:#fff; }
.gzd-white { background:#e6fff0;color:#134632;border-color:#defbec; }
.gzd-outline { border-color:#79ac9d;background:#ffffff07;color:#e4f8ee; }
.gzd-outline:hover { background:#ffffff15;color:#fff; }
.gzd-orbit { width:210px;height:210px;flex:0 0 210px;position:relative;display:grid;place-items:center; }
.gzd-ring { border:1px solid #98e1c955;box-shadow:inset 0 0 22px #73d1d00a,0 0 18px #65cde918;position:absolute;width:170px;height:170px;border-radius:50%;transform:rotate(-24deg) scaleY(.78); }
.gzd-ring.r2 { width:205px;height:205px;transform:rotate(42deg) scaleY(.72);border-color:#67b8dc50; }
.gzd-ring.r3 { width:135px;height:135px;transform:rotate(90deg) scaleY(.72);border-style:dashed;border-color:#bcdfb848; }
.gzd-nucleus { display:grid;place-items:center;width:88px;height:88px;border-radius:24px;transform:rotate(-8deg);border:1px solid #baf2d271;color:#e5fff2;background:linear-gradient(135deg,#21856880,#24778275);font:500 28px var(--font-heading,system-ui);letter-spacing:-2px;box-shadow:0 0 44px #46d69724; }
.gzd-orbit i { position:absolute;top:35px;right:27px;width:7px;height:7px;border-radius:50%;background:#9ef0c4;box-shadow:0 0 13px #75fbb7; }
.gzd-orbit i:nth-last-child(2) { top:auto;bottom:34px;left:39px;background:#8bd5fd; }.gzd-orbit i:last-child{top:72px;left:22px;width:4px;height:4px; }
@media(hover:hover) and (pointer:fine){.gzd-hero:hover .gzd-ring{transition:transform 1.1s ease;transform:rotate(12deg) scaleY(.78)}.gzd-hero:hover .gzd-ring.r2{transform:rotate(65deg) scaleY(.72)} }
.gzd-metrics { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:18px 0 12px; }
.gzd-metric { display:flex;flex-direction:column;gap:8px;position:relative;min-height:138px;background:linear-gradient(145deg,#fffefb,#f6faf5);border:1px solid #d5e3d9;border-radius:17px;padding:20px;box-shadow:0 7px 22px #183d2b05; }
.gzd-metric::before { content:"";position:absolute;left:20px;top:0;width:32px;height:3px;background:#168862;border-radius:0 0 4px 4px; }.gzd-metric:nth-child(3)::before{background:#2d86ba}.gzd-metric:nth-child(4)::before{background:#a38037}
.gzd-label { color:#416255;font-size:11px;font-weight:750;letter-spacing:.085em;text-transform:uppercase; }
.gzd-metric strong { font:650 31px/1.05 var(--font-heading,system-ui);letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:#173e30; }
.gzd-help { font-size:12px;color:#5f756a;line-height:1.5; }
.gzd-coverage { display:flex;gap:8px 16px;align-items:baseline;flex-wrap:wrap;border:1px solid #cce2d4;padding:11px 15px;border-radius:11px;background:#edf7ee;color:#345c43;font-size:12px;line-height:1.5;margin-bottom:16px; }
.gzd-coverage strong { flex-shrink:0; }.gzd-coverage span { flex:1;min-width:180px; }
.gzd-warning { background:#fff7e6;color:#745213;border-color:#e7d0a4; }
.gzd-filters { display:grid;grid-template-columns:2fr 1fr 1.35fr 1.35fr;gap:12px;padding:17px 18px;background:#ffffffae;border:1px solid #d6e2d9;border-radius:15px; }
.gzd-field { display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;font-weight:650;color:#365c48; }
.gzd-field input,.gzd-field select { height:44px;width:100%;min-width:0;font:13px var(--font-body,system-ui);color:#214535;background:#fffefb;border:1px solid #bacebf;border-radius:9px;padding:8px 11px; }
.gzd-tabs { display:flex;gap:5px;margin:18px 0;padding:5px;background:#eaf1eb;border:1px solid #d3e2d7;border-radius:13px;width:fit-content;max-width:100%; }
.gzd-tab { border:0;background:transparent;min-height:44px;color:#527060;font:650 13px var(--font-body,system-ui);padding:10px 18px;border-radius:9px;cursor:pointer; }.gzd-tab.active{background:#fffef9;color:#126942;box-shadow:0 3px 10px #22473510; }
.gzd-workspace { display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:20px;align-items:start; }
.gzd-clients { min-width:0; }.gzd-rowtitle { display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap;margin:4px 0 12px; }
.gzd-cockpit h3 { font-family:var(--font-heading,system-ui);font-size:19px;font-weight:650;letter-spacing:-.02em;color:#1b4934;margin:0;line-height:1.35; }
.gzd-client { display:flex;gap:13px;align-items:center;width:100%;border:1px solid #d7e4da;border-radius:13px;padding:14px;background:#fffefb;color:#183b2a;text-align:left;cursor:pointer;margin-bottom:8px;transition:background .15s,border-color .15s,box-shadow .15s; }
.gzd-client:hover { background:#f3faf4;border-color:#a7cbb4;box-shadow:0 5px 20px #18463708; }.gzd-client.selected{border-color:#0d8653;background:#edf8f0;box-shadow:inset 3px 0 #0c8954; }
.gzd-building { display:grid;place-items:center;font:28px system-ui;width:43px;height:43px;flex:0 0 43px;background:#eaf4ed;border:1px solid #d6e8da;border-radius:12px;color:#3d8865; }
.gzd-client-text { min-width:0;flex:1;display:flex;flex-direction:column;gap:4px;font:13px var(--font-body,system-ui); }.gzd-client-text strong { font-size:14px;overflow-wrap:anywhere; }.gzd-client-text span,.gzd-client-text small{color:#637c6c;font-size:12px; }
.gzd-chips { display:flex;flex-wrap:wrap;max-width:110px;gap:5px;justify-content:flex-end; }.gzd-chips i{font:650 10px/1.4 var(--font-body,system-ui);font-style:normal;background:#eef4ee;border:1px solid #d7e5d9;padding:4px 7px;border-radius:6px;color:#4b6955; }.gzd-chips .light{background:#edf4fb;color:#326383;border-color:#d3e3ef}.gzd-chips .gas{background:#fbf3e4;color:#876827;border-color:#eddfc6}
.gzd-pagination { display:flex;justify-content:space-between;gap:10px;margin-top:14px; }
.gzd-detail { min-width:0;background:linear-gradient(150deg,#fffefb,#f4f9f3);border:1px solid #ccdfd1;border-radius:20px;padding:25px;box-shadow:0 12px 34px #23593a09; }
.gzd-detail h3 { margin:10px 0;overflow-wrap:anywhere; }.gzd-detail p{font-size:13px; }.gzd-detail .gzd-help{font-size:12px}.gzd-address{color:#546d5f;margin:8px 0; }.gzd-detail>.gzd-primary{margin-top:12px; }
.gzd-path { color:#2e8158;font-weight:600;font-size:13px;padding:17px;background:#e8f5eb;border-radius:11px;line-height:1.75;margin-top:20px; }
.gzd-codes { display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px 12px;font-size:12px;margin:20px 0;padding:15px 0;border-top:1px solid #d9e5da;border-bottom:1px solid #d9e5da; }.gzd-codes dt{color:#638070}.gzd-codes dd{margin:0;color:#254d36;overflow-wrap:anywhere; }
.gzd-roof-note { border-left:3px solid #b7d6bd;background:#edf5ed;padding:10px 12px;border-radius:0 8px 8px 0;color:#506b52; }
.gzd-statuses { margin-top:15px;font-size:12px;color:#45604b;line-height:1.6; }.gzd-statuses small{display:block;margin-top:6px; }.gzd-statuses button{font-size:12px; }
.gzd-charts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }.gzd-chart{min-width:0;border:1px solid #d5e1d6;background:#fffefb;border-radius:18px;padding:23px; }
.gzd-bar { margin-top:15px; }.gzd-bar-title{display:flex;justify-content:space-between;gap:15px;font-size:13px;line-height:1.5;margin-bottom:5px; }.gzd-bar-title span{overflow-wrap:anywhere}.gzd-bar-title strong{font-variant-numeric:tabular-nums;flex-shrink:0; }.gzd-track{height:8px;border-radius:6px;background:#eaf1eb;overflow:hidden; }.gzd-track span{height:100%;display:block;background:linear-gradient(90deg,#14794c,#79b78a);border-radius:6px; }.gzd-chart:nth-child(2n) .gzd-track span{background:linear-gradient(90deg,#276692,#88b1cc); }.gzd-chart-total{font-size:12px;color:#62816a;padding-top:12px;border-top:1px solid #e0e9df;margin:18px 0 0; }
.gzd-reconcile{border:1px solid #d2e3d4;background:#fffef9;border-radius:18px;padding:24px; }.gzd-reconcile-row { display:grid;grid-template-columns:1fr 80px 1.5fr;gap:20px;padding:15px 0;border-bottom:1px solid #e4eae0;align-items:start;font-size:13px; }.gzd-reconcile-row b{font-variant-numeric:tabular-nums;font-size:16px;text-align:right;color:#147743; }.gzd-reconcile-row p{margin:0;color:#617362;font-size:12px; }.gzd-reconcile .gzd-coverage{margin-top:16px; }
.gzd-empty{padding:25px;background:#fbfdf8;border:1px dashed #bdd2c0;color:#5a775e;border-radius:12px;font-size:14px; }.gzd-notify{font-size:13px;color:#215a3c;margin:15px 2px;min-height:1em; }
/* La mappa resta quella originaria. Le sovrapposizioni ora hanno posti propri. */
[data-gzp-distribution] .gzd-map-work { display:flex;gap:16px;align-items:stretch;min-height:550px;margin:0 20px 30px; }
[data-gzp-distribution] .gzd-map-main { position:relative;flex:1;min-width:0;min-height:550px;border:1px solid #c8ddce;border-radius:19px;overflow:hidden; }
[data-gzp-distribution] #distmap { height:550px;width:100%;background:#eaf1e8; }
[data-gzp-distribution] #gz-dist-conta { position:relative !important;left:auto !important;top:auto !important;padding:10px;background:#f8fcf6;border-bottom:1px solid #cfded0;flex-wrap:wrap;z-index:600; }
[data-gzp-distribution] .gzd-map-banner { position:relative !important;left:auto !important;top:auto !important;transform:none !important;max-width:none !important;margin:0;padding:10px 15px;z-index:600; }
[data-gzp-distribution] .gzd-map-legend { bottom:28px !important;left:10px !important;max-width:245px;opacity:.95; }
[data-gzp-distribution] .gzd-map-assistant { display:none !important; } /* Sezione ripetuta, non elimina la chat o l'identità. */
[data-gzp-distribution] #gz-dist-analisi { width:285px;border:1px solid #d5e2d6;border-radius:17px; }
[data-gzp-distribution] .leaflet-control-attribution { background:#fffefaee;max-width:100%;font-size:10px; }
/* Il modulo VAS originale mantiene campi, handler e archivio. */
html[data-gz-premium="on"] #gz-richiesta-pannello :is(input,textarea,select) { background:#fffef9 !important;color:#17312a !important;border-color:#bed3c3 !important;min-height:44px; }
html[data-gz-premium="on"] #gz-richiesta-pannello > div { background:#f9fcf6 !important;color:#17312a !important;border-radius:20px !important; }
html[data-gz-premium="on"] #gz-tetto-telo { color:#17312a; }
html[data-gz-premium="on"] #gz-tetto-telo [data-tetto] { min-height:44px;border-radius:10px;background:#f2f9f0;color:#245439;border:1px solid #c2d8c8; }
@media(max-width:1100px){.gzd-workspace{grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr)}.gzd-hero{padding:27px}.gzd-orbit{transform:scale(.85);margin:-15px;width:180px;flex-basis:180px}.gzd-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.gzd-metric{padding:17px}.gzd-chips{max-width:85px} }
@media(max-width:760px){.gzd-cockpit{margin:12px 12px 18px}.gzd-hero{padding:24px;min-height:240px}.gzd-orbit{display:none}.gzd-hero h2{max-width:none}.gzd-hero p{font-size:13px}.gzd-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gzd-metric strong{font-size:28px}.gzd-workspace{grid-template-columns:1fr}.gzd-detail{padding:20px}.gzd-charts{grid-template-columns:1fr}.gzd-tabs{width:100%}.gzd-tab{flex:1;font-size:12px;padding:9px 7px}.gzd-reconcile-row{grid-template-columns:1fr 55px;gap:6px 10px}.gzd-reconcile-row p{grid-column:1/-1}.gzd-filters{padding:12px;gap:10px}.gzd-label{font-size:10px}.gzd-field{font-size:11px}.gzd-client{gap:10px;padding:11px}.gzd-chips{max-width:85px}.gzd-chips i{font-size:10px}.gzd-client-text strong{font-size:13px}.gzd-metric{min-height:130px;padding:15px}.gzd-metric::before{left:15px}.gzd-coverage span{min-width:0;flex-basis:100%}.gzd-reconcile{padding:16px}[data-gzp-distribution] .gzd-map-work{flex-direction:column;margin:0 12px 22px}[data-gzp-distribution] #gz-dist-analisi{width:100%}[data-gzp-distribution] .gzd-map-main{min-height:410px}[data-gzp-distribution] #distmap{height:410px}[data-gzp-distribution] .gzd-map-legend{display:none}#gz-premium-control{font-size:11px;padding:8px;margin:10px 12px} }
html[data-gz-motion="off"] :is(.gzd-cockpit,.gzd-cockpit *,[data-gzp-new]),html[data-gz-hidden="true"] :is(.gzd-cockpit,.gzd-cockpit *,[data-gzp-new]) { animation:none !important;transition:none !important; }
@media(prefers-reduced-motion:reduce){html[data-gz-premium="on"] *,html[data-gz-premium="on"] *::before,html[data-gz-premium="on"] *::after{animation:none !important;scroll-behavior:auto !important;transition:none !important} }
@media print{#gz-premium-control,.gzd-orbit,.gzd-actions,.gzd-filters,.gzd-tabs,.gzd-pagination,.gzd-notify{display:none !important}html[data-gz-premium="on"] body,[data-screen-label]{background:white !important}.gzd-hero{background:white !important;box-shadow:none;color:black;padding:0;border-radius:0;min-height:0}.gzd-hero::before,.gzd-hero::after{display:none}.gzd-hero h2,.gzd-hero p,.gzd-hero .gzd-kicker{color:black}.gzd-metric,.gzd-chart,.gzd-detail{box-shadow:none;break-inside:avoid}.gzd-workspace,.gzd-charts{display:block}.gzd-cockpit{margin:0} }
[data-gzp-distribution] .gzd-map-main { display:flex;flex-direction:column; }
[data-gzp-distribution] #distmap { order:2;flex:1;min-height:410px; }
[data-gzp-distribution] #gz-dist-conta { order:0; }
[data-gzp-distribution] .gzd-map-banner { order:1; }

html[data-gz-motion="off"] .gzd-hero::after,html[data-gz-hidden="true"] .gzd-hero::after{animation:none !important;}
html[data-gz-premium="on"] [data-gzp-banner]{background-image:radial-gradient(ellipse at 95% 0%,#acdcb821,transparent 65%);border-bottom-color:#bcd6c3;}
html[data-gz-premium="on"] [data-gzp-banner]:not([role="dialog"]){box-shadow:0 6px 20px #173e2e07;}
/* La pagina firma applica width:100% a tutti i button: il controllo grafico non deve allargare il documento. */
#gz-premium-control{width:auto;max-width:calc(100% - 40px);box-sizing:border-box;}
/* Rivelazione grafica: i numeri finali sono sempre quelli del modello, mai contatori finti. */
@keyframes gzp-reveal-bar{from{transform:scaleX(.08);opacity:.55}to{transform:scaleX(1);opacity:1}}
.gzd-track span,[data-gzp-heading]::after{transform-origin:left;animation:gzp-reveal-bar .4s ease-out both;}
html[data-gz-motion="off"] [data-gzp-heading]::after,html[data-gz-hidden="true"] [data-gzp-heading]::after{animation:none !important;}

.gzd-hero #gz-premium-control{margin:0;background:#ffffff08;color:#e2f5e9;border-color:#73aa96;box-shadow:none;}
html[data-gz-premium="on"] #gz-richiesta-pannello :is(input,textarea,select){box-sizing:border-box;max-width:100%;}
/* Ricevuta VAS: resta nel viewport anche dopo una rotazione del telefono. */
html[data-gz-premium="on"] #gz-richiesta-fumetto{left:12px !important;right:12px !important;transform:none !important;max-width:560px !important;width:auto;box-sizing:border-box;overflow-wrap:anywhere;}
/* Il responsive storico azzera i padding laterali di alcuni contenitori.
   Correzione circoscritta al cockpit nuovo, senza cambiare gli altri moduli. */
@media(max-width:760px){
  #gz-dist-vista .gzd-hero{padding-left:24px !important;padding-right:24px !important;}
  #gz-dist-vista .gzd-metric{padding-left:15px !important;padding-right:15px !important;}
  #gz-dist-vista .gzd-filters{padding-left:12px !important;padding-right:12px !important;}
}
