/**
 * METIS · Formazione CNSBII
 * Bundle CSS autonomo 1.6.16.81E.
 * I fogli sono riportati nello stesso ordine della cascata pubblica precedente.
 * Non modificare l'ordine delle sezioni senza un nuovo collaudo grafico.
 */

/* ============================================================
   01. style.css
   ============================================================ */
:root{
  --ink:#0b0f14;
  --black:#101010;
  --white:#ffffff;
  --paper:#fbfbf7;
  --soft:#f4f7f2;
  --line:#dfe4dc;
  --muted:#5d6772;
  --blue:#00a7d7;
  --blue-dark:#07576d;
  --yellow:#f3cf16;
  --yellow-soft:#fff7bf;
  --green:#168a3a;
  --green-soft:#e7f4ea;
  --red:#c40018;
  --red-dark:#8c0010;
  --wrap:1180px;
  --shadow:0 20px 55px rgba(16,16,16,.13);
  --shadow-soft:0 10px 28px rgba(16,16,16,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.58;font-size:17px;overflow-x:hidden}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:.25em}
img{max-width:100%;height:auto;display:block}
table{border-collapse:collapse;width:100%}
.wrap,.container{width:min(var(--wrap),calc(100% - 40px));margin-inline:auto}.narrow{max-width:900px}.full-bleed{width:100%}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:-60px;z-index:999;background:#fff;color:#000;padding:10px 14px;border:2px solid var(--black)}.skip-link:focus{top:12px}
.tech-beta-banner{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#070b11 0%,#101820 46%,#071019 100%);color:#fff;border-bottom:1px solid rgba(243,207,22,.62);box-shadow:0 12px 38px rgba(0,0,0,.18)}.tech-beta-banner:before{content:"";position:absolute;inset:-40% -10%;background:radial-gradient(circle at 14% 50%,rgba(0,167,215,.34),transparent 26%),radial-gradient(circle at 86% 20%,rgba(243,207,22,.22),transparent 24%),linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:skewX(-12deg);z-index:-2}.tech-beta-grid{position:absolute;inset:0;z-index:-1;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%)}.tech-beta-inner{min-height:74px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:13px 0}.tech-beta-left{display:flex;align-items:center;gap:14px;min-width:0}.tech-beta-left strong{display:block;margin:0 0 2px;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;color:var(--yellow)}.tech-beta-left p{margin:0;color:rgba(255,255,255,.82);font-size:.94rem}.tech-beta-pulse{position:relative;width:16px;height:16px;flex:0 0 16px;border-radius:999px;background:var(--green);box-shadow:0 0 0 7px rgba(22,138,58,.16),0 0 24px rgba(22,138,58,.7)}.tech-beta-pulse:after{content:"";position:absolute;inset:-8px;border:1px solid rgba(22,138,58,.55);border-radius:999px;animation:techPulse 1.8s ease-out infinite}.tech-beta-data{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tech-beta-data span{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 10px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.76)}.tech-beta-data b{color:#fff;font-weight:900;letter-spacing:.02em}.tech-beta-data span:first-child{border-color:rgba(243,207,22,.42);background:rgba(243,207,22,.12)}@keyframes techPulse{0%{transform:scale(.74);opacity:.9}100%{transform:scale(1.85);opacity:0}}
.site-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 0 rgba(16,16,16,.1)}
.topbar{background:var(--black);color:#fff;font-size:.9rem;border-bottom:5px solid var(--yellow)}.topbar-inner{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar p{margin:0}.topbar nav{display:flex;gap:24px;align-items:center;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800}.topbar a:hover{color:var(--yellow);text-decoration:none}
.header-main{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px;flex:0 0 auto}.brand img{width:82px;height:82px;object-fit:contain}.brand-text{display:flex;flex-direction:column;line-height:1.05}.brand-text strong{font-size:1.35rem;letter-spacing:.04em}.brand-text small{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);max-width:210px}.brand-fallback{display:none;font-weight:900;font-size:1.6rem;color:var(--black)}
.primary-nav{display:flex;align-items:center;gap:16px;margin-left:auto;font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:.76rem}.primary-nav>a,.primary-nav summary{padding:12px 0;color:var(--black);white-space:nowrap}.primary-nav a:hover,.primary-nav summary:hover{color:var(--red);text-decoration:none}.nav-cta{background:var(--yellow)!important;color:#000!important;padding:15px 22px!important;margin-left:4px;border:2px solid #000;box-shadow:5px 5px 0 #000}.nav-cta:hover{background:#fff!important}.nav-more{position:relative}.nav-more summary{list-style:none;cursor:pointer}.nav-more summary::-webkit-details-marker{display:none}.nav-more-panel{position:absolute;right:0;top:100%;min-width:240px;background:#fff;border:2px solid var(--black);box-shadow:8px 8px 0 rgba(0,0,0,.12);padding:10px;display:grid;gap:4px}.nav-more-panel a{display:block;padding:10px 12px;text-transform:none;letter-spacing:0;font-weight:800;color:var(--ink)}.nav-toggle{display:none;background:#fff;border:2px solid var(--black);width:48px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.nav-toggle span:not(.sr-only){display:block;width:22px;height:2px;background:var(--black)}
.site-main{min-height:60vh}.hero,.page-hero,.hero-plain{background:linear-gradient(135deg,#101010 0%,#101010 58%,#1d1d1d 58%,#1d1d1d 100%);color:#fff;position:relative;overflow:hidden;border-bottom:10px solid var(--yellow)}.hero:before,.page-hero:before,.hero-plain:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 22%,rgba(243,207,22,.25),transparent 18%),linear-gradient(120deg,rgba(0,184,230,.14) 0 1px,transparent 1px 34px);opacity:.78}.hero:after,.page-hero:after,.hero-plain:after{content:"";position:absolute;right:-140px;bottom:-180px;width:520px;height:520px;border:70px solid rgba(0,184,230,.14);border-radius:999px}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(300px,.7fr);gap:50px;align-items:center;padding:64px 0}.hero-copy h1,.page-hero h1,.hero-plain h1{font-size:clamp(2.1rem,4.9vw,4.8rem);line-height:1.02;margin:0 0 20px;letter-spacing:-.045em;max-width:960px}.page-hero-inner,.hero-plain .wrap{position:relative;z-index:1;padding:58px 0}.lead{font-size:clamp(1.05rem,1.7vw,1.25rem);max-width:820px;color:rgba(255,255,255,.92);margin:0 0 26px}.kicker,.eyebrow{display:inline-flex;align-items:center;gap:12px;margin:0 0 16px;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--yellow);font-size:.8rem}.kicker:before,.eyebrow:before{content:"";width:34px;height:3px;background:currentColor}.kicker.light,.eyebrow.light{color:var(--yellow)}.kicker.red,.eyebrow.red{color:var(--red)}.hero-card{background:#fff;color:var(--ink);padding:30px 28px;border-top:10px solid var(--yellow);border-left:10px solid var(--blue);box-shadow:var(--shadow)}.hero-card h2{font-size:1.65rem;color:var(--black);line-height:1.15;margin:0 0 18px}.hero-card ol{padding-left:1.2rem;margin:0}.hero-card li+li{margin-top:10px}.card-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--red);font-weight:900;margin:0 0 12px}
.actions{display:flex;flex-wrap:wrap;gap:12px}.btn,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;background:var(--black);color:#fff;border:2px solid var(--black);font-weight:900;text-transform:uppercase;letter-spacing:.07em;font-size:.8rem;cursor:pointer}.btn:hover,.button:hover{text-decoration:none;background:#fff;color:#000}.btn-light,.button.light{background:var(--yellow);color:#000;border-color:var(--yellow)}.btn-light:hover,.button.light:hover{background:#fff;color:#000}.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.75)}.btn-outline-light:hover{background:rgba(255,255,255,.12);color:#fff}.btn-ghost{background:#fff;color:#000;border-color:#000}
.quick-links{background:#fff;border-bottom:1px solid var(--line)}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line)}.quick-grid a{min-height:160px;padding:28px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:10px;position:relative}.quick-grid a:before{content:"";position:absolute;left:0;top:0;height:6px;width:100%;background:var(--yellow)}.quick-grid a:nth-child(2):before{background:var(--green)}.quick-grid a:nth-child(3):before{background:var(--blue)}.quick-grid a:nth-child(4):before{background:var(--red)}.quick-grid a:hover{background:var(--soft);text-decoration:none}.quick-grid span,.module-grid span{color:var(--red);font-weight:900;letter-spacing:.1em}.quick-grid strong{font-size:1.28rem;line-height:1.1}.quick-grid em{font-style:normal;color:var(--muted)}
.section,.content-section{padding:66px 0}.light-bg,.soft-section{background:var(--soft)}.split-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}.section-title h2,.content-section h2{font-size:clamp(1.9rem,3.2vw,3.3rem);line-height:1.06;margin:0 0 20px;letter-spacing:-.035em}.section-text{font-size:1.12rem;color:#1f2937}.section-text p:first-child{margin-top:0}.section-text strong{color:#000}.cards-two{display:grid;grid-template-columns:1fr 1fr;gap:26px}.feature-card{padding:36px;min-height:292px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;border:1px solid var(--line);background:#fff}.feature-card h2{font-size:clamp(1.65rem,2.5vw,2.4rem);line-height:1.06;letter-spacing:-.03em;margin:0 0 16px}.feature-card p{font-size:1.04rem}.blue-card{background:var(--black);color:#fff;border-top:8px solid var(--yellow)}.white-card{background:#fff;border-top:8px solid var(--green)}.white-card h2{color:var(--black)}.module-grid,.content-grid.three-columns,.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.module-grid{grid-template-columns:repeat(4,1fr)}.module-grid article,.info-card{padding:28px;border:1px solid var(--line);background:#fff;min-height:220px;border-top:7px solid var(--yellow);box-shadow:var(--shadow-soft)}.module-grid article:nth-child(2),.info-card:nth-child(2){border-top-color:var(--green)}.module-grid article:nth-child(3),.info-card:nth-child(3){border-top-color:var(--blue)}.module-grid article:nth-child(4),.info-card:nth-child(4){border-top-color:var(--red)}.module-grid h2,.info-card h2{font-size:1.32rem;line-height:1.15;color:var(--black);margin:16px 0 10px}.module-grid p,.info-card p{color:var(--muted);margin:0}.info-card h2{margin-top:0}.check-list{display:grid;gap:12px;padding-left:1.1rem}.check-list li::marker{color:var(--green)}
.editorial-strip{width:min(var(--wrap),calc(100% - 40px));margin:0 auto;padding:54px 0;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:42px;align-items:start}.editorial-strip h2{font-size:clamp(1.9rem,3vw,3.1rem);line-height:1.05;margin:0}.editorial-strip p{font-size:1.08rem;color:#1f2937}.final-cta,.cta-band{padding:66px 0;background:var(--black);color:#fff;position:relative;overflow:hidden;border-top:10px solid var(--yellow)}.final-cta:after,.cta-band:after{content:"";position:absolute;right:-100px;top:-160px;width:420px;height:420px;border:55px solid rgba(243,207,22,.14);border-radius:999px}.final-cta-inner,.cta-inner{position:relative;z-index:1;max-width:900px}.final-cta h2,.cta-inner h2{font-size:clamp(1.9rem,3.6vw,3.6rem);line-height:1.04;margin:0 0 20px}.final-cta p,.cta-inner p{font-size:1.1rem;color:rgba(255,255,255,.88)}
.responsive-table-wrap,.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);background:#fff}.responsive-table th,.responsive-table td{padding:14px 16px;border:1px solid var(--line);text-align:left;vertical-align:top;min-width:170px}.responsive-table th{background:#111;color:#fff}.responsive-table tr:nth-child(even) td{background:#fafafa}.timeline{display:grid;gap:16px}.timeline article{display:grid;grid-template-columns:minmax(120px,160px) 1fr;gap:18px;padding:18px;border:1px solid var(--line);background:#fff;border-left:6px solid var(--yellow)}.timeline time{font-weight:900;color:var(--red);white-space:normal;line-height:1.25}.flow-map,.flow-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.flow-map article,.flow-cards article{border:1px solid var(--line);padding:22px;background:#fff;border-top:6px solid var(--blue)}.flow-cards span{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:999px;background:var(--yellow);font-weight:900}.region-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.region-grid article{background:#fff;border:1px solid var(--line);padding:18px;border-top:5px solid var(--green)}.region-grid h3{margin:0 0 8px}
.pwa-install{position:fixed;left:16px;right:16px;bottom:16px;z-index:70}.pwa-install-card{width:min(760px,100%);margin:auto;background:#fff;border:2px solid #000;box-shadow:10px 10px 0 rgba(0,0,0,.24);padding:20px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.pwa-install-card h2{margin:0 0 6px;font-size:1.35rem}.pwa-install-card p{margin:0;color:var(--muted)}.pwa-actions{display:flex;gap:10px;flex-wrap:wrap}.site-footer{background:#071019;color:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr .75fr .9fr .75fr;gap:34px;padding:46px 0}.footer-about img{width:52px;height:52px;object-fit:contain;margin-bottom:14px}.footer-grid h2{font-size:1rem!important;text-transform:uppercase;letter-spacing:.12em;margin:0 0 14px;color:var(--yellow);line-height:1.2}.footer-grid p{color:rgba(255,255,255,.78);max-width:520px}.footer-grid nav{display:flex;flex-direction:column;gap:9px}.footer-grid a{color:rgba(255,255,255,.9)}.footer-note{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;color:rgba(255,255,255,.82)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;color:rgba(255,255,255,.65);font-size:.92rem}.floating-share{position:fixed;right:18px;bottom:18px;z-index:60}.floating-share-toggle{border:0;background:var(--red);color:#fff;border-radius:999px;padding:12px 16px;font-weight:800;box-shadow:var(--shadow);cursor:pointer}.floating-share-panel{position:absolute;right:0;bottom:52px;width:230px;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);padding:14px;display:grid;gap:8px}.floating-share-panel a,.floating-share-panel button{display:block;text-align:left;background:#f8fafc;border:1px solid var(--line);padding:8px 10px;color:var(--ink);font:inherit;cursor:pointer}.floating-share-panel[hidden],.pwa-install[hidden]{display:none!important}
@media (max-width:1180px){.brand-text small{display:none}.primary-nav{gap:12px;font-size:.7rem}.brand img{width:76px;height:76px}.hero-grid{grid-template-columns:1fr;gap:32px}.hero-card{max-width:760px}.quick-grid,.module-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.split-grid,.editorial-strip{grid-template-columns:1fr;gap:26px}.cards-two{grid-template-columns:1fr}}
@media (max-width:860px){body{font-size:16px}.wrap,.container{width:min(100% - 28px,var(--wrap))}.tech-beta-inner{grid-template-columns:1fr;gap:10px;padding:12px 0}.tech-beta-data{justify-content:flex-start}.tech-beta-data span{width:100%;justify-content:space-between}.tech-beta-left{align-items:flex-start}.tech-beta-left p{font-size:.9rem}.topbar-inner{align-items:flex-start;flex-direction:column;gap:6px;padding:8px 0}.topbar nav{gap:16px;font-size:.72rem;flex-wrap:wrap}.header-main{min-height:78px}.brand img{width:64px;height:64px}.nav-toggle{display:flex}.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);box-shadow:var(--shadow);padding:12px 20px;flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav a,.primary-nav summary{padding:13px 0;border-bottom:1px solid var(--line)}.nav-cta{margin:12px 0 0!important;text-align:center;box-shadow:none}.nav-more-panel{position:static;box-shadow:none;border:0;padding:0}.hero-grid,.page-hero-inner,.hero-plain .wrap{padding:44px 0}.hero-copy h1,.page-hero h1,.hero-plain h1{font-size:clamp(2rem,9vw,3.1rem);letter-spacing:-.035em}.lead{font-size:1.02rem}.hero-card{padding:22px 20px}.quick-grid,.module-grid,.content-grid.three-columns,.three-columns{grid-template-columns:1fr}.quick-grid a{min-height:auto;padding:22px;border-bottom:1px solid var(--line)}.section,.content-section{padding:46px 0}.section-title h2,.content-section h2{font-size:2.05rem}.section-text{font-size:1rem}.feature-card{padding:26px;min-height:auto}.footer-grid{grid-template-columns:1fr;gap:24px}.timeline article{grid-template-columns:1fr;gap:6px}.final-cta,.cta-band{padding:50px 0}.final-cta:after,.cta-band:after{display:none}.pwa-install-card{grid-template-columns:1fr}.floating-share{right:12px;bottom:12px}.floating-share-panel{right:0;width:min(230px,calc(100vw - 26px))}}
@media (max-width:520px){.actions,.pwa-actions{flex-direction:column}.btn,.button{width:100%}.hero-card h2{font-size:1.42rem}.quick-grid strong{font-size:1.2rem}.module-grid article,.info-card{padding:22px}.footer-note,.footer-bottom{font-size:.9rem}.brand-text strong{font-size:1.15rem}.brand-text small{display:none}.responsive-table th,.responsive-table td{min-width:210px;padding:12px}}
@media print{.site-header,.tech-beta-banner,.floating-share,.site-footer,.actions,.pwa-install{display:none!important}.hero,.page-hero,.hero-plain,.final-cta,.cta-band{background:#fff!important;color:#000!important}.section,.content-section,.hero-grid,.page-hero-inner,.hero-plain .wrap{padding:20px 0}.wrap,.container{width:100%}a{text-decoration:underline}}

/* Patch 1.3.9 - Footer autonomi progetti pubblici */
.project-footer .footer-grid{align-items:start}.project-footer .project-public-identity h2{margin:.2rem 0}.project-footer .project-public-identity p{margin:.35rem 0}.project-footer .legal-note{font-size:.92rem;color:rgba(255,255,255,.78);line-height:1.45}.footer-legal-data p,.footer-contact-data p{margin:.35rem 0 .75rem}.project-whatsapp-button{border:1px solid currentColor;background:transparent;color:inherit;font-weight:800;padding:.55rem .75rem;cursor:pointer;border-radius:0}.project-whatsapp-button:hover{text-decoration:underline}.project-footer a{word-break:break-word}.project-footer-osservatori .footer-about,.project-footer-vedette .footer-about{border-left:4px solid rgba(255,255,255,.35);padding-left:1rem}@media(max-width:760px){.project-footer .footer-grid{gap:1rem}.project-whatsapp-button{width:100%}}

/* ============================================================
   02. account-cnsbii-1-6-16-64F.css
   ============================================================ */
:root{--navy:#061126;--blue:#0b1b38;--yellow:#e6c92f;--red:#c40018;--ink:#111827;--muted:#5c6677;--line:#dfe5ee;--soft:#f5f7fb;--green:#2f7d42;--shadow:0 20px 50px rgba(6,17,38,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#f3f6fb;line-height:1.45}.idra-wrap{width:min(1480px,calc(100% - 64px));margin:0 auto}.idra-skip{position:absolute;left:-999px}.idra-skip:focus{left:16px;top:16px;z-index:9999;background:#fff;color:#000;padding:10px 14px;border:2px solid #000}.idra-site-head{background:#fff;border-bottom:4px solid var(--yellow);position:relative;z-index:10}.idra-topbar{background:var(--navy);color:#fff;border-bottom:4px solid var(--yellow)}.idra-topbar .idra-wrap{min-height:42px;display:flex;align-items:center;gap:18px}.idra-topbar strong{color:var(--yellow);letter-spacing:.14em;text-transform:uppercase}.idra-topbar span{font-weight:700}.idra-topbar nav{margin-left:auto;display:flex;gap:24px}.idra-topbar a{color:#fff;text-decoration:none;font-weight:900}.idra-mainbar{display:flex;align-items:center;gap:28px;min-height:116px;padding:18px 0}.idra-cns-brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--ink);min-width:350px}.idra-cns-brand img{width:82px;height:82px;object-fit:contain}.idra-cns-brand b{display:block;font-size:2rem;letter-spacing:.03em;line-height:.95}.idra-cns-brand em{display:block;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;line-height:1.12;margin-top:6px;max-width:320px}.idra-main-nav{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.idra-main-nav a{color:var(--ink);text-decoration:none;text-transform:uppercase;font-weight:950;letter-spacing:.12em;font-size:.82rem;padding:12px 10px;border-bottom:3px solid transparent}.idra-main-nav a:hover{border-color:var(--yellow)}.idra-main-nav .idra-nav-cta{background:var(--navy);color:#fff;border:0;padding:15px 18px;box-shadow:7px 7px 0 rgba(0,0,0,.14)}.idra-hero{background:linear-gradient(90deg,rgba(6,17,38,.96),rgba(6,17,38,.82)),radial-gradient(circle at 80% 30%,rgba(47,125,66,.35),transparent 35%);color:#fff}.idra-hero-grid{display:grid;grid-template-columns:1.35fr .75fr;gap:42px;align-items:center;padding:58px 0}.idra-logo-block{display:flex;align-items:center;gap:24px;margin-bottom:28px}.idra-logo-block img{width:150px;height:auto;display:block;filter:drop-shadow(0 12px 24px rgba(0,0,0,.25))}.idra-logo-block span{display:block;color:var(--yellow);text-transform:uppercase;letter-spacing:.14em;font-weight:950;font-size:.82rem}.idra-logo-block strong{display:block;font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase}.idra-kicker{margin:0 0 10px;color:var(--yellow);text-transform:uppercase;letter-spacing:.16em;font-weight:950;font-size:.78rem}.idra-hero h1{font-size:clamp(2.4rem,5vw,5.4rem);line-height:.95;margin:0 0 20px;max-width:900px}.idra-lead{font-size:1.25rem;max-width:760px;color:#e8edf6;margin:0 0 28px}.idra-hero-actions,.idra-actions-line{display:flex;gap:14px;flex-wrap:wrap}.idra-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:2px solid var(--navy);color:var(--navy);background:#fff;padding:14px 20px;font-weight:950;border-radius:0;cursor:pointer;min-height:48px}.idra-btn.primary{background:var(--yellow);border-color:var(--yellow);color:#111}.idra-btn.danger{background:#fff0f0;border-color:#d33;color:#a20}.idra-btn.full{width:100%}.idra-return{margin-top:22px;border-left:4px solid var(--yellow);background:rgba(255,255,255,.08);padding:14px 16px;display:grid;gap:2px;max-width:430px}.idra-return span,.idra-return small{color:#d8dfec}.idra-return b{font-size:1.2rem}.idra-info-card{background:#fff;color:var(--ink);border-top:5px solid var(--yellow);box-shadow:var(--shadow);padding:34px}.idra-info-card h2{font-size:1.8rem;margin:0 0 10px}.idra-info-card ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:16px}.idra-info-card li{border:1px solid var(--line);padding:14px;background:#fbfcff}.idra-info-card b{display:block}.idra-info-card span{color:var(--muted)}.idra-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}.idra-flow article,.idra-account-card,.idra-security,.idra-services,.idra-migration article{background:#fff;border:1px solid var(--line);box-shadow:0 10px 28px rgba(6,17,38,.06)}.idra-flow article{padding:22px;position:relative}.idra-flow span{display:inline-grid;place-items:center;width:42px;height:42px;background:#edf2f8;color:var(--navy);font-weight:950;margin-bottom:12px}.idra-flow h2{margin:0 0 6px;font-size:1.1rem}.idra-flow p{margin:0;color:var(--muted)}.idra-main-grid{display:grid;grid-template-columns:1fr .72fr;gap:28px;margin-top:28px}.idra-account-card,.idra-security{padding:28px}.idra-card-head{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.idra-card-head img{width:62px;height:auto}.idra-card-head span{color:var(--yellow);text-transform:uppercase;letter-spacing:.14em;font-weight:950;font-size:.78rem}.idra-card-head h2{margin:0;font-size:2rem}.idra-notice{padding:14px 16px;margin:0 0 18px;border:1px solid var(--line);font-weight:800}.idra-notice.ok{background:#f0fff4;border-color:#acd8b4;color:#145a29}.idra-notice.error{background:#fff3f3;border-color:#efb0b0;color:#9d1a1a}.idra-form{display:grid;gap:14px}.idra-form h3,.idra-current h3{font-size:2rem;margin:0}.idra-form p,.idra-current p{color:var(--muted);margin:.2rem 0 1rem}.idra-form label{display:grid;gap:7px;font-weight:900}.idra-form label span{display:inline-flex;gap:4px;align-items:baseline;white-space:nowrap}.idra-form abbr{color:var(--red);text-decoration:none}.idra-form input,.idra-form textarea{width:100%;border:1px solid #cfd6e2;background:#fff;padding:13px 14px;font:inherit;min-height:48px}.idra-form input:focus,.idra-form textarea:focus{outline:3px solid rgba(230,201,47,.35);border-color:#111}.idra-check{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px;font-weight:700!important}.idra-check input{width:18px;min-height:18px;margin-top:4px}.idra-current{display:grid;gap:12px}.idra-badges{display:flex;flex-wrap:wrap;gap:8px}.idra-badges span{background:#eef2f8;color:#263043;padding:7px 10px;font-weight:900;font-size:.82rem}.idra-badges .ok{background:#e9f8ec;color:#1e6d33}.idra-state{border-left:4px solid var(--yellow);background:#fffbea;padding:14px 16px}.idra-state.ok{border-color:var(--green);background:#f0fff4}.idra-state b,.idra-state small{display:block}.idra-state small{color:var(--muted)}.idra-security h2,.idra-section-head h2,.idra-migration h2{font-size:2rem;margin:0 0 12px}.idra-security-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.idra-security-grid article{border:1px solid var(--line);padding:18px;background:#fbfcff}.idra-security-grid b,.idra-security-grid span{display:block}.idra-security-grid span{color:var(--muted);margin-top:4px}.idra-services{padding:28px;margin-top:28px}.idra-section-head{max-width:760px}.idra-section-head p:last-child{color:var(--muted)}.idra-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.idra-service-grid a{display:grid;gap:8px;color:var(--ink);text-decoration:none;border:1px solid var(--line);padding:22px;background:#fff}.idra-service-grid a:after{content:'→';color:var(--yellow);font-weight:950}.idra-service-grid b{font-size:1.15rem}.idra-service-grid span{color:var(--muted)}.idra-migration{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}.idra-migration article{padding:28px}.idra-migration p{color:var(--muted)}.idra-footer{margin-top:42px;background:var(--navy);color:#fff;border-top:4px solid var(--yellow)}.idra-footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:28px;padding:34px 0}.idra-footer img{width:140px;height:auto;background:#fff;padding:10px;margin-bottom:12px}.idra-footer h2{font-size:1rem;text-transform:uppercase;letter-spacing:.12em;color:var(--yellow)}.idra-footer a{display:block;color:#fff;text-decoration:none;margin:8px 0}.idra-footer p{color:#dbe4f0}.idra-footer-bottom{text-align:center;border-top:1px solid rgba(255,255,255,.14);padding:14px;color:#dbe4f0}
@media(max-width:1100px){.idra-mainbar{align-items:flex-start;flex-wrap:wrap}.idra-main-nav{width:100%;justify-content:flex-start}.idra-hero-grid,.idra-main-grid,.idra-migration{grid-template-columns:1fr}.idra-service-grid,.idra-flow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.idra-wrap{width:min(100% - 28px,680px)}.idra-topbar nav{display:none}.idra-topbar .idra-wrap{font-size:.86rem}.idra-mainbar{gap:14px}.idra-cns-brand{min-width:0;gap:10px}.idra-cns-brand img{width:62px;height:62px}.idra-cns-brand b{font-size:1.3rem}.idra-cns-brand em{font-size:.62rem;max-width:230px}.idra-main-nav{display:flex;overflow-x:auto;gap:6px;padding-bottom:4px}.idra-main-nav a{white-space:nowrap;border:1px solid var(--line);padding:10px 12px;font-size:.72rem}.idra-hero-grid{padding:34px 0}.idra-logo-block{align-items:flex-start}.idra-logo-block img{width:105px}.idra-hero h1{font-size:2.45rem}.idra-lead{font-size:1.05rem}.idra-info-card,.idra-account-card,.idra-security,.idra-services,.idra-migration article{padding:20px}.idra-flow,.idra-service-grid,.idra-security-grid{grid-template-columns:1fr}.idra-card-head h2,.idra-form h3,.idra-current h3,.idra-security h2,.idra-section-head h2,.idra-migration h2{font-size:1.55rem}.idra-footer-grid{grid-template-columns:1fr}.idra-form label span{white-space:normal}.idra-check span{white-space:normal!important}}

/* 1.6.16.64K - logo ufficiale Osservatori Civici in IDRA */
.idra-service-grid a.idra-service-oc{position:relative;padding-left:92px;min-height:86px}.idra-service-grid a.idra-service-oc img{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(6,17,38,.15))}.idra-oc-logo{width:112px;height:112px;object-fit:contain;display:block;margin:0 0 18px;filter:drop-shadow(0 10px 20px rgba(6,17,38,.14))}
@media(max-width:720px){.idra-service-grid a.idra-service-oc{padding-left:76px}.idra-service-grid a.idra-service-oc img{width:48px;height:48px}.idra-oc-logo{width:88px;height:88px}}

/* 1.6.16.64L · Loghi ufficiali servizi CNSBII */
.home64-card .home64-service-logo{width:74px;height:74px;object-fit:contain;display:block;margin:0 0 10px;filter:drop-shadow(0 10px 18px rgba(6,17,38,.12))}.home64-card-oc .home64-service-logo{width:112px;height:112px;margin-bottom:14px}.home64-card-egeria .home64-service-logo,.home64-card-idra .home64-service-logo{width:88px;height:88px}.home64-fast-grid a.home64-fast-egeria{grid-template-columns:56px 1fr;align-items:center}.home64-fast-grid a.home64-fast-egeria img{grid-row:1/3;width:48px;height:48px;object-fit:contain}.home64-fast-grid a.home64-fast-egeria strong,.home64-fast-grid a.home64-fast-egeria span{grid-column:2}.idra-service-grid-logos a,.idra-service-grid a{position:relative}.idra-service-grid-logos a{padding-left:104px;min-height:112px;align-content:center}.idra-service-grid-logos .idra-service-logo{position:absolute;left:22px;top:50%;transform:translateY(-50%);width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(6,17,38,.13))}.idra-service-grid-logos .idra-service-oc .idra-service-logo{width:76px;height:76px;left:16px}.idra-service-logo-fallback{display:grid!important;place-items:center;border-radius:18px;background:#eef2f8;color:#061126;font-weight:950;font-size:1.35rem}.oc-id-card-mini .mini-left img{width:70px!important;height:70px!important;object-fit:contain!important}.oc-area-head .oc-area-idra img,.oc-top-idra img{width:54px!important;height:54px!important;object-fit:contain!important}.oc-logo-official{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(6,17,38,.12))}@media(max-width:720px){.home64-card .home64-service-logo{width:76px;height:76px}.home64-card-oc .home64-service-logo{width:104px;height:104px}.idra-service-grid-logos a{padding-left:88px;min-height:98px}.idra-service-grid-logos .idra-service-logo{left:18px;width:54px;height:54px}.idra-service-grid-logos .idra-service-oc .idra-service-logo{width:62px;height:62px;left:12px}}
/* 1.6.16.64M · protezione loghi IDRA */
.idra-cns-brand img,.idra-logo-block img,.idra-service-logo,.idra-footer img{object-fit:contain;max-width:100%;}


/* 1.6.16.67H · Guardrail locale IDRA
   Serve solo a blindare i componenti IDRA contro regressioni del CSS globale. */
.idra-main-nav .idra-nav-cta,
.idra-main-nav .idra-nav-cta:link,
.idra-main-nav .idra-nav-cta:visited,
.idra-main-nav .idra-nav-cta:hover,
.idra-main-nav .idra-nav-cta:focus{background:var(--navy)!important;color:#fff!important;border:2px solid var(--navy)!important;text-decoration:none!important}
.idra-info-card,.idra-info-card *{color:var(--ink)!important}.idra-info-card p,.idra-info-card li span{color:var(--muted)!important}.idra-info-card li b,.idra-info-card h2{color:var(--ink)!important}.idra-hero-actions .idra-btn{min-width:170px}.idra-hero-actions .idra-btn:not(.primary){background:#fff!important;color:var(--navy)!important;border-color:#fff!important}.idra-hero-actions .idra-btn.primary{background:var(--yellow)!important;color:#111!important;border-color:var(--yellow)!important}

/* ============================================================
   03. loghi-servizi-1-6-16-64M.css
   ============================================================ */
/* 1.6.16.64M · Hotfix loghi servizi CNSBII */
img[src*="osservatori-civici"],
img[src*="egeria-logo"],
img[src*="idra-logo"],
img[src*="idra-full"],
img[src*="idra-mark"],
img[src*="cnsbii-logo"]{object-fit:contain;max-width:100%;}
.home64-card .home64-service-logo{width:84px;height:84px;object-fit:contain;display:block;margin:0 0 12px;filter:drop-shadow(0 10px 20px rgba(6,17,38,.12));}
.home64-card-oc .home64-service-logo{width:116px;height:116px;}
.home64-card-egeria .home64-service-logo,.home64-card-idra .home64-service-logo{width:92px;height:92px;}
.home64-fast-grid a.home64-fast-oc,.home64-fast-grid a.home64-fast-egeria{grid-template-columns:60px 1fr;align-items:center;}
.home64-fast-grid a.home64-fast-oc img,.home64-fast-grid a.home64-fast-egeria img{grid-row:1/3;width:54px;height:54px;object-fit:contain;}
.home64-fast-grid a.home64-fast-oc strong,.home64-fast-grid a.home64-fast-oc span,.home64-fast-grid a.home64-fast-egeria strong,.home64-fast-grid a.home64-fast-egeria span{grid-column:2;}
.idra-service-grid-logos a{position:relative;padding-left:112px;min-height:116px;align-content:center;}
.idra-service-grid-logos .idra-service-logo{position:absolute;left:22px;top:50%;transform:translateY(-50%);width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(6,17,38,.14));}
.idra-service-grid-logos .idra-service-oc .idra-service-logo{width:82px;height:82px;left:14px;}
.idra-service-logo-fallback{display:grid!important;place-items:center;border-radius:18px;background:#eef2f8;color:#061126;font-weight:950;font-size:1.35rem;}
.idra-cns-brand img{width:76px;height:76px;object-fit:contain;}
.idra-logo-block img{width:150px;height:auto;max-height:150px;object-fit:contain;}
.idra-footer img{width:160px;height:auto;object-fit:contain;background:#fff;padding:10px;}
.idra-oc-logo{width:116px;height:116px;object-fit:contain;display:block;margin:0 0 18px;}
.oc-id-card-mini .mini-left img{width:76px!important;height:76px!important;object-fit:contain!important;}
.oc-area-head .oc-area-idra img,.oc-top-idra img{width:58px!important;height:58px!important;object-fit:contain!important;}
.oc-logo-official{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(6,17,38,.12));}
@media(max-width:720px){.home64-card .home64-service-logo{width:76px;height:76px}.home64-card-oc .home64-service-logo{width:104px;height:104px}.idra-service-grid-logos a{padding-left:90px;min-height:100px}.idra-service-grid-logos .idra-service-logo{left:18px;width:58px;height:58px}.idra-service-grid-logos .idra-service-oc .idra-service-logo{width:64px;height:64px;left:12px}.idra-cns-brand img{width:64px;height:64px}.idra-logo-block img{width:112px}.idra-footer img{width:130px}.oc-area-head .oc-area-idra img,.oc-top-idra img{width:48px!important;height:48px!important}}

/* ============================================================
   04. cnsbii-public-shell-1-6-16-64E.css
   ============================================================ */
:root{--cns-navy:#061126;--cns-blue:#0b1b38;--cns-yellow:#e7c92f;--cns-red:#c40018;--cns-ink:#101624;--cns-muted:#5d6676;--cns-line:#dfe5ee;--cns-soft:#f5f7fb;--cns-green:#2f7d42;--cns-shadow:0 20px 50px rgba(6,17,38,.12)}
*{box-sizing:border-box}.cns-wrap{width:min(1480px,calc(100% - 64px));margin:0 auto}.skip-link{position:absolute;left:-999px;top:auto}.skip-link:focus{left:16px;top:16px;z-index:9999;background:#fff;color:#000;padding:10px 14px;border:2px solid #000}.cns-shell{background:#fff;color:var(--cns-ink);border-bottom:4px solid var(--cns-yellow);position:relative;z-index:50}.cns-topline{background:var(--cns-navy);color:#fff;border-bottom:4px solid var(--cns-yellow)}.cns-topline-inner{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:1rem}.cns-topline strong{color:var(--cns-yellow);letter-spacing:.12em;text-transform:uppercase}.cns-topline a{color:#fff;text-decoration:none;font-weight:800;margin-left:24px}.cns-head-main{min-height:138px;display:flex;align-items:center;gap:32px;padding:22px 0}.cns-brand{display:flex;align-items:center;gap:18px;color:var(--cns-ink);text-decoration:none;min-width:360px}.cns-brand-logo{width:104px;height:104px;object-fit:contain;flex:0 0 auto}.cns-brand-text strong{display:block;font-size:2.15rem;line-height:.95;letter-spacing:.02em}.cns-brand-text em{display:block;margin-top:7px;font-style:normal;font-weight:900;line-height:1.08;letter-spacing:.095em;text-transform:uppercase;color:#293142;font-size:.92rem}.cns-main-nav{margin-left:auto;display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.cns-main-nav>a,.cns-nav-group>button{appearance:none;border:0;background:transparent;color:var(--cns-ink);font-size:.88rem;text-transform:uppercase;font-weight:950;letter-spacing:.16em;text-decoration:none;padding:16px 12px;line-height:1;cursor:pointer;white-space:nowrap}.cns-main-nav>a:hover,.cns-nav-group>button:hover,.cns-nav-group.is-open>button{color:var(--cns-red)}.cns-nav-group{position:relative}.cns-nav-group>button:after{content:'+';color:var(--cns-red);font-weight:950;margin-left:7px}.cns-nav-group.is-open>button:after{content:'−'}.cns-nav-actions>button{background:var(--cns-yellow);border:3px solid #111;box-shadow:8px 8px 0 rgba(0,0,0,.22);padding:18px 22px}.cns-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(12px);min-width:280px;background:#fff;border:3px solid #111;box-shadow:10px 10px 0 rgba(0,0,0,.18);padding:10px;opacity:0;visibility:hidden;pointer-events:none;transition:.16s ease;z-index:100}.cns-nav-group.is-open .cns-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.cns-dropdown:before{content:'';position:absolute;top:-10px;left:calc(50% - 10px);width:18px;height:18px;background:#fff;border-left:3px solid #111;border-top:3px solid #111;transform:rotate(45deg)}.cns-dropdown a{display:block;padding:13px 12px;border-bottom:1px solid var(--cns-line);color:var(--cns-ink);text-decoration:none;font-weight:900}.cns-dropdown a:last-child{border-bottom:0}.cns-dropdown a:hover{background:#f5f1d4}.cns-idra-access{margin-left:18px;min-width:210px;display:flex;align-items:center;gap:14px;background:#08090b;color:#fff;text-decoration:none;padding:14px 20px;border:3px solid #08090b;box-shadow:9px 9px 0 rgba(0,0,0,.17);font-weight:950}.cns-idra-access img{width:44px;height:44px;object-fit:contain;background:#fff;border:2px solid var(--cns-yellow);padding:4px}.cns-idra-access span{display:grid;line-height:1.1;font-size:1.15rem}.cns-idra-access small{font-size:.68rem;opacity:.86;letter-spacing:.08em;text-transform:uppercase}.cns-menu-toggle{display:none}.site-footer{background:var(--cns-navy)!important;color:#fff!important;border-top:4px solid var(--cns-yellow)!important}.site-footer a{color:#fff!important}.site-footer h2{color:#fff!important}.site-footer .footer-bottom,.site-footer .footer-note{border-top:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.18);color:#d7dfec}
@media(max-width:1180px){.cns-head-main{gap:18px}.cns-brand{min-width:280px}.cns-brand-text strong{font-size:1.75rem}.cns-brand-text em{font-size:.76rem}.cns-idra-access{min-width:160px;padding:12px 14px}.cns-main-nav>a,.cns-nav-group>button{font-size:.78rem;padding:14px 8px;letter-spacing:.12em}}
@media(max-width:900px){.cns-wrap{width:min(100% - 28px,720px)}.cns-topline-inner{font-size:.86rem}.cns-topline nav{display:none}.cns-head-main{min-height:94px;padding:14px 0;align-items:center}.cns-brand{min-width:0;flex:1;gap:10px}.cns-brand-logo{width:62px;height:62px}.cns-brand-text strong{font-size:1.1rem}.cns-brand-text em{display:block;font-size:.48rem;line-height:1.16;letter-spacing:.07em}.cns-menu-toggle{display:inline-flex;align-items:center;gap:10px;background:var(--cns-yellow);border:3px solid #111;box-shadow:6px 6px 0 rgba(0,0,0,.24);padding:12px 14px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.cns-menu-toggle i,.cns-menu-toggle i:before,.cns-menu-toggle i:after{display:block;width:24px;height:3px;background:#111;content:''}.cns-menu-toggle i{position:relative}.cns-menu-toggle i:before{position:absolute;top:-7px}.cns-menu-toggle i:after{position:absolute;top:7px}.cns-main-nav{display:none;position:absolute;top:100%;left:14px;right:14px;margin:0;background:#fff;border:3px solid #111;box-shadow:8px 8px 0 rgba(0,0,0,.22);padding:10px;z-index:200}.cns-shell.menu-open .cns-main-nav{display:grid;gap:8px}.cns-main-nav>a,.cns-nav-group>button{width:100%;text-align:left;border:1px solid var(--cns-line);background:#fff;padding:15px 14px;color:#111!important;letter-spacing:.08em}.cns-nav-actions>button{box-shadow:none;background:var(--cns-yellow)}.cns-dropdown{position:static;transform:none;min-width:0;border:0;box-shadow:none;padding:0;margin-top:4px;opacity:1;visibility:visible;pointer-events:auto;display:none}.cns-dropdown:before{display:none}.cns-nav-group.is-open .cns-dropdown{display:block;transform:none}.cns-dropdown a{background:#f7f8fa;margin-bottom:4px;border:1px solid var(--cns-line)}.cns-idra-access{margin-left:0;min-width:0;padding:10px 12px}.cns-idra-access img{width:32px;height:32px}.cns-idra-access span{font-size:.9rem}.cns-idra-access small{display:none}}
@media(max-width:560px){.cns-head-main{flex-wrap:wrap}.cns-brand{flex-basis:calc(100% - 118px)}.cns-idra-access{order:4;width:100%;justify-content:center}.cns-menu-toggle{margin-left:auto}.cns-brand-text em{max-width:210px}.cns-topline span{line-height:1.25}}

/* ============================================================
   05. public-home-1-6-16-64E.css
   ============================================================ */
.home-64e{background:#f5f7fb;color:#101624}.home64-hero{position:relative;overflow:hidden;min-height:420px;background:#061126;color:#fff}.home64-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,17,38,.94),rgba(6,17,38,.68) 48%,rgba(6,17,38,.35)),radial-gradient(circle at 85% 20%,rgba(231,201,47,.22),transparent 26%),linear-gradient(135deg,#183d3f,#061126 55%,#0b1b38);}.home64-hero-bg:after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.05),transparent 48%),repeating-linear-gradient(0deg,rgba(255,255,255,.035),rgba(255,255,255,.035) 1px,transparent 1px,transparent 42px)}.home64-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.72fr);gap:44px;align-items:center;padding:76px 0}.home64-kicker{color:var(--cns-yellow);font-weight:950;text-transform:uppercase;letter-spacing:.16em;margin:0 0 14px}.home64-copy h1{font-size:clamp(2.2rem,5.1vw,5.3rem);line-height:.98;max-width:870px;margin:0 0 20px;letter-spacing:-.045em}.home64-copy p{font-size:clamp(1rem,1.55vw,1.35rem);line-height:1.48;max-width:760px;color:#e6edf7}.home64-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.home64-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 25px;border:2px solid rgba(255,255,255,.86);color:#fff;text-decoration:none;font-weight:950}.home64-btn.primary{background:var(--cns-yellow);border-color:var(--cns-yellow);color:#111;box-shadow:7px 7px 0 rgba(0,0,0,.28)}.home64-idra-card{background:#fff;color:var(--cns-ink);border-radius:18px;box-shadow:var(--cns-shadow);padding:32px;min-height:278px;border-top:5px solid var(--cns-yellow)}.home64-idra-card img{width:min(230px,62%);max-height:130px;object-fit:contain;display:block;margin-bottom:18px}.home64-idra-card h2{font-size:2rem;margin:0 0 8px}.home64-idra-card p{color:#374151;line-height:1.45}.home64-idra-card a{font-weight:950;color:var(--cns-navy);text-decoration:none}.home64-services,.home64-fast,.home64-evidence{padding:38px 0}.home64-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}.home64-section-head h2{font-size:clamp(1.5rem,2.4vw,2.35rem);margin:0}.home64-card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.home64-card{background:#fff;border:1px solid var(--cns-line);border-radius:14px;padding:24px 18px;min-height:150px;text-decoration:none;color:var(--cns-ink);box-shadow:0 10px 28px rgba(6,17,38,.06);display:grid;align-content:start;gap:10px}.home64-card strong{font-size:1.05rem}.home64-card em{font-style:normal;color:var(--cns-muted);font-size:.92rem;line-height:1.36}.home64-icon{width:44px;height:44px;border-radius:14px;background:#eaf0f8;display:inline-block;position:relative}.home64-icon:before{content:'';position:absolute;inset:12px;border:4px solid var(--cns-navy);border-radius:3px}.home64-icon.people{background:#eaf4e6}.home64-icon.people:before{border-radius:999px;border-color:#559632}.home64-icon.cap:before{border-top:0;transform:skewX(-20deg);border-color:#1d4f9a}.home64-icon.leaf:before{border-color:#2f7d42;border-radius:50% 0 50% 0}.home64-icon.idra:before{border-color:#158c8c;border-radius:50%}.home64-icon.doc:before{border-color:#233b5f;border-radius:2px}.home64-icon.shield:before{border-color:#51657d;border-radius:0 0 12px 12px}.home64-fast{padding-top:14px}.home64-fast-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.home64-fast-grid a{background:#fff;border-left:5px solid var(--cns-yellow);box-shadow:0 8px 26px rgba(6,17,38,.06);border-radius:10px;color:var(--cns-ink);text-decoration:none;padding:18px 18px;display:grid;gap:4px}.home64-fast-grid a strong{font-size:1.04rem}.home64-fast-grid a span{color:var(--cns-muted);font-size:.92rem}.home64-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home64-news-grid article{background:#fff;border:1px solid var(--cns-line);border-radius:14px;overflow:hidden;box-shadow:0 10px 28px rgba(6,17,38,.06)}.home64-news-grid h3,.home64-news-grid p,.home64-news-grid a{margin-left:20px;margin-right:20px}.home64-news-grid h3{font-size:1.3rem}.home64-news-grid p{color:#4b5565;line-height:1.45}.home64-news-grid a{display:inline-block;margin-bottom:20px;color:var(--cns-navy);font-weight:950;text-decoration:none}.home64-thumb{height:150px;background:linear-gradient(135deg,#123253,#2f7d42)}.home64-thumb.river{background:linear-gradient(135deg,#0b2c4c,#6eb6c7)}.home64-thumb.school{background:linear-gradient(135deg,#f5f7fb,#d1dcf0)}.home64-thumb.hills{background:linear-gradient(135deg,#2f7d42,#b9d174)}
@media(max-width:1100px){.home64-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home64-fast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home64-hero-grid{grid-template-columns:1fr}.home64-idra-card{max-width:620px}}
@media(max-width:720px){.home64-hero-grid{padding:46px 0;gap:28px}.home64-actions{display:grid}.home64-btn{width:100%}.home64-card-grid,.home64-fast-grid,.home64-news-grid{grid-template-columns:1fr}.home64-section-head{display:block}.home64-idra-card{padding:24px}.home64-idra-card img{width:190px}.home64-services,.home64-fast,.home64-evidence{padding:28px 0}.home64-copy h1{font-size:2.45rem}}

/* 1.6.16.64K - logo ufficiale Osservatori Civici */
.home64-card .home64-service-logo{width:58px;height:58px;object-fit:contain;display:block;margin-bottom:2px;filter:drop-shadow(0 5px 10px rgba(6,17,38,.12))}.home64-card-oc{border-top:4px solid #f1d348}.home64-fast-grid a.home64-fast-oc{grid-template-columns:56px 1fr;align-items:center}.home64-fast-grid a.home64-fast-oc img{grid-row:1/3;width:48px;height:48px;object-fit:contain}.home64-fast-grid a.home64-fast-oc strong,.home64-fast-grid a.home64-fast-oc span{grid-column:2}
@media(max-width:720px){.home64-card .home64-service-logo{width:64px;height:64px}.home64-fast-grid a.home64-fast-oc{grid-template-columns:52px 1fr}}

/* 1.6.16.64L · Loghi ufficiali servizi CNSBII */
.home64-card .home64-service-logo{width:74px;height:74px;object-fit:contain;display:block;margin:0 0 10px;filter:drop-shadow(0 10px 18px rgba(6,17,38,.12))}.home64-card-oc .home64-service-logo{width:112px;height:112px;margin-bottom:14px}.home64-card-egeria .home64-service-logo,.home64-card-idra .home64-service-logo{width:88px;height:88px}.home64-fast-grid a.home64-fast-egeria{grid-template-columns:56px 1fr;align-items:center}.home64-fast-grid a.home64-fast-egeria img{grid-row:1/3;width:48px;height:48px;object-fit:contain}.home64-fast-grid a.home64-fast-egeria strong,.home64-fast-grid a.home64-fast-egeria span{grid-column:2}.idra-service-grid-logos a,.idra-service-grid a{position:relative}.idra-service-grid-logos a{padding-left:104px;min-height:112px;align-content:center}.idra-service-grid-logos .idra-service-logo{position:absolute;left:22px;top:50%;transform:translateY(-50%);width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(6,17,38,.13))}.idra-service-grid-logos .idra-service-oc .idra-service-logo{width:76px;height:76px;left:16px}.idra-service-logo-fallback{display:grid!important;place-items:center;border-radius:18px;background:#eef2f8;color:#061126;font-weight:950;font-size:1.35rem}.oc-id-card-mini .mini-left img{width:70px!important;height:70px!important;object-fit:contain!important}.oc-area-head .oc-area-idra img,.oc-top-idra img{width:54px!important;height:54px!important;object-fit:contain!important}.oc-logo-official{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(6,17,38,.12))}@media(max-width:720px){.home64-card .home64-service-logo{width:76px;height:76px}.home64-card-oc .home64-service-logo{width:104px;height:104px}.idra-service-grid-logos a{padding-left:88px;min-height:98px}.idra-service-grid-logos .idra-service-logo{left:18px;width:54px;height:54px}.idra-service-grid-logos .idra-service-oc .idra-service-logo{width:62px;height:62px;left:12px}}

/* ============================================================
   06. public-journeys-69D9.css
   ============================================================ */

/* CNSBII 1.6.16.69D9 · Accessi pubblici e percorsi utente */
:root{--j69-ink:#101828;--j69-muted:#475467;--j69-line:#cfd8e3;--j69-soft:#f4f7fa;--j69-blue:#173b72;--j69-red:#b42318;--j69-green:#087443}
.journey69d9-hero{padding:clamp(42px,7vw,82px) 0;background:linear-gradient(180deg,#f7f9fc 0%,#eef3f8 100%);border-bottom:1px solid var(--j69-line)}
.journey69d9-hero.compact{padding:clamp(34px,6vw,64px) 0}
.journey69d9-hero-grid,.journey69d9-support-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:clamp(22px,5vw,58px);align-items:start}
.journey69d9-help,.journey69d9-session,.journey69d9-card,.journey69d9-empty,.journey69d9-login-card,.journey69d9-login-info{background:#fff;border:1px solid var(--j69-line);border-top:5px solid var(--j69-blue);padding:clamp(20px,3vw,30px);box-shadow:0 12px 30px rgba(16,24,40,.08);min-width:0}
.journey69d9-help ol{margin:0;padding-left:1.3rem}.journey69d9-help li+li{margin-top:.75rem}
.journey69d9-session{margin-top:24px;border-top-color:var(--j69-green);display:grid;gap:4px}
.journey69d9-session.is-off{border-top-color:#667085}.journey69d9-session em{color:var(--j69-muted);font-style:normal}
.journey69d9-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:24px}
.journey69d9-section-head>*{min-width:0}.journey69d9-section-head p{max-width:44rem}
.journey69d9-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.journey69d9-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;height:100%}
.journey69d9-card.is-primary{border-top-color:var(--j69-green)}
.journey69d9-card h2,.journey69d9-card p{margin:0}.journey69d9-card p{color:var(--j69-muted);line-height:1.55}
.journey69d9-card .button{margin-top:auto}
.journey69d9-number{font-weight:900;color:var(--j69-blue);letter-spacing:.08em}
.journey69d9-card-meta{display:flex;gap:8px;flex-wrap:wrap}.journey69d9-card-meta span{border:1px solid var(--j69-line);padding:5px 8px;font-size:.85rem;font-weight:800}
.journey69d9-card dl{width:100%;margin:.5rem 0}.journey69d9-card dl div{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:7px 0;border-top:1px solid #e4e7ec}.journey69d9-card dt{font-weight:800}.journey69d9-card dd{margin:0;overflow-wrap:anywhere}
.journey69d9-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.journey69d9-home{padding:clamp(36px,6vw,72px) 0;background:#fff;border-bottom:1px solid var(--j69-line)}
.journey69d9-home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.journey69d9-home-grid a{display:block;border:1px solid var(--j69-line);border-left:5px solid var(--j69-blue);padding:18px;text-decoration:none;color:var(--j69-ink);background:var(--j69-soft);min-width:0}
.journey69d9-home-grid a:hover,.journey69d9-home-grid a:focus-visible{background:#fff;border-color:var(--j69-blue)}
.journey69d9-home-grid strong,.journey69d9-home-grid span{display:block}.journey69d9-home-grid span{margin-top:6px;color:var(--j69-muted);line-height:1.45}
.journey69d9-support{background:var(--j69-soft)}
.journey69d9-inline-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--j69-line)}
.journey69d9-error{padding:clamp(56px,10vw,120px) 0;text-align:center}.journey69d9-error-code{font-size:clamp(4rem,18vw,10rem);font-weight:950;line-height:.8;margin:0;color:var(--j69-blue);letter-spacing:-.06em}.journey69d9-error .journey69d9-actions{justify-content:center}.journey69d9-error-note{margin-top:24px;color:var(--j69-muted)}
.journey69d9-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,620px) minmax(260px,420px);gap:24px;place-content:center;padding:28px;background:#eef2f6}
.journey69d9-login-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--j69-ink);margin-bottom:24px}.journey69d9-login-brand img{width:62px;height:62px;object-fit:contain}.journey69d9-login-brand strong,.journey69d9-login-brand small{display:block}
.journey69d9-login-form{display:grid;gap:15px;margin-top:22px}.journey69d9-login-form label{display:grid;gap:7px;font-weight:800}.journey69d9-login-form input{width:100%;min-height:48px;padding:11px 12px;border:1px solid #98a2b3;background:#fff;color:var(--j69-ink);font:inherit}.journey69d9-login-form button{justify-content:center}
.journey69d9-login-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid var(--j69-line)}
.journey69d9-login-info h2+ p{margin-top:-.4rem}.journey69d9-login-info p{color:var(--j69-muted);line-height:1.55}
.journey69d9-oc-login details>summary{cursor:pointer;font-weight:900;padding:8px 0}.journey69d9-oc-login details[open]>summary{margin-bottom:10px}
.journey69d9-oc-area .oc-area-main{min-width:0}.journey69d9-oc-area .oc-area-nav a{overflow-wrap:normal;word-break:normal}
.skip-link:focus{z-index:100000}
:focus-visible{outline:3px solid #f59e0b!important;outline-offset:3px!important}
@media(max-width:1040px){.journey69d9-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey69d9-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.journey69d9-hero-grid,.journey69d9-support-grid,.journey69d9-login-shell{grid-template-columns:1fr}.journey69d9-section-head{align-items:flex-start;flex-direction:column}.journey69d9-login-shell{place-content:start;padding:14px}.journey69d9-login-info{order:2}}
@media(max-width:560px){.journey69d9-grid,.journey69d9-home-grid{grid-template-columns:1fr}.journey69d9-actions{display:grid}.journey69d9-actions .button{width:100%;justify-content:center;text-align:center}.journey69d9-card dl div{grid-template-columns:1fr;gap:2px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media(forced-colors:active){.journey69d9-card,.journey69d9-help,.journey69d9-session,.journey69d9-login-card,.journey69d9-login-info{border:2px solid CanvasText}.journey69d9-home-grid a{border:2px solid LinkText}}

/* ============================================================
   07. cnsbii-lumen-ui-official.css
   ============================================================ */
/*
  CNSBII · Lumen UI ufficiale · 1.6.16.66Z REV.6A R4
  Rientro grafico strutturale.
  Questo è l'unico contratto grafico finale caricato per ultimo.
  Non sostituisce i CSS strutturali storici: li normalizza senza riscrivere ogni pagina.
*/
:root{
  --cns-navy:#061126;
  --cns-ink:#111827;
  --cns-muted:#566174;
  --cns-line:#dfe5ee;
  --cns-soft:#f3f6fb;
  --cns-white:#ffffff;
  --cns-red:#c40018;
  --cns-yellow:#e6d84f;
  --cns-green:#5c8a43;
  --cns-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --cns-radius:0px;
  --cns-shadow:0 10px 26px rgba(6,17,38,.06);
}
html{box-sizing:border-box;-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:inherit}
html,body{margin:0;min-height:100%}
body.cnsbii-lumen-ui,body.admin-shell,body.oc-area-public,body.egeria-app-shell{font-family:var(--cns-font)!important;color:var(--cns-ink)!important;background:var(--cns-soft)!important;line-height:1.48!important;letter-spacing:0!important}
body.cnsbii-lumen-ui *:not(.fa):not(.dashicons):not([class*="icon"]),body.admin-shell *:not(.fa):not(.dashicons):not([class*="icon"]),body.oc-area-public *:not(.fa):not(.dashicons):not([class*="icon"]),body.egeria-app-shell *:not(.fa):not(.dashicons):not([class*="icon"]){letter-spacing:normal}
body.cnsbii-lumen-ui a[href],body.admin-shell a[href],body.oc-area-public a[href],body.egeria-app-shell a[href]{pointer-events:auto!important;position:relative;color:inherit;text-decoration:none}
body.cnsbii-lumen-ui a[href]:hover,body.admin-shell a[href]:hover,body.oc-area-public a[href]:hover,body.egeria-app-shell a[href]:hover{text-decoration:underline;text-underline-offset:3px}
body.cnsbii-lumen-ui img,body.admin-shell img,body.oc-area-public img,body.egeria-app-shell img{max-width:100%;height:auto}
body.cnsbii-lumen-ui :is(.card,.panel,.box,.admin-card,.admin-panel,.admin-box,.cns-card,.service-card,.feature-card,.portal-card,.home-card,.status-card,.metric-card,.kpi-card,.idra-account-card,.idra-service-card,.oc-modern-card,.oc-id-preview,.oc-card,.oc-stat-card,.eg-card,.eg-panel,.eg-section,.eg-report-card,.sibilla-card,.dss-card,.export-card,.news-panel,.newsletter,.assoc,.band-item,.step,.state,.state-grid div,.access-grid a,.access-grid div),
body.admin-shell :is(.admin-card,.admin-panel,.admin-box,.export-card,.quick-link,.admin-quick-link,.kpi-card,.metric-card,.sibilla-map-panel,.sibilla-map-canvas,.dss-card),
body.oc-area-public :is(.oc-modern-card,.oc-id-preview,.oc-card,.oc-stat-card,.login-card,.panel,.hero-panel,.oc-lumen-card),
body.egeria-app-shell :is(.eg-card,.eg-panel,.eg-section,.eg-report-card,.eg-modal-card,.eg-install-banner){border-radius:0!important}
body.cnsbii-lumen-ui :is(a,button,.button,.btn,.admin-btn,.cns-btn,.idra-btn,.eg-btn,input,select,textarea,.badge,.status-badge,.chip,.pill,.meta-pill,code),
body.admin-shell :is(a,button,.button,.btn,.admin-btn,input,select,textarea,.badge,.status-badge,.chip,.pill,code),
body.oc-area-public :is(a,button,.button,.btn,input,select,textarea,.badge,.chip,.pill,code),
body.egeria-app-shell :is(a,button,.eg-btn,.eg-icon-btn,input,select,textarea,.badge,.chip,.pill,code){border-radius:0!important}

/* Contrasto pubblico: card bianche dentro hero scura e pannelli IDRA */
.status-card,.status-card *, .home-hero .status-card,.home-hero .status-card *, .hero .status-card,.hero .status-card *, .public-hero .status-card,.public-hero .status-card *, .idra-hero .idra-panel,.idra-hero .idra-panel *, .idra-hero .idra-card,.idra-hero .idra-card *{color:var(--cns-ink)!important}
.status-card p,.status-card .updated,.status-card .meta-pill,.idra-hero .idra-panel p,.idra-hero .idra-card p{color:var(--cns-muted)!important}
.status-card .label,.status-card .eyebrow,.idra-hero .idra-panel small{color:var(--cns-red)!important}
.status-card{background:#fff!important;border-top:8px solid var(--cns-red)!important;border-radius:0!important;box-shadow:none!important}
.hero,.home-hero,.public-hero,.idra-hero{color:#fff!important}.hero p,.home-hero p,.public-hero p,.idra-hero p{color:#f8fafc!important}
body.cnsbii-lumen-ui .top-spacer,body.cnsbii-lumen-ui .debug-spacer,body.admin-shell .top-spacer{display:none!important;height:0!important}
body.cnsbii-lumen-ui > :first-child,body.admin-shell > :first-child,body.oc-area-public > :first-child,body.egeria-app-shell > :first-child{margin-top:0!important}

/* Bottoni e form comuni */
body.cnsbii-lumen-ui :is(.btn,.button,.admin-btn,.cns-btn,.idra-btn,.eg-btn),
body.admin-shell :is(.btn,.button,.admin-btn),
body.oc-area-public :is(.btn,.button),
body.egeria-app-shell :is(.eg-btn,.btn,.button){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 16px;border:2px solid var(--cns-ink);background:#fff;color:var(--cns-ink);font-weight:900;line-height:1.1;text-decoration:none;box-shadow:none}
body.cnsbii-lumen-ui :is(.btn.primary,.button.primary,.admin-btn.primary,.eg-btn.dark),body.admin-shell .admin-btn.primary,body.oc-area-public .button.primary{background:var(--cns-navy)!important;color:#fff!important;border-color:var(--cns-navy)!important}
body.cnsbii-lumen-ui :is(input,select,textarea),body.admin-shell :is(input,select,textarea),body.oc-area-public :is(input,select,textarea),body.egeria-app-shell :is(input,select,textarea){background:#fff!important;color:var(--cns-ink)!important;border:1px solid var(--cns-line)!important;min-height:42px;box-shadow:none!important;line-height:1.25}
body.cnsbii-lumen-ui :is(table),body.admin-shell :is(table),body.oc-area-public :is(table),body.egeria-app-shell :is(table){width:100%;border-collapse:collapse;background:#fff;color:var(--cns-ink)}
body.cnsbii-lumen-ui :is(th,td),body.admin-shell :is(th,td),body.oc-area-public :is(th,td),body.egeria-app-shell :is(th,td){border:1px solid var(--cns-line);padding:10px 12px;vertical-align:top}
body.cnsbii-lumen-ui th,body.admin-shell th,body.oc-area-public th,body.egeria-app-shell th{background:#f8fafc;color:#3f4a5c;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em!important}

/* CMS: non rompere la struttura, correggere ricerca e KPI */
body.admin-shell .admin-sidebar{background:var(--cns-navy)!important;color:#fff!important;border-right:1px solid rgba(255,255,255,.14)!important}
body.admin-shell .admin-menu a{color:#e6edf7!important;background:transparent!important;display:flex!important;align-items:center!important;gap:10px!important;min-height:40px!important;line-height:1.2!important;padding:9px 12px!important;text-decoration:none!important}
body.admin-shell .admin-menu a:hover,body.admin-shell .admin-menu a.is-active{background:rgba(255,255,255,.08)!important;color:#fff!important;border-left:4px solid var(--cns-yellow)!important;padding-left:8px!important}
body.admin-shell .admin-menu-icon,body.admin-shell .menu-icon{width:20px!important;min-width:20px!important;height:20px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;color:var(--cns-yellow)!important;font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;overflow:visible!important}
body.admin-shell .admin-menu-icon:empty::before,body.admin-shell .menu-icon:empty::before{content:"";display:block;width:7px;height:7px;background:var(--cns-yellow)}
body.admin-shell .admin-menu-search-results,body.admin-shell .cms-search-results{background:#fff!important;color:var(--cns-ink)!important;border:1px solid var(--cns-line)!important;box-shadow:none!important}
body.admin-shell .admin-menu-search-results a,body.admin-shell .admin-menu-search-result,body.admin-shell .cms-search-result{display:block!important;background:#fff!important;color:var(--cns-ink)!important;border-bottom:1px solid var(--cns-line)!important;padding:12px 14px!important;line-height:1.3!important;text-decoration:none!important}
body.admin-shell :is(.kpi-card,.metric-card,.stat-card,.dashboard-card){display:flex!important;align-items:baseline!important;gap:8px!important;white-space:normal!important;overflow:visible!important}
body.admin-shell :is(.kpi-card,.metric-card,.stat-card,.dashboard-card)>:is(strong,b,.value){margin-right:4px!important}
body.admin-shell :is(.kpi-card,.metric-card,.stat-card,.dashboard-card)>:is(span,small){margin-left:2px!important;line-height:1.35!important;color:var(--cns-muted)!important}

/* Area Osservatori Civici: stessa logica Portale/IDRA, header compatto e dashboard leggibile */
body.oc-area-public{background:var(--cns-soft)!important;color:var(--cns-ink)!important}
.oc-lumen-topline{background:var(--cns-navy)!important;color:#fff!important;border-bottom:4px solid var(--cns-yellow)!important}
.oc-lumen-wrap{width:min(1320px,calc(100% - 36px));margin:0 auto}
.oc-lumen-topline .oc-lumen-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px;font-size:.86rem}.oc-lumen-topline strong{color:var(--cns-yellow);text-transform:uppercase;letter-spacing:.12em}.oc-lumen-topline a{color:#fff!important;font-weight:800;margin-left:14px;text-decoration:none}
body.oc-area-public .oc-area-top{background:#fff!important;border-bottom:1px solid var(--cns-line)!important;box-shadow:none!important;position:sticky!important;top:0!important;z-index:60!important;padding:0!important;min-height:auto!important}
body.oc-area-public .oc-area-head-inner{width:min(1320px,calc(100% - 36px));margin:0 auto;display:grid;grid-template-columns:minmax(260px,360px) 1fr auto;gap:16px;align-items:center;min-height:82px;padding:10px 0}
body.oc-area-public .oc-area-brand{display:flex!important;align-items:center!important;gap:12px!important;text-decoration:none!important;color:var(--cns-ink)!important;min-width:0}
body.oc-area-public .oc-area-brand img{width:58px!important;height:58px!important;object-fit:contain!important;flex:0 0 58px!important}
body.oc-area-public .oc-area-brand strong{display:block!important;font-size:1.2rem!important;line-height:1.1!important;color:var(--cns-ink)!important;font-weight:950!important;letter-spacing:.02em!important}
body.oc-area-public .oc-area-brand small{display:block!important;color:var(--cns-muted)!important;line-height:1.2!important}
body.oc-area-public .oc-area-nav{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;flex-wrap:wrap!important;margin:0!important;min-width:0}
body.oc-area-public .oc-area-nav a,body.oc-area-public .oc-exit{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:10px 12px!important;border:1px solid var(--cns-line)!important;background:#fff!important;color:var(--cns-ink)!important;text-decoration:none!important;font-weight:900!important;white-space:nowrap!important;box-shadow:none!important}
body.oc-area-public .oc-area-nav a:hover,body.oc-area-public .oc-area-nav a.is-active,body.oc-area-public .oc-area-nav a[aria-current="page"]{border-color:var(--cns-red)!important;color:var(--cns-red)!important;text-decoration:none!important;background:#fff!important}
body.oc-area-public .oc-area-idra-badge{display:flex!important;align-items:center!important;gap:10px!important;padding:10px 14px!important;min-height:54px!important;background:#fffbe6!important;border:2px solid var(--cns-ink)!important;box-shadow:7px 7px 0 rgba(0,0,0,.14)!important;color:var(--cns-ink)!important;text-decoration:none!important;max-width:280px!important}
body.oc-area-public .oc-area-idra-badge img{width:44px!important;height:44px!important;object-fit:contain!important;flex:0 0 44px!important;background:transparent!important}
body.oc-area-public .oc-area-idra-badge strong{display:block!important;font-size:.88rem!important;color:var(--cns-ink)!important;letter-spacing:.04em!important;text-transform:uppercase!important;line-height:1.15!important}.oc-area-idra-badge small{color:var(--cns-muted)!important}
body.oc-area-public .oc-nav-toggle{display:none!important;border:2px solid var(--cns-ink)!important;background:#fff!important;color:var(--cns-ink)!important;padding:10px 14px!important;font-weight:950!important}
body.oc-area-public .oc-area-main{width:min(1320px,calc(100% - 36px))!important;margin:0 auto!important;padding:28px 0 40px!important}
.oc-lumen-dashboard{display:grid;gap:22px}.oc-dashboard-hero{position:relative;background:#fff;border:1px solid var(--cns-line);border-top:6px solid var(--cns-navy);padding:28px;overflow:hidden;box-shadow:var(--cns-shadow)}.oc-dashboard-hero:after{content:"";position:absolute;right:-7%;bottom:0;width:46%;height:70%;background:linear-gradient(135deg,rgba(92,138,67,.14),rgba(230,216,79,.16));clip-path:polygon(18% 100%,100% 0,100% 100%);pointer-events:none}.oc-hero-person{position:relative;z-index:1;display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:center}.oc-avatar-xl img{width:150px!important;height:150px!important;object-fit:cover!important;border:1px solid var(--cns-line);background:#fff}.oc-welcome{margin:0 0 4px;color:var(--cns-green)!important;text-transform:uppercase;letter-spacing:.12em!important;font-weight:950}.oc-dashboard-hero h1{margin:0;font-size:clamp(2.4rem,4.8vw,5.1rem);line-height:.95;letter-spacing:-.04em!important;color:var(--cns-ink)}.oc-subtitle{max-width:760px;color:#3f4a5c!important;font-size:1.12rem!important;line-height:1.45!important;margin:12px 0 0!important}.oc-code-strip{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}.oc-code-strip article{background:#fff;border:1px solid var(--cns-line);padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.oc-code-strip span{grid-column:1/-1;color:var(--cns-muted);font-size:.86rem}.oc-code-strip strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oc-code-strip button{min-height:34px;border:0;background:#f3f6fb;color:var(--cns-navy);font-weight:900;padding:7px 9px}.oc-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,390px);gap:22px}.oc-left{display:grid;gap:18px}.oc-right{display:grid;gap:18px;align-content:start}.oc-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.oc-stat-grid article{background:#fff;border:1px solid var(--cns-line);padding:20px;min-height:116px;text-align:center;box-shadow:var(--cns-shadow)}.oc-stat-grid i{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;background:#f3f6fb;font-style:normal;color:var(--cns-navy);margin-bottom:8px}.oc-stat-grid span{display:block;color:var(--cns-muted)}.oc-stat-grid strong{display:block;color:var(--cns-ink);font-size:1.35rem}.oc-card-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.oc-modern-card,.oc-id-preview{background:#fff!important;border:1px solid var(--cns-line)!important;padding:22px!important;box-shadow:var(--cns-shadow)!important}.oc-card-head{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:14px}.oc-card-head h2,.oc-id-preview h2{margin:0;color:var(--cns-ink);font-size:1.45rem}.oc-card-head a{font-weight:900;color:var(--cns-navy)!important}.oc-modern-card p{margin:0;color:var(--cns-muted)!important;line-height:1.45}.oc-modern-card p strong{color:var(--cns-ink)!important}.oc-mini-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.oc-mini-list li{display:grid!important;grid-template-columns:44px minmax(0,1fr);gap:2px 12px;align-items:start}.oc-mini-list li>span{grid-column:1;grid-row:1/span 2;display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;background:#f3f6fb;color:var(--cns-ink)}.oc-mini-list li>strong{grid-column:2;grid-row:1;color:var(--cns-ink);line-height:1.2}.oc-mini-list li>small{grid-column:2;grid-row:2;color:var(--cns-muted);line-height:1.35}.green-dot,.amber-dot,.blue-dot{border-radius:0!important}.green-dot{background:#eaf4e8!important}.amber-dot{background:#fff4c2!important}.blue-dot{background:#e8f0ff!important}.oc-id-card-mini{display:grid;grid-template-columns:1fr 1.05fr;border:1px solid var(--cns-line);background:#fff;margin:14px 0 16px}.mini-left{background:var(--cns-navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:220px;padding:18px;text-align:center}.mini-left img{width:90px!important;height:90px!important;object-fit:contain!important;background:transparent!important}.mini-left strong{color:#fff;font-size:1.1rem}.mini-right{padding:18px;display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px 14px;align-content:start}.mini-right img{width:70px!important;height:70px!important;object-fit:cover!important;grid-row:1/span 2}.mini-right strong{font-size:1.15rem;color:var(--cns-ink);line-height:1.15}.mini-right span{grid-column:1/-1;font-size:.98rem;font-weight:900;color:var(--cns-navy);white-space:normal;word-break:normal;overflow-wrap:anywhere}.oc-actions-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.oc-progress{height:9px;background:#eef2f7;border:1px solid var(--cns-line);margin:12px 0}.oc-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--cns-green),var(--cns-yellow))}.oc-area-foot{background:var(--cns-navy)!important;color:#fff!important;border-top:4px solid var(--cns-yellow)!important}.oc-area-foot .oc-lumen-wrap{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 0}.oc-area-foot span{display:block;color:#dbe5f4}.oc-area-foot a{color:#fff!important;font-weight:900;margin-left:14px}

/* Egeria: logo trasparente e footer ordinato */
body.egeria-app-shell .eg-topbar{background:#fff!important;border-bottom:4px solid var(--cns-yellow)!important;box-shadow:none!important}
body.egeria-app-shell :is(.eg-brand-icon,.eg-brand-icon img,img[src*="egeria-logo"]){background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}.eg-brand-icon{border:1px solid var(--cns-line)!important;background:#fff!important}
body.egeria-app-shell .eg-mainnav a,body.egeria-app-shell .eg-bottomnav a,body.egeria-app-shell .eg-float-actions a{border-radius:0!important;text-decoration:none!important}
body.egeria-app-shell .eg-footer{display:grid!important;grid-template-columns:auto minmax(240px,1fr) repeat(5,auto)!important;align-items:center!important;gap:18px!important;padding:24px clamp(18px,4vw,60px)!important;background:var(--cns-navy)!important;border-top:4px solid var(--cns-yellow)!important;color:#fff!important}
body.egeria-app-shell .eg-footer-logos{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}.eg-footer-logos img{width:54px!important;height:54px!important;object-fit:contain!important;background:#fff!important;border:0!important;padding:6px!important}.eg-footer-title strong{color:#fff!important;font-size:1.1rem}.eg-footer-title span{color:#dbe5f4!important}.eg-footer a{color:#fff!important;font-weight:900;text-decoration:none!important}.eg-footer a:hover{color:var(--cns-yellow)!important;text-decoration:underline!important}

/* Sibilla e mappa: base coerente, niente promesse false */
body.admin-shell .sibilla-map-panel,body.admin-shell .sibilla-card,body.admin-shell .dss-card{border-radius:0!important;border:1px solid var(--cns-line)!important;background:#fff!important;color:var(--cns-ink)!important}.sibilla-map-canvas,.dss-map,.sibilla-map,.gis-map{border-radius:0!important;background:#071225!important;min-height:420px!important}.sibilla-dss-logo-card{border-radius:0!important;background:#fff!important;border:1px solid var(--cns-line)!important;box-shadow:none!important}

@media(max-width:1180px){body.oc-area-public .oc-area-head-inner{grid-template-columns:minmax(240px,1fr) auto;grid-template-areas:"brand idra" "nav nav"}.oc-area-brand{grid-area:brand}.oc-area-idra-badge{grid-area:idra}.oc-area-nav{grid-area:nav!important;justify-content:flex-start!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:4px}.oc-dashboard-grid{grid-template-columns:1fr}.oc-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.egeria-app-shell .eg-footer{grid-template-columns:1fr!important;align-items:start!important}}
@media(max-width:760px){.oc-lumen-topline .oc-lumen-wrap{display:block;padding:8px 0}.oc-lumen-topline nav{margin-top:4px}.oc-lumen-topline a{margin-left:0;margin-right:12px}body.oc-area-public .oc-area-head-inner{grid-template-columns:1fr auto;grid-template-areas:"brand toggle" "idra idra" "nav nav";padding:10px 0}.oc-nav-toggle{display:inline-flex!important;grid-area:toggle!important;align-items:center;justify-content:center}.oc-area-idra-badge{max-width:none!important;width:100%!important}.oc-area-nav{display:none!important;flex-direction:column!important;align-items:stretch!important;overflow:visible!important}.oc-area-nav.is-open{display:flex!important}.oc-area-nav a{width:100%!important;justify-content:flex-start!important}.oc-area-main{width:min(100% - 28px,1320px)!important;padding:18px 0 28px!important}.oc-hero-person{grid-template-columns:1fr}.oc-avatar-xl img{width:110px!important;height:110px!important}.oc-dashboard-hero{padding:20px}.oc-code-strip{grid-template-columns:1fr}.oc-stat-grid,.oc-card-row,.oc-actions-two{grid-template-columns:1fr}.oc-id-card-mini{grid-template-columns:1fr}.mini-right{grid-template-columns:60px minmax(0,1fr)}.mini-left{min-height:170px}.eg-footer{padding:22px 18px!important}.eg-footer a{white-space:normal!important}.sibilla-map-canvas,.dss-map,.sibilla-map,.gis-map{min-height:320px!important}body.cnsbii-lumen-ui .hero h1,body.cnsbii-lumen-ui .home-hero h1{font-size:clamp(2.2rem,12vw,3.4rem)!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* ==========================================================
   CNSBII · 1.6.16.66Z REV.4
   Hotfix strutturale: contrasto, banda alta, pulsanti, footer,
   Egeria e Sibilla. Nessun nuovo tema, solo regole finali.
   ========================================================== */
html,
body{
  margin:0!important;
  padding:0!important;
  width:100%!important;
  overflow-x:hidden!important;
}
body.cnsbii-lumen-ui::before,
body.cnsbii-lumen-ui::after,
body.admin-shell::before,
body.admin-shell::after,
body.oc-area-public::before,
body.oc-area-public::after,
body.egeria-app-shell::before,
body.egeria-app-shell::after{
  content:none!important;
  display:none!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
}
body.cnsbii-lumen-ui,
body.admin-shell,
body.oc-area-public,
body.egeria-app-shell{
  padding-top:0!important;
  margin-top:0!important;
}
body.cnsbii-lumen-ui > header:first-of-type,
body.cnsbii-lumen-ui .header,
body.cnsbii-lumen-ui .cns-shell,
body.admin-shell > header:first-of-type,
body.admin-shell .admin-topbar,
body.admin-shell .admin-header,
body.oc-area-public > header:first-of-type,
body.oc-area-public .oc-area-top,
body.egeria-app-shell > header:first-of-type,
body.egeria-app-shell .eg-topbar{
  margin-top:0!important;
  top:0!important;
}
body.cnsbii-lumen-ui .site-main,
body.admin-shell .admin-main,
body.admin-shell main,
body.oc-area-public main,
body.egeria-app-shell .eg-main{
  margin-top:0!important;
}

/* Pulsanti pubblici e home: niente testo bianco su sfondo bianco, niente pulsanti vuoti. */
body.cnsbii-lumen-ui .hero :is(.btn,.button,.cns-btn,.idra-btn),
body.cnsbii-lumen-ui .home-hero :is(.btn,.button,.cns-btn,.idra-btn),
body.cnsbii-lumen-ui .public-hero :is(.btn,.button,.cns-btn,.idra-btn),
body.cnsbii-area-home .hero :is(.btn,.button){
  min-width:150px!important;
  color:#ffffff!important;
  border-color:#ffffff!important;
  background:transparent!important;
  text-indent:0!important;
  opacity:1!important;
  visibility:visible!important;
}
body.cnsbii-lumen-ui .hero :is(.btn.primary,.btn.red,.button.primary,.cns-btn.primary),
body.cnsbii-lumen-ui .home-hero :is(.btn.primary,.btn.red,.button.primary,.cns-btn.primary),
body.cnsbii-area-home .hero :is(.btn.primary,.btn.red){
  background:var(--cns-red)!important;
  border-color:var(--cns-red)!important;
  color:#ffffff!important;
}
body.cnsbii-lumen-ui .hero :is(.btn.light,.button.light),
body.cnsbii-lumen-ui .home-hero :is(.btn.light,.button.light),
body.cnsbii-area-home .hero :is(.btn.light,.button.light){
  background:#ffffff!important;
  border-color:#ffffff!important;
  color:var(--cns-ink)!important;
}
body.cnsbii-lumen-ui .hero :is(.btn.outline,.button.outline),
body.cnsbii-lumen-ui .home-hero :is(.btn.outline,.button.outline),
body.cnsbii-area-home .hero :is(.btn.outline,.button.outline){
  background:transparent!important;
  border-color:rgba(255,255,255,.86)!important;
  color:#ffffff!important;
}
body.cnsbii-lumen-ui .hero :is(.btn,.button) *,
body.cnsbii-area-home .hero :is(.btn,.button) *{
  color:inherit!important;
}

/* Contrasto card chiare in hero, IDRA e stati pubblici. */
body.cnsbii-lumen-ui :is(.status-card,.idra-panel,.idra-card,.home-status,.project-card),
body.cnsbii-lumen-ui :is(.status-card,.idra-panel,.idra-card,.home-status,.project-card) *{
  color:var(--cns-ink)!important;
}
body.cnsbii-lumen-ui :is(.status-card,.idra-panel,.idra-card,.home-status,.project-card) :is(p,span,small,em,li){
  color:#4b5563!important;
}
body.cnsbii-lumen-ui :is(.status-card,.idra-panel,.idra-card,.home-status,.project-card) :is(h1,h2,h3,h4,strong,b){
  color:var(--cns-ink)!important;
}
body.cnsbii-lumen-ui :is(.status-card,.idra-panel,.idra-card,.home-status,.project-card) :is(.label,.eyebrow){
  color:var(--cns-red)!important;
}

/* Barra e footer: testo sempre visibile su fondo scuro. */
body.cnsbii-lumen-ui :is(.footer,.site-footer,.footer-note,.footer-bottom),
body.cnsbii-lumen-ui :is(.footer,.site-footer,.footer-note,.footer-bottom) *,
body.oc-area-public .oc-area-foot,
body.oc-area-public .oc-area-foot *,
body.egeria-app-shell .eg-footer,
body.egeria-app-shell .eg-footer *{
  color:#ffffff!important;
}
body.cnsbii-lumen-ui :is(.footer,.site-footer,.footer-note,.footer-bottom) :is(p,span,small,em,li),
body.oc-area-public .oc-area-foot :is(p,span,small,em,li),
body.egeria-app-shell .eg-footer :is(p,span,small,em,li){
  color:#dbe5f4!important;
}
body.cnsbii-lumen-ui :is(.footer,.site-footer,.footer-note,.footer-bottom) a,
body.oc-area-public .oc-area-foot a,
body.egeria-app-shell .eg-footer a{
  color:#ffffff!important;
  text-decoration:none!important;
}
body.cnsbii-lumen-ui :is(.footer,.site-footer,.footer-note,.footer-bottom) a:hover,
body.oc-area-public .oc-area-foot a:hover,
body.egeria-app-shell .eg-footer a:hover{
  color:var(--cns-yellow)!important;
  text-decoration:underline!important;
}

/* Area Osservatori: tessera e card leggibili, senza testo spezzato. */
body.oc-area-public .oc-id-card-mini{
  display:grid!important;
  grid-template-columns:minmax(210px,.95fr) minmax(260px,1.05fr)!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
body.oc-area-public .mini-left{
  min-height:190px!important;
}
body.oc-area-public .mini-right{
  grid-template-columns:82px minmax(0,1fr)!important;
  align-items:start!important;
  gap:12px 16px!important;
  min-width:0!important;
}
body.oc-area-public .mini-right img{
  width:82px!important;
  height:82px!important;
}
body.oc-area-public .mini-right strong{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
body.oc-area-public .mini-right span{
  grid-column:1 / -1!important;
  display:block!important;
  max-width:100%!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  line-height:1.25!important;
  letter-spacing:.02em!important;
}
body.oc-area-public :is(.oc-modern-card,.oc-id-preview,.oc-stat-grid article){
  border-radius:0!important;
  box-shadow:none!important;
}
body.oc-area-public :is(.oc-modern-card,.oc-id-preview,.oc-stat-grid article) :is(p,span,small,em){
  color:#4b5563!important;
  letter-spacing:normal!important;
}
body.oc-area-public :is(.oc-modern-card,.oc-id-preview,.oc-stat-grid article) :is(h1,h2,h3,strong,b){
  color:var(--cns-ink)!important;
}

/* Egeria: testo dei pulsanti e delle azioni rapide sempre visibile. */
body.egeria-app-shell .eg-mainnav a,
body.egeria-app-shell .eg-bottomnav a,
body.egeria-app-shell .eg-float-actions a,
body.egeria-app-shell :is(.eg-btn,.eg-icon-btn,.btn,.button){
  opacity:1!important;
  visibility:visible!important;
  text-indent:0!important;
  color:var(--cns-ink)!important;
  background:#ffffff!important;
  border:2px solid var(--cns-ink)!important;
  box-shadow:none!important;
}
body.egeria-app-shell .eg-mainnav a.is-active,
body.egeria-app-shell .eg-mainnav a.active,
body.egeria-app-shell .eg-bottomnav a.is-active,
body.egeria-app-shell .eg-bottomnav a.active,
body.egeria-app-shell .eg-float-actions a,
body.egeria-app-shell :is(.eg-btn.dark,.eg-icon-btn.dark,.btn.primary,.button.primary){
  background:var(--cns-navy)!important;
  border-color:var(--cns-navy)!important;
  color:#ffffff!important;
}
body.egeria-app-shell .eg-mainnav a *,
body.egeria-app-shell .eg-bottomnav a *,
body.egeria-app-shell .eg-float-actions a *,
body.egeria-app-shell :is(.eg-btn,.eg-icon-btn,.btn,.button) *{
  color:inherit!important;
}
body.egeria-app-shell .eg-float-actions small{
  color:#ffffff!important;
  opacity:1!important;
}
body.egeria-app-shell .eg-brand-icon img,
body.egeria-app-shell img[src*="egeria-logo"]{
  background:transparent!important;
  mix-blend-mode:normal!important;
}

/* Sibilla DSS: allineamento base, niente blocchi sfalsati. */
body.admin-shell .sibilla-hero,
body.admin-shell .sibilla-header,
body.admin-shell .sibilla-toolbar,
body.admin-shell .sibilla-filters,
body.admin-shell .sibilla-kpi-grid,
body.admin-shell .sibilla-data-grid{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.admin-shell .sibilla-kpi-grid,
body.admin-shell .dss-kpi-grid,
body.admin-shell .kpi-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:14px!important;
}
body.admin-shell :is(.sibilla-kpi-grid,.dss-kpi-grid,.kpi-grid) > *{
  display:flex!important;
  align-items:baseline!important;
  gap:8px!important;
  min-width:0!important;
  overflow:visible!important;
}
body.admin-shell .sibilla-map-panel,
body.admin-shell .sibilla-map-canvas,
body.admin-shell .sibilla-card,
body.admin-shell .dss-card{
  border-radius:0!important;
  box-shadow:none!important;
}
body.admin-shell :is(.sibilla-card,.dss-card,.sibilla-map-panel) :is(p,span,small,em,li){
  color:#4b5563!important;
  letter-spacing:normal!important;
}
body.admin-shell :is(.sibilla-card,.dss-card,.sibilla-map-panel) :is(h1,h2,h3,strong,b){
  color:var(--cns-ink)!important;
}

@media(max-width:760px){
  body.oc-area-public .oc-id-card-mini{grid-template-columns:1fr!important}
  body.oc-area-public .mini-right{grid-template-columns:72px minmax(0,1fr)!important}
  body.cnsbii-lumen-ui .hero :is(.btn,.button){width:100%!important;min-width:0!important}
  body.egeria-app-shell .eg-float-actions{right:10px!important}
}


/* ==========================================================
   CNSBII · 1.6.16.66Z REV.6A R4
   Hotfix bloccante: menu CMS e ricerca leggibile.
   Regola: nessun risultato search con testo chiaro su fondo chiaro,
   nessuna colonna compressa, nessun arrotondamento fuori Lumen.
   ========================================================== */
body.admin-shell .admin-sidebar,
body.admin-shell aside.admin-sidebar{
  background:#061126!important;
  color:#f8fafc!important;
}
body.admin-shell .admin-menu-search-box,
body.admin-shell [data-cms-menu-search-box]{
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:0!important;
  box-shadow:none!important;
  margin:12px!important;
  padding:12px!important;
  color:#f8fafc!important;
  overflow:visible!important;
}
body.admin-shell .admin-menu-search-box label,
body.admin-shell [data-cms-menu-search-box] label{
  color:#e6edf7!important;
  display:block!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  line-height:1.2!important;
  margin:0 0 8px!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}
body.admin-shell .admin-menu-search-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px!important;
  gap:8px!important;
  align-items:center!important;
}
body.admin-shell .admin-menu-search-row input,
body.admin-shell input[data-cms-menu-search]{
  width:100%!important;
  min-width:0!important;
  height:48px!important;
  min-height:48px!important;
  padding:0 44px 0 14px!important;
  background:#ffffff!important;
  color:#111827!important;
  border:2px solid #b91c1c!important;
  border-radius:0!important;
  font-size:17px!important;
  line-height:1.2!important;
  box-shadow:none!important;
  outline:none!important;
  caret-color:#111827!important;
}
body.admin-shell input[data-cms-menu-search]::placeholder{
  color:#64748b!important;
  opacity:1!important;
}
body.admin-shell .admin-menu-search-row button,
body.admin-shell button[data-cms-menu-search-clear]{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#111827!important;
  color:#ffffff!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:0!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:none!important;
  text-indent:0!important;
  opacity:1!important;
  visibility:visible!important;
}
body.admin-shell .admin-menu-search-box small,
body.admin-shell #admin-menu-search-help{
  color:#cbd5e1!important;
  display:block!important;
  margin:8px 0 0!important;
  font-size:12px!important;
  line-height:1.35!important;
  white-space:normal!important;
}
body.admin-shell .admin-menu-search-results,
body.admin-shell .admin-menu-search-results[hidden=false],
body.admin-shell [data-cms-menu-search-results],
body.admin-shell .cms-search-results{
  display:block!important;
  margin:12px 0 0!important;
  max-height:360px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#ffffff!important;
  color:#111827!important;
  border:2px solid #d7dee8!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}
body.admin-shell .admin-menu-search-results[hidden],
body.admin-shell [data-cms-menu-search-results][hidden]{
  display:none!important;
}
body.admin-shell .admin-menu-search-results a,
body.admin-shell a.admin-menu-search-result,
body.admin-shell .admin-menu-search-result,
body.admin-shell .cms-search-result{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  padding:14px 16px!important;
  background:#ffffff!important;
  color:#111827!important;
  border:0!important;
  border-bottom:1px solid #e5eaf1!important;
  border-radius:0!important;
  text-decoration:none!important;
  line-height:1.28!important;
  box-shadow:none!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  text-indent:0!important;
  opacity:1!important;
  visibility:visible!important;
}
body.admin-shell .admin-menu-search-results a:last-child,
body.admin-shell a.admin-menu-search-result:last-child{
  border-bottom:0!important;
}
body.admin-shell .admin-menu-search-result strong,
body.admin-shell .admin-menu-search-results a strong,
body.admin-shell .cms-search-result strong{
  display:block!important;
  color:#111827!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1.25!important;
  margin:0 0 4px!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  opacity:1!important;
  visibility:visible!important;
}
body.admin-shell .admin-menu-search-result span,
body.admin-shell .admin-menu-search-results a span,
body.admin-shell .cms-search-result span{
  display:block!important;
  color:#475569!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.25!important;
  margin:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  opacity:1!important;
  visibility:visible!important;
}
body.admin-shell .admin-menu-search-result:hover,
body.admin-shell .admin-menu-search-result:focus,
body.admin-shell .admin-menu-search-result.is-selected,
body.admin-shell .admin-menu-search-results a:hover,
body.admin-shell .admin-menu-search-results a:focus,
body.admin-shell .admin-menu-search-results a.is-selected{
  background:#061126!important;
  color:#ffffff!important;
  outline:2px solid #e6d84f!important;
  outline-offset:-2px!important;
  text-decoration:none!important;
}
body.admin-shell .admin-menu-search-result:hover strong,
body.admin-shell .admin-menu-search-result:focus strong,
body.admin-shell .admin-menu-search-result.is-selected strong,
body.admin-shell .admin-menu-search-results a:hover strong,
body.admin-shell .admin-menu-search-results a:focus strong,
body.admin-shell .admin-menu-search-results a.is-selected strong{
  color:#ffffff!important;
}
body.admin-shell .admin-menu-search-result:hover span,
body.admin-shell .admin-menu-search-result:focus span,
body.admin-shell .admin-menu-search-result.is-selected span,
body.admin-shell .admin-menu-search-results a:hover span,
body.admin-shell .admin-menu-search-results a:focus span,
body.admin-shell .admin-menu-search-results a.is-selected span{
  color:#dbe5f4!important;
}
body.admin-shell .admin-menu a.is-search-hit,
body.admin-shell .admin-menu a.is-search-soft{
  color:#ffffff!important;
  text-decoration:none!important;
}
body.admin-shell .admin-menu a.is-search-hit{
  background:rgba(196,0,24,.26)!important;
  outline:2px solid rgba(230,216,79,.95)!important;
  outline-offset:-2px!important;
}
body.admin-shell .admin-menu a.is-search-soft{
  background:rgba(255,255,255,.075)!important;
}
body.admin-shell .admin-menu a .admin-menu-label,
body.admin-shell .admin-menu-title span:first-child,
body.admin-shell .admin-menu-subtitle{
  word-break:normal!important;
  overflow-wrap:break-word!important;
  white-space:normal!important;
}
@media(max-width:760px){
  body.admin-shell .admin-menu-search-box,
  body.admin-shell [data-cms-menu-search-box]{
    margin:10px!important;
    padding:10px!important;
  }
  body.admin-shell .admin-menu-search-results,
  body.admin-shell [data-cms-menu-search-results]{
    max-height:300px!important;
  }
  body.admin-shell .admin-menu-search-results a,
  body.admin-shell .admin-menu-search-result{
    padding:13px 14px!important;
  }
}

/* REV.6B R2 · Lumen UI guardia contrasto e testo leggibile
   Regola bloccante CNSBII: nessun titolo/lead su sfondo scuro deve ereditare colori scuri,
   nessun blocco operativo deve comprimere il testo in colonne verticali. */
body.admin-shell .sibilla-dss .sdss-hero > .sdss-hero-text,
body.admin-shell .sibilla-dss .sdss-hero > .sdss-hero-text *{
  opacity:1!important;
  visibility:visible!important;
}
body.admin-shell .sibilla-dss .sdss-hero > .sdss-hero-text :is(h1,h2,h3),
body.admin-shell .sibilla-dss .sdss-hero > .sdss-hero-text :is(#sdss-title,#sdss-map-title){
  color:#ffffff!important;
  text-shadow:none!important;
  letter-spacing:normal!important;
  line-height:1.05!important;
}
body.admin-shell .sibilla-dss .sdss-hero > .sdss-hero-text :is(p,.sdss-lead){
  color:#eef4ff!important;
  line-height:1.5!important;
  max-width:980px!important;
}
body.admin-shell .sibilla-dss .sdss-hero > .sdss-hero-text .sdss-eyebrow{
  color:#e6d84f!important;
  font-weight:900!important;
  opacity:1!important;
}
body.admin-shell .sibilla-dss .sdss-hero-actions a,
body.admin-shell .sibilla-dss .sdss-map-tools :is(a,button),
body.admin-shell .sibilla-dss :is(.sdss-mini-btn,.sdss-next-card a){
  min-width:max-content!important;
  color:#ffffff!important;
  background:#061126!important;
  border-color:#061126!important;
  text-decoration:none!important;
  opacity:1!important;
}
body.admin-shell .sibilla-dss .sdss-hero-actions a:not(:first-child){
  color:#061126!important;
  background:#ffffff!important;
  border-color:#ffffff!important;
}
body.admin-shell .sibilla-dss :is(.sdss-model li,.sdss-map-side-card li,.sdss-status-list li){
  grid-template-columns:44px minmax(0,1fr)!important;
  min-width:0!important;
}
body.admin-shell .sibilla-dss :is(.sdss-model li strong,.sdss-model li span,.sdss-map-side-card li span,.sdss-status-list li span){
  grid-column:2!important;
  min-width:0!important;
  display:block!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  line-height:1.4!important;
}
body.admin-shell .sibilla-dss :is(.sdss-model li:before,.sdss-map-side-card li i,.sdss-status-list li i){
  grid-column:1!important;
  grid-row:1 / span 2!important;
}


/* 1.6.16.67H · Hotfix grafica trasversale Lumen UI / IDRA / Sibilla
   Corregge regressioni dovute a selettori globali troppo invasivi.
   Obiettivo: nessun testo invisibile, nessun CTA scuro con testo scuro,
   nessuno spazio alto artificiale, nessuna icona IDRA nascosta. */
html{
  margin:0!important;
  padding:0!important;
}
body.cnsbii-lumen-ui .cns-shell,
body.cnsbii-lumen-ui .idra-site-head,
body.admin-shell .admin-topbar,
body.admin-shell .admin-shell-layout,
body.admin-shell .admin-main,
body.admin-shell #admin-content{
  margin-top:0!important;
  padding-top:0!important;
}

body.cnsbii-lumen-ui .idra-main-nav .idra-nav-cta,
body.cnsbii-lumen-ui .idra-main-nav .idra-nav-cta:link,
body.cnsbii-lumen-ui .idra-main-nav .idra-nav-cta:visited,
body.cnsbii-lumen-ui .idra-main-nav .idra-nav-cta:hover,
body.cnsbii-lumen-ui .idra-main-nav .idra-nav-cta:focus{
  background:#061126!important;
  border:2px solid #061126!important;
  color:#ffffff!important;
  text-decoration:none!important;
}
body.cnsbii-lumen-ui .cns-idra-access,
body.cnsbii-lumen-ui .cns-idra-access:link,
body.cnsbii-lumen-ui .cns-idra-access:visited,
body.cnsbii-lumen-ui .cns-idra-access:hover,
body.cnsbii-lumen-ui .cns-idra-access:focus,
body.cnsbii-lumen-ui .cns-idra-access *,
body.cnsbii-lumen-ui .cns-idra-access small{
  color:#ffffff!important;
  text-decoration:none!important;
}
body.cnsbii-lumen-ui .cns-idra-access img,
body.cnsbii-lumen-ui .idra-logo-block img,
body.cnsbii-lumen-ui .idra-card-head img,
body.cnsbii-lumen-ui .idra-service-logo,
body.cnsbii-lumen-ui .idra-footer img,
body.cnsbii-lumen-ui .oc-area-idra-badge img,
body.cnsbii-lumen-ui .oc-area-idra img{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
}

body.cnsbii-lumen-ui .idra-hero .idra-info-card,
body.cnsbii-lumen-ui .idra-hero .idra-info-card *{
  color:var(--cns-ink)!important;
}
body.cnsbii-lumen-ui .idra-hero .idra-info-card :is(p,span,small,em,li){
  color:#4b5565!important;
}
body.cnsbii-lumen-ui .idra-hero .idra-info-card :is(h1,h2,h3,h4,strong,b){
  color:var(--cns-ink)!important;
}
body.cnsbii-lumen-ui .idra-hero .idra-info-card li{
  background:#fbfcff!important;
  border:1px solid var(--cns-line)!important;
}
body.cnsbii-lumen-ui .idra-hero .idra-info-card li b{
  display:block!important;
  color:var(--cns-ink)!important;
}
body.cnsbii-lumen-ui .idra-hero .idra-info-card li span{
  display:block!important;
  color:#5c6677!important;
}
body.cnsbii-lumen-ui .idra-hero .idra-hero-actions .idra-btn,
body.cnsbii-lumen-ui .idra-hero .idra-actions-line .idra-btn{
  min-width:170px!important;
  background:#ffffff!important;
  border-color:#ffffff!important;
  color:#061126!important;
  text-decoration:none!important;
}
body.cnsbii-lumen-ui .idra-hero .idra-hero-actions .idra-btn.primary,
body.cnsbii-lumen-ui .idra-main-grid .idra-btn.primary,
body.cnsbii-lumen-ui .idra-migration .idra-btn.primary{
  background:var(--cns-yellow)!important;
  border-color:var(--cns-yellow)!important;
  color:#111111!important;
}
body.cnsbii-lumen-ui .idra-hero .idra-return b,
body.cnsbii-lumen-ui .idra-hero .idra-return strong{
  color:#ffffff!important;
}
body.cnsbii-lumen-ui .idra-hero .idra-return :is(span,small,p){
  color:#dbe5f4!important;
}

body.admin-shell .sibilla-dss .sdss-hero-actions a,
body.admin-shell .sibilla-dss .sdss-hero-actions a *{
  opacity:1!important;
  visibility:visible!important;
  text-indent:0!important;
}
body.admin-shell .sibilla-dss .sdss-hero-actions a{
  min-width:170px!important;
}

/* ============================================================
   08. cnsbii-lumen-idra-quality-guard-68D.css
   ============================================================ */
/*
 * CNSBII 1.6.16.68D - Guardia qualità Lumen/IDRA
 * Obiettivo: qualità trasversale senza alterare la palette pubblica.
 * - non forza sfondi hero / portale / IDRA;
 * - non nasconde elementi grafici pubblici;
 * - non impone bianco generalizzato;
 * - controlla responsività, focus, tap-target, tabelle, media e forme troppo tonde.
 */
:root{
  --cns-68d-focus:#f59e0b;
  --cns-68d-line:#d9e2ef;
  --cns-68d-radius:4px;
  --cns-68d-card-radius:8px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden}

/* Media sempre fluidi: requisito mobile, W3C e sostenibilità. */
img,svg,video,canvas{max-width:100%;height:auto}
img[width],img[height]{height:auto}

/* Focus visibile per tastiera e accessibilità. */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--cns-68d-focus)!important;
  outline-offset:3px!important;
  box-shadow:none!important;
}

/* Bottoni e controlli: squadrati, leggibili, senza cambiare colori o palette. */
:where(
  .btn,.button,.cns-btn,.idra-btn,.home64-btn,.admin-btn,.p10-btn,.eg-btn,.oc-btn,
  .action-btn,.toolbar a,.toolbar button,
  button,input[type="button"],input[type="submit"],input[type="reset"]
){
  border-radius:var(--cns-68d-radius)!important;
  min-height:44px;
  min-width:44px;
  line-height:1.15;
  white-space:normal;
  text-align:center;
  touch-action:manipulation;
}

/* Chip, badge e pill: niente forma a capsula. Non cambia colore. */
:where(.pill,.chip,.badge,.status-badge,.meta-pill,.eg-chip,.sibilla-chip,.priority-badge){
  border-radius:var(--cns-68d-radius)!important;
}

/* Card e pannelli: raggio controllato, senza toccare sfondi/hero/palette. */
:where(
  .card,.panel,.box,.admin-card,.admin-panel,.admin-box,.dashboard-card,.metric-card,.kpi-card,.stat-card,
  .p10-panel,.p10-kpi,.p10-module-card,.p10-list-item,.export-card,.quick-link,.admin-quick-link,
  .home64-card,.home64-idra-card,.home64-fast-grid a,.home64-news-grid article,
  .idra-card,.idra-panel,.portal-card,.service-card,.feature-card,.project-card,.news-panel,
  .oc-modern-card,.oc-id-preview,.oc-card,.oc-stat-card,.oc-dashboard-hero,.oc-code-strip article,
  .eg-card,.eg-panel,.eg-section,.eg-report-card,.eg-modal-card,.eg-install-banner,
  .sibilla-card,.dss-card,.sibilla-map-panel,.sdss-next-card,.sdss-map-side-card
){
  border-radius:var(--cns-68d-card-radius)!important;
}

/* Form: tap target minimo e compatibilità mobile. Non modifica palette. */
:where(input,select,textarea){
  max-width:100%;
  min-height:44px;
  border-radius:var(--cns-68d-radius)!important;
}
:where(textarea){min-height:110px;resize:vertical}
:where(label){cursor:pointer}
:where(input[type="checkbox"],input[type="radio"]){min-height:auto;min-width:18px;width:18px;height:18px}

/* Utility accessibile per label testuali non visibili. */
.sr-only,.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Tabelle e blocchi larghi: prevenzione overflow su mobile. */
:where(.table-scroll,.table-responsive,.admin-table-wrap,.p10-table-wrap,.responsive-table){
  width:100%;
  max-width:100%;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
}
:where(table){max-width:100%;border-collapse:collapse}
:where(th,td){overflow-wrap:anywhere}

/* Evita parole schiacciate, colonne ingestibili e blocchi fuori viewport. */
:where(main,section,article,aside,header,footer,.container,.wrap,.admin-content,.content,.panel,.card){
  max-width:100%;
}
:where(p,li,dd,dt,blockquote,figcaption,.muted,.small,.desc,.description){
  overflow-wrap:anywhere;
}

/* Riduzione motion: accessibilità ed eco-performance. */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}

/* Mobile: niente colonne rigide e bottoni usabili. */
@media (max-width: 760px){
  :where(
    .grid,.grid-2,.grid-3,.grid-4,.admin-grid,.admin-grid-2,.admin-grid-3,.admin-grid-4,
    .stat-grid,.kpi-grid,.p10-kpi-grid,.p10-module-grid,.p10-hero,.home64-hero-grid,
    .home64-fast-grid,.home64-news-grid,.oc-dashboard-grid,.oc-code-strip,.eg-form-grid,
    .sibilla-grid,.sdss-grid
  ){
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  :where(.btn,.button,.cns-btn,.idra-btn,.home64-btn,.admin-btn,.p10-btn,.eg-btn,.oc-btn,button,input[type="button"],input[type="submit"]){
    width:100%;
    max-width:100%;
  }
  :where(.toolbar,.actions,.admin-actions,.p10-actions,.hero-actions,.home64-actions,.eg-actions,.oc-actions){
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  :where(.admin-content,.content,.container,.wrap,.home64-copy,.home64-idra-card,.p10-panel,.admin-card,.oc-modern-card,.eg-panel){
    padding-left:16px;
    padding-right:16px;
  }
}

@media (min-width: 761px){
  :where(.toolbar,.actions,.admin-actions,.p10-actions,.hero-actions,.home64-actions,.eg-actions,.oc-actions){
    flex-wrap:wrap;
  }
}

/* CNSBII 1.6.16.68D-REV2 - Pulsanti admin blu e installatore operativo.
   Ambito: solo shell admin / installatore. Non altera home, portale pubblico o IDRA. */
body.admin-shell :where(.button.primary,button.button.primary,input[type="submit"].button.primary,.admin-btn.primary){
  background:#1d4675!important;
  border-color:#1d4675!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.admin-shell :where(.button.primary,button.button.primary,input[type="submit"].button.primary,.admin-btn.primary):hover{
  background:#173a62!important;
  border-color:#173a62!important;
  color:#fff!important;
}
body.admin-shell :where(.button.primary,button.button.primary,input[type="submit"].button.primary,.admin-btn.primary):focus-visible{
  outline:3px solid var(--cns-68d-focus)!important;
  outline-offset:3px!important;
}

body.admin-shell .pi-installer-hero{
  background:linear-gradient(135deg,#f8fbff 0%,#eef5fb 100%);
  border:1px solid var(--cns-68d-line);
  border-left:6px solid #1d4675;
  border-radius:8px;
  padding:24px;
  margin:0 0 18px;
  color:#0f172a;
}
body.admin-shell .pi-installer-kicker{
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
  font-weight:900;
  color:#1d4675;
  margin-bottom:8px;
}
body.admin-shell .pi-installer-title-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:18px;
  align-items:start;
}
body.admin-shell .pi-installer-hero h1{
  margin:0 0 8px;
  color:#0f172a;
  line-height:1.12;
}
body.admin-shell .pi-installer-hero p{
  margin:0;
  max-width:980px;
  color:#334155;
  line-height:1.55;
}
body.admin-shell .pi-installer-state{
  background:#fff;
  border:1px solid #cbd5e1;
  border-radius:6px;
  padding:14px;
  display:grid;
  gap:4px;
}
body.admin-shell .pi-installer-state strong{color:#14532d;text-transform:uppercase;font-size:.82rem;letter-spacing:.05em}
body.admin-shell .pi-installer-state span{color:#475569;font-size:.9rem;font-weight:700}
body.admin-shell .pi-installer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
body.admin-shell .pi-installer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:18px;
  margin-bottom:18px;
}
body.admin-shell .pi-panel-head{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin-bottom:14px;
}
body.admin-shell .pi-panel-head h2{margin:0 0 5px;color:#0f172a;line-height:1.18}
body.admin-shell .pi-panel-head p{margin:0;color:#475569;line-height:1.45}
body.admin-shell .pi-step{
  flex:0 0 auto;
  min-width:42px;
  height:42px;
  display:grid;
  place-items:center;
  background:#1d4675;
  color:#fff;
  border-radius:4px;
  font-weight:900;
  letter-spacing:.03em;
}
body.admin-shell .pi-form{
  display:grid;
  gap:16px;
  max-width:760px;
}
body.admin-shell .pi-file-box{
  display:block;
  border:1px dashed #94a3b8;
  background:#f8fafc;
  padding:16px;
  border-radius:6px;
}
body.admin-shell .pi-file-title{
  display:block;
  font-weight:900;
  color:#0f172a;
  margin-bottom:8px;
}
body.admin-shell .pi-file-box input[type=file]{
  display:block;
  width:100%;
  border:1px solid #cbd5e1;
  padding:12px;
  background:#fff;
  border-radius:4px;
}
body.admin-shell .pi-file-box small{
  display:block;
  margin-top:8px;
  color:#475569;
  font-weight:700;
  line-height:1.45;
}
body.admin-shell .pi-main-submit{
  justify-self:start;
  padding-inline:18px;
  font-weight:900;
}
body.admin-shell .pi-check-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
body.admin-shell .pi-check-list li{
  border:1px solid #e2e8f0;
  background:#f8fafc;
  border-radius:6px;
  padding:12px;
  display:grid;
  gap:3px;
}
body.admin-shell .pi-check-list strong{color:#0f172a}
body.admin-shell .pi-check-list span{color:#475569;font-size:.92rem;line-height:1.35}
body.admin-shell .pi-rules-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
body.admin-shell .pi-rules-grid div{
  border:1px solid #e2e8f0;
  background:#fff;
  border-radius:6px;
  padding:12px;
  display:grid;
  gap:6px;
}
body.admin-shell .pi-rules-grid strong{color:#0f172a}
body.admin-shell .pi-rules-grid span{color:#475569;line-height:1.4}
body.admin-shell .pi-rules code,
body.admin-shell .pi-qg code,
body.admin-shell .pi-table code{
  background:#f8fafc;
  border:1px solid #cbd5e1;
  padding:2px 5px;
  border-radius:3px;
}
body.admin-shell .pi-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
body.admin-shell .pi-table{
  width:100%;
  border-collapse:collapse;
  min-width:640px;
}
body.admin-shell .pi-table th,
body.admin-shell .pi-table td{
  border:1px solid #e2e8f0;
  padding:10px;
  text-align:left;
  vertical-align:top;
}
body.admin-shell .pi-table th{
  background:#f8fafc;
  text-transform:uppercase;
  font-size:.78rem;
  color:#334155;
}
body.admin-shell .pi-badge{
  display:inline-block;
  padding:4px 8px;
  border:1px solid #cbd5e1;
  font-weight:900;
  font-size:.72rem;
  border-radius:4px!important;
}
body.admin-shell .pi-badge.is-ok{background:#dcfce7;color:#14532d;border-color:#86efac}
body.admin-shell .pi-badge.is-warn{background:#fef3c7;color:#92400e;border-color:#fcd34d}
body.admin-shell .pi-badge.is-error{background:#fee2e2;color:#991b1b;border-color:#fca5a5}
body.admin-shell .pi-badge.is-info{background:#dbeafe;color:#1e3a8a;border-color:#93c5fd}
body.admin-shell .pi-errors{
  background:#fff1f2;
  border:1px solid #fecdd3;
  padding:14px 14px 14px 34px;
  color:#991b1b;
}
body.admin-shell .pi-qg{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  padding:14px 16px;
  margin:10px 0 18px;
  border-radius:6px;
}
body.admin-shell .pi-qg p{margin:0 0 8px}
body.admin-shell .pi-qg ul{margin:8px 0 0 20px}
@media (max-width: 900px){
  body.admin-shell .pi-installer-title-row,
  body.admin-shell .pi-installer-grid,
  body.admin-shell .pi-rules-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 560px){
  body.admin-shell .pi-installer-hero,
  body.admin-shell .pi-upload-panel,
  body.admin-shell .pi-check-panel,
  body.admin-shell .pi-rules,
  body.admin-shell .pi-report-panel,
  body.admin-shell .pi-backup-panel{
    padding:16px;
  }
  body.admin-shell .pi-panel-head{display:grid;gap:10px}
  body.admin-shell .pi-installer-actions{display:grid}
  body.admin-shell .pi-installer-actions .button,
  body.admin-shell .pi-main-submit{width:100%}
}



/* CSS originale Console PEC 66H incorporato per uso dentro CMS. */

:root{--pec-night:#071126;--pec-night2:#0b1730;--pec-ink:#151b2b;--pec-muted:#626d7d;--pec-line:#e5e9f0;--pec-soft:#f7f9fc;--pec-gold:#e4d34f;--pec-green:#0f7a45;--pec-red:#a52c2c;--pec-white:#fff;--pec-shadow:0 24px 70px rgba(7,17,38,.16)}
.pec-page{margin:0;background:#eef2f7;color:var(--pec-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-rendering:geometricPrecision}.pec-page *{box-sizing:border-box}.pec-page a{color:inherit}.pec-wrap{width:min(100% - 32px,1180px);margin:0 auto}.pec-skip{position:absolute;left:-999px;top:auto}.pec-skip:focus{left:16px;top:16px;background:var(--pec-gold);color:#071126;padding:10px 14px;z-index:20;font-weight:900}.pec-head{background:var(--pec-night);color:#fff;border-bottom:4px solid var(--pec-gold);position:relative;z-index:2}.pec-head .pec-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;flex-wrap:wrap}.pec-brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}.pec-mark{width:58px;height:58px;display:grid;place-items:center;background:#fff;color:var(--pec-night);font-weight:1000;border-radius:2px;box-shadow:inset 0 -5px 0 var(--pec-gold);letter-spacing:-.06em}.pec-brand span{font-weight:950;letter-spacing:.14em;text-transform:uppercase;line-height:1.2;overflow-wrap:anywhere}.pec-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pec-nav a,.pec-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border:1px solid rgba(255,255,255,.22);text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-weight:950;font-size:.76rem;line-height:1.1}.pec-nav a.active,.pec-btn.primary{background:var(--pec-gold);color:var(--pec-night);border-color:var(--pec-gold)}.pec-btn{border-color:#c9d1df;background:#fff;color:var(--pec-night)}.pec-btn.dark{background:var(--pec-night);color:#fff;border-color:var(--pec-night)}.pec-btn:focus,.pec-nav a:focus,.pec-card a:focus,.pec-download a:focus{outline:3px solid var(--pec-gold);outline-offset:3px}.pec-hero{background:linear-gradient(115deg,var(--pec-night) 0%,var(--pec-night2) 58%,#183229 100%);color:#fff;padding:clamp(44px,7vw,92px) 0}.pec-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.72fr);gap:clamp(22px,4vw,58px);align-items:center}.pec-kicker{color:var(--pec-gold);font-weight:1000;letter-spacing:.18em;text-transform:uppercase;font-size:.82rem}.pec-hero h1{font-size:clamp(2.55rem,8vw,6.9rem);line-height:.9;letter-spacing:-.06em;margin:18px 0;overflow-wrap:break-word}.pec-lead{font-size:clamp(1.05rem,2vw,1.45rem);line-height:1.52;color:rgba(255,255,255,.82);max-width:840px}.pec-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.pec-panel{background:#fff;color:var(--pec-night);border-top:6px solid var(--pec-gold);padding:clamp(20px,3vw,34px);box-shadow:var(--pec-shadow);min-width:0}.pec-panel h2,.pec-card h2,.pec-note h2{margin:0 0 12px;font-size:clamp(1.55rem,3vw,2.3rem);line-height:1.05}.pec-panel p,.pec-card p,.pec-note p{color:var(--pec-muted);line-height:1.62}.pec-guard-list{display:grid;gap:10px;margin-top:16px}.pec-guard-list div{border:1px solid var(--pec-line);background:#f8fafc;padding:12px}.pec-guard-list b{display:block}.pec-guard-list span{display:block;color:var(--pec-muted);overflow-wrap:anywhere}.pec-section{padding:clamp(34px,5vw,70px) 0}.pec-section.dark{background:var(--pec-night);color:#fff}.pec-title{font-size:clamp(2rem,4.3vw,3.8rem);line-height:1;margin:0 0 12px;color:var(--pec-night);letter-spacing:-.045em;overflow-wrap:break-word}.pec-title.light{color:#fff}.pec-muted{color:var(--pec-muted);line-height:1.62;max-width:920px}.pec-muted.light{color:rgba(255,255,255,.76)}.pec-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}.pec-kpi,.pec-card,.pec-note,.pec-media-card{background:#fff;border:1px solid var(--pec-line);box-shadow:0 14px 44px rgba(7,17,38,.07);min-width:0;max-width:100%}.pec-kpi{border-top:5px solid var(--pec-gold);padding:18px}.pec-kpi span{display:block;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:var(--pec-muted);font-size:.72rem}.pec-kpi b{display:block;color:var(--pec-night);font-size:2.18rem;line-height:1.1;margin-top:8px}.pec-kpi small{color:var(--pec-muted)}.pec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin-top:24px}.pec-card{padding:18px;border-top:5px solid var(--pec-gold)}.pec-card h3{margin:10px 0 8px;color:var(--pec-night);font-size:1.18rem;line-height:1.18}.pec-pill,.pec-status{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;font-size:.72rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.pec-pill{border-radius:999px;background:#f5ed9b;color:var(--pec-night)}.pec-status{background:#eef2ff;color:#213a86}.pec-status.ok{background:#e9f9ef;color:#0d6832}.pec-status.wait{background:#fff6d6;color:#795600}.pec-status.stop{background:#fdecec;color:#8a1e1e}.pec-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid var(--pec-line);margin-top:22px}.pec-table{width:100%;border-collapse:collapse;min-width:860px}.pec-table th,.pec-table td{padding:13px 14px;border-bottom:1px solid var(--pec-line);text-align:left;vertical-align:top;line-height:1.38;overflow-wrap:anywhere;word-break:normal}.pec-table thead th{background:var(--pec-night);color:#fff;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.pec-table tbody th{color:var(--pec-night);font-weight:950}.pec-table td{color:#424c5b}.pec-flow{counter-reset:flow;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;margin-top:24px}.pec-flow article{counter-increment:flow;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:16px}.pec-flow article:before{content:counter(flow);display:grid;place-items:center;width:34px;height:34px;background:var(--pec-gold);color:var(--pec-night);font-weight:1000}.pec-flow h3{margin:12px 0 8px;color:#fff}.pec-flow p{color:rgba(255,255,255,.76);margin:0}.pec-note{border-left:5px solid var(--pec-gold);padding:20px}.pec-media-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);gap:16px;margin-top:24px}.pec-media-card{border-top:5px solid var(--pec-gold);padding:20px}.pec-page audio,.pec-page video,.pec-page iframe{display:block;width:100%;max-width:100%;border:0}.pec-page video,.pec-page iframe,.pec-video-box{aspect-ratio:16/9;background:var(--pec-night);height:auto}.pec-video-box{display:grid;place-items:center;color:#fff;text-align:center;padding:20px}.pec-player-surface{display:grid;gap:12px;min-height:150px;border:2px dashed #c9d1df;background:#f8fafc;color:var(--pec-muted);font-weight:800;text-align:left;padding:20px}.pec-player-surface strong{color:var(--pec-night)}.pec-player-bar{height:12px;border-radius:999px;background:linear-gradient(90deg,var(--pec-gold) 0 38%,#dbe2ee 38%)}.pec-download{display:grid;gap:10px;margin-top:14px}.pec-download a{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:46px;padding:12px 14px;background:#f8fafc;border:1px solid var(--pec-line);text-decoration:none;font-weight:850}.pec-download a span{color:var(--pec-muted);font-weight:700}.pec-warning{background:#fff8d6;border:1px solid #f0df75;color:#5b4a00;padding:14px;margin-top:18px;font-weight:780}.pec-footer{background:var(--pec-night);color:rgba(255,255,255,.76);padding:26px 0;border-top:4px solid var(--pec-gold)}.pec-footer p{margin:0}.pec-footer strong{color:#fff}.pec-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.pec-field{border:1px solid var(--pec-line);background:#f8fafc;padding:12px}.pec-field b{display:block;color:var(--pec-night)}.pec-field span{display:block;color:var(--pec-muted);margin-top:4px;overflow-wrap:anywhere}@media(max-width:1180px){.pec-brand{max-width:100%;flex:1 1 100%}.pec-head .pec-wrap{justify-content:flex-start}.pec-nav{justify-content:flex-start}}@media(max-width:980px){.pec-hero-grid,.pec-media-grid{grid-template-columns:1fr}.pec-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pec-form-grid{grid-template-columns:1fr}}@media(max-width:720px){.pec-wrap{width:min(100% - 22px,1180px)}.pec-head .pec-wrap{align-items:flex-start;gap:12px}.pec-brand{width:100%;letter-spacing:.08em}.pec-mark{width:52px;height:52px;min-width:52px}.pec-brand span{font-size:.82rem;letter-spacing:.07em}.pec-nav{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;width:100%;padding-bottom:8px;scrollbar-width:thin}.pec-nav a{flex:0 0 auto;padding:9px 12px;font-size:.72rem}.pec-hero{padding:38px 0}.pec-hero h1{font-size:clamp(2.1rem,13vw,4.05rem);letter-spacing:-.045em;max-width:100%;overflow-wrap:break-word}.pec-lead{font-size:1.02rem}.pec-actions .pec-btn{width:100%}.pec-kpis{grid-template-columns:1fr}.pec-title{font-size:clamp(1.9rem,10vw,3.2rem)}.pec-table-wrap{overflow:visible;background:transparent;border:0}.pec-table,.pec-table thead,.pec-table tbody,.pec-table tr,.pec-table th,.pec-table td{display:block;width:100%;min-width:0}.pec-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pec-table tr{background:#fff;border:1px solid var(--pec-line);box-shadow:0 12px 34px rgba(7,17,38,.06);padding:12px;margin-bottom:12px}.pec-table tbody th{border:0;padding:0 0 10px;font-size:1.05rem}.pec-table td{display:grid;grid-template-columns:minmax(112px,.42fr) minmax(0,1fr);gap:10px;border:0;border-top:1px solid #edf0f5;padding:9px 0;max-width:100%}.pec-table td::before{content:attr(data-label);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pec-muted);font-weight:950;overflow-wrap:break-word}.pec-media-card,.pec-note{padding:16px}.pec-player-surface{min-height:126px}.pec-download a{display:grid;grid-template-columns:1fr;align-items:start}}@media(max-width:430px){.pec-table td{grid-template-columns:1fr!important;gap:4px}.pec-grid{grid-template-columns:1fr}.pec-kicker{letter-spacing:.16em}.pec-panel{padding:18px}.pec-section{padding:30px 0}.pec-kpi b{font-size:2rem}.pec-flow article{padding:14px}.pec-brand span{font-size:.76rem}.pec-mark{width:48px;height:48px;min-width:48px}.pec-nav a{font-size:.68rem;padding:8px 10px}.pec-panel h2,.pec-card h2,.pec-note h2{font-size:1.55rem}}@media(prefers-reduced-motion:reduce){.pec-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* 1.6.16.66H REV.2 · Blocco stile stabile Console PEC
   Scopo: rendere bottoni, link, badge e aree interattive sempre leggibili senza cambiare l'impianto premium. */
.pec-page{--pec-button-text:#071126;--pec-button-border:#b9c3d4;--pec-button-hover:#f3f6fb;--pec-button-dark:#071126;--pec-button-dark-text:#ffffff;--pec-focus:#e4d34f;--pec-safe-link:#071126;--pec-safe-muted:#4d5868;}
.pec-page .pec-btn,
.pec-page a.pec-btn,
.pec-page button.pec-btn{background:#ffffff!important;color:var(--pec-button-text)!important;border:1.5px solid var(--pec-button-border)!important;text-shadow:none!important;text-decoration:none!important;box-shadow:none;}
.pec-page .pec-btn:visited{color:var(--pec-button-text)!important;}
.pec-page .pec-btn:hover{background:var(--pec-button-hover)!important;color:var(--pec-button-text)!important;border-color:#8997ac!important;}
.pec-page .pec-btn.primary,
.pec-page a.pec-btn.primary,
.pec-page button.pec-btn.primary{background:var(--pec-gold)!important;color:#071126!important;border-color:var(--pec-gold)!important;}
.pec-page .pec-btn.primary:hover{background:#f1df59!important;color:#071126!important;border-color:#f1df59!important;}
.pec-page .pec-btn.dark,
.pec-page a.pec-btn.dark,
.pec-page button.pec-btn.dark{background:var(--pec-button-dark)!important;color:var(--pec-button-dark-text)!important;border-color:var(--pec-button-dark)!important;}
.pec-page .pec-btn.dark:hover{background:#12203c!important;color:#ffffff!important;border-color:#12203c!important;}
.pec-page .pec-actions .pec-btn{min-width:clamp(180px,22vw,260px);font-weight:1000;}
.pec-page .pec-nav a{color:#ffffff!important;background:transparent!important;border:1px solid rgba(255,255,255,.34)!important;text-shadow:none!important;}
.pec-page .pec-nav a:visited{color:#ffffff!important;}
.pec-page .pec-nav a:hover{background:rgba(255,255,255,.12)!important;color:#ffffff!important;border-color:rgba(255,255,255,.58)!important;}
.pec-page .pec-nav a.active{background:var(--pec-gold)!important;color:#071126!important;border-color:var(--pec-gold)!important;}
.pec-page .pec-card a:not(.pec-btn),
.pec-page .pec-panel a:not(.pec-btn),
.pec-page .pec-note a:not(.pec-btn){color:var(--pec-safe-link)!important;text-decoration:underline;text-underline-offset:3px;}
.pec-page .pec-card p,
.pec-page .pec-panel p,
.pec-page .pec-note p,
.pec-page .pec-field span,
.pec-page .pec-guard-list span{color:var(--pec-safe-muted)!important;}
.pec-page .pec-card h2,
.pec-page .pec-card h3,
.pec-page .pec-panel h2,
.pec-page .pec-note h2,
.pec-page .pec-field b{color:#151b2b!important;}
.pec-page .pec-download a{background:#ffffff!important;color:#071126!important;border:1.5px solid #c9d1df!important;}
.pec-page .pec-download a:visited{color:#071126!important;}
.pec-page .pec-download a:hover{background:#f3f6fb!important;color:#071126!important;border-color:#8997ac!important;}
.pec-page .pec-download a strong{color:#071126!important;}
.pec-page .pec-download a span{color:#4d5868!important;}
.pec-page .pec-status,
.pec-page .pec-pill{border:1px solid rgba(7,17,38,.08);text-shadow:none!important;}
.pec-page .pec-status.ok{background:#e8f8ee!important;color:#08592b!important;}
.pec-page .pec-status.wait{background:#fff4c6!important;color:#5d4400!important;}
.pec-page .pec-status.stop{background:#fee2e2!important;color:#7f1d1d!important;}
.pec-page .pec-pill{background:#f5ed9b!important;color:#071126!important;}
.pec-page .pec-warning{background:#fff8d6!important;color:#493a00!important;border-color:#dbc75f!important;}
.pec-page .pec-table thead th{background:#071126!important;color:#ffffff!important;}
.pec-page .pec-table tbody th{color:#071126!important;}
.pec-page .pec-table td{color:#2f3947!important;}
.pec-page .pec-table td::before{color:#526071!important;}
.pec-page .pec-player-surface{background:#ffffff!important;color:#4d5868!important;border-color:#b9c3d4!important;}
.pec-page .pec-player-surface strong{color:#071126!important;}
.pec-page .pec-video-box{color:#ffffff!important;}
.pec-page .pec-btn:focus-visible,
.pec-page .pec-nav a:focus-visible,
.pec-page .pec-download a:focus-visible,
.pec-page .pec-card a:focus-visible{outline:4px solid var(--pec-focus)!important;outline-offset:4px!important;box-shadow:0 0 0 2px #071126!important;}
@media(max-width:720px){.pec-page .pec-actions .pec-btn{width:100%;min-width:0;}.pec-page .pec-nav a{min-height:42px;}.pec-page .pec-table tr{background:#ffffff!important;}.pec-page .pec-table td{color:#253041!important;}}
@media(max-width:430px){.pec-page .pec-btn,.pec-page .pec-nav a{letter-spacing:.055em;}.pec-page .pec-actions{gap:8px;}}


/* CNSBII 1.6.16.68F-REV2 - PEC/Report responsive e console PEC dentro CMS.
   Ambito: solo pagine admin PEC/report. Non cambia home, portale pubblico, IDRA o palette pubblica. */
body.admin-shell .pec68f-page,
body.admin-shell .pec-page.pec-cms-embedded{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
body.admin-shell .pec68f-page{
  --pec68f-blue:#1d4675;
  --pec68f-blue-dark:#173a62;
  --pec68f-ink:#0f172a;
  --pec68f-muted:#475569;
  --pec68f-line:#d9e2ef;
  --pec68f-soft:#f8fafc;
  display:grid;
  gap:18px;
  color:var(--pec68f-ink);
}
body.admin-shell .pec68f-hero{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
  gap:18px;
  align-items:stretch;
  background:linear-gradient(135deg,#f8fbff 0%,#eef5fb 100%);
  border:1px solid var(--pec68f-line);
  border-left:6px solid var(--pec68f-blue);
  border-radius:8px;
  padding:24px;
}
body.admin-shell .pec68f-eyebrow{
  margin:0 0 8px;
  color:var(--pec68f-blue);
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.admin-shell .pec68f-hero h1,
body.admin-shell .pec68f-panel h2,
body.admin-shell .pec68f-rule h2{
  margin:0 0 10px;
  color:var(--pec68f-ink);
  line-height:1.14;
  overflow-wrap:anywhere;
}
body.admin-shell .pec68f-hero p,
body.admin-shell .pec68f-rule p,
body.admin-shell .pec68f-list span,
body.admin-shell .pec68f-links span{
  color:var(--pec68f-muted);
  line-height:1.52;
}
body.admin-shell .pec68f-rule,
body.admin-shell .pec68f-panel,
body.admin-shell .pec68f-kpis article,
body.admin-shell .pec68f-links a{
  background:#fff;
  border:1px solid var(--pec68f-line);
  border-radius:8px;
  min-width:0;
}
body.admin-shell .pec68f-rule{padding:18px}
body.admin-shell .pec68f-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
body.admin-shell .pec68f-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:44px;
  padding:11px 14px;
  border:1px solid #b9c3d4;
  border-radius:4px!important;
  background:#fff;
  color:var(--pec68f-ink)!important;
  text-decoration:none!important;
  font-weight:900;
  line-height:1.1;
  text-align:center;
}
body.admin-shell .pec68f-btn.primary{
  background:var(--pec68f-blue)!important;
  border-color:var(--pec68f-blue)!important;
  color:#fff!important;
}
body.admin-shell .pec68f-btn:hover{background:#f3f6fb;color:var(--pec68f-ink)!important}
body.admin-shell .pec68f-btn.primary:hover{background:var(--pec68f-blue-dark)!important;border-color:var(--pec68f-blue-dark)!important;color:#fff!important}
body.admin-shell .pec68f-btn.small{min-height:38px;padding:8px 10px;font-size:.86rem}
body.admin-shell .pec68f-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
body.admin-shell .pec68f-kpis article{
  padding:16px;
  border-top:5px solid var(--pec68f-blue);
}
body.admin-shell .pec68f-kpis span{
  display:block;
  color:var(--pec68f-muted);
  font-size:.74rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.admin-shell .pec68f-kpis strong{display:block;font-size:2rem;line-height:1.1;margin:8px 0;color:var(--pec68f-ink)}
body.admin-shell .pec68f-kpis small{color:var(--pec68f-muted)}
body.admin-shell .pec68f-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:18px;
  align-items:start;
}
body.admin-shell .pec68f-panel{padding:18px;overflow:hidden}
body.admin-shell .pec68f-panel-head{margin-bottom:14px}
body.admin-shell .pec68f-code{
  width:100%;
  max-width:100%;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  word-break:normal;
  overflow-x:auto;
  background:#f8fafc;
  border:1px solid #d9e2ef;
  border-radius:6px;
  padding:14px;
  color:#0f172a;
  line-height:1.5;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}
body.admin-shell .pec68f-list{display:grid;gap:10px}
body.admin-shell .pec68f-list div{
  border:1px solid #e2e8f0;
  background:#f8fafc;
  border-radius:6px;
  padding:12px;
  display:grid;
  gap:4px;
}
body.admin-shell .pec68f-list b{color:var(--pec68f-ink)}
body.admin-shell .pec68f-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
body.admin-shell .pec68f-table{width:100%;min-width:920px;border-collapse:collapse}
body.admin-shell .pec68f-table th,
body.admin-shell .pec68f-table td{border:1px solid #e2e8f0;padding:10px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
body.admin-shell .pec68f-table thead th{background:#f8fafc;color:#334155;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}
body.admin-shell .pec68f-badge{display:inline-flex;margin-top:6px;padding:4px 8px;border:1px solid #cbd5e1;border-radius:4px;background:#f8fafc;color:#334155;font-size:.72rem;font-weight:900;text-transform:uppercase}
body.admin-shell .pec68f-links{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:12px;
}
body.admin-shell .pec68f-links a{
  display:grid;
  gap:6px;
  padding:14px;
  text-decoration:none!important;
  color:var(--pec68f-ink)!important;
  border-left:5px solid var(--pec68f-blue);
}
body.admin-shell .pec68f-links strong{color:var(--pec68f-ink)}

/* Console PEC incorporata nella shell CMS: rimuove standalone body/header e mantiene navigazione interna. */
body.admin-shell .pec-page.pec-cms-embedded{
  margin:0;
  background:transparent;
  color:#151b2b;
  font-family:inherit;
}
body.admin-shell .pec-cms-content{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
body.admin-shell .pec-page.pec-cms-embedded .pec-wrap{width:min(100%,1180px);margin:0 auto}
body.admin-shell .pec-page.pec-cms-embedded .pec-head{
  background:#071126;
  color:#fff;
  border-bottom:4px solid #e4d34f;
  border-radius:8px 8px 0 0;
  margin-bottom:18px;
}
body.admin-shell .pec-page.pec-cms-embedded .pec-download-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:12px 14px;
  background:#f8fafc;
  border:1px solid #e5e9f0;
  color:#071126;
}
body.admin-shell .pec-page.pec-cms-embedded .pec-download-item span{color:#4d5868;font-weight:700}
@media(max-width:980px){
  body.admin-shell .pec68f-hero,
  body.admin-shell .pec68f-layout{grid-template-columns:1fr}
  body.admin-shell .pec68f-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  body.admin-shell .pec68f-hero,
  body.admin-shell .pec68f-panel{padding:16px}
  body.admin-shell .pec68f-kpis{grid-template-columns:1fr}
  body.admin-shell .pec68f-actions{display:grid;grid-template-columns:1fr}
  body.admin-shell .pec68f-actions .pec68f-btn{width:100%}
  body.admin-shell .pec68f-table-wrap{overflow:visible}
  body.admin-shell .pec68f-table,
  body.admin-shell .pec68f-table thead,
  body.admin-shell .pec68f-table tbody,
  body.admin-shell .pec68f-table tr,
  body.admin-shell .pec68f-table th,
  body.admin-shell .pec68f-table td{display:block;width:100%;min-width:0}
  body.admin-shell .pec68f-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  body.admin-shell .pec68f-table tr{background:#fff;border:1px solid #d9e2ef;border-radius:8px;padding:12px;margin-bottom:12px}
  body.admin-shell .pec68f-table td{border:0;border-top:1px solid #edf2f7;padding:9px 0;display:grid;grid-template-columns:minmax(105px,.4fr) minmax(0,1fr);gap:10px}
  body.admin-shell .pec68f-table td::before{content:attr(data-label);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:950}
}
@media(max-width:430px){
  body.admin-shell .pec68f-table td{grid-template-columns:1fr;gap:4px}
  body.admin-shell .pec68f-hero h1{font-size:clamp(1.9rem,10vw,2.7rem)}
  body.admin-shell .pec68f-kpis strong{font-size:1.8rem}
}


/* CNSBII 1.6.16.68G - Normalizzazione CMS dashboard per PEC/report e audit pagine.
   Ambito: solo admin-shell. Non altera home, portale pubblico o IDRA. */
body.admin-shell .pec-page.pec-cms-embedded{
  background:#f4f7fb!important;
  color:#0f172a!important;
  margin:0!important;
  padding:0!important;
}
body.admin-shell .pec-page.pec-cms-embedded .pec-wrap{
  width:min(100%,1180px)!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.admin-shell .pec-page.pec-cms-embedded .pec-head,
body.admin-shell .pec-page.pec-cms-embedded .pec-hero,
body.admin-shell .pec-page.pec-cms-embedded .pec-section.dark{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #dbe4f0!important;
  border-left:6px solid #1d4675!important;
  box-shadow:0 14px 40px rgba(15,23,42,.06)!important;
  margin:0 0 18px!important;
}
body.admin-shell .pec-page.pec-cms-embedded .pec-head{padding:16px!important;border-top:0!important;border-bottom:1px solid #dbe4f0!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-head .pec-wrap{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;flex-wrap:wrap!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-brand{color:#0f172a!important;min-width:0!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-brand span{color:#0f172a!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-mark{background:#1d4675!important;color:#fff!important;box-shadow:none!important;border-radius:4px!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-nav{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-nav a{
  background:#fff!important;
  color:#1d4675!important;
  border:1px solid #b8c7dc!important;
  border-radius:4px!important;
  min-height:42px!important;
  padding:10px 12px!important;
}
body.admin-shell .pec-page.pec-cms-embedded .pec-nav a.active,
body.admin-shell .pec-page.pec-cms-embedded .pec-nav a[aria-current="page"]{
  background:#1d4675!important;
  color:#fff!important;
  border-color:#1d4675!important;
}
body.admin-shell .pec-page.pec-cms-embedded .pec-hero{padding:22px!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-hero-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,.42fr)!important;gap:18px!important;align-items:start!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-kicker,
body.admin-shell .pec-page.pec-cms-embedded .pec-title,
body.admin-shell .pec-page.pec-cms-embedded .pec-title.light{color:#1d4675!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-hero h1,
body.admin-shell .pec-page.pec-cms-embedded .pec-panel h2,
body.admin-shell .pec-page.pec-cms-embedded .pec-card h3,
body.admin-shell .pec-page.pec-cms-embedded .pec-media-card h3,
body.admin-shell .pec-page.pec-cms-embedded .pec-flow h3{color:#0f172a!important;text-shadow:none!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-hero h1{font-size:clamp(2rem,4.5vw,3.35rem)!important;line-height:1.03!important;letter-spacing:-.035em!important;margin:10px 0!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-lead,
body.admin-shell .pec-page.pec-cms-embedded .pec-muted,
body.admin-shell .pec-page.pec-cms-embedded .pec-muted.light,
body.admin-shell .pec-page.pec-cms-embedded .pec-flow p{color:#475569!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-section{padding:18px 0!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-panel,
body.admin-shell .pec-page.pec-cms-embedded .pec-card,
body.admin-shell .pec-page.pec-cms-embedded .pec-kpi,
body.admin-shell .pec-page.pec-cms-embedded .pec-media-card,
body.admin-shell .pec-page.pec-cms-embedded .pec-flow article{
  background:#fff!important;
  color:#0f172a!important;
  border:1px solid #dbe4f0!important;
  border-top:4px solid #1d4675!important;
  border-radius:6px!important;
  box-shadow:none!important;
}
body.admin-shell .pec-page.pec-cms-embedded .pec-btn,
body.admin-shell .pec-page.pec-cms-embedded a.pec-btn,
body.admin-shell .pec-page.pec-cms-embedded button.pec-btn{
  border-radius:4px!important;
  background:#fff!important;
  color:#1d4675!important;
  border:1px solid #b8c7dc!important;
  min-height:44px!important;
  text-shadow:none!important;
}
body.admin-shell .pec-page.pec-cms-embedded .pec-btn.primary,
body.admin-shell .pec-page.pec-cms-embedded a.pec-btn.primary,
body.admin-shell .pec-page.pec-cms-embedded button.pec-btn.primary{
  background:#1d4675!important;
  color:#fff!important;
  border-color:#1d4675!important;
}
body.admin-shell .pec-page.pec-cms-embedded .pec-pill,
body.admin-shell .pec-page.pec-cms-embedded .pec-status{border-radius:4px!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-table{min-width:760px!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-table thead th{background:#1d4675!important;color:#fff!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-footer{background:#fff!important;color:#475569!important;border:1px solid #dbe4f0!important;border-left:6px solid #1d4675!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-footer strong{color:#0f172a!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-player-bar{border-radius:4px!important;background:#dbe4f0!important;}
body.admin-shell .pec-page.pec-cms-embedded .pec-download-item{display:grid!important;gap:4px!important;background:#fff!important;border:1px solid #dbe4f0!important;border-radius:4px!important;padding:12px!important;}

body.admin-shell .cqa-page{display:grid;gap:18px;color:#0f172a;}
body.admin-shell .cqa-hero,
body.admin-shell .cqa-panel,
body.admin-shell .cqa-kpis article{
  background:#fff;
  border:1px solid #dbe4f0;
  border-left:6px solid #1d4675;
  border-radius:6px;
  box-shadow:0 14px 40px rgba(15,23,42,.06);
}
body.admin-shell .cqa-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;padding:22px;}
body.admin-shell .cqa-kicker{margin:0 0 8px;color:#1d4675;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:950;}
body.admin-shell .cqa-hero h1,.cqa-panel h2{margin:0 0 8px;color:#0f172a;line-height:1.12;}
body.admin-shell .cqa-hero p,.cqa-panel p{margin:0;color:#475569;line-height:1.55;}
body.admin-shell .cqa-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;}
body.admin-shell .cqa-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 12px;border:1px solid #b8c7dc;border-radius:4px;background:#fff;color:#1d4675!important;text-decoration:none;font-weight:900;line-height:1.15;}
body.admin-shell .cqa-btn.primary{background:#1d4675;color:#fff!important;border-color:#1d4675;}
body.admin-shell .cqa-btn.small{min-height:36px;padding:8px 10px;font-size:.88rem;}
body.admin-shell .cqa-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;}
body.admin-shell .cqa-kpis article{padding:14px;border-left:0;border-top:4px solid #1d4675;}
body.admin-shell .cqa-kpis span{display:block;color:#64748b;text-transform:uppercase;letter-spacing:.07em;font-size:.72rem;font-weight:950;}
body.admin-shell .cqa-kpis strong{display:block;color:#0f172a;font-size:2rem;line-height:1.1;margin:6px 0;}
body.admin-shell .cqa-kpis small{color:#64748b;}
body.admin-shell .cqa-panel{padding:18px;overflow:hidden;}
body.admin-shell .cqa-panel-head{margin-bottom:14px;}
body.admin-shell .cqa-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
body.admin-shell .cqa-table{width:100%;min-width:980px;border-collapse:collapse;}
body.admin-shell .cqa-table th,.cqa-table td{border:1px solid #e2e8f0;padding:10px;text-align:left;vertical-align:top;overflow-wrap:anywhere;}
body.admin-shell .cqa-table thead th{background:#1d4675;color:#fff;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;}
body.admin-shell .cqa-status,.cqa-issue{display:inline-flex;align-items:center;min-height:28px;padding:5px 8px;border-radius:4px;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.05em;}
body.admin-shell .cqa-status.ok{background:#e8f8ee;color:#08592b;}
body.admin-shell .cqa-status.da-verificare{background:#fff7d6;color:#604500;}
body.admin-shell .cqa-status.da-correggere{background:#fee2e2;color:#7f1d1d;}
body.admin-shell .cqa-status.critica{background:#7f1d1d;color:#fff;}
body.admin-shell .cqa-issue{background:#f1f5f9;color:#334155;margin:0 4px 4px 0;}
@media(max-width:1100px){body.admin-shell .cqa-hero{grid-template-columns:1fr;}body.admin-shell .cqa-actions{justify-content:flex-start;}body.admin-shell .cqa-kpis{grid-template-columns:repeat(3,minmax(0,1fr));}body.admin-shell .pec-page.pec-cms-embedded .pec-hero-grid{grid-template-columns:1fr!important;}}
@media(max-width:720px){body.admin-shell .cqa-kpis{grid-template-columns:1fr;}body.admin-shell .cqa-actions,.cqa-actions .cqa-btn{width:100%;}body.admin-shell .cqa-table-wrap{overflow:visible;}body.admin-shell .cqa-table,body.admin-shell .cqa-table thead,body.admin-shell .cqa-table tbody,body.admin-shell .cqa-table tr,body.admin-shell .cqa-table th,body.admin-shell .cqa-table td{display:block;width:100%;min-width:0;}body.admin-shell .cqa-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}body.admin-shell .cqa-table tr{background:#fff;border:1px solid #dbe4f0;border-radius:6px;padding:12px;margin-bottom:12px;}body.admin-shell .cqa-table th,body.admin-shell .cqa-table td{border:0;border-top:1px solid #edf2f7;padding:9px 0;}body.admin-shell .cqa-table th:first-child{border-top:0;}body.admin-shell .cqa-table td::before,body.admin-shell .cqa-table th::before{content:attr(data-label);display:block;margin-bottom:4px;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:950;}body.admin-shell .pec-page.pec-cms-embedded .pec-head .pec-wrap{display:grid!important;grid-template-columns:1fr!important;}body.admin-shell .pec-page.pec-cms-embedded .pec-nav{display:grid!important;grid-template-columns:1fr!important;}body.admin-shell .pec-page.pec-cms-embedded .pec-actions{display:grid!important;grid-template-columns:1fr!important;}body.admin-shell .pec-page.pec-cms-embedded .pec-actions .pec-btn{width:100%!important;}body.admin-shell .pec-page.pec-cms-embedded .pec-table{min-width:0!important;}}


/* ==========================================================
   CNSBII 1.6.16.78B · Contratto di contrasto per superfici CMS
   Correzione strutturale: i titoli non vengono più resi scuri
   in modo indiscriminato nelle pagine Egeria/IRIS.

   Per ogni nuova superficie scura usare uno dei due marcatori:
   - data-cns-surface="dark"
   - class="cns-admin-hero--dark"
   ========================================================== */
body.admin-shell :is([data-cns-surface="dark"],.cns-admin-hero--dark){
  --cns-admin-surface-title:#ffffff;
  --cns-admin-surface-copy:#dbe7f2;
  --cns-admin-surface-muted:#b9cbd8;
  --cns-admin-surface-accent:#7ce0d5;
  color:#ffffff!important;
  color-scheme:dark;
}
body.admin-shell :is([data-cns-surface="dark"],.cns-admin-hero--dark) :is(h1,h2,h3,h4,h5,h6,strong,b){
  color:var(--cns-admin-surface-title)!important;
  -webkit-text-fill-color:var(--cns-admin-surface-title)!important;
  text-shadow:none;
}
body.admin-shell :is([data-cns-surface="dark"],.cns-admin-hero--dark) :is(p,li,dt,dd,figcaption){
  color:var(--cns-admin-surface-copy)!important;
  -webkit-text-fill-color:currentColor!important;
}
body.admin-shell :is([data-cns-surface="dark"],.cns-admin-hero--dark) :is(span,small,em){
  color:inherit;
  -webkit-text-fill-color:currentColor!important;
}
body.admin-shell :is([data-cns-surface="dark"],.cns-admin-hero--dark) :is(.eyebrow,.kicker,[class*="-kicker"],[class*="-eyebrow"]){
  color:var(--cns-admin-surface-accent)!important;
  -webkit-text-fill-color:var(--cns-admin-surface-accent)!important;
}
body.admin-shell :is([data-cns-surface="light"],.cns-admin-surface--light){
  color:#0f172a!important;
  color-scheme:light;
}
body.admin-shell :is([data-cns-surface="light"],.cns-admin-surface--light) :is(h1,h2,h3,h4,h5,h6,strong,b){
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
}
body.admin-shell :is([data-cns-surface="light"],.cns-admin-surface--light) :is(p,span,small,li,dt,dd,em,figcaption){
  color:#475569!important;
  -webkit-text-fill-color:currentColor!important;
}

/* ============================================================
   09. portale-operativo-73A.css
   ============================================================ */
/* CNSBII 1.6.16.73A · Portale pubblico operativo */
:root{
  --p73-red:#c40018;
  --p73-ink:#111827;
  --p73-dark:#0b1f3a;
  --p73-muted:#526071;
  --p73-line:#d9dee7;
  --p73-soft:#f4f6f9;
  --p73-white:#fff;
  --p73-green:#17663a;
}
html{scroll-behavior:smooth}
body[data-cns-build="1.6.16.73A"]{overflow-wrap:anywhere}
body[data-cns-build="1.6.16.73A"] .site-main{min-width:0}
body[data-cns-build="1.6.16.73A"] a:focus-visible,
body[data-cns-build="1.6.16.73A"] button:focus-visible,
body[data-cns-build="1.6.16.73A"] input:focus-visible,
body[data-cns-build="1.6.16.73A"] select:focus-visible,
body[data-cns-build="1.6.16.73A"] textarea:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}
.portal73-wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.portal73-kicker{margin:0 0 10px;color:var(--p73-red);font-size:.78rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.portal73-lead{max-width:780px;margin:0;color:#334155;font-size:clamp(1.05rem,1.8vw,1.28rem);line-height:1.65}
.portal73-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.portal73-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:2px solid var(--p73-ink);background:#fff;color:var(--p73-ink)!important;padding:10px 16px;text-decoration:none!important;font-weight:850;line-height:1.2;border-radius:4px;box-shadow:none}
.portal73-button:hover{background:var(--p73-ink);color:#fff!important}
.portal73-button.primary{border-color:var(--p73-red);background:var(--p73-red);color:#fff!important}
.portal73-button.primary:hover{background:#9d0013;border-color:#9d0013}
.portal73-hero{position:relative;padding:clamp(56px,8vw,100px) 0;background:linear-gradient(120deg,#fff 0%,#f7f8fb 65%,#eef1f5 100%);border-bottom:1px solid var(--p73-line)}
.portal73-hero-grid,.portal73-page-hero-grid,.portal73-access-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:36px;align-items:center}
.portal73-hero h1,.portal73-page-hero h1,.portal73-access-hero h1{max-width:900px;margin:0 0 20px;color:var(--p73-ink);font-size:clamp(2.35rem,6vw,5.6rem);line-height:.98;letter-spacing:-.055em}
.portal73-hero-panel,.portal73-identity-panel,.portal73-session{border:1px solid var(--p73-line);border-left:6px solid var(--p73-red);background:#fff;padding:24px;box-shadow:0 14px 34px rgba(15,23,42,.08);border-radius:4px}
.portal73-hero-panel{display:grid;grid-template-columns:112px 1fr;gap:20px;align-items:center}
.portal73-hero-panel img,.portal73-identity-panel img{max-width:100%;height:auto;object-fit:contain}
.portal73-hero-panel strong,.portal73-session strong{display:block;margin-bottom:8px;color:var(--p73-ink);font-size:1.45rem}
.portal73-hero-panel p,.portal73-session p,.portal73-identity-panel p{margin:0;color:var(--p73-muted);line-height:1.55}
.portal73-quick{border-bottom:1px solid var(--p73-line);background:var(--p73-dark);color:#fff}
.portal73-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.portal73-quick-grid>a,.portal73-quick-grid>div{min-width:0;padding:22px 18px;border-right:1px solid rgba(255,255,255,.18);color:#fff!important;text-decoration:none!important}
.portal73-quick-grid>a:last-child,.portal73-quick-grid>div:last-child{border-right:0}
.portal73-quick-grid strong{display:block;margin-bottom:6px;font-size:1rem;color:#fff}
.portal73-quick-grid span{display:block;color:#dbe3ee;font-size:.91rem;line-height:1.45}
.portal73-quick-grid>a:hover{background:#142d50}
.portal73-section{padding:clamp(48px,7vw,84px) 0;background:#fff}
.portal73-section-soft{background:var(--p73-soft);border-block:1px solid var(--p73-line)}
.portal73-section-head{max-width:820px;margin-bottom:28px}
.portal73-section-head-row{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:20px}
.portal73-section h2,.portal73-cta h2,.portal73-access-hero h1{color:var(--p73-ink)}
.portal73-section-head h2,.portal73-two-columns h2,.portal73-cta h2{margin:0;font-size:clamp(1.85rem,4vw,3.3rem);line-height:1.05;letter-spacing:-.035em}
.portal73-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.portal73-card-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.portal73-card{min-width:0;border:1px solid var(--p73-line);border-top:4px solid var(--p73-dark);background:#fff;padding:24px;border-radius:4px;box-shadow:0 10px 24px rgba(15,23,42,.055)}
.portal73-card>span{display:block;margin-bottom:18px;color:var(--p73-red);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.portal73-card h3{margin:0 0 12px;color:var(--p73-ink);font-size:1.3rem;line-height:1.2}
.portal73-card p{margin:0 0 16px;color:var(--p73-muted);line-height:1.6}
.portal73-card a{color:var(--p73-red)!important;font-weight:850;text-decoration-thickness:2px;text-underline-offset:4px}
.portal73-access-grid,.portal73-two-columns,.portal73-rules-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:48px;align-items:start}
.portal73-access-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.portal73-access-list a{display:block;border:1px solid var(--p73-line);background:#fff;color:var(--p73-ink)!important;text-decoration:none!important;padding:18px;border-left:4px solid var(--p73-red);border-radius:3px}
.portal73-access-list strong,.portal73-access-list span{display:block}
.portal73-access-list span{margin-top:5px;color:var(--p73-muted);font-size:.92rem}
.portal73-news-grid,.portal73-document-grid,.portal73-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.portal73-news-card,.portal73-document-card,.portal73-course-card{display:flex;min-width:0;flex-direction:column;border:1px solid var(--p73-line);background:#fff;padding:22px;border-radius:4px;box-shadow:0 10px 24px rgba(15,23,42,.055)}
.portal73-news-card>p,.portal73-document-card>p{margin:0 0 12px;color:var(--p73-red);font-size:.76rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.portal73-news-card h3,.portal73-document-card h2,.portal73-course-card h3{margin:0 0 12px;color:var(--p73-ink);font-size:1.35rem;line-height:1.2}
.portal73-news-card>span,.portal73-document-card>span,.portal73-course-card>p{margin-bottom:20px;color:var(--p73-muted);line-height:1.6}
.portal73-news-card>a{margin-top:auto;color:var(--p73-red)!important;font-weight:850}
.portal73-empty{border:1px dashed #9ba6b6;background:#fff;padding:28px;border-radius:4px}
.portal73-empty h2,.portal73-empty h3{margin:0 0 8px;color:var(--p73-ink)}
.portal73-empty p{margin:0;color:var(--p73-muted);line-height:1.55}
.portal73-note{border-block:1px solid #f0b7bf;background:#fff3f5;padding:18px 0;color:#3f1117}
.portal73-note strong{color:#820011}
.portal73-page-hero,.portal73-access-hero{padding:clamp(52px,7vw,88px) 0;background:var(--p73-soft);border-bottom:1px solid var(--p73-line)}
.portal73-page-hero h1,.portal73-access-hero h1{font-size:clamp(2.2rem,5vw,4.7rem)}
.portal73-identity-panel dl,.portal73-document-card dl,.portal73-course-card dl{margin:0;display:grid;gap:10px}
.portal73-identity-panel dl div,.portal73-document-card dl div,.portal73-course-card dl div{display:grid;grid-template-columns:minmax(90px,.4fr) minmax(0,1fr);gap:12px;border-top:1px solid var(--p73-line);padding-top:10px}
.portal73-identity-panel dt,.portal73-document-card dt,.portal73-course-card dt{color:var(--p73-muted);font-weight:750}
.portal73-identity-panel dd,.portal73-document-card dd,.portal73-course-card dd{margin:0;color:var(--p73-ink);font-weight:800}
.portal73-check-list{display:grid;gap:0;border:1px solid var(--p73-line);background:#fff}
.portal73-check-list p{display:grid;grid-template-columns:minmax(130px,.35fr) minmax(0,1fr);gap:18px;margin:0;padding:18px;border-bottom:1px solid var(--p73-line)}
.portal73-check-list p:last-child{border-bottom:0}
.portal73-check-list strong{color:var(--p73-ink)}
.portal73-check-list span{color:var(--p73-muted);line-height:1.5}
.portal73-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center;border:1px solid var(--p73-line);border-left:6px solid var(--p73-red);padding:28px;background:#fff;border-radius:4px}
.portal73-cta .portal73-actions{justify-content:flex-end;margin-top:0}
.portal73-access-hero{background:linear-gradient(120deg,#f7f8fb,#fff)}
.portal73-session>span{display:block;margin-bottom:8px;color:var(--p73-red);font-size:.76rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.portal73-session.is-active{border-left-color:var(--p73-green)}
.portal73-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.portal73-service-card{display:flex;min-width:0;min-height:285px;flex-direction:column;border:1px solid var(--p73-line);border-top:4px solid var(--p73-dark);background:#fff;color:var(--p73-ink)!important;text-decoration:none!important;padding:22px;border-radius:4px;box-shadow:0 10px 24px rgba(15,23,42,.055)}
.portal73-service-card:hover{border-top-color:var(--p73-red);transform:translateY(-2px)}
.portal73-service-card img,.portal73-service-icon{width:64px;height:64px;margin-bottom:18px;object-fit:contain}
.portal73-service-icon{display:flex;align-items:center;justify-content:center;background:var(--p73-dark);color:#fff;font-size:1rem;font-weight:900}
.portal73-service-card>span:not(.portal73-service-icon){color:var(--p73-red);font-size:.75rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.portal73-service-card>strong{display:block;margin:6px 0 10px;font-size:1.35rem}
.portal73-service-card>p{margin:0 0 18px;color:var(--p73-muted);line-height:1.55}
.portal73-service-card>em{margin-top:auto;color:var(--p73-red);font-style:normal;font-weight:850}
.portal73-numbered-list{margin:0;padding:0;list-style:none;border:1px solid var(--p73-line);background:#fff;counter-reset:p73step}
.portal73-numbered-list li{counter-increment:p73step;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:18px;border-bottom:1px solid var(--p73-line)}
.portal73-numbered-list li:last-child{border-bottom:0}
.portal73-numbered-list li::before{content:counter(p73step);display:flex;width:34px;height:34px;align-items:center;justify-content:center;background:var(--p73-red);color:#fff;font-weight:900}
.portal73-numbered-list strong,.portal73-numbered-list span{display:block}
.portal73-numbered-list span{margin-top:4px;color:var(--p73-muted)}
.portal73-course-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.portal73-course-meta span,.portal73-filter-bar a{border:1px solid var(--p73-line);background:var(--p73-soft);padding:7px 10px;color:var(--p73-ink);font-size:.8rem;font-weight:850;border-radius:3px}
.portal73-course-card .portal73-button,.portal73-document-card .portal73-button{margin-top:auto;align-self:flex-start}
.portal73-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px;border:1px solid var(--p73-line);background:#fff;padding:14px}
.portal73-filter-bar a{text-decoration:none!important}
.portal73-filter-bar a.is-active{border-color:var(--p73-dark);background:var(--p73-dark);color:#fff!important}
.portal73-document-card dl,.portal73-course-card dl{margin-bottom:18px}
.portal73-fire-hero{background:#fff7f1}
.footer-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer-bottom-row small{font-size:.78rem;opacity:.8}
/* Correzioni shell pubblica */
body[data-cns-build="1.6.16.73A"] .cns-main-nav a,
body[data-cns-build="1.6.16.73A"] .cns-main-nav button{white-space:normal}
body[data-cns-build="1.6.16.73A"] .cns-dropdown{min-width:230px}
body[data-cns-build="1.6.16.73A"] .cns-idra-access{min-width:132px}
body[data-cns-build="1.6.16.73A"] .site-footer a{overflow-wrap:anywhere}
@media(max-width:980px){
  .portal73-hero-grid,.portal73-page-hero-grid,.portal73-access-hero-grid,.portal73-access-grid,.portal73-two-columns,.portal73-rules-grid{grid-template-columns:1fr}
  .portal73-card-grid,.portal73-news-grid,.portal73-document-grid,.portal73-course-grid,.portal73-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal73-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal73-quick-grid>a:nth-child(2),.portal73-quick-grid>div:nth-child(2){border-right:0}
  .portal73-quick-grid>a:nth-child(-n+2),.portal73-quick-grid>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}
  .portal73-cta{grid-template-columns:1fr}
  .portal73-cta .portal73-actions{justify-content:flex-start}
}
@media(max-width:680px){
  .portal73-wrap{width:min(100% - 28px,1180px)}
  .portal73-hero,.portal73-page-hero,.portal73-access-hero{padding:42px 0}
  .portal73-hero h1,.portal73-page-hero h1,.portal73-access-hero h1{font-size:clamp(2.05rem,12vw,3.35rem);line-height:1}
  .portal73-hero-panel{grid-template-columns:72px 1fr;padding:18px}
  .portal73-card-grid,.portal73-news-grid,.portal73-document-grid,.portal73-course-grid,.portal73-service-grid,.portal73-access-list{grid-template-columns:1fr}
  .portal73-quick-grid{grid-template-columns:1fr}
  .portal73-quick-grid>a,.portal73-quick-grid>div{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.18)!important}
  .portal73-quick-grid>a:last-child,.portal73-quick-grid>div:last-child{border-bottom:0!important}
  .portal73-section-head-row{align-items:flex-start;flex-direction:column}
  .portal73-actions{flex-direction:column;align-items:stretch}
  .portal73-button{width:100%;box-sizing:border-box}
  .portal73-check-list p{grid-template-columns:1fr;gap:5px}
  .portal73-identity-panel dl div,.portal73-document-card dl div,.portal73-course-card dl div{grid-template-columns:1fr;gap:3px}
  .portal73-service-card{min-height:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portal73-service-card{transition:none!important}}
/* Area Osservatori Civici: shell riservata ripristinata */
body.oc-area-page{margin:0;background:#f4f6f8;color:#101828;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.oc-area-topbar{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px clamp(14px,3vw,30px);background:#0b1f3a;color:#fff;border-bottom:4px solid #c40018}
.oc-area-brand{display:flex;min-width:0;align-items:center;gap:11px;color:#fff!important;text-decoration:none!important}
.oc-area-brand img{width:46px;height:46px;object-fit:contain;background:#fff;padding:4px;border-radius:2px}
.oc-area-brand strong,.oc-area-brand small{display:block;color:#fff}
.oc-area-brand small{font-size:.78rem;opacity:.8}
.oc-area-topbar nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}
.oc-area-topbar nav a{display:inline-flex;min-height:40px;align-items:center;padding:8px 11px;color:#fff!important;text-decoration:none!important;font-weight:800;border:1px solid rgba(255,255,255,.28);background:transparent;border-radius:2px}
.oc-area-topbar nav a:hover,.oc-area-topbar nav a:focus-visible{background:#fff;color:#0b1f3a!important}
.oc-area-userbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px clamp(14px,3vw,30px);background:#fff;border-bottom:1px solid #d0d5dd;font-size:.85rem}
.oc-area-userbar span{color:#667085}.oc-area-userbar strong{color:#101828}
body.oc-area-page .area-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:30px 0 56px}
.oc-area-footer{padding:22px clamp(14px,3vw,30px);background:#0b1f3a;color:#fff;border-top:4px solid #c40018;text-align:center}
.oc-area-footer p{margin:4px 0;color:#fff}.oc-area-footer a{color:#fff!important;overflow-wrap:anywhere}
body.oc-area-page .skip-link{position:fixed;left:12px;top:-80px;z-index:9999;background:#fff;color:#111!important;padding:10px 14px;border:3px solid #111;font-weight:900}
body.oc-area-page .skip-link:focus{top:12px}
@media(max-width:820px){.oc-area-topbar{position:relative;align-items:flex-start;flex-direction:column}.oc-area-topbar nav{width:100%;justify-content:flex-start}.oc-area-topbar nav a{flex:1 1 130px;justify-content:center}.oc-area-userbar{justify-content:flex-start}body.oc-area-page .area-shell{width:min(100% - 24px,1180px);padding-top:20px}}

/* ============================================================
   10. portale-formazione-74P.css
   ============================================================ */
/* CNSBII 1.6.16.74P · Formazione pubblica */
.portal74p-training-page .site-main{overflow:clip;background:#fff}
.tr74p{--tr-ink:#071126;--tr-blue:#10203f;--tr-blue-2:#1a315c;--tr-paper:#fff;--tr-soft:#f3f5f8;--tr-line:#d5dbe4;--tr-yellow:#eadf5c;--tr-red:#b4232a;--tr-muted:#536078;--tr-green:#137a55;color:var(--tr-ink);font-family:inherit;background:#fff}
.tr74p *{box-sizing:border-box}
.tr74p [hidden]{display:none!important}
.tr74p-wrap{width:min(1420px,calc(100% - 64px));margin-inline:auto}
.tr74p h1,.tr74p h2,.tr74p h3,.tr74p p,.tr74p ul,.tr74p ol,.tr74p dl{margin-top:0}
.tr74p h1,.tr74p h2,.tr74p h3{color:var(--tr-ink);text-wrap:balance}
.tr74p p{color:var(--tr-muted);line-height:1.72}
.tr74p a{text-underline-offset:.2em}
.tr74p-brand-mark{display:block;width:clamp(92px,9vw,132px);height:clamp(92px,9vw,132px);object-fit:contain;margin:0 auto 24px 0;background:#fff;border-radius:24px;padding:6px;box-shadow:0 12px 32px rgba(0,0,0,.22)}
.tr74p-kicker{margin:0 0 18px;color:var(--tr-yellow)!important;font-size:.84rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.tr74p-kicker-dark{color:var(--tr-red)!important}
.tr74p-hero{position:relative;isolation:isolate;padding:clamp(72px,8vw,132px) 0;background:linear-gradient(135deg,#071126 0%,#10203f 58%,#1a315c 100%);overflow:hidden}
.tr74p-hero::before{content:"";position:absolute;width:700px;height:700px;right:-270px;top:-430px;border:80px solid rgba(234,223,92,.08);border-radius:50%;z-index:-1}
.tr74p-hero::after{content:"";position:absolute;left:48%;bottom:-210px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(234,223,92,.17),rgba(234,223,92,0) 68%);z-index:-1}
.tr74p-hero-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(350px,.72fr);gap:clamp(42px,7vw,104px);align-items:center}
.tr74p-hero h1{max-width:10ch;margin:0 0 24px;color:#fff;font-size:clamp(3.55rem,7.8vw,8.1rem);line-height:.89;letter-spacing:-.065em}
.tr74p-lead{max-width:860px;margin:0;color:#edf2fb!important;font-size:clamp(1.12rem,1.65vw,1.5rem);line-height:1.58!important}
.tr74p-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:32px}
.tr74p-button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:13px 19px;border:2px solid var(--tr-ink);border-radius:0;font-weight:900;line-height:1.25;text-align:center;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}
.tr74p-button:hover{transform:translateY(-2px)}
.tr74p-button:focus-visible,.tr74p-text-link:focus-visible,.tr74p a:focus-visible,.tr74p button:focus-visible,.tr74p input:focus-visible,.tr74p select:focus-visible,.tr74p summary:focus-visible{outline:4px solid #f2cc0c;outline-offset:4px}
.tr74p-button-primary,.tr74p-button-primary:visited{background:var(--tr-yellow)!important;color:#080d1b!important;box-shadow:8px 8px 0 rgba(0,0,0,.24)}
.tr74p-button-light,.tr74p-button-light:visited{background:#fff!important;color:var(--tr-ink)!important;border-color:#fff}
.tr74p-button-dark,.tr74p-button-dark:visited{background:var(--tr-blue)!important;color:#fff!important;border-color:var(--tr-blue)}
.tr74p-text-link,.tr74p-text-link:visited{display:inline-flex;align-items:center;gap:8px;color:#fff!important;font-weight:900;text-decoration:none!important;padding:13px 4px}
.tr74p-status{background:#fff;border-left:7px solid var(--tr-yellow);padding:clamp(28px,4vw,48px);box-shadow:16px 16px 0 rgba(0,0,0,.26)}
.tr74p-status-label{margin:0 0 10px;color:var(--tr-red)!important;font-size:.78rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.tr74p-status h2{font-size:clamp(1.55rem,2.4vw,2.35rem);line-height:1.08;margin-bottom:24px}
.tr74p-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--tr-line);border:1px solid var(--tr-line);margin:0}
.tr74p-stats div{min-width:0;padding:20px;background:#fff}
.tr74p-stats dt{color:var(--tr-muted);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.tr74p-stats dd{margin:8px 0 0;color:var(--tr-ink);font-size:clamp(1.4rem,2.4vw,2.1rem);font-weight:950;line-height:1.05;overflow-wrap:anywhere}
.tr74p-status-note{margin:20px 0 0!important;color:#35425b!important;font-size:.92rem}
.tr74p-section-nav{position:sticky;top:0;z-index:18;background:#fff;border-bottom:1px solid var(--tr-line);box-shadow:0 10px 28px rgba(7,17,38,.08)}
.tr74p-section-nav .tr74p-wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin;padding-block:9px}
.tr74p-section-nav a,.tr74p-section-nav a:visited{flex:0 0 auto;padding:10px 14px;color:var(--tr-ink)!important;font-weight:850;text-decoration:none!important;border-bottom:3px solid transparent}
.tr74p-section-nav a:hover{border-bottom-color:var(--tr-red)}
.tr74p-section{padding:clamp(72px,8vw,126px) 0;scroll-margin-top:96px}
.tr74p-section-soft{background:var(--tr-soft)}
.tr74p-section-dark{background:var(--tr-blue);color:#fff}
.tr74p-section-dark h2,.tr74p-section-dark h3{color:#fff}
.tr74p-section-dark p{color:#dce5f3}
.tr74p-section-heading{max-width:980px;margin-bottom:clamp(36px,5vw,68px)}
.tr74p-section-heading h2{margin-bottom:20px;font-size:clamp(2.45rem,5vw,5.15rem);line-height:.98;letter-spacing:-.045em}
.tr74p-section-heading>p:last-child{font-size:clamp(1.05rem,1.35vw,1.24rem);margin-bottom:0}
.tr74p-filter{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(170px,.72fr));gap:15px;align-items:end;margin-bottom:34px;padding:24px;background:var(--tr-soft);border:1px solid var(--tr-line)}
.tr74p-field{min-width:0}
.tr74p-field label{display:block;margin-bottom:8px;color:var(--tr-ink);font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.tr74p-field input,.tr74p-field select{display:block;width:100%;min-height:50px;padding:11px 13px;border:2px solid #aeb8c8;border-radius:0;background:#fff;color:var(--tr-ink);font:inherit}
.tr74p-field input::placeholder{color:#69758a}
.tr74p-filter-actions{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:4px}
.tr74p-filter-actions p{margin:0;color:var(--tr-ink)}
.tr74p-filter-actions button{border:0;background:transparent;color:var(--tr-red);font:inherit;font-weight:900;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.tr74p-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.tr74p-course{display:flex;flex-direction:column;min-width:0;padding:clamp(26px,3vw,38px);background:#fff;border:1px solid var(--tr-line);border-top:7px solid var(--tr-blue);box-shadow:0 18px 44px rgba(7,17,38,.08)}
.tr74p-course-head{min-width:0}
.tr74p-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.tr74p-badge{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;background:#eaf0f8;color:var(--tr-blue);font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.tr74p-badge-red{background:#f9e5e6;color:#8c1d23}
.tr74p-course-area{margin:0 0 10px!important;color:var(--tr-red)!important;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.tr74p-course h3{font-size:clamp(1.85rem,3.2vw,3rem);line-height:1.04;letter-spacing:-.035em;margin-bottom:16px}
.tr74p-course-head>p:last-child{margin-bottom:26px}
.tr74p-course-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--tr-line);border:1px solid var(--tr-line);margin:0 0 22px}
.tr74p-course-facts div{min-width:0;padding:15px;background:#fff}
.tr74p-course-facts dt{color:var(--tr-muted);font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.tr74p-course-facts dd{margin:5px 0 0;color:var(--tr-ink);font-weight:800;overflow-wrap:anywhere}
.tr74p-course-details{margin:0 0 24px;border-top:1px solid var(--tr-line);border-bottom:1px solid var(--tr-line)}
.tr74p-course-details summary{padding:16px 4px;color:var(--tr-ink);font-weight:900;cursor:pointer;list-style-position:inside}
.tr74p-course-details>div{padding:0 4px 18px}
.tr74p-course-details p{margin-bottom:12px}
.tr74p-course-details ul{margin:0;padding-left:1.25rem;color:var(--tr-muted);line-height:1.65}
.tr74p-detail-note{margin:14px 0 0!important;font-size:.9rem;font-style:italic}
.tr74p-course-actions{margin-top:auto}
.tr74p-course-actions .tr74p-button{width:100%}
.tr74p-empty{padding:clamp(30px,5vw,64px);background:#fff;border:2px dashed #aeb8c8;text-align:center}
.tr74p-empty h3{font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:12px}
.tr74p-empty p{margin-bottom:0}
.tr74p-empty-static{max-width:920px;margin-inline:auto}
.tr74p-empty-static .tr74p-button{margin-top:18px}
.tr74p-empty-label{color:var(--tr-red)!important;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.tr74p-process{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}
.tr74p-process li{display:flex;gap:20px;min-width:0;padding:30px;background:var(--tr-blue)}
.tr74p-process li>span{flex:0 0 auto;color:var(--tr-yellow);font-weight:950;font-size:.86rem}
.tr74p-process h3{font-size:1.4rem;margin-bottom:10px}
.tr74p-process p{margin-bottom:0}
.tr74p-split{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:clamp(44px,7vw,100px);align-items:start}
.tr74p-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tr74p-rule-grid article{min-width:0;padding:30px;background:#fff;border:1px solid var(--tr-line);border-top:5px solid var(--tr-blue);box-shadow:0 14px 34px rgba(7,17,38,.07)}
.tr74p-rule-grid span{color:var(--tr-red);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.tr74p-rule-grid h3{font-size:1.55rem;margin:26px 0 12px}
.tr74p-rule-grid p{margin-bottom:0}
.tr74p-quality-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:clamp(44px,7vw,100px);align-items:start}
.tr74p-quality-layout .tr74p-section-heading{margin-bottom:0}
.tr74p-checklist{padding:clamp(28px,4vw,48px);background:var(--tr-blue);color:#fff;box-shadow:14px 14px 0 var(--tr-yellow)}
.tr74p-checklist h3{color:#fff;font-size:clamp(1.5rem,2.5vw,2.2rem);margin-bottom:22px}
.tr74p-checklist ul{margin:0;padding:0;list-style:none}
.tr74p-checklist li{position:relative;padding:14px 0 14px 35px;border-top:1px solid rgba(255,255,255,.16);color:#e8eef8;line-height:1.55}
.tr74p-checklist li::before{content:"✓";position:absolute;left:0;top:14px;color:var(--tr-yellow);font-weight:950}
.tr74p-faq-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(44px,7vw,100px);align-items:start}
.tr74p-faq-layout .tr74p-section-heading{margin-bottom:0;position:sticky;top:110px}
.tr74p-faq{border-top:1px solid var(--tr-line)}
.tr74p-faq details{border-bottom:1px solid var(--tr-line)}
.tr74p-faq summary{padding:23px 5px;color:var(--tr-ink);font-size:1.1rem;font-weight:900;cursor:pointer}
.tr74p-faq details p{padding:0 5px 23px;margin:0;max-width:850px}
.tr74p-final{padding:clamp(70px,8vw,118px) 0;background:linear-gradient(135deg,#071126,#172a50);color:#fff}
.tr74p-final-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:clamp(40px,6vw,90px);align-items:center}
.tr74p-final h2{color:#fff;font-size:clamp(2.4rem,5vw,5rem);line-height:.98;letter-spacing:-.045em;margin-bottom:20px}
.tr74p-final p{color:#dce5f3;margin-bottom:0}
.tr74p-final .tr74p-actions{margin-top:0;justify-content:flex-end}
[data-tr74p-reveal]{opacity:1;transform:none}
.tr74p-js [data-tr74p-reveal]{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .55s ease}
.tr74p-js [data-tr74p-reveal].is-visible{opacity:1;transform:none}
@media (max-width:1100px){
  .tr74p-hero-grid,.tr74p-split,.tr74p-quality-layout,.tr74p-faq-layout,.tr74p-final-grid{grid-template-columns:1fr}
  .tr74p-hero h1{max-width:11ch}
  .tr74p-status{max-width:780px}
  .tr74p-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tr74p-field-search{grid-column:1/-1}
  .tr74p-process{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tr74p-faq-layout .tr74p-section-heading{position:static}
  .tr74p-final .tr74p-actions{justify-content:flex-start}
}
@media (max-width:760px){
  .tr74p-wrap{width:min(100% - 32px,1420px)}
  .tr74p-hero{padding:58px 0 72px}
  .tr74p-brand-mark{margin-left:auto;margin-right:auto}
  .tr74p-hero-copy{text-align:center}
  .tr74p-hero h1{max-width:none;font-size:clamp(3rem,15vw,5.4rem);letter-spacing:-.055em}
  .tr74p-lead{margin-left:auto;margin-right:auto}
  .tr74p-actions{justify-content:center}
  .tr74p-status{padding:26px;box-shadow:9px 9px 0 rgba(0,0,0,.26)}
  .tr74p-filter{grid-template-columns:1fr;padding:18px}
  .tr74p-field-search,.tr74p-filter-actions{grid-column:auto}
  .tr74p-filter-actions{align-items:flex-start;flex-direction:column}
  .tr74p-course-grid,.tr74p-rule-grid{grid-template-columns:1fr}
  .tr74p-process{grid-template-columns:1fr}
  .tr74p-course{padding:24px}
  .tr74p-section-heading h2{font-size:clamp(2.35rem,12vw,4rem)}
  .tr74p-actions{align-items:stretch;flex-direction:column}
  .tr74p-actions .tr74p-button,.tr74p-actions .tr74p-text-link{width:100%;justify-content:center}
}
@media (max-width:440px){
  .tr74p-wrap{width:min(100% - 24px,1420px)}
  .tr74p-hero h1{font-size:clamp(2.75rem,15.5vw,4rem)}
  .tr74p-lead{font-size:1.06rem}
  .tr74p-stats,.tr74p-course-facts{grid-template-columns:1fr}
  .tr74p-section{padding:64px 0}
  .tr74p-course h3{font-size:1.8rem}
  .tr74p-button{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .tr74p *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .tr74p-js [data-tr74p-reveal]{opacity:1!important;transform:none!important}
}
@media print{
  .tr74p-section-nav,.tr74p-filter,.tr74p-actions,.tr74p-final{display:none!important}
  .tr74p-hero{padding:24px 0;background:#fff!important;color:#000}
  .tr74p-hero h1,.tr74p-hero p{color:#000!important}
  .tr74p-status{box-shadow:none;border:1px solid #000}
  .tr74p-course-grid{grid-template-columns:1fr}
  .tr74p-course,.tr74p-rule-grid article,.tr74p-checklist{box-shadow:none;break-inside:avoid}
  .tr74p-section-dark,.tr74p-checklist{background:#fff!important;color:#000!important}
  .tr74p-section-dark h2,.tr74p-section-dark h3,.tr74p-section-dark p,.tr74p-checklist h3,.tr74p-checklist li{color:#000!important}
}

/* ============================================================
   11. portale-public-final-75A.css
   ============================================================ */
/* CNSBII 1.6.16.75A · Portale pubblico consolidato
 * Unifica le guardie 74K, 74X, 74Y e 74Z in un solo asset finale.
 * Ordine della cascata conservato; nessuna pagina tematica viene riscritta.
 */

/* CNSBII 1.6.16.74K · guardia finale della testata pubblica */
html,
body.cnsbii-lumen-ui {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.cnsbii-lumen-ui > .skip-link {
  position: fixed !important;
  inset: auto auto auto 16px !important;
  top: -140px !important;
  z-index: 100000 !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: nowrap !important;
  transform: none !important;
  background: #ffffff !important;
  color: #000000 !important;
  border: 3px solid #000000 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.cnsbii-lumen-ui > .skip-link:focus,
body.cnsbii-lumen-ui > .skip-link:focus-visible {
  top: 16px !important;
  left: 16px !important;
  outline: 4px solid #e6d84f !important;
  outline-offset: 3px !important;
}

body.cnsbii-lumen-ui > .cns-shell {
  margin-top: 0 !important;
}


/* CNSBII 1.6.16.74X · shell pubblico compatto e navigazione report coerente */

:root {
  --cns74x-ink: #080f22;
  --cns74x-yellow: #e7dc63;
  --cns74x-red: #b52b2f;
  --cns74x-line: #d9dee7;
  --cns74x-shadow: 8px 8px 0 rgba(8, 15, 34, .14);
}

/* La skip-link resta disponibile alla tastiera senza creare fasce vuote. */
html body .skip-link {
  position: fixed !important;
  top: -120px !important;
  left: 12px !important;
  z-index: 10050 !important;
  margin: 0 !important;
}
html body .skip-link:focus {
  top: 12px !important;
}

/* Shell comune più compatta. Si applica a tutte le pagine del portale. */
html body .cns-shell {
  margin: 0 !important;
}
html body .cns-topline {
  min-height: 42px !important;
}
html body .cns-topline-inner {
  min-height: 42px !important;
  padding-block: 7px !important;
}
html body .cns-head-main {
  min-height: 96px !important;
  padding-block: 12px !important;
  gap: clamp(14px, 1.9vw, 28px) !important;
  align-items: center !important;
}
html body .cns-brand {
  min-width: 0 !important;
  width: min(370px, 31vw) !important;
  gap: 13px !important;
  align-items: center !important;
}
html body .cns-brand-logo {
  width: 76px !important;
  height: 76px !important;
  flex: 0 0 76px !important;
}
html body .cns-brand-text {
  min-width: 0 !important;
}
html body .cns-brand-text strong {
  font-size: clamp(1.62rem, 2vw, 2rem) !important;
  line-height: .95 !important;
  letter-spacing: -.035em !important;
}
html body .cns-brand-text em {
  display: block !important;
  max-width: 260px !important;
  margin-top: 5px !important;
  font-size: .68rem !important;
  line-height: 1.12 !important;
  letter-spacing: .035em !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}
html body .cns-main-nav {
  gap: 2px !important;
  min-width: 0 !important;
}
html body .cns-main-nav > a,
html body .cns-main-nav > .cns-nav-group > button {
  min-height: 42px !important;
  padding: 8px 10px !important;
  font-size: .88rem !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}
html body .cns-nav-actions > button {
  min-width: 112px !important;
  min-height: 48px !important;
  padding-inline: 16px !important;
}
html body .cns-idra-access {
  width: auto !important;
  min-width: 178px !important;
  max-width: 220px !important;
  min-height: 64px !important;
  padding: 8px 12px !important;
  gap: 10px !important;
}
html body .cns-idra-access img {
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
}
html body .cns-idra-access span {
  font-size: .95rem !important;
  line-height: 1 !important;
}
html body .cns-idra-access small {
  font-size: .62rem !important;
  margin-top: 3px !important;
}

/* Navigazione contestuale dell'area report: compatta, senza barra orizzontale. */
html body .report-suite-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 90 !important;
  background: #fff !important;
  border-top: 4px solid var(--cns74x-yellow) !important;
  border-bottom: 1px solid var(--cns74x-line) !important;
  box-shadow: 0 12px 28px rgba(8, 15, 34, .11) !important;
  backdrop-filter: none !important;
}
html body .report-suite-nav__inner,
html body .report74x-context {
  width: min(1260px, calc(100% - 40px)) !important;
  min-height: 62px !important;
  margin-inline: auto !important;
  padding: 8px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: visible !important;
}

/* Fallback senza JavaScript: il menu esistente resta leggibile e compatto. */
html body .report-suite-nav__brand {
  flex: 0 0 auto !important;
  min-height: 44px !important;
  padding: 6px 12px 6px 8px !important;
  border: 2px solid var(--cns74x-ink) !important;
  border-radius: 0 !important;
  background: var(--cns74x-ink) !important;
  color: #fff !important;
  box-shadow: 4px 4px 0 rgba(8, 15, 34, .14) !important;
}
html body .report-suite-nav__links {
  min-width: 0 !important;
  padding: 0 !important;
  gap: 6px !important;
  overflow-x: auto !important;
}
html body .report-suite-nav__links a {
  min-height: 40px !important;
  padding: 0 12px !important;
  border: 1px solid #cbd2dc !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--cns74x-ink) !important;
  font-size: .82rem !important;
  box-shadow: none !important;
}
html body .report-suite-nav__links a:hover,
html body .report-suite-nav__links a:focus-visible,
html body .report-suite-nav__links a[aria-current] {
  background: var(--cns74x-red) !important;
  border-color: var(--cns74x-red) !important;
  color: #fff !important;
  transform: none !important;
}

/* Struttura creata dal JS 74X. */
.report74x-context__brand {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 6px 12px 6px 8px;
  border: 2px solid var(--cns74x-ink);
  background: var(--cns74x-ink);
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 4px 4px 0 rgba(8, 15, 34, .14);
}
.report74x-context__mark {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  background: #fff;
  color: var(--cns74x-red);
  font-weight: 950;
  line-height: 1;
}
.report74x-context__brand-text {
  display: grid;
  line-height: 1.02;
}
.report74x-context__brand-text strong {
  font-size: .78rem;
  letter-spacing: .07em;
}
.report74x-context__brand-text small {
  color: #cdd5df;
  font-size: .62rem;
}
.report74x-context__home,
.report74x-context__toggle,
.report74x-context__share {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border: 2px solid var(--cns74x-ink);
  border-radius: 0;
  background: #fff;
  color: var(--cns74x-ink) !important;
  text-decoration: none !important;
  font: inherit;
  font-size: .84rem;
  font-weight: 850;
  cursor: pointer;
}
.report74x-context__home:hover,
.report74x-context__home:focus-visible,
.report74x-context__toggle:hover,
.report74x-context__toggle:focus-visible,
.report74x-context__toggle[aria-expanded="true"] {
  background: var(--cns74x-yellow);
}
.report74x-context__toggle {
  gap: 10px;
}
.report74x-context__toggle-icon {
  width: 18px;
  height: 12px;
  position: relative;
  border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
}
.report74x-context__toggle-icon::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 4px;
  border-top: 2px solid currentColor;
}
.report74x-context__menu-wrap {
  position: relative;
}
.report74x-context__panel {
  position: absolute;
  top: calc(100% + 9px);
  left: 0;
  z-index: 100;
  width: min(560px, calc(100vw - 28px));
  padding: 12px;
  display: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  border: 2px solid var(--cns74x-ink);
  background: #fff;
  box-shadow: var(--cns74x-shadow);
}
.report74x-context__panel.is-open {
  display: grid;
}
.report74x-context__panel a {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 9px 12px;
  border: 1px solid #d8dde5;
  background: #fff;
  color: var(--cns74x-ink) !important;
  text-decoration: none !important;
  font-size: .84rem;
  font-weight: 780;
  line-height: 1.2;
}
.report74x-context__panel a:hover,
.report74x-context__panel a:focus-visible,
.report74x-context__panel a[aria-current] {
  border-color: var(--cns74x-red);
  background: #fff2f3;
  color: #891b20 !important;
}
.report74x-context__spacer {
  flex: 1 1 auto;
}
.report74x-context__share {
  flex: 0 0 auto;
}
.report74x-context__share > * {
  color: inherit !important;
}

@media (max-width: 1220px) and (min-width: 901px) {
  html body .cns-brand {
    width: 305px !important;
  }
  html body .cns-brand-logo {
    width: 68px !important;
    height: 68px !important;
    flex-basis: 68px !important;
  }
  html body .cns-brand-text em {
    max-width: 220px !important;
    font-size: .62rem !important;
  }
  html body .cns-main-nav > a,
  html body .cns-main-nav > .cns-nav-group > button {
    padding-inline: 7px !important;
    font-size: .81rem !important;
  }
  html body .cns-idra-access {
    min-width: 150px !important;
    max-width: 170px !important;
  }
}

@media (max-width: 900px) {
  html body .cns-topline-inner {
    gap: 8px !important;
  }
  html body .cns-head-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(170px, .72fr) !important;
    grid-template-areas:
      "brand brand"
      "menu account"
      "nav nav" !important;
    gap: 12px !important;
    min-height: 0 !important;
    padding-block: 14px !important;
  }
  html body .cns-brand {
    grid-area: brand !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 70px minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  html body .cns-brand-logo {
    width: 70px !important;
    height: 70px !important;
    flex-basis: 70px !important;
  }
  html body .cns-brand-text strong {
    font-size: 1.5rem !important;
  }
  html body .cns-brand-text em {
    max-width: none !important;
    font-size: .66rem !important;
  }
  html body .cns-menu-toggle {
    grid-area: menu !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 54px !important;
    margin: 0 !important;
    justify-content: center !important;
  }
  html body .cns-idra-access {
    grid-area: account !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 54px !important;
    margin: 0 !important;
    justify-content: center !important;
  }
  html body .cns-main-nav {
    grid-area: nav !important;
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-height: min(66vh, 590px) !important;
    margin: 0 !important;
    padding: 10px !important;
    display: none !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    overflow-y: auto !important;
    border: 2px solid var(--cns74x-ink) !important;
    background: #fff !important;
    box-shadow: var(--cns74x-shadow) !important;
  }
  html body .cns-shell.menu-open .cns-main-nav {
    display: grid !important;
  }
  html body .cns-main-nav > a,
  html body .cns-main-nav > .cns-nav-group > button {
    width: 100% !important;
    min-height: 48px !important;
    padding: 10px 13px !important;
    justify-content: space-between !important;
    text-align: left !important;
    font-size: .94rem !important;
    white-space: normal !important;
  }
  html body .cns-main-nav .cns-dropdown {
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    box-shadow: none !important;
  }

  html body .report-suite-nav__inner,
  html body .report74x-context {
    width: min(100% - 24px, 1260px) !important;
    flex-wrap: wrap !important;
  }
  .report74x-context__brand {
    flex: 1 1 auto;
  }
  .report74x-context__home {
    order: 3;
  }
  .report74x-context__menu-wrap {
    order: 4;
    flex: 1 1 auto;
  }
  .report74x-context__toggle {
    width: 100%;
  }
  .report74x-context__spacer {
    display: none;
  }
  .report74x-context__share {
    order: 2;
  }
  .report74x-context__panel {
    left: auto;
    right: 0;
  }
}

@media (max-width: 520px) {
  html body .cns-topline-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    padding-block: 9px !important;
  }
  html body .cns-topline-inner nav {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 11px !important;
  }
  html body .cns-head-main {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "brand"
      "menu"
      "account"
      "nav" !important;
  }
  html body .cns-brand {
    grid-template-columns: 66px minmax(0, 1fr) !important;
  }
  html body .cns-brand-logo {
    width: 66px !important;
    height: 66px !important;
    flex-basis: 66px !important;
  }
  html body .cns-brand-text strong {
    font-size: 1.4rem !important;
  }
  html body .cns-brand-text em {
    font-size: .62rem !important;
    letter-spacing: .025em !important;
  }
  html body .cns-menu-toggle,
  html body .cns-idra-access {
    min-height: 52px !important;
  }

  html body .report74x-context {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }
  .report74x-context__brand {
    grid-column: 1 / -1;
    width: 100%;
  }
  .report74x-context__home,
  .report74x-context__menu-wrap,
  .report74x-context__toggle {
    width: 100%;
  }
  .report74x-context__share {
    display: none;
  }
  .report74x-context__panel {
    position: fixed;
    top: auto;
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
    max-height: min(70vh, 560px);
    overflow-y: auto;
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .cns-shell *,
  html body .report-suite-nav * {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}


/* CNSBII 1.6.16.74Y · consolidamento visivo: contrasto Osservatori e menu Report */
:root{
  --cns74y-ink:#071126;
  --cns74y-blue:#10203f;
  --cns74y-yellow:#eadf5c;
  --cns74y-red:#b4232a;
  --cns74y-line:#d6dce6;
  --cns74y-paper:#fff;
  --cns74y-muted:#46536a;
}

/* Le animazioni non possono mai nascondere contenuti se lo script non parte o resta in cache. */
.portal74w-observers-support [data-oc74o-reveal],
.portal74w-observers-support [data-oc74o-reveal].is-visible{
  opacity:1!important;
  transform:none!important;
  visibility:visible!important;
}

/* Contrasto esplicito nelle superfici chiare delle pagine O.C. */
.portal74w-observers-support .oc74o-hero-panel,
.portal74w-observers-support .oc74w-callout,
.portal74w-observers-support .oc74w-callout-dark,
.portal74w-observers-support .oc74w-fact-grid article,
.portal74w-observers-support .oc74w-role-grid article,
.portal74w-observers-support .oc74w-rule-grid article,
.portal74w-observers-support .oc74w-policy-grid article,
.portal74w-observers-support .oc74w-status-grid article,
.portal74w-observers-support .oc74w-learning-grid article,
.portal74w-observers-support .oc74w-stop-grid article,
.portal74w-observers-support .oc74w-checklist article,
.portal74w-observers-support .oc74w-region,
.portal74w-observers-support .oc74w-empty,
.portal74w-observers-support .oc74w-link-stack a,
.portal74w-observers-support .oc74w-tool-cards article{
  color:var(--cns74y-ink)!important;
}
.portal74w-observers-support :is(
  .oc74o-hero-panel,
  .oc74w-callout,
  .oc74w-callout-dark,
  .oc74w-fact-grid article,
  .oc74w-role-grid article,
  .oc74w-rule-grid article,
  .oc74w-policy-grid article,
  .oc74w-status-grid article,
  .oc74w-learning-grid article,
  .oc74w-stop-grid article,
  .oc74w-checklist article,
  .oc74w-region,
  .oc74w-empty,
  .oc74w-link-stack a,
  .oc74w-tool-cards article
) :is(h2,h3,h4,strong,b){
  color:var(--cns74y-ink)!important;
  -webkit-text-fill-color:var(--cns74y-ink)!important;
  opacity:1!important;
}
.portal74w-observers-support :is(
  .oc74o-hero-panel,
  .oc74w-callout,
  .oc74w-callout-dark,
  .oc74w-fact-grid article,
  .oc74w-role-grid article,
  .oc74w-rule-grid article,
  .oc74w-policy-grid article,
  .oc74w-status-grid article,
  .oc74w-learning-grid article,
  .oc74w-stop-grid article,
  .oc74w-checklist article,
  .oc74w-region,
  .oc74w-empty,
  .oc74w-link-stack a,
  .oc74w-tool-cards article
) p{
  color:var(--cns74y-muted)!important;
  -webkit-text-fill-color:var(--cns74y-muted)!important;
  opacity:1!important;
}
.portal74w-observers-support .oc74w-callout-dark{
  background:#fff!important;
  border-left-color:var(--cns74y-red)!important;
}
.portal74w-observers-support .oc74w-callout-dark>span,
.portal74w-observers-support .oc74o-panel-label{
  color:#7b171d!important;
  -webkit-text-fill-color:#7b171d!important;
}
.portal74w-observers-support .oc74o-section-dark .oc74o-section-heading :is(h2,h3),
.portal74w-observers-support .oc74o-hero :is(h1,h2):not(.oc74o-hero-panel h2){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.portal74w-observers-support .oc74o-section-dark .oc74o-section-heading p,
.portal74w-observers-support .oc74o-hero-lead{
  color:#edf2fb!important;
  -webkit-text-fill-color:#edf2fb!important;
}
.portal74w-observers-support ::selection{
  background:#3153c8;
  color:#fff;
  -webkit-text-fill-color:#fff;
}

/* Menu Report: fallback sempre leggibile anche senza JavaScript. */
html body .report-suite-nav{
  color:var(--cns74y-ink)!important;
  background:#fff!important;
  border-top:4px solid var(--cns74y-yellow)!important;
  border-bottom:1px solid var(--cns74y-line)!important;
  box-shadow:0 10px 24px rgba(7,17,38,.10)!important;
  opacity:1!important;
}
html body .report-suite-nav :is(a,button,span,strong,small){
  opacity:1!important;
  visibility:visible!important;
}
html body .report-suite-nav__inner,
html body .report74x-context,
html body .report74y-context{
  width:min(1320px,calc(100% - 40px))!important;
  min-height:60px!important;
  margin-inline:auto!important;
  padding:8px 0!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  overflow:visible!important;
}
html body .report-suite-nav__brand,
html body .report74x-context__brand,
html body .report74y-context__brand{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:44px!important;
  padding:6px 12px 6px 8px!important;
  border:2px solid var(--cns74y-ink)!important;
  border-radius:0!important;
  background:var(--cns74y-ink)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
  box-shadow:4px 4px 0 rgba(7,17,38,.14)!important;
}
html body .report-suite-nav__brand *,
html body .report74x-context__brand *,
html body .report74y-context__brand *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body .report-suite-nav__links{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  padding:0!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
}
html body .report-suite-nav__links a,
html body .report-suite-nav__toggle,
html body .report-suite-nav__share{
  min-height:42px!important;
  padding:0 12px!important;
  border:2px solid var(--cns74y-ink)!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--cns74y-ink)!important;
  -webkit-text-fill-color:var(--cns74y-ink)!important;
  font-size:.84rem!important;
  font-weight:850!important;
  box-shadow:none!important;
}
html body .report-suite-nav__links a:hover,
html body .report-suite-nav__links a:focus-visible,
html body .report-suite-nav__links a[aria-current],
html body .report-suite-nav__toggle:hover,
html body .report-suite-nav__toggle:focus-visible{
  background:var(--cns74y-yellow)!important;
  color:var(--cns74y-ink)!important;
  -webkit-text-fill-color:var(--cns74y-ink)!important;
}

/* Menu contestuale 74Y, costruito preservando i link presenti nella pagina. */
.report74y-context{position:relative}
.report74y-context__mark{display:grid;place-items:center;width:30px;height:30px;background:#fff;color:var(--cns74y-red)!important;-webkit-text-fill-color:var(--cns74y-red)!important;font-weight:950}
.report74y-context__brand-text{display:grid;line-height:1.02}
.report74y-context__brand-text strong{font-size:.78rem;letter-spacing:.06em}
.report74y-context__brand-text small{font-size:.62rem;color:#d7dee9!important;-webkit-text-fill-color:#d7dee9!important}
.report74y-context__section{min-width:0;max-width:340px;color:var(--cns74y-ink)!important;-webkit-text-fill-color:var(--cns74y-ink)!important;font-size:.84rem;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.report74y-context__home,
.report74y-context__toggle,
.report74y-context__share{
  min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:2px solid var(--cns74y-ink);border-radius:0;background:#fff;color:var(--cns74y-ink)!important;-webkit-text-fill-color:var(--cns74y-ink)!important;text-decoration:none!important;font:inherit;font-size:.84rem;font-weight:850;cursor:pointer
}
.report74y-context__home:hover,.report74y-context__home:focus-visible,.report74y-context__toggle:hover,.report74y-context__toggle:focus-visible,.report74y-context__toggle[aria-expanded="true"]{background:var(--cns74y-yellow)}
.report74y-context__menu-wrap{position:relative}
.report74y-context__toggle{gap:10px}
.report74y-context__toggle-icon{width:18px;height:12px;position:relative;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.report74y-context__toggle-icon::after{content:"";position:absolute;left:0;right:0;top:4px;border-top:2px solid currentColor}
.report74y-context__panel{position:absolute;top:calc(100% + 9px);left:0;z-index:110;width:min(620px,calc(100vw - 28px));padding:12px;display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:2px solid var(--cns74y-ink);background:#fff;box-shadow:8px 8px 0 rgba(7,17,38,.16)}
.report74y-context__panel.is-open{display:grid}
.report74y-context__panel a{min-height:44px;display:flex;align-items:center;padding:9px 12px;border:1px solid var(--cns74y-line);background:#fff;color:var(--cns74y-ink)!important;-webkit-text-fill-color:var(--cns74y-ink)!important;text-decoration:none!important;font-size:.84rem;font-weight:780;line-height:1.2}
.report74y-context__panel a:hover,.report74y-context__panel a:focus-visible,.report74y-context__panel a[aria-current]{border-color:var(--cns74y-red);background:#fff1f2;color:#7e171d!important;-webkit-text-fill-color:#7e171d!important}
.report74y-context__spacer{flex:1 1 auto}
.report74y-context__share{flex:0 0 auto}
.report74y-context__share *{color:inherit!important;-webkit-text-fill-color:inherit!important}

@media(max-width:900px){
  html body .report-suite-nav__inner,
  html body .report74x-context,
  html body .report74y-context{width:min(100% - 24px,1320px)!important;flex-wrap:wrap!important}
  .report74y-context__section{order:4;flex:1 0 100%;max-width:none;padding:2px 0 0}
  .report74y-context__spacer{display:none}
}
@media(max-width:640px){
  .report74y-context__brand-text small{display:none}
  .report74y-context__home{display:none}
  .report74y-context__panel{position:fixed;left:12px;right:12px;top:auto;width:auto;grid-template-columns:1fr;max-height:70vh;overflow:auto}
  .report74y-context__share{margin-left:auto}
  .portal74w-observers-support .floating-share{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .portal74w-observers-support *, .report-suite-nav *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}


/* CNSBII 1.6.16.74Z · allineamento stabile del menu pubblico condiviso */

/*
 * La voce Home è un collegamento, mentre le altre voci principali sono pulsanti.
 * Browser e fogli storici applicavano box e baseline differenti. Qui vengono
 * resi geometricamente equivalenti senza cambiare testi, rotte o dropdown.
 */
html body .cns-main-nav {
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

html body .cns-main-nav > a,
html body .cns-main-nav > .cns-nav-group > button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  min-height: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding-block: 0 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  font-family: inherit !important;
  font-style: normal !important;
  text-decoration: none !important;
  transform: none !important;
}

html body .cns-main-nav > .cns-nav-group {
  position: relative !important;
  align-self: center !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

html body .cns-main-nav > .cns-nav-group > button::after {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  min-width: .85em !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  transform: none !important;
}

/* Il comando Azioni resta evidenziato, ma con testo centrato sulla stessa linea. */
html body .cns-main-nav > .cns-nav-actions > button {
  min-height: 50px !important;
  height: 50px !important;
  padding-block: 0 !important;
}

/* Focus chiaramente visibile senza spostamenti del layout. */
html body .cns-main-nav > a:focus-visible,
html body .cns-main-nav > .cns-nav-group > button:focus-visible {
  outline: 3px solid #c40018 !important;
  outline-offset: 3px !important;
}

@media (max-width: 900px) {
  html body .cns-main-nav > .cns-nav-group {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
  }

  html body .cns-main-nav > a,
  html body .cns-main-nav > .cns-nav-group > button,
  html body .cns-main-nav > .cns-nav-actions > button {
    width: 100% !important;
    min-height: 52px !important;
    height: auto !important;
    padding: 13px 15px !important;
    justify-content: flex-start !important;
    text-align: left !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }

  html body .cns-main-nav > .cns-nav-group > button::after {
    margin-left: 8px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .cns-main-nav *,
  html body .cns-main-nav *::before,
  html body .cns-main-nav *::after {
    transition: none !important;
    animation: none !important;
  }
}


/* Chiusura 75A: guardie comuni senza alterare i layout locali. */
html, body { margin: 0; padding: 0; }
html body .cns-shell { margin-block-start: 0 !important; }
html body .cns-main-nav > a,
html body .cns-main-nav > .cns-nav-group > button { text-underline-offset: .18em; }
html body :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #c40018;
  outline-offset: 3px;
}
@media (max-width: 900px) {
  html body .cns-main-nav { max-height: calc(100dvh - 132px); overflow-y: auto; overscroll-behavior: contain; }
}

/* ============================================================
   12. portale-tipografia-79Q.css
   ============================================================ */
/* CNSBII 1.6.16.79Q — gerarchia tipografica pubblica e correzioni di contrasto */
:root{
  --cns-type-body:clamp(1rem,.98rem + .10vw,1.075rem);
  --cns-type-small:clamp(.875rem,.85rem + .08vw,.95rem);
  --cns-type-h3:clamp(1.25rem,1.15rem + .45vw,1.55rem);
  --cns-type-h2:clamp(1.85rem,1.52rem + 1.35vw,2.8rem);
  --cns-type-h1:clamp(2.35rem,1.78rem + 2.45vw,4rem);
  --cns-reading-width:72ch;
}

.site-main{
  font-size:var(--cns-type-body);
}
.site-main :where(p,li,dd,figcaption,blockquote){
  line-height:1.62;
}
.site-main :where(p,li,dd){
  overflow-wrap:anywhere;
}
.site-main :where(h1,h2,h3){
  text-wrap:balance;
  overflow-wrap:normal;
  hyphens:none;
}
.site-main h1{
  font-size:var(--cns-type-h1)!important;
  line-height:1.07!important;
  letter-spacing:-.035em!important;
  max-width:24ch;
}
.site-main h2{
  font-size:var(--cns-type-h2)!important;
  line-height:1.14!important;
  letter-spacing:-.025em!important;
  max-width:30ch;
}
.site-main h3{
  font-size:var(--cns-type-h3)!important;
  line-height:1.24!important;
  letter-spacing:-.012em!important;
}
.site-main :where(.portal74d-lead,.cns74f-lead,.oc74o-hero-lead,.tr74i-lead,.tf74n-lead,.rpt74o-lead,.form74p-lead){
  font-size:clamp(1.05rem,1rem + .25vw,1.22rem)!important;
  line-height:1.58!important;
  max-width:68ch;
}
.site-main :where(.portal74d-section-heading,.cns74f-heading,.oc74o-section-heading,.tr74i-section-heading) > p:last-child{
  max-width:var(--cns-reading-width);
}
.site-main :where(.portal74d-kicker,.cns74f-kicker,.oc74o-kicker,.tr74i-kicker){
  font-size:clamp(.76rem,.73rem + .10vw,.84rem)!important;
  line-height:1.35!important;
  letter-spacing:.095em!important;
}

/* Correzione del difetto visibile nella pagina Natura giuridica: testo bianco su schede bianche. */
.cns74f-section-dark .cns74f-boundaries article{
  color:#172033!important;
}
.cns74f-section-dark .cns74f-boundaries article h3{
  color:#111827!important;
}
.cns74f-section-dark .cns74f-boundaries article li{
  color:#334155!important;
}
.cns74f-section-dark .cns74f-boundaries article li::marker{
  color:#64748b;
}
.cns74f-boundaries article{
  min-height:0!important;
}

/* I titoli lunghi non devono occupare quasi l'intero schermo. */
.portal74d-hero h1,.cns74f-hero h1,.oc74o-hero h1,
.tr74i-hero h1,.tf74n-hero h1,.rpt74o-hero h1,
.form74p-hero h1,.partner74l-hero h1,.ved74m-hero h1{
  font-size:var(--cns-type-h1)!important;
}

/* Footer: meno grassetti, gerarchia più discreta, righe più leggibili. */
.site-footer{
  font-size:var(--cns-type-small)!important;
}
.site-footer h2{
  margin:0 0 .85rem!important;
  font-size:clamp(1rem,.97rem + .12vw,1.08rem)!important;
  line-height:1.25!important;
  letter-spacing:-.01em!important;
  font-weight:700!important;
  max-width:none!important;
}
.site-footer p,.site-footer a,.site-footer li,.site-footer span{
  line-height:1.55!important;
}
.site-footer strong{
  font-weight:650!important;
}
.site-footer .footer-about > h2{
  font-size:clamp(1.28rem,1.2rem + .25vw,1.48rem)!important;
}
.site-footer .footer-full-name{
  margin-top:.35rem;
  font-weight:600;
}
.site-footer .legal-note{
  font-size:.9em;
  font-weight:400;
  opacity:.88;
}
.site-footer .footer-note{
  font-size:clamp(.82rem,.8rem + .05vw,.88rem)!important;
}
.site-footer .footer-bottom{
  font-size:clamp(.78rem,.76rem + .05vw,.84rem)!important;
}

@media (max-width:760px){
  :root{
    --cns-type-h1:clamp(2.1rem,8.5vw,2.75rem);
    --cns-type-h2:clamp(1.7rem,6.5vw,2.2rem);
    --cns-type-h3:clamp(1.2rem,4.7vw,1.42rem);
  }
  .site-main h1,.site-main h2{max-width:100%;}
  .site-main :where(p,li,dd,figcaption,blockquote){line-height:1.58;}
  .site-footer .footer-grid{gap:2rem!important;}
}

@media (max-width:420px){
  :root{
    --cns-type-h1:clamp(2rem,10.5vw,2.45rem);
    --cns-type-h2:clamp(1.58rem,7.4vw,2rem);
  }
}

/* ============================================================
   13. portale-consolidamento-79S.css
   ============================================================ */
/* CNSBII 1.6.16.79S · Consolidamento pubblico. Regole esclusivamente scoped. */
.portal74q-access-page .ac74q-hero h1{font-size:clamp(2.35rem,4.3vw,4rem)!important;line-height:1.02!important;max-width:720px}
.portal74q-access-page .ac74q-heading h2,.portal74q-access-page .ac74q-help h2{font-size:clamp(1.85rem,3.1vw,2.75rem)!important;line-height:1.12!important}
.portal74q-access-page .ac74q-mark{width:58px;height:58px;padding:5px;border-radius:15px;background:#fff;border:1px solid #d9e1ea;overflow:hidden}
.portal74q-access-page .ac74q-brand-icon{display:block;width:100%;height:100%;object-fit:contain}
.portal74q-access-page .ac74q-service h3{font-size:clamp(1.22rem,1.08rem + .35vw,1.48rem)!important;line-height:1.22}
.portal74q-access-page .ac74q-service p,.portal74q-access-page .ac74q-service li{font-size:clamp(.96rem,.94rem + .08vw,1.02rem);line-height:1.58}
.cns74h-articles-page .cns74h-hero h1,.portal74o-observers-join .oc74o-hero h1,.portal74w-observers-support .oc74o-hero h1,.assoc74t-page .assoc74t-hero h1,.ocp-page .ocp-hero h1{font-size:clamp(2.25rem,4.2vw,3.85rem)!important;line-height:1.04!important;letter-spacing:-.035em!important}
.cns74h-articles-page .cns74h-section h2,.portal74o-observers-join .oc74o-section h2,.portal74w-observers-support .oc74o-section h2,.assoc74t-page .assoc74t-section h2,.ocp-page .ocp-section h2{font-size:clamp(1.7rem,2.65vw,2.55rem)!important;line-height:1.14!important;letter-spacing:-.025em!important}
.portal74w-observers-support .oc74o-hero-panel h2,.portal74o-observers-join .oc74o-hero-panel h2{font-size:clamp(1.35rem,2vw,1.85rem)!important;line-height:1.2!important}
.ocp-page .ocp-brand-mark{display:block;width:clamp(104px,12vw,158px);height:clamp(104px,12vw,158px);object-fit:contain;margin:0 0 22px;background:#fff;border-radius:50%;padding:4px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
@media(max-width:700px){
 .portal74q-access-page .ac74q-hero h1,.cns74h-articles-page .cns74h-hero h1,.portal74o-observers-join .oc74o-hero h1,.portal74w-observers-support .oc74o-hero h1,.assoc74t-page .assoc74t-hero h1,.ocp-page .ocp-hero h1{font-size:clamp(2.05rem,10vw,3rem)!important}
 .portal74q-access-page .ac74q-service-top{align-items:flex-start}
 .portal74q-access-page .ac74q-access-tag{padding-top:7px}
 .ocp-page .ocp-brand-mark{margin-left:auto;margin-right:auto}
}
