/* CNSBII 419K | Snapshot conservativo dei 13 CSS pre-shell del portale pubblico.
   NON sostituisce ne modifica i CSS originali e NON include shell 86J/87Y1.
   Origine: Full AI Source 1.6.16.194H | SHA-256 8858f8cfb8856aee1e426010113bb64105757e6a47612f0437e48fbca002e28d
   Aggiornare questo bundle se uno dei CSS di origine cambia. */

/* 419K SOURCE: assets/css/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%}}
/* END 419K SOURCE: assets/css/style.css */

/* 419K SOURCE: assets/css/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}
/* END 419K SOURCE: assets/css/account-cnsbii-1-6-16-64F.css */

/* 419K SOURCE: assets/css/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}}
/* END 419K SOURCE: assets/css/loghi-servizi-1-6-16-64M.css */

/* 419K SOURCE: assets/css/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}}
/* END 419K SOURCE: assets/css/public-home-1-6-16-64E.css */

/* 419K SOURCE: assets/css/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}}
/* END 419K SOURCE: assets/css/public-journeys-69D9.css */

/* 419K SOURCE: assets/css/portale-home-extras-bundle-419I.css */
/* CNSBII 419I - Bundle conservativo per i soli 11 CSS aggiuntivi della homepage.
   Origini: Full LIVE 1.6.16.193U. Ordine e contenuto delle regole invariati. */

/* 419I SOURCE: assets/css/portale-editorial-hubs-327A.css */
/* CNSBII · Home Portale · Approfondimenti e studi 327A */
.portal327a-editorial-hubs{
  padding:clamp(2.4rem,5vw,4.8rem) 0;
  background:#eef1ef;
  border-block:1px solid rgba(10,31,39,.10);
}
.portal327a-editorial-hubs .portal74d-wrap{
  width:min(1240px,calc(100% - 40px));
  margin-inline:auto;
}
.portal327a-editorial-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
  gap:clamp(1rem,4vw,4rem);
  align-items:end;
  margin-bottom:1.5rem;
}
.portal327a-kicker{
  margin:0 0 .6rem;
  color:#21596a;
  font-size:.75rem;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.portal327a-editorial-head h2{
  max-width:800px;
  margin:0;
  color:#0b2530;
  font-size:clamp(2rem,4.4vw,4.5rem);
  line-height:.97;
  letter-spacing:-.05em;
}
.portal327a-editorial-head>p{
  max-width:560px;
  margin:0;
  color:#475d66;
  line-height:1.62;
}
.portal327a-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.portal327a-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  min-height:430px;
  padding:clamp(1.35rem,3vw,2.3rem);
  border-radius:26px;
}
.portal327a-card--materia{
  background:#091217;
  color:#f8fbfb;
}
.portal327a-card--nusco{
  background:#0b3140;
  color:#f8fbfb;
}
.portal327a-card-top{
  max-width:640px;
}
.portal327a-label{
  margin:0 0 .7rem;
  color:#f0dc63;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.portal327a-card h3{
  margin:0;
  color:#ffffff;
  font-size:clamp(2rem,4vw,4.1rem);
  line-height:.96;
  letter-spacing:-.05em;
}
.portal327a-card-top>p:last-child{
  margin:1rem 0 0;
  color:#d5e0e3;
  line-height:1.6;
}
.portal327a-current{
  margin-top:auto;
  padding-top:2rem;
}
.portal327a-current small{
  display:block;
  color:#f0dc63;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.portal327a-current strong{
  display:block;
  max-width:620px;
  margin:.45rem 0 .2rem;
  color:#ffffff;
  font-size:1.13rem;
  line-height:1.25;
}
.portal327a-current span{
  color:#b9c9ce;
  font-size:.84rem;
}
.portal327a-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1.15rem;
}
.portal327a-actions a{
  display:inline-flex;
  min-height:46px;
  align-items:center;
  justify-content:center;
  padding:.72rem 1rem;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  color:#ffffff;
  font-weight:800;
  text-decoration:none;
}
.portal327a-actions a.portal327a-primary{
  border-color:#f0dc63;
  background:#f0dc63;
  color:#0b2530;
}
.portal327a-actions a:hover{
  text-decoration:underline;
  text-underline-offset:.18em;
}
.portal327a-actions a:focus-visible{
  outline:3px solid #ffffff;
  outline-offset:3px;
}
@media(max-width:860px){
  .portal327a-editorial-head,
  .portal327a-grid{
    grid-template-columns:1fr;
  }
  .portal327a-card{
    min-height:0;
  }
}
@media(max-width:560px){
  .portal327a-editorial-hubs .portal74d-wrap{
    width:calc(100% - 22px);
  }
  .portal327a-card{
    padding:1.25rem;
    border-radius:22px;
  }
  .portal327a-actions{
    display:grid;
  }
  .portal327a-actions a{
    width:100%;
  }
}
@media(prefers-reduced-motion:reduce){
  .portal327a-editorial-hubs *{
    scroll-behavior:auto!important;
  }
}
@media print{
  .portal327a-editorial-hubs{
    background:#fff;
  }
  .portal327a-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .portal327a-card{
    min-height:0;
    break-inside:avoid;
  }
}


/* 329B · contrasto CTA primari: prevale sui fogli globali caricati successivamente. */
html body.cnsbii-lumen-ui .portal327a-editorial-hubs .portal327a-card .portal327a-actions a.portal327a-primary,
html body.cnsbii-lumen-ui .portal327a-editorial-hubs .portal327a-card .portal327a-actions a.portal327a-primary:link,
html body.cnsbii-lumen-ui .portal327a-editorial-hubs .portal327a-card .portal327a-actions a.portal327a-primary:visited{
  background:#f0dc63!important;
  border-color:#f0dc63!important;
  color:#0b2530!important;
  -webkit-text-fill-color:#0b2530!important;
}
html body.cnsbii-lumen-ui .portal327a-editorial-hubs .portal327a-card .portal327a-actions a.portal327a-primary:hover,
html body.cnsbii-lumen-ui .portal327a-editorial-hubs .portal327a-card .portal327a-actions a.portal327a-primary:focus-visible{
  color:#071b25!important;
  -webkit-text-fill-color:#071b25!important;
}


/* 419I SOURCE: assets/css/cns-sarno-europe-home-385A.css */
/* CNSBII 385A · Evidenza rapporto Sarno sulla homepage. Solo classi namespaced. */
.portal122a-home .cns385a-sarno-home{position:relative;padding:clamp(18px,3vw,38px) 0;background:#f4f5f6}
.portal122a-home .cns385a-sarno-feature{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(255px,.68fr);min-width:0;overflow:hidden;background:#122033;color:#f9fbff;border:1px solid #243c55;box-shadow:0 14px 36px rgba(7,22,41,.14);border-radius:0}
.portal122a-home .cns385a-sarno-copy{min-width:0;padding:clamp(25px,4.2vw,62px) clamp(22px,4.2vw,58px)}
.portal122a-home .cns385a-sarno-kicker{display:flex;gap:10px;align-items:center;margin:0 0 23px;color:#e9ca83;font-size:.75rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;line-height:1.5}
.portal122a-home .cns385a-sarno-rule{display:block;width:34px;height:2px;flex:0 0 34px;background:#e0bc6d}
.portal122a-home .cns385a-sarno-copy h2{margin:0;max-width:800px;color:#fff;font-size:clamp(2.1rem,4.1vw,4.1rem);font-weight:760;line-height:1.055;letter-spacing:-.045em}
.portal122a-home .cns385a-sarno-copy h2 span{display:block;margin-top:9px;color:#edcb7b;font-size:clamp(1.36rem,2.6vw,2.55rem);font-weight:590;letter-spacing:-.024em;line-height:1.2}
.portal122a-home .cns385a-sarno-intro{margin:23px 0 0;max-width:740px;font-size:clamp(1rem,1.17vw,1.11rem);line-height:1.65;color:#e4ebf3}
.portal122a-home .cns385a-sarno-details{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:23px;color:#fff;font-size:.78rem;font-weight:750;letter-spacing:.025em}
.portal122a-home .cns385a-sarno-details span+span{border-left:1px solid #8594a5;padding-left:18px}
.portal122a-home .cns385a-sarno-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
.portal122a-home .cns385a-sarno-actions a{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:51px;padding:13px 17px;text-decoration:none!important;font-size:.87rem;font-weight:800;border-radius:0;line-height:1.3}
.portal122a-home .cns385a-sarno-action-primary{background:#edcd88;color:#142134!important;border:1px solid #edcd88}
.portal122a-home .cns385a-sarno-action-primary:hover{background:#ffe2a3;border-color:#ffe2a3;color:#142134!important}
.portal122a-home .cns385a-sarno-action-secondary{border:1px solid #8394a7;color:#fff!important;background:transparent}
.portal122a-home .cns385a-sarno-action-secondary:hover{background:#20354f;color:#fff!important}
.portal122a-home .cns385a-sarno-actions a:focus-visible{outline:3px solid #fff!important;outline-offset:4px!important}
.portal122a-home .cns385a-sarno-transmission{display:flex;align-items:flex-start;gap:10px;margin:25px 0 0;padding-top:15px;border-top:1px solid #45566b;color:#e5edf5;font-size:.78rem;line-height:1.5}
.portal122a-home .cns385a-sarno-statusmark{display:inline-block;flex:0 0 7px;width:7px;height:7px;margin-top:6px;background:#e9ca83}
.portal122a-home .cns385a-sarno-document{display:flex;flex-direction:column;min-width:0;justify-content:space-between;gap:35px;padding:clamp(24px,3vw,43px);background:#e8ecf0;color:#15263a;border-left:1px solid #7d95ab}
.portal122a-home .cns385a-sarno-document-top{display:flex;justify-content:space-between;gap:12px;margin:0;font-size:.59rem;font-weight:850;letter-spacing:.13em;line-height:1.5;color:#435369}
.portal122a-home .cns385a-sarno-document-title{font-size:clamp(1.65rem,2.35vw,3rem);line-height:1.08;letter-spacing:-.045em;color:#162c44}
.portal122a-home .cns385a-sarno-document-title span,.portal122a-home .cns385a-sarno-document-title strong{display:block}
.portal122a-home .cns385a-sarno-document-title strong{font-weight:850}
.portal122a-home .cns385a-sarno-document-topics{display:grid;gap:10px;font-weight:700;font-size:.78rem;line-height:1.5;color:#31465b}
.portal122a-home .cns385a-sarno-document-topics span{display:block;padding:10px 0;border-top:1px solid #bdc9d3}
.portal122a-home .cns385a-sarno-document-foot{margin:0;font-size:.66rem;letter-spacing:.04em;color:#46576a}
@media(max-width:1000px){
  .portal122a-home .cns385a-sarno-feature{grid-template-columns:minmax(0,1.35fr) minmax(230px,.7fr)}
  .portal122a-home .cns385a-sarno-document{padding:25px}
}
@media(max-width:750px){
  .portal122a-home .cns385a-sarno-feature{grid-template-columns:minmax(0,1fr)}
  .portal122a-home .cns385a-sarno-document{border-left:0;border-top:1px solid #a2b2c1;gap:19px}
  .portal122a-home .cns385a-sarno-document-title{font-size:2rem}
  .portal122a-home .cns385a-sarno-document-topics{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
  .portal122a-home .cns385a-sarno-document-topics span{font-size:.71rem}
}
@media(max-width:480px){
  .portal122a-home .cns385a-sarno-copy{padding:27px 21px 25px}
  .portal122a-home .cns385a-sarno-kicker{font-size:.69rem}
  .portal122a-home .cns385a-sarno-copy h2{font-size:2.03rem}
  .portal122a-home .cns385a-sarno-copy h2 span{font-size:1.48rem}
  .portal122a-home .cns385a-sarno-details span+span{padding-left:10px}
  .portal122a-home .cns385a-sarno-actions{display:grid;grid-template-columns:1fr}
  .portal122a-home .cns385a-sarno-actions a{width:100%}
  .portal122a-home .cns385a-sarno-document{padding:23px 21px}
  .portal122a-home .cns385a-sarno-document-topics{grid-template-columns:1fr}
  .portal122a-home .cns385a-sarno-document-topics span{padding:7px 0}
}
@media(prefers-reduced-motion:reduce){.portal122a-home .cns385a-sarno-home *{transition:none!important;animation:none!important}}


/* 419I SOURCE: assets/css/verso23-home-launch-360B.css */
/* Verso il 23 · Portal edition · 360B */
body.portal74d-home .v23launch,body.portal74d-home .v23launch *{box-sizing:border-box}
body.portal74d-home .v23launch{color:#f7f5ef;background:#101d2b;font-family:Inter,Arial,sans-serif;border-block:1px solid #958054}
body.portal74d-home .v23launch-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);width:100%;min-height:610px}
body.portal74d-home .v23launch-visual{position:relative;min-height:610px;background:#344352 url('/osservatorio-sismico/verso23-media.php?asset=conza') center/cover no-repeat}
body.portal74d-home .v23launch-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,16,27,.08) 0%,rgba(3,16,27,.18) 50%,rgba(3,16,27,.9) 100%);pointer-events:none}
body.portal74d-home .v23launch-stamp{position:absolute;z-index:1;left:clamp(24px,5vw,84px);top:38px;display:flex;gap:16px;align-items:center;letter-spacing:.12em;text-transform:uppercase;font-size:12px;color:#fff}
body.portal74d-home .v23launch-stamp strong{border-left:1px solid #e4d69d;padding-left:16px;color:#e4d69d}
body.portal74d-home .v23launch-credit{position:absolute;z-index:1;bottom:22px;left:clamp(24px,5vw,84px);right:24px;font-size:12px;line-height:1.5;color:#fff;margin:0}
body.portal74d-home .v23launch-credit a{color:#ffe7a0;text-underline-offset:3px}
body.portal74d-home .v23launch-body{padding:clamp(34px,6.5vw,100px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(ellipse at top right,#263d4c,#101d2b 67%)}
body.portal74d-home .v23launch-overline{margin:0 0 30px;font-weight:750;text-transform:uppercase;letter-spacing:.17em;color:#e6d28e;font-size:12px}
body.portal74d-home .v23launch h2{font-family:Georgia,serif;font-size:clamp(50px,5.8vw,110px);line-height:.97;letter-spacing:-.035em;font-weight:400;color:#fff;margin:0 0 24px}
body.portal74d-home .v23launch h2 em{font-style:normal;color:#e2cd85}body.portal74d-home .v23launch h2 span{font-size:.56em;letter-spacing:-.02em}
body.portal74d-home .v23launch-intro{font-size:clamp(16px,1.2vw,20px);max-width:48ch;line-height:1.65;color:#e1e8eb;margin:0 0 30px}
body.portal74d-home .v23launch-count{display:grid;grid-template-columns:repeat(3,minmax(78px,1fr));width:min(400px,100%);border-block:1px solid #6f7e87;margin-bottom:18px}
body.portal74d-home .v23launch-count>span{padding:16px 18px 16px 0;display:flex;flex-direction:column;gap:5px}
body.portal74d-home .v23launch-count strong{font-family:Georgia,serif;font-size:clamp(35px,3.5vw,58px);line-height:1;color:#fff;font-weight:400}
body.portal74d-home .v23launch-count small{color:#d8dce0;font-size:11px;text-transform:uppercase;letter-spacing:.09em}
body.portal74d-home .v23launch-release{font-size:14px;color:#e2cd85;margin:0 0 24px;font-weight:600}
body.portal74d-home .v23launch-actions{display:flex;gap:12px;flex-wrap:wrap}
body.portal74d-home .v23launch-actions a{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:18px;padding:13px 21px;font-weight:750;text-decoration:none;font-size:14px}
body.portal74d-home .v23launch-primary{background:#e4d389!important;color:#091728!important}
body.portal74d-home .v23launch-outline{border:1px solid #c1d0d7!important;color:#fff!important;background:transparent!important}
body.portal74d-home .v23launch a:focus-visible{outline:3px solid #ffdf7e;outline-offset:3px}
.v23launch-dialog{padding:0;max-width:min(670px,calc(100% - 28px));width:100%;border:1px solid #d6c28b;background:#122333;color:#fff;box-shadow:0 22px 90px #0008}
.v23launch-dialog::backdrop{background:rgba(3,12,23,.64)}
.v23launch-dialog .v23launch-modal-image{height:180px;background:#52606c url('/osservatorio-sismico/verso23-media.php?asset=conza') center 46%/cover no-repeat}
.v23launch-dialog .v23launch-modal-body{padding:clamp(23px,5vw,42px);position:relative}
.v23launch-dialog .v23launch-close{position:absolute;right:12px;top:12px;background:transparent;color:#fff;border:1px solid #a5b1b9;font-size:26px;line-height:1;cursor:pointer;width:46px;height:46px}
.v23launch-dialog .v23launch-overline{font-size:11px;color:#ebd58e;letter-spacing:.15em;text-transform:uppercase;font-weight:700;margin:0 45px 14px 0}
.v23launch-dialog h2{font:400 clamp(30px,5vw,46px)/1.06 Georgia,serif;color:#fff;margin:0 0 16px}
.v23launch-dialog p:not(.v23launch-overline){line-height:1.6;color:#e4ebef;margin:0 0 21px}
.v23launch-dialog .v23launch-modal-count{display:flex;align-items:baseline;gap:10px;margin:0 0 23px;border-top:1px solid #7d8d97;padding-top:15px}
.v23launch-dialog .v23launch-modal-count strong{font:400 2.1rem Georgia,serif;color:#f5de91}
.v23launch-dialog .v23launch-modal-count span{font-size:13px;color:#e4ebef}
.v23launch-dialog .v23launch-modal-action{display:inline-flex;background:#e4d389;color:#0b1826;padding:15px 19px;font-weight:750;text-decoration:none;min-height:48px}
.v23launch-dialog .v23launch-optout{background:transparent;border:0;color:#e4ebef;text-decoration:underline;margin:19px 0 0 12px;padding:9px;cursor:pointer;font-size:13px}
.v23launch-dialog :focus-visible{outline:3px solid #ffe38e;outline-offset:3px}
@media(max-width:920px){body.portal74d-home .v23launch-layout{grid-template-columns:1fr}body.portal74d-home .v23launch-visual{min-height:390px}body.portal74d-home .v23launch-body{padding:40px 26px 46px}body.portal74d-home .v23launch h2{font-size:clamp(47px,9vw,85px)}}
@media(max-width:480px){body.portal74d-home .v23launch-visual{min-height:285px}body.portal74d-home .v23launch-body{padding:35px 20px 43px}body.portal74d-home .v23launch h2{font-size:clamp(45px,13vw,65px)}body.portal74d-home .v23launch-actions a{width:100%}.v23launch-dialog .v23launch-modal-image{height:115px}.v23launch-dialog .v23launch-optout{margin-left:0}}
@media(prefers-reduced-motion:reduce){body.portal74d-home .v23launch *, .v23launch-dialog *{animation:none!important;transition:none!important}}


/* 419I SOURCE: assets/css/verso23-modal-contrast-389B.css */
/* 389B | Contrasto del solo pulsante nel dialogo "Calendario della memoria".
   Colore della scritta e della freccia: blu notte sul fondo oro.
   Correzione circoscritta alla homepage; nessuna modifica alla shell. */
body.portal74d-home dialog.v23launch-dialog a.v23launch-modal-action,
body.portal74d-home dialog.v23launch-dialog a.v23launch-modal-action:link,
body.portal74d-home dialog.v23launch-dialog a.v23launch-modal-action:visited,
body.portal74d-home dialog.v23launch-dialog a.v23launch-modal-action:hover,
body.portal74d-home dialog.v23launch-dialog a.v23launch-modal-action:active,
body.portal74d-home dialog.v23launch-dialog a.v23launch-modal-action:focus-visible,
body.portal74d-home dialog.v23launch-dialog a.v23launch-modal-action * {
  color: #0b1826 !important;
  -webkit-text-fill-color: #0b1826 !important;
  text-shadow: none !important;
  text-decoration-color: currentColor;
}


/* 419I SOURCE: assets/css/portale-home-185A.css */
/* CNSBII 184M · Riorganizzazione homepage, nessun override della shell condivisa. */
body.cns184m-home { --cns184m-ink:#101c2c; --cns184m-line:#dce3ea; --cns184m-gold:#dccb53; }
body.cns184m-home .cns184m-quick { max-width:1180px;margin:22px auto 28px;padding:0 18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
body.cns184m-home .cns184m-quick a {display:flex;flex-direction:column;gap:7px;padding:20px 18px;min-width:0;background:#f6f8fb;border:1px solid var(--cns184m-line);border-radius:5px;text-decoration:none;color:var(--cns184m-ink);}
body.cns184m-home .cns184m-quick a span {font-size:.75rem;font-weight:800;letter-spacing:.12em;color:#617286;}
body.cns184m-home .cns184m-quick a strong {font-size:1rem;line-height:1.3;}
body.cns184m-home .cns184m-quick a small {font-size:.85rem;line-height:1.4;color:#526174;}
body.cns184m-home .cns184m-quick a:hover,body.cns184m-home .cns184m-quick a:focus-visible {outline:2px solid #234b6e;outline-offset:2px;background:#fff;}
body.cns184m-home .cns184m-fold {display:block;max-width:1180px;margin:22px auto;min-width:0;border:1px solid var(--cns184m-line);background:#fff;border-radius:5px;overflow:clip;}
body.cns184m-home .cns184m-fold > summary {list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 24px;align-items:center;padding:24px 28px;color:var(--cns184m-ink);background:#f6f8fb;}
body.cns184m-home .cns184m-fold > summary::-webkit-details-marker {display:none;}
body.cns184m-home .cns184m-fold-label {grid-column:1/-1;font-size:.7rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#43566f;}
body.cns184m-home .cns184m-fold > summary strong {font-size:clamp(1.08rem,1.7vw,1.42rem);font-weight:800;line-height:1.35;}
body.cns184m-home .cns184m-fold-action {font-size:.82rem;white-space:nowrap;font-weight:800;color:#173c59;}
body.cns184m-home .cns184m-fold-action span {margin-left:6px;font-size:1.25rem;}
body.cns184m-home .cns184m-fold[open] .cns184m-fold-action span {display:inline-block;transform:rotate(45deg);}
body.cns184m-home .cns184m-fold > summary:hover {background:#edf3f8;}
body.cns184m-home .cns184m-fold > summary:focus-visible {outline:3px solid #204965;outline-offset:-4px;}
body.cns184m-home .cns184m-fold > section {margin-top:0;margin-bottom:0;}
body.cns184m-home .cns184m-fold--memoria > section {max-width:100%;}
body.cns184m-home .portal122a-publications {padding-block:clamp(34px,5vw,70px);}
body.cns184m-home .portal122a-news-grid {gap:18px;}
body.cns184m-home .portal122a-news-card {min-width:0;}
body.cns184m-home .cns184m-feature-grid {display:block;}
body.cns184m-home .portal122a-sacco-feature {display:grid;grid-template-columns:minmax(260px,.98fr) minmax(0,1.02fr);align-items:stretch;margin-bottom:22px;}
body.cns184m-home .portal122a-sacco-feature .portal122a-news-media {position:relative;display:block;width:100%;height:100%;min-height:300px;background:#182d42;overflow:hidden;}
body.cns184m-home .cns184m-photo-fallback {position:absolute;inset:0;display:grid;place-items:center;padding:35px;text-align:center;color:#f8fafc;font-weight:800;letter-spacing:.03em;font-size:clamp(1.2rem,2vw,1.8rem);}
body.cns184m-home .portal122a-sacco-feature .portal122a-news-media img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
body.cns184m-home .portal122a-sacco-feature .portal122a-news-copy {padding:clamp(24px,3vw,44px);min-width:0;display:flex;flex-direction:column;justify-content:center;}
body.cns184m-home .portal122a-sacco-feature .portal122a-news-copy h3 {font-size:clamp(1.4rem,2.1vw,2.1rem);line-height:1.2;}
body.cns184m-home .portal122a-sacco-feature .portal122a-news-foot {margin-top:auto;padding-top:20px;}
body.cns184m-home .cns184m-photo-credit {position:absolute;bottom:12px;left:12px;right:12px;z-index:1;width:max-content;max-width:calc(100% - 24px);padding:6px 9px;background:#0d1b29df;color:#fff;font-size:.7rem;line-height:1.4;white-space:normal;}
body.cns184m-home .cns184m-figure-note {font-size:.75rem;margin:14px 0 2px;}
body.cns184m-home .cns184m-figure-note a {color:#294f67;text-decoration:underline;}
body.cns184m-home .portal122a-news-summary {display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
body.cns184m-home .portal122a-publications-nav {max-width:100%;}
@media (max-width:760px) {
 body.cns184m-home .cns184m-quick {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px auto;}
 body.cns184m-home .cns184m-quick a {padding:14px 12px;}
 body.cns184m-home .cns184m-fold {margin:12px 12px;}
 body.cns184m-home .cns184m-fold > summary {padding:18px 16px;grid-template-columns:minmax(0,1fr);}
 body.cns184m-home .cns184m-fold-action {white-space:normal;}
 body.cns184m-home .portal122a-sacco-feature {grid-template-columns:minmax(0,1fr);}
 body.cns184m-home .portal122a-sacco-feature .portal122a-news-media {min-height:0;height:auto;aspect-ratio:16/9;}
 body.cns184m-home .portal122a-sacco-feature .portal122a-news-copy {padding:20px;}
}
@media(max-width:370px){body.cns184m-home .cns184m-quick {grid-template-columns:minmax(0,1fr);}}
@media (prefers-reduced-motion:reduce){body.cns184m-home .cns184m-quick a,body.cns184m-home .cns184m-fold > summary {transition:none;}}


/* 419I SOURCE: assets/css/portale-home-sacco-width-185B.css */
/* CNSBII 185B · Correzione circoscritta alla scheda del dossier Sacco nella homepage.
   Il CSS della home 130B usa selettori body.portal74d-home .portal122a-news-grid
   caricati dopo i fogli extra: questa regola più specifica ne corregge l'eredità.
   Non interviene sulle schede ordinarie, sulla shell né sugli articoli. */
body.portal74d-home.cns184m-home .portal122a-news-grid.cns184m-feature-grid {
  display:block;
  grid-template-columns:none;
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0 0 22px;
}
body.portal74d-home.cns184m-home .cns184m-feature-grid > article.portal122a-news-card.portal122a-sacco-feature {
  display:grid;
  grid-template-columns:minmax(0, .98fr) minmax(0, 1.02fr);
  grid-template-rows:minmax(0,auto);
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:320px;
  margin:0;
  align-items:stretch;
  overflow:hidden;
}
body.portal74d-home.cns184m-home .cns184m-feature-grid .portal122a-sacco-feature .portal122a-news-media {
  position:relative;
  height:auto;
  min-height:320px;
  aspect-ratio:auto;
  overflow:hidden;
  background:#1d344a;
}
body.portal74d-home.cns184m-home .cns184m-feature-grid .portal122a-sacco-feature .portal122a-news-media img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
body.portal74d-home.cns184m-home .cns184m-feature-grid .portal122a-sacco-feature .portal122a-news-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  min-height:0;
  padding:clamp(22px,3vw,42px);
  overflow-wrap:break-word;
}
body.portal74d-home.cns184m-home .cns184m-feature-grid .portal122a-sacco-feature .portal122a-news-copy h3 {
  display:block;
  min-height:0;
  margin:13px 0;
  font-size:clamp(1.45rem,2.3vw,2.35rem);
  line-height:1.14;
  -webkit-line-clamp:unset;
  overflow:visible;
  text-wrap:balance;
  overflow-wrap:break-word;
}
body.portal74d-home.cns184m-home .cns184m-feature-grid .portal122a-sacco-feature .portal122a-news-meta {
  display:flex;
  flex-wrap:wrap;
  gap:5px 12px;
  min-width:0;
}
body.portal74d-home.cns184m-home .cns184m-feature-grid .portal122a-sacco-feature .portal122a-news-summary {
  display:block;
  overflow:visible;
  -webkit-line-clamp:unset;
  max-width:68ch;
}
body.portal74d-home.cns184m-home .cns184m-feature-grid .portal122a-sacco-feature .portal122a-news-foot {
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:auto;
  padding-top:18px;
}
body.portal74d-home.cns184m-home .cns184m-feature-grid .portal122a-sacco-feature .portal122a-news-foot > * {
  min-width:0;
  max-width:100%;
}
@media(max-width:760px) {
  body.portal74d-home.cns184m-home .cns184m-feature-grid > article.portal122a-news-card.portal122a-sacco-feature {
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    min-height:0;
  }
  body.portal74d-home.cns184m-home .cns184m-feature-grid .portal122a-sacco-feature .portal122a-news-media {
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:16/9;
  }
  body.portal74d-home.cns184m-home .cns184m-feature-grid .portal122a-sacco-feature .portal122a-news-copy {
    min-height:0;
    padding:20px;
  }
  body.portal74d-home.cns184m-home .cns184m-feature-grid .portal122a-sacco-feature .portal122a-news-copy h3 {
    font-size:clamp(1.35rem,5.8vw,1.85rem);
  }
}


/* 419I SOURCE: assets/css/dossier-publications-189T.css */
/* 189T — richiamo dossier compatto, isolato nella homepage. */
body.portal74d-home .cns189t-dossiers{margin:clamp(26px,3.5vw,54px) 0 0;padding:clamp(20px,2.5vw,32px);border:1px solid #d9e1e8;background:#f4f7f9;color:#162437;}
body.portal74d-home .cns189t-dossiers-head{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:16px 30px;margin-bottom:20px;}
body.portal74d-home .cns189t-dossiers-head>div{flex:1 1 350px;min-width:0;}
body.portal74d-home .cns189t-dossiers-head h3{font-size:clamp(1.26rem,2vw,1.72rem);line-height:1.18;margin:8px 0;letter-spacing:-.02em;color:#10213a;}
body.portal74d-home .cns189t-dossiers-head p:not(.portal74d-kicker){color:#3c4e60;font-size:.92rem;line-height:1.55;margin:0;max-width:65ch;}
body.portal74d-home .cns189t-dossiers-archive{color:#073e70;font-weight:750;text-decoration:underline;text-underline-offset:4px;white-space:normal;}
body.portal74d-home .cns189t-dossiers-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));list-style:none;gap:10px;padding:0;margin:0;}
body.portal74d-home .cns189t-dossiers-list li{min-width:0;margin:0;padding:0;}
body.portal74d-home .cns189t-dossiers-list a{height:100%;min-height:114px;padding:17px 19px;display:flex;flex-direction:column;gap:9px;position:relative;border:1px solid #d4dfe8;background:#fff;color:#0a243e;text-decoration:none;transition:border-color .15s,background-color .15s;}
body.portal74d-home .cns189t-dossiers-list a:hover{border-color:#3978a8;background:#f5f9fc;}
body.portal74d-home .cns189t-dossiers-list a:focus-visible,body.portal74d-home .cns189t-dossiers-archive:focus-visible{outline:3px solid #115baa;outline-offset:3px;}
body.portal74d-home .cns189t-dossiers-territory{display:block;padding-right:18px;color:#526274;font-size:.75rem;line-height:1.4;}
body.portal74d-home .cns189t-dossiers-list strong{display:block;padding-right:16px;font-size:1rem;line-height:1.35;overflow-wrap:anywhere;}
body.portal74d-home .cns189t-dossiers-go{position:absolute;right:17px;bottom:14px;color:#176398;font-weight:700;}


/* 419I SOURCE: assets/css/cns200t-home-dossiers.css */
/* Micro ottimizzazione homepage 200T · CSS solo su contenuti 200T, shell intatta */
.portal74d-home .cns196t-focus-links a.cns200t-dossier-jump{background:#153b40;color:#f6f9f6;border-color:#72b1a5}
.portal74d-home .cns196t-focus-links a.cns200t-dossier-jump:hover{background:#19524f;color:#fff}
.portal74d-home .cns196t-focus-links a.cns200t-dossier-jump:focus-visible{outline:3px solid #e7b15c;outline-offset:4px}
.cns200t-current-inventory{display:flex;gap:18px;align-items:center;margin:23px 0 0!important;border-top:1px solid #c9d9d4;padding:17px 0 0;max-width:620px}
.cns200t-current-inventory .cns200t-number{font:normal clamp(2.5rem,4vw,4.2rem)/1 Georgia,serif;color:#115a53;min-width:2ch;font-variant-numeric:tabular-nums}
.cns200t-current-inventory strong,.cns200t-current-inventory small{display:block;line-height:1.48}
.cns200t-current-inventory strong{color:#17363a;font-size:.95rem}
.cns200t-current-inventory small{color:#405a5c;font-size:.78rem}
@media(max-width:390px){.cns200t-current-inventory{gap:11px}.cns200t-current-inventory .cns200t-number{font-size:2.45rem}}


/* 419I SOURCE: assets/css/home-focus-196T.css */
/* CNSBII · Homepage · progressivo 196T, solo focus rapido nella hero approvata. */
body.portal74d-home .cns196t-focus{display:grid;gap:11px;margin-top:clamp(22px,3vw,34px);padding-top:17px;border-top:1px solid rgba(236,243,238,.26);max-width:760px}
body.portal74d-home .cns196t-focus-label{color:#e6d5a6;text-transform:uppercase;letter-spacing:.17em;font-size:.7rem;font-weight:750}
body.portal74d-home .cns196t-focus-links{display:flex;flex-wrap:wrap;gap:9px}
body.portal74d-home .cns196t-focus-links a{display:inline-flex;align-items:center;min-height:44px;gap:9px;border:1px solid rgba(255,255,255,.47);padding:10px 15px;background:rgba(9,40,49,.62);color:#fff;text-decoration:none;font-size:.85rem;font-weight:700;transition:background .15s ease,border-color .15s ease}
body.portal74d-home .cns196t-focus-links a:hover{background:rgba(9,65,70,.94);border-color:#fff}
body.portal74d-home .cns196t-focus-links a:focus-visible{outline:3px solid #efd493;outline-offset:3px}
body.portal74d-home .cns196t-focus-links a span[aria-hidden]{color:#efdbab;font-size:1rem}
@media(max-width:460px){body.portal74d-home .cns196t-focus-links{display:grid;grid-template-columns:1fr}body.portal74d-home .cns196t-focus-links a{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){body.portal74d-home .cns196t-focus-links a{transition:none}}


/* 419I SOURCE: assets/css/home-dossiers-reading-202T.css */
/* CNSBII 201T: progressione home nel solo blocco dossier già approvato */
.portal74d-home .cns201t-reading{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:25px 0 4px;background:#c4d9d3;border:1px solid #c4d9d3;max-width:880px}
.portal74d-home .cns201t-reading a{display:grid;align-content:start;gap:7px;min-height:104px;padding:15px 18px;background:#edf3ee;color:#173c3d!important;text-decoration:none;overflow-wrap:anywhere}
.portal74d-home .cns201t-reading a:hover{background:#d9e9df;color:#113f3a!important}
.portal74d-home .cns201t-reading a:focus-visible{outline:3px solid #ba7f14;outline-offset:3px;position:relative;z-index:1}
.portal74d-home .cns201t-reading span{font:normal .78rem/1.1 Georgia,serif;color:#22635d}
.portal74d-home .cns201t-reading strong{font-size:.95rem;line-height:1.35;color:#153e39}
.portal74d-home .cns201t-reading small{font-size:.78rem;line-height:1.4;color:#4a6160}
@media(max-width:680px){.portal74d-home .cns201t-reading{grid-template-columns:1fr}.portal74d-home .cns201t-reading a{min-height:0;padding:13px 16px}}


/* 419I SOURCE: assets/css/home-dossiers-reading-204T.css */
/* CNSBII 204T — microlegenda neutra sotto l’archivio: nessuna card o data hardcoded */
.portal74d-home .cns204t-reading-key{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0 9px;padding:12px 15px;max-width:900px;background:#eaf2ee;border:1px solid #c8ddd4;border-left:3px solid #24776c}
.portal74d-home .cns204t-reading-key strong{font-size:.8rem;letter-spacing:.01em;margin-right:9px;line-height:1.5;color:#21443c}
.portal74d-home .cns204t-reading-key span{font-size:.77rem;line-height:1.5;color:#214d46;background:#fff;border:1px solid #d2e1da;padding:4px 8px}
@media(max-width:390px){.portal74d-home .cns204t-reading-key{padding:10px;gap:6px}.portal74d-home .cns204t-reading-key strong{width:100%}}

/* 205T · ritocco di fruibilità: archivio nazionale più leggibile, senza nuove card o date statiche */
.portal74d-home .cns204t-reading-key{border-radius:2px;box-shadow:0 5px 15px rgba(12,47,43,.045)}
.portal74d-home .cns204t-reading-key span{font-weight:600;color:#193e37}
.portal74d-home .cns201t-reading a:focus-visible,.portal74d-home .cns189t-dossiers-archive:focus-visible{outline:3px solid #a8782b;outline-offset:4px}
.portal74d-home #cns189t-dossiers-title{scroll-margin-top:95px}
@media(max-width:520px){.portal74d-home .cns204t-reading-key{max-width:100%;gap:7px}.portal74d-home .cns204t-reading-key span{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.portal74d-home .cns201t-reading a{transition:none}}

/* 206T · progressione fruibilità home: tre percorsi leggibili anche con ingrandimento e touch */
.portal74d-home .cns201t-reading a{position:relative;transition:background-color .14s ease;line-height:1.4}
.portal74d-home .cns201t-reading a:focus-visible{outline:3px solid #a47420;outline-offset:-3px}
.portal74d-home .cns201t-reading strong{font-size:clamp(.94rem,1.02vw,1.06rem);text-wrap:balance}
.portal74d-home .cns201t-reading small{line-height:1.55}
.portal74d-home .cns204t-reading-key{overflow-wrap:anywhere}
@media (max-width:390px){.portal74d-home .cns201t-reading a{padding:15px 16px;min-height:44px}.portal74d-home .cns204t-reading-key span{min-height:30px;display:inline-flex;align-items:center}}
@media (prefers-reduced-motion:reduce){.portal74d-home .cns201t-reading a{transition:none}}

/* 207T · progressione accessibile: tocchi e orientamento nei dossier, senza nuovi contenuti statici */
.portal74d-home .cns189t-dossiers-list a{min-height:68px;align-content:center;outline-offset:2px}
.portal74d-home .cns189t-dossiers-list a:focus-visible{outline:3px solid #a97d25;background:#e2f1ea;color:#173d36}
.portal74d-home .cns189t-dossiers-list strong{line-height:1.38;text-wrap:balance;overflow-wrap:anywhere}
.portal74d-home .cns201t-reading a:active{background:#e9f1ea}
.portal74d-home .cns189t-dossiers-archive{min-height:44px;display:inline-flex;align-items:center;gap:8px}
.portal74d-home .cns189t-dossiers-head p{max-width:82ch;line-height:1.62}
@media(max-width:600px){.portal74d-home .cns189t-dossiers-list a{min-height:72px;padding-block:15px}.portal74d-home .cns189t-dossiers-archive{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.portal74d-home .cns189t-dossiers-list a,.portal74d-home .cns189t-dossiers-archive{scroll-behavior:auto;transition:none!important}}

/* 209T · progressione home: dossier più leggibili in contrasto elevato, senza card o date rigide */
.portal74d-home .cns189t-dossiers-list a:hover{background:#edf4ef;border-color:#a9c8b6;color:#153c32}
.portal74d-home .cns189t-dossiers-list a:focus-visible{outline:3px solid #a5791e;outline-offset:3px}
.portal74d-home .cns189t-dossiers-head{max-width:100%;overflow-wrap:anywhere}
.portal74d-home .cns204t-reading-key span{white-space:normal}
@media(max-width:390px){.portal74d-home .cns189t-dossiers-list strong{font-size:clamp(.9rem,4vw,1rem)}.portal74d-home .cns204t-reading-key{border-left-width:3px}}
@media(prefers-reduced-motion:reduce){.portal74d-home .cns189t-dossiers-list a{transition:none!important}}

/* 211T · ulteriore affinamento tipografico dei dossier nazionali, nessuna card fissa */
body.portal74d-home .cns189t-dossiers{position:relative;border-color:#bfd5cd;background:linear-gradient(120deg,#f0f6f2 0%,#f8faf7 65%,#f4f8f5 100%)}
body.portal74d-home .cns189t-dossiers::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(#165d54,#b59a56);pointer-events:none}
body.portal74d-home .cns189t-dossiers-head h3{letter-spacing:-.035em;text-wrap:balance;line-height:1.14}
body.portal74d-home .cns189t-dossiers-list a{border-radius:2px;box-shadow:0 4px 16px rgba(15,57,47,.035)}
body.portal74d-home .cns189t-dossiers-list a:hover{box-shadow:0 8px 22px rgba(15,57,47,.085)}
body.portal74d-home .cns189t-dossiers-territory{font-weight:600}
@media(max-width:390px){body.portal74d-home .cns189t-dossiers{padding-inline:15px}body.portal74d-home .cns189t-dossiers-list a{padding-inline:15px}}
@media(prefers-reduced-motion:reduce){body.portal74d-home .cns189t-dossiers-list a{transition:none!important}}
/* 419F · Home / archivio fluviale: gerarchia editoriale e griglia leggibile.
   Ambito rigoroso: sola sezione cns189t-dossiers della homepage.
   Il catalogo dinamico e tutti i collegamenti restano gestiti da index.php. */
body.portal74d-home .cns189t-dossiers{
  padding:clamp(20px,2.6vw,34px);
  overflow-wrap:break-word;
}
body.portal74d-home .cns189t-dossiers-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:18px 26px;
  margin-bottom:clamp(20px,2.6vw,30px);
}
body.portal74d-home .cns189t-dossiers-head>div{
  flex:none;
  width:100%;
  min-width:0;
}
body.portal74d-home .cns189t-dossiers-head h3{
  font-size:clamp(1.5rem,2.1vw,2rem);
  line-height:1.15;
  margin:9px 0 15px;
}
body.portal74d-home .cns189t-dossiers-head p:not(.portal74d-kicker){
  max-width:75ch;
  font-size:clamp(.89rem,.9vw,.98rem);
}
body.portal74d-home .cns189t-dossiers .cns200t-current-inventory{
  max-width:800px;
  margin-top:20px!important;
  padding-top:17px;
}
body.portal74d-home .cns189t-dossiers .cns204t-reading-key{
  max-width:none;
  width:100%;
  gap:8px;
  padding:11px 14px;
  margin:16px 0 12px;
}
body.portal74d-home .cns189t-dossiers .cns201t-reading{
  max-width:none;
  width:100%;
  margin:12px 0 0;
}
body.portal74d-home .cns189t-dossiers .cns201t-reading a{
  min-height:105px;
  padding:17px 19px;
}
body.portal74d-home .cns189t-dossiers .cns189t-dossiers-archive{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:start;
  min-height:46px;
  padding:10px 15px;
  border:1px solid #15574f;
  background:#14473f;
  color:#fff;
  text-decoration:none;
  line-height:1.35;
  font-weight:750;
  white-space:nowrap;
  transition:background-color .15s ease,border-color .15s ease;
}
body.portal74d-home .cns189t-dossiers .cns189t-dossiers-archive:hover{
  border-color:#0c302c;
  background:#0c302c;
  color:#fff;
}
body.portal74d-home .cns189t-dossiers .cns189t-dossiers-archive:focus-visible{
  outline:3px solid #a77a20;
  outline-offset:4px;
}
/* Tre colonne utili invece delle cinque card compresse. La riga finale
   si bilancia automaticamente anche quando il numero dei dossier cambia. */
body.portal74d-home .cns189t-dossiers-list{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
body.portal74d-home .cns189t-dossiers-list li{grid-column:span 2;min-width:0;}
body.portal74d-home .cns189t-dossiers-list li:nth-last-child(2):nth-child(3n + 1),
body.portal74d-home .cns189t-dossiers-list li:last-child:nth-child(3n + 2){grid-column:span 3;}
body.portal74d-home .cns189t-dossiers-list li:last-child:nth-child(3n + 1){grid-column:1 / -1;}
body.portal74d-home .cns189t-dossiers-list a{
  min-height:134px;
  padding:19px 21px 35px;
  gap:10px;
  border:1px solid #cbdcd6;
  background:#fff;
  box-shadow:0 2px 9px rgba(15,49,42,.035);
  transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}
body.portal74d-home .cns189t-dossiers-list a:hover{
  background:#f7fbf9;
  border-color:#4b8b7a;
  box-shadow:0 6px 16px rgba(15,49,42,.075);
}
body.portal74d-home .cns189t-dossiers-list a:focus-visible{
  background:#f7fbf9;
  outline:3px solid #a77a20;
  outline-offset:2px;
}
body.portal74d-home .cns189t-dossiers-territory{
  color:#485e62;
  font-size:.81rem;
  font-weight:650;
  line-height:1.45;
  padding-right:0;
}
body.portal74d-home .cns189t-dossiers-list strong{
  color:#102c34;
  font-size:clamp(1rem,1.08vw,1.13rem);
  line-height:1.39;
  padding-right:0;
  text-wrap:pretty;
}
body.portal74d-home .cns189t-dossiers-go{
  right:17px;
  bottom:13px;
  color:#155b68;
  font-size:1.08rem;
}
@media(max-width:980px){
  body.portal74d-home .cns189t-dossiers-head{grid-template-columns:minmax(0,1fr);}
  body.portal74d-home .cns189t-dossiers .cns189t-dossiers-archive{
    justify-self:start;
    width:auto;
  }
  body.portal74d-home .cns189t-dossiers-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.portal74d-home .cns189t-dossiers-list li,
  body.portal74d-home .cns189t-dossiers-list li:nth-last-child(2):nth-child(3n + 1),
  body.portal74d-home .cns189t-dossiers-list li:last-child:nth-child(3n + 2),
  body.portal74d-home .cns189t-dossiers-list li:last-child:nth-child(3n + 1){grid-column:auto;}
  body.portal74d-home .cns189t-dossiers-list li:last-child:nth-child(2n + 1){grid-column:1 / -1;}
}
@media(max-width:620px){
  body.portal74d-home .cns189t-dossiers-head{gap:14px;}
  body.portal74d-home .cns189t-dossiers-head h3{font-size:clamp(1.5rem,6.2vw,1.8rem);}
  body.portal74d-home .cns189t-dossiers .cns189t-dossiers-archive{
    width:100%;
    justify-self:stretch;
  }
  body.portal74d-home .cns189t-dossiers-list{grid-template-columns:minmax(0,1fr);gap:10px;}
  body.portal74d-home .cns189t-dossiers-list li,
  body.portal74d-home .cns189t-dossiers-list li:last-child:nth-child(2n + 1){grid-column:1 / -1;}
  body.portal74d-home .cns189t-dossiers-list a{min-height:104px;padding:16px 18px 32px;}
  body.portal74d-home .cns189t-dossiers .cns201t-reading a{min-height:0;}
}
@media(prefers-reduced-motion:reduce){
  body.portal74d-home .cns189t-dossiers-list a,
  body.portal74d-home .cns189t-dossiers .cns189t-dossiers-archive{
    transition:none;
  }
}
/* END 419K SOURCE: assets/css/portale-home-extras-bundle-419I.css */

/* 419K SOURCE: assets/css/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;
}

/* CNSBII 1.6.16.86Y | Vigilia ripristino post-install nel CSS unico ufficiale */
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-page{
  --vig86y-navy:#07142f;
  --vig86y-navy-soft:#152449;
  --vig86y-yellow:#f0df3f;
  --vig86y-ink:#071126;
  --vig86y-line:#cbd4e2;
  overflow-x:clip!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-shell{
  width:min(calc(100% - 40px),1180px)!important;
  margin-inline:auto!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-appbar{
  background:var(--vig86y-navy)!important;
  border-bottom:1px solid rgba(255,255,255,.22)!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-appbar-inner{
  min-height:72px!important;
  gap:24px!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-navlinks a,
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-appbar .vig80y2-button{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-appbar .vig80y2-button-primary{
  background:#fff!important;
  border-color:#fff!important;
  color:var(--vig86y-ink)!important;
  -webkit-text-fill-color:var(--vig86y-ink)!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-hero{
  min-height:auto!important;
  background:var(--vig86y-navy)!important;
  border-bottom:4px solid var(--vig86y-yellow)!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-hero-grid{
  grid-template-columns:minmax(0,1fr) minmax(360px,.88fr)!important;
  gap:64px!important;
  align-items:center!important;
  padding-block:74px!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-hero h1{
  max-width:12ch!important;
  margin:0!important;
  font-size:clamp(3.4rem,6.1vw,6.25rem)!important;
  line-height:.91!important;
  letter-spacing:-.055em!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-hero h1 em{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-lead{
  max-width:62ch!important;
  color:#eef3fb!important;
  -webkit-text-fill-color:#eef3fb!important;
  font-size:1.05rem!important;
  line-height:1.62!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-hero-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  align-items:stretch!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-hero-actions .vig80y2-button{
  min-width:170px!important;
  min-height:48px!important;
  padding:12px 18px!important;
  border:2px solid rgba(255,255,255,.72)!important;
  background:transparent!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-align:center!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-hero-actions .vig80y2-button-primary,
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-hero-actions .vig80y2-button:first-child{
  background:var(--vig86y-yellow)!important;
  border-color:var(--vig86y-yellow)!important;
  color:var(--vig86y-ink)!important;
  -webkit-text-fill-color:var(--vig86y-ink)!important;
  opacity:1!important;
  visibility:visible!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-dashboard{
  width:100%!important;
  max-width:560px!important;
  justify-self:end!important;
  transform:none!important;
  border:1px solid rgba(255,255,255,.32)!important;
  border-radius:6px!important;
  box-shadow:0 24px 60px rgba(0,0,0,.25)!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-section{
  padding-block:76px!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo :is(.vig80y2-section-head h2,.vig80y2-flow-intro h2,.vig80y2-incidents h2,.vig80y2-final h2){
  max-width:18ch!important;
  font-size:clamp(2.35rem,4.3vw,4.35rem)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-card-grid{
  gap:14px!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-card-grid article{
  min-height:210px!important;
  padding:24px!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-card-grid h3{
  margin-top:34px!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-flow .vig80y2-shell,
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-incident-grid{
  gap:64px!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-timeline,
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-principle-grid article{
  border-radius:0!important;
}
body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-final-actions .vig80y2-button-primary{
  background:var(--vig86y-navy)!important;
  border-color:var(--vig86y-navy)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
@media (max-width:1050px){
  body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-hero-grid{
    grid-template-columns:1fr!important;
    gap:42px!important;
  }
  body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-dashboard{
    justify-self:start!important;
    max-width:720px!important;
  }
  body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-hero h1{
    max-width:14ch!important;
    font-size:clamp(3.35rem,9vw,5.6rem)!important;
  }
}
@media (max-width:720px){
  body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-shell{
    width:min(calc(100% - 28px),680px)!important;
  }
  body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-appbar-inner{
    min-height:64px!important;
  }
  body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-hero-grid{
    padding-block:54px!important;
  }
  body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-hero h1{
    max-width:none!important;
    font-size:clamp(2.85rem,14vw,4.45rem)!important;
    line-height:.94!important;
  }
  body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-hero-actions .vig80y2-button{
    width:100%!important;
    min-width:0!important;
  }
  body.cnsbii-lumen-ui.vigilia80y2-promo .vig80y2-section{
    padding-block:58px!important;
  }
  body.cnsbii-lumen-ui.vigilia80y2-promo :is(.vig80y2-section-head h2,.vig80y2-flow-intro h2,.vig80y2-incidents h2,.vig80y2-final h2){
    max-width:none!important;
    font-size:clamp(2.1rem,10.5vw,3.25rem)!important;
  }
}

/* CNSBII 1.6.16.86AA | Ripristino integrale shell pubblica; regole grafiche identiche alla baseline sicura 86Y. */
/* END 419K SOURCE: assets/css/cnsbii-lumen-ui-official.css */

/* 419K SOURCE: assets/css/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;
}
/* END 419K SOURCE: assets/css/cnsbii-lumen-idra-quality-guard-68D.css */

/* 419K SOURCE: assets/css/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}}
/* END 419K SOURCE: assets/css/portale-operativo-73A.css */

/* 419K SOURCE: assets/css/portale-home-130B.css */
/* CNSBII 1.6.16.122A · Home Portale. Rimodulazione pubblicazioni e caricamento progressivo. */
body.portal74d-home{
  --p74d-navy:#071126;
  --p74d-navy-2:#101d39;
  --p74d-ink:#111827;
  --p74d-muted:#526071;
  --p74d-line:#d8dee8;
  --p74d-soft:#f3f5f8;
  --p74d-paper:#ffffff;
  --p74d-red:#c40018;
  --p74d-yellow:#e6d84f;
  --p74d-green:#5c8a43;
  --p74d-blue:#1f4f88;
  --p74d-shadow:0 22px 60px rgba(7,17,38,.11);
}
body.portal74d-home{margin:0!important;background:#fff;color:var(--p74d-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;overflow-x:hidden}
body.portal74d-home > .skip-link{position:fixed!important;left:16px!important;top:-100px!important;z-index:100000!important;margin:0!important;padding:10px 14px!important;background:#fff!important;color:#000!important;border:3px solid #000!important;font-weight:900!important;transform:none!important}
body.portal74d-home > .skip-link:focus{top:16px!important}
body.portal74d-home .site-main{min-width:0;background:#fff}
body.portal74d-home .site-main *{box-sizing:border-box}
body.portal74d-home .site-main a{overflow-wrap:normal}
.portal74d-wrap{width:min(1440px,calc(100% - 64px));margin:0 auto}
.portal74d-kicker{margin:0 0 14px;color:var(--p74d-red);font-size:.78rem;font-weight:950;letter-spacing:.14em;line-height:1.2;text-transform:uppercase}
.portal74d-section-heading{max-width:920px;margin-bottom:34px}
.portal74d-section-heading h2,.portal74d-method-intro h2,.portal74d-publications-head h2,.portal74d-final h2{margin:0;color:var(--p74d-ink);font-size:clamp(2.25rem,5vw,5.1rem);letter-spacing:-.055em;line-height:.94}
.portal74d-section-heading>p:last-child,.portal74d-method-intro>p,.portal74d-final p{max-width:850px;margin:20px 0 0;color:var(--p74d-muted);font-size:1.08rem;line-height:1.68}
.portal74d-section-heading.inverse h2,.portal74d-section-heading.inverse>p:last-child{color:#fff}
.portal74d-section-heading.inverse>p:last-child{color:rgba(255,255,255,.76)}
.portal74d-button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:12px 18px;border:2px solid var(--p74d-navy);border-radius:3px;background:#fff;color:var(--p74d-navy)!important;font-weight:900;line-height:1.15;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}
.portal74d-button:hover,.portal74d-button:focus-visible{transform:translateY(-2px);box-shadow:6px 6px 0 rgba(7,17,38,.18)}
.portal74d-button.primary{border-color:var(--p74d-red);background:var(--p74d-red);color:#fff!important}
.portal74d-button.light{border-color:#fff;background:#fff;color:var(--p74d-navy)!important}
.portal74d-text-link{display:inline-flex;align-items:center;gap:9px;color:#fff!important;font-weight:900;text-decoration:none!important}
.portal74d-text-link span{transition:transform .18s ease}
.portal74d-text-link:hover span{transform:translateX(4px)}
.portal74d-text-link.light-link{color:#fff!important}

/* Hero */
.portal74d-hero{--mx:76%;--my:24%;position:relative;isolation:isolate;overflow:hidden;background:var(--p74d-navy);color:#fff;border-bottom:7px solid var(--p74d-yellow)}
.portal74d-hero:before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at var(--mx) var(--my),rgba(230,216,79,.2),transparent 22%),linear-gradient(125deg,#071126 0%,#0d1a36 58%,#16332c 100%)}
.portal74d-hero:after{content:"";position:absolute;inset:auto -8vw -24vw auto;width:min(720px,62vw);aspect-ratio:1;border:1px solid rgba(255,255,255,.16);border-radius:50%;z-index:-2;box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.018)}
.portal74d-hero-mesh{position:absolute;inset:0;z-index:-1;opacity:.42;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.34) 64%,transparent)}
.portal74d-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.72fr);gap:clamp(38px,6vw,90px);align-items:center;min-height:clamp(690px,78vh,900px);padding:clamp(72px,8vw,128px) 0 92px}
.portal74d-hero-copy{min-width:0}
.portal74d-hero .portal74d-kicker{color:var(--p74d-yellow)}
.portal74d-hero h1{max-width:1080px;margin:0;color:#fff;font-size:clamp(3rem,5.2vw,5.65rem);letter-spacing:-.068em;line-height:.86;text-wrap:balance}
.portal74d-lead{max-width:900px;margin:28px 0 0;color:rgba(255,255,255,.82);font-size:clamp(1.08rem,1.5vw,1.34rem);line-height:1.62}
.portal74d-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:30px}
.portal74d-hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:44px;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.portal74d-hero-meta span{min-width:0;padding:17px 18px;border-right:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.7);font-size:.82rem;line-height:1.35}
.portal74d-hero-meta span:first-child{padding-left:0}
.portal74d-hero-meta span:last-child{border-right:0}
.portal74d-hero-meta strong{display:block;margin-bottom:4px;color:#fff;font-size:.92rem}
.portal74d-system-card{position:relative;min-width:0;background:rgba(255,255,255,.96);color:var(--p74d-ink);border-top:7px solid var(--p74d-yellow);padding:26px;box-shadow:18px 18px 0 rgba(0,0,0,.18),var(--p74d-shadow)}
.portal74d-system-card:before{content:"";position:absolute;inset:0;border:1px solid rgba(7,17,38,.16);pointer-events:none}
.portal74d-system-head{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--p74d-line)}
.portal74d-system-head img{width:76px;height:76px;object-fit:contain}
.portal74d-system-head span,.portal74d-route-label,.portal74d-principles article>span{display:block;color:var(--p74d-red);font-size:.72rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
.portal74d-system-head strong{display:block;margin-top:5px;font-size:1.22rem;line-height:1.12}
.portal74d-flow-mini{list-style:none;margin:0;padding:10px 0 0}
.portal74d-flow-mini li{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--p74d-line)}
.portal74d-flow-mini li>span{display:grid;width:40px;height:40px;place-items:center;background:var(--p74d-navy);color:#fff;font-weight:950}
.portal74d-flow-mini strong,.portal74d-flow-mini small{display:block}
.portal74d-flow-mini small{margin-top:3px;color:var(--p74d-muted);line-height:1.35}
.portal74d-system-card>p{margin:18px 0 0;color:var(--p74d-muted);font-size:.86rem;line-height:1.5}
.portal74d-scroll{position:absolute;left:50%;bottom:22px;display:grid;place-items:center;gap:7px;color:rgba(255,255,255,.78)!important;font-size:.72rem;font-weight:850;letter-spacing:.08em;text-decoration:none!important;text-transform:uppercase;transform:translateX(-50%)}
.portal74d-scroll i{display:block;width:1px;height:24px;background:rgba(255,255,255,.5);animation:p74d-scroll 1.6s ease-in-out infinite}
@keyframes p74d-scroll{0%,100%{transform:scaleY(.55);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}

/* Route chooser */
.portal74d-command{padding:clamp(76px,9vw,132px) 0;background:#fff}
.portal74d-route-shell{border:1px solid var(--p74d-line);background:var(--p74d-paper);box-shadow:var(--p74d-shadow)}
.portal74d-route-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--p74d-soft);border-bottom:1px solid var(--p74d-line)}
.portal74d-route-tabs button{min-height:62px;border:0;border-right:1px solid var(--p74d-line);background:transparent;color:var(--p74d-muted);font:inherit;font-weight:900;cursor:pointer}
.portal74d-route-tabs button:last-child{border-right:0}
.portal74d-route-tabs button[aria-selected="true"]{background:var(--p74d-navy);color:#fff;box-shadow:inset 0 -5px 0 var(--p74d-yellow)}
.portal74d-route-tabs button:focus-visible{outline:3px solid var(--p74d-red);outline-offset:-4px}
.portal74d-route-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.34fr);gap:36px;align-items:end;padding:clamp(26px,4vw,52px)}
.portal74d-route-panel[hidden]{display:none!important}
.portal74d-route-panel h3{max-width:850px;margin:8px 0 15px;color:var(--p74d-ink);font-size:clamp(2rem,3.7vw,4.15rem);letter-spacing:-.045em;line-height:.98}
.portal74d-route-panel p:not(.portal74d-route-label){max-width:850px;margin:0;color:var(--p74d-muted);font-size:1.04rem;line-height:1.65}
.portal74d-route-panel ul{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none}
.portal74d-route-panel li{border:1px solid var(--p74d-line);background:var(--p74d-soft);padding:8px 11px;color:#344054;font-size:.83rem;font-weight:800}
.portal74d-route-actions{display:grid;gap:10px;align-content:end}

/* System architecture */
.portal74d-architecture{padding:clamp(80px,9vw,140px) 0;background:var(--p74d-navy);color:#fff}
.portal74d-system-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2)}
.portal74d-system-grid article{position:relative;display:flex;min-width:0;min-height:340px;flex-direction:column;padding:26px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.035);overflow:hidden}
.portal74d-system-grid article:before{content:"";position:absolute;inset:auto -40px -70px auto;width:160px;height:160px;border:1px solid rgba(255,255,255,.1);border-radius:50%;transition:transform .35s ease}
.portal74d-system-grid article:hover:before{transform:scale(1.25)}
.portal74d-system-grid article>span{color:var(--p74d-yellow);font-size:.76rem;font-weight:950;letter-spacing:.1em}
.portal74d-system-grid h3{margin:44px 0 15px;color:#fff;font-size:1.65rem}
.portal74d-system-grid p{margin:0;color:rgba(255,255,255,.72);line-height:1.62}
.portal74d-system-grid a,.portal74d-system-grid em{position:relative;left:auto;right:auto;bottom:auto;display:block;margin-top:auto;padding-top:28px;color:#fff!important;font-style:normal;font-weight:900;line-height:1.35;text-decoration:none!important}
.portal74d-system-grid a:after{content:" →";color:var(--p74d-yellow)}
.portal74d-system-grid em{color:rgba(255,255,255,.55)!important;font-size:.82rem}

/* Areas */
.portal74d-section{padding:clamp(80px,9vw,140px) 0;background:#fff}
.portal74d-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.portal74d-area-grid article{position:relative;min-height:260px;padding:26px;border:1px solid var(--p74d-line);border-top:5px solid var(--p74d-navy);background:#fff;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.portal74d-area-grid article:hover{transform:translateY(-4px);border-color:#aeb8c7;box-shadow:0 18px 42px rgba(7,17,38,.08)}
.portal74d-area-grid article:nth-child(2),.portal74d-area-grid article:nth-child(5){border-top-color:var(--p74d-green)}
.portal74d-area-grid article:nth-child(3),.portal74d-area-grid article:nth-child(6){border-top-color:var(--p74d-red)}
.portal74d-area-grid article>span{display:block;color:#a5adba;font-size:3.7rem;font-weight:950;letter-spacing:-.07em;line-height:1}
.portal74d-area-grid h3{margin:28px 0 10px;color:var(--p74d-ink);font-size:1.38rem;line-height:1.12}
.portal74d-area-grid p{margin:0;color:var(--p74d-muted);line-height:1.62}

/* Method */
.portal74d-method{padding:clamp(76px,8vw,124px) 0;background:var(--p74d-soft);border-block:1px solid var(--p74d-line)}
.portal74d-method-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(34px,6vw,88px);align-items:start}
.portal74d-method-intro{position:sticky;top:26px}
.portal74d-method-intro .portal74d-button{margin-top:26px}
.portal74d-principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--p74d-line);border-left:1px solid var(--p74d-line)}
.portal74d-principles article{min-height:230px;padding:24px;border-right:1px solid var(--p74d-line);border-bottom:1px solid var(--p74d-line);background:#fff}
.portal74d-principles h3{margin:36px 0 9px;font-size:1.28rem;line-height:1.18}
.portal74d-principles p{margin:0;color:var(--p74d-muted);line-height:1.57}

/* Services */
.portal74d-services{padding:clamp(78px,8vw,126px) 0;background:#fff}
.portal74d-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.portal74d-service-grid>a{display:flex;min-width:0;min-height:295px;flex-direction:column;padding:24px;border:1px solid var(--p74d-line);border-top:5px solid var(--p74d-navy);background:#fff;color:var(--p74d-ink)!important;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.portal74d-service-grid>a:hover{transform:translateY(-4px);border-color:#aeb8c7;box-shadow:0 18px 42px rgba(7,17,38,.09)}
.portal74d-service-grid>a>img,.portal74d-service-mark{display:grid;width:62px;height:62px;place-items:center;object-fit:contain;background:var(--p74d-soft);color:var(--p74d-navy);font-size:.82rem;font-weight:950}
.portal74d-service-grid>a>strong{margin:28px 0 9px;font-size:1.4rem}
.portal74d-service-grid>a>p{margin:0;color:var(--p74d-muted);line-height:1.58}
.portal74d-service-grid>a>em{margin-top:auto;padding-top:24px;color:var(--p74d-red);font-style:normal;font-weight:950}
.portal74d-service-grid>a>em:after{content:" →"}

/* Publications */
.portal74d-publications{padding:clamp(78px,8vw,126px) 0;background:var(--p74d-soft);border-top:1px solid var(--p74d-line)}
.portal74d-publications-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}
.portal74d-publication-links{display:flex;flex-wrap:wrap;gap:10px}
.portal74d-publication-links a{border:1px solid var(--p74d-navy);padding:10px 13px;color:var(--p74d-navy)!important;font-weight:900;text-decoration:none!important}
.portal74d-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.portal74d-news-card{display:flex;min-height:280px;flex-direction:column;padding:24px;border:1px solid var(--p74d-line);border-top:5px solid var(--p74d-red);background:#fff}
.portal74d-news-card>p{margin:0;color:var(--p74d-red);font-size:.74rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.portal74d-news-card h3{margin:28px 0 12px;font-size:1.5rem;line-height:1.12}
.portal74d-news-card>span{color:var(--p74d-muted);line-height:1.57}
.portal74d-news-card>a{margin-top:auto;padding-top:24px;color:var(--p74d-red)!important;font-weight:950;text-decoration:none!important}
.portal74d-empty{display:grid;grid-template-columns:minmax(130px,.25fr) minmax(0,1fr) auto;gap:24px;align-items:center;padding:30px;border:1px dashed #9da8b7;background:#fff}
.portal74d-empty>span{color:var(--p74d-red);font-size:.76rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.portal74d-empty h3{margin:0 0 7px;font-size:1.35rem}.portal74d-empty p{margin:0;color:var(--p74d-muted)}
.portal74d-empty>a{color:var(--p74d-red)!important;font-weight:950;text-decoration:none!important;white-space:nowrap}

/* Final */
.portal74d-final{position:relative;overflow:hidden;padding:clamp(70px,8vw,118px) 0;background:linear-gradient(120deg,var(--p74d-navy),#17332c);color:#fff;border-bottom:7px solid var(--p74d-yellow)}
.portal74d-final:after{content:"";position:absolute;right:-150px;top:-170px;width:480px;height:480px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018)}
.portal74d-final-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.35fr);gap:50px;align-items:end}
.portal74d-final .portal74d-kicker{color:var(--p74d-yellow)}
.portal74d-final h2{color:#fff;max-width:980px}
.portal74d-final p{color:rgba(255,255,255,.74)}
.portal74d-final-actions{display:grid;gap:10px}
.portal74d-final-actions .portal74d-text-link{justify-content:center;margin-top:7px}


/* Testata della sola Home 74D: nessuna influenza sulle pagine interne */
body.portal74d-home .cns-shell{margin:0!important}
body.portal74d-home .cns-brand{min-width:390px}
body.portal74d-home .cns-brand-text em{max-width:285px;font-size:.82rem;letter-spacing:.07em;line-height:1.12}
body.portal74d-home .cns-main-nav a,
body.portal74d-home .cns-main-nav button{overflow-wrap:normal!important;word-break:normal!important}
body.portal74d-home .cns-idra-access{overflow-wrap:normal!important}

/* Atlante dell'Acqua */
.portal74d-atlas{position:relative;overflow:hidden;padding:clamp(80px,9vw,138px) 0;background:linear-gradient(135deg,#eaf6fb 0%,#f8fbfd 53%,#eef5f2 100%);border-block:1px solid var(--p74d-line)}
.portal74d-atlas:before{content:"";position:absolute;right:-150px;top:-210px;width:560px;height:560px;border:1px solid rgba(31,79,136,.16);border-radius:50%;box-shadow:0 0 0 80px rgba(31,79,136,.04),0 0 0 160px rgba(31,79,136,.025)}
.portal74d-atlas-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:clamp(38px,7vw,100px);align-items:center}
.portal74d-atlas-visual{min-width:0;border:1px solid rgba(7,17,38,.16);border-top:7px solid #1f78b4;background:#06243b;padding:clamp(24px,4vw,44px);color:#fff;box-shadow:18px 18px 0 rgba(7,17,38,.12)}
.portal74d-atlas-mark{display:grid;min-height:260px;place-items:center;background:radial-gradient(circle,rgba(255,255,255,.13),transparent 62%)}
.portal74d-atlas-mark img{width:min(190px,58%);height:auto;filter:drop-shadow(0 18px 28px rgba(0,0,0,.22))}
.portal74d-atlas-visual dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0 0;border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2)}
.portal74d-atlas-visual dl div{padding:16px 10px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}
.portal74d-atlas-visual dt{color:var(--p74d-yellow);font-size:2rem;font-weight:950;line-height:1}
.portal74d-atlas-visual dd{margin:7px 0 0;color:rgba(255,255,255,.74);font-size:.78rem;line-height:1.3}
.portal74d-atlas-copy h2{max-width:850px;margin:0;color:var(--p74d-ink);font-size:clamp(2.6rem,5.4vw,5.6rem);letter-spacing:-.06em;line-height:.91}
.portal74d-atlas-copy>p:not(.portal74d-kicker):not(.portal74d-atlas-note){max-width:830px;margin:24px 0 0;color:var(--p74d-muted);font-size:1.08rem;line-height:1.68}
.portal74d-atlas-copy ul{display:grid;gap:10px;margin:26px 0 0;padding:0;list-style:none}
.portal74d-atlas-copy li{position:relative;padding-left:28px;color:#263548;line-height:1.55}
.portal74d-atlas-copy li:before{content:"";position:absolute;left:0;top:.52em;width:12px;height:12px;border:3px solid #1f78b4;border-radius:50%}
.portal74d-atlas-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:30px}
.portal74d-button.light-atlas{border-color:#1f78b4;color:#0b4169!important;background:#fff}
.portal74d-atlas-note{max-width:820px;margin:24px 0 0;padding-top:18px;border-top:1px solid rgba(7,17,38,.14);color:#536276;font-size:.86rem;line-height:1.55}

/* Robustezza dei riquadri: il collegamento non può sovrapporsi al testo */
.portal74d-system-grid h3{margin-bottom:14px}
.portal74d-system-grid p{padding-bottom:12px}
.portal74d-system-grid article>*{min-width:0}

/* Progressive enhancement */
body.portal74d-home.portal74d-js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
body.portal74d-home.portal74d-js [data-reveal].is-visible{opacity:1;transform:none}
body.portal74d-home .floating-share-toggle{border-radius:3px!important;box-shadow:6px 6px 0 rgba(7,17,38,.18)!important}

@media(max-width:1180px){
  .portal74d-wrap{width:min(100% - 40px,1100px)}
  .portal74d-hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.62fr)}
  .portal74d-hero h1{font-size:clamp(2.9rem,5.6vw,5.2rem)}
  .portal74d-system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal74d-area-grid,.portal74d-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:880px){
  .portal74d-wrap{width:min(100% - 30px,760px)}
  .portal74d-hero-grid,.portal74d-method-grid,.portal74d-final-grid{grid-template-columns:1fr}
  .portal74d-hero-grid{min-height:0;padding:72px 0 92px}
  .portal74d-system-card{max-width:660px}
  .portal74d-route-panel{grid-template-columns:1fr;align-items:start}
  .portal74d-route-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal74d-method-intro{position:static}
  .portal74d-publications-head{align-items:flex-start;flex-direction:column}
  .portal74d-empty{grid-template-columns:1fr}
  .portal74d-empty>a{white-space:normal}
}
@media(max-width:640px){
  .portal74d-wrap{width:min(100% - 24px,620px)}
  .portal74d-hero h1{font-size:clamp(2.45rem,11.5vw,3.75rem);line-height:.89}
  .portal74d-lead{font-size:1rem}
  .portal74d-actions{align-items:stretch;flex-direction:column}
  .portal74d-actions .portal74d-button{width:100%}
  .portal74d-text-link{justify-content:center;min-height:44px}
  .portal74d-hero-meta{grid-template-columns:1fr}
  .portal74d-hero-meta span,.portal74d-hero-meta span:first-child{padding:13px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .portal74d-hero-meta span:last-child{border-bottom:0}
  .portal74d-system-card{padding:20px;box-shadow:9px 9px 0 rgba(0,0,0,.18)}
  .portal74d-system-head{grid-template-columns:58px minmax(0,1fr)}
  .portal74d-system-head img{width:58px;height:58px}
  .portal74d-scroll{display:none}
  .portal74d-route-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal74d-route-tabs button:nth-child(2){border-right:0}
  .portal74d-route-tabs button:nth-child(-n+2){border-bottom:1px solid var(--p74d-line)}
  .portal74d-route-panel{padding:24px 18px}
  .portal74d-route-panel h3{font-size:2.25rem}
  .portal74d-route-actions{grid-template-columns:1fr}
  .portal74d-system-grid,.portal74d-area-grid,.portal74d-principles,.portal74d-service-grid,.portal74d-news-grid{grid-template-columns:1fr}
  .portal74d-system-grid article{min-height:280px}
  .portal74d-section-heading h2,.portal74d-method-intro h2,.portal74d-publications-head h2,.portal74d-final h2{font-size:clamp(2.2rem,12vw,3.5rem)}
  .portal74d-publication-links{width:100%}.portal74d-publication-links a{flex:1 1 auto;text-align:center}
  .portal74d-final-actions .portal74d-button{width:100%}
  body.portal74d-home .floating-share{right:10px;bottom:10px}
  body.portal74d-home .floating-share-toggle{padding:10px 12px!important;font-size:.82rem}
}
@media(prefers-reduced-motion:reduce){
  .portal74d-scroll i,.portal74d-system-grid article:before{animation:none!important;transition:none!important}
  body.portal74d-home.portal74d-js [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
  .portal74d-button,.portal74d-area-grid article,.portal74d-service-grid>a{transition:none!important}
}
@media print{
  .portal74d-hero,.portal74d-architecture,.portal74d-final{background:#fff!important;color:#000!important;border:1px solid #ccc}
  .portal74d-hero h1,.portal74d-section-heading.inverse h2,.portal74d-final h2{color:#000!important}
  .portal74d-hero p,.portal74d-section-heading.inverse>p:last-child,.portal74d-final p{color:#333!important}
  .portal74d-scroll,.portal74d-route-tabs,.floating-share{display:none!important}
  .portal74d-route-panel[hidden]{display:grid!important}
}
@media(max-width:640px){body.portal74d-home .floating-share{display:none!important}}


/* Menu Home 74D: prevale sui vecchi CSS globali che forzavano display:flex */
@media(max-width:900px){
  body.portal74d-home .cns-wrap{width:min(100% - 24px,760px)!important}
  body.portal74d-home .cns-topline-inner{min-height:0!important;padding:11px 0!important;font-size:.88rem!important;line-height:1.32!important}
  body.portal74d-home .cns-head-main{display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important;gap:14px!important;min-height:0!important;padding:18px 0!important}
  body.portal74d-home .cns-brand{display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;width:100%!important;min-width:0!important;gap:14px!important;align-items:center!important}
  body.portal74d-home .cns-brand-logo{width:82px!important;height:82px!important;flex-basis:82px!important}
  body.portal74d-home .cns-brand-logo{grid-column:1!important}
  body.portal74d-home .cns-brand-text{grid-column:2!important;min-width:0!important}
  body.portal74d-home .cns-brand-text strong{font-size:1.55rem!important;line-height:.98!important}
  body.portal74d-home .cns-brand-text em{display:block!important;max-width:none!important;margin-top:7px!important;font-size:.72rem!important;letter-spacing:.055em!important;line-height:1.17!important}
  body.portal74d-home .cns-menu-toggle{order:2;display:flex!important;width:100%!important;min-height:58px!important;align-items:center!important;justify-content:space-between!important;margin:0!important;padding:14px 18px!important;font-size:1rem!important}
  body.portal74d-home .cns-idra-access{order:3;display:flex!important;width:100%!important;min-width:0!important;min-height:58px!important;justify-content:center!important;margin:0!important;padding:11px 16px!important}
  body.portal74d-home .cns-idra-access img{width:38px!important;height:38px!important}
  body.portal74d-home .cns-idra-access span{font-size:1rem!important}
  body.portal74d-home .cns-main-nav{order:4;display:none!important;position:static!important;inset:auto!important;width:100%!important;max-height:min(68vh,620px)!important;margin:0!important;padding:12px!important;overflow-x:hidden!important;overflow-y:auto!important;grid-template-columns:1fr!important;gap:8px!important;background:#fff!important;border:3px solid #111!important;border-radius:0!important;box-shadow:8px 8px 0 rgba(0,0,0,.18)!important}
  body.portal74d-home .cns-shell.menu-open .cns-main-nav{display:grid!important}
  body.portal74d-home .cns-main-nav>a,
  body.portal74d-home .cns-nav-group>button{display:flex!important;width:100%!important;min-height:52px!important;align-items:center!important;justify-content:space-between!important;margin:0!important;padding:14px 16px!important;border:1px solid var(--p74d-line)!important;background:#fff!important;color:#111!important;font-size:.9rem!important;letter-spacing:.07em!important;line-height:1.25!important;text-align:left!important;white-space:normal!important}
  body.portal74d-home .cns-nav-actions>button{background:var(--p74d-yellow)!important;box-shadow:none!important}
  body.portal74d-home .cns-dropdown{position:static!important;display:none!important;min-width:0!important;margin:6px 0 2px!important;padding:6px!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;border:1px solid var(--p74d-line)!important;box-shadow:none!important}
  body.portal74d-home .cns-nav-group.is-open .cns-dropdown{display:grid!important;transform:none!important}
  body.portal74d-home .cns-dropdown:before{display:none!important}
  body.portal74d-home .cns-dropdown a{display:block!important;margin:0 0 5px!important;padding:13px 14px!important;border:1px solid var(--p74d-line)!important;background:var(--p74d-soft)!important;color:#111!important;font-size:.88rem!important;line-height:1.3!important}
  body.portal74d-home .cns-dropdown a:last-child{margin-bottom:0!important}
  .portal74d-atlas-grid{grid-template-columns:1fr}
  .portal74d-atlas-visual{max-width:680px}
}
@media(max-width:640px){
  body.portal74d-home .cns-brand{grid-template-columns:76px minmax(0,1fr)!important}
  body.portal74d-home .cns-brand-logo{width:76px!important;height:76px!important;flex-basis:76px!important}
  body.portal74d-home .cns-brand-text strong{font-size:1.42rem!important}
  body.portal74d-home .cns-brand-text em{font-size:.68rem!important;letter-spacing:.045em!important}
  .portal74d-system-grid article{min-height:0!important}
  .portal74d-system-grid a,.portal74d-system-grid em{padding-top:22px}
  .portal74d-atlas-visual{padding:22px;box-shadow:9px 9px 0 rgba(7,17,38,.12)}
  .portal74d-atlas-mark{min-height:210px}
  .portal74d-atlas-visual dl{grid-template-columns:1fr}
  .portal74d-atlas-actions{align-items:stretch;flex-direction:column}
  .portal74d-atlas-actions .portal74d-button{width:100%}
}


/* 122A · Hero più compatto: le pubblicazioni entrano prima nel percorso visivo. */
body.portal74d-home .portal74d-hero-grid{min-height:clamp(610px,70vh,780px);padding-top:clamp(62px,7vw,104px);padding-bottom:82px}

/* 122A · Hub pubblicazioni. Tutti i selettori nuovi sono circoscritti alla Home. */
body.portal74d-home .portal122a-publications{position:relative;overflow:hidden;padding:clamp(74px,8vw,118px) 0;background:#fff;border-bottom:1px solid var(--p74d-line)}
body.portal74d-home .portal122a-publications::before{content:"";position:absolute;top:0;right:max(32px,calc((100vw - 1440px)/2));width:min(31vw,460px);height:7px;background:var(--p74d-red)}
body.portal74d-home .portal122a-publications-head{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);gap:clamp(28px,5vw,76px);align-items:end;margin-bottom:38px;padding-bottom:30px;border-bottom:1px solid var(--p74d-line)}
body.portal74d-home .portal122a-publications-title{max-width:980px}
body.portal74d-home .portal122a-publications-title h2{max-width:1000px;margin:0;color:var(--p74d-ink);font-size:clamp(2.45rem,5.4vw,5.7rem);letter-spacing:-.06em;line-height:.9;text-wrap:balance}
body.portal74d-home .portal122a-publications-title>p:last-child{max-width:780px;margin:22px 0 0;color:var(--p74d-muted);font-size:1.04rem;line-height:1.65}
body.portal74d-home .portal122a-publications-nav{display:grid;align-content:end;border-top:1px solid var(--p74d-line)}
body.portal74d-home .portal122a-publications-nav a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:50px;padding:12px 4px;border-bottom:1px solid var(--p74d-line);color:var(--p74d-ink)!important;font-size:.82rem;font-weight:900;letter-spacing:.035em;text-decoration:none!important;transition:padding .18s ease,color .18s ease}
body.portal74d-home .portal122a-publications-nav a::after{content:"↗";color:var(--p74d-red);font-size:1rem}
body.portal74d-home .portal122a-publications-nav a:hover,body.portal74d-home .portal122a-publications-nav a:focus-visible{padding-left:8px;color:var(--p74d-red)!important}

body.portal74d-home .portal122a-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
body.portal74d-home .portal122a-news-card{position:relative;display:grid;grid-template-rows:auto 1fr;min-width:0;overflow:hidden;border:1px solid var(--p74d-line);background:#fff;box-shadow:0 1px 0 rgba(7,17,38,.03);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
body.portal74d-home .portal122a-news-card::after{content:"";position:absolute;left:0;bottom:0;width:0;height:4px;background:var(--p74d-red);transition:width .3s ease}
body.portal74d-home .portal122a-news-card:hover{transform:translateY(-6px);border-color:#bcc5d1;box-shadow:0 22px 46px rgba(7,17,38,.12)}
body.portal74d-home .portal122a-news-card:hover::after{width:100%}
body.portal74d-home .portal122a-news-card:focus-within{outline:3px solid rgba(196,0,24,.24);outline-offset:3px}
body.portal74d-home .portal122a-news-media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--p74d-navy);text-decoration:none!important}
body.portal74d-home .portal122a-news-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(7,17,38,.42));pointer-events:none}
body.portal74d-home .portal122a-news-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease}
body.portal74d-home .portal122a-news-card:hover .portal122a-news-media img{transform:scale(1.035);filter:saturate(1.04) contrast(1.02)}
body.portal74d-home .portal122a-news-placeholder{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(135deg,#071126 0 71%,#c40018 71%);color:#fff;font-size:1.08rem;font-weight:950;letter-spacing:.16em}
body.portal74d-home .portal122a-news-index{position:absolute;right:14px;bottom:10px;z-index:2;color:#fff;font-size:clamp(2.15rem,4vw,4rem);font-weight:950;letter-spacing:-.08em;line-height:.8;text-shadow:0 2px 18px rgba(0,0,0,.34)}
body.portal74d-home .portal122a-news-copy{display:flex;min-height:330px;flex-direction:column;padding:24px 24px 22px}
body.portal74d-home .portal122a-news-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;color:var(--p74d-red);font-size:.68rem;font-weight:950;letter-spacing:.095em;line-height:1.3;text-transform:uppercase}
body.portal74d-home .portal122a-news-meta i{display:block;width:4px;height:4px;border-radius:50%;background:#aab2bd}
body.portal74d-home .portal122a-news-copy h3{display:-webkit-box;min-height:3.34em;margin:16px 0 13px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:var(--p74d-ink);font-size:clamp(1.38rem,1.7vw,1.82rem);letter-spacing:-.032em;line-height:1.11}
body.portal74d-home .portal122a-news-copy h3 a{color:inherit!important;text-decoration:none!important}
body.portal74d-home .portal122a-news-summary{display:-webkit-box;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:var(--p74d-muted);font-size:.94rem;line-height:1.58}
body.portal74d-home .portal122a-news-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:22px;border-top:1px solid var(--p74d-line)}
body.portal74d-home .portal122a-news-foot time{color:#5b6675;font-size:.72rem;font-weight:850;letter-spacing:.025em;text-transform:uppercase}
body.portal74d-home .portal122a-news-foot>a{display:inline-flex;align-items:center;gap:7px;color:var(--p74d-red)!important;font-size:.82rem;font-weight:950;text-decoration:none!important}
body.portal74d-home .portal122a-news-foot>a span{font-size:1rem;transition:transform .18s ease}
body.portal74d-home .portal122a-news-foot>a:hover span{transform:translate(2px,-2px)}

body.portal74d-home .portal122a-loadmore{display:grid;grid-template-columns:auto minmax(250px,360px);gap:16px 28px;align-items:center;justify-content:center;margin-top:42px;padding-top:30px;border-top:1px solid var(--p74d-line)}
body.portal74d-home .portal122a-loadmore[hidden]{display:none!important}
body.portal74d-home .portal122a-loadmore-status{display:flex;flex-direction:column;color:var(--p74d-muted);font-size:.76rem;line-height:1.35;text-transform:uppercase;letter-spacing:.06em}
body.portal74d-home .portal122a-loadmore-status strong{color:var(--p74d-ink);font-size:.9rem}
body.portal74d-home .portal122a-loadmore-button{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border:2px solid var(--p74d-navy);border-radius:0;background:var(--p74d-navy);color:#fff;font:inherit;font-size:.88rem;font-weight:950;letter-spacing:.02em;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
body.portal74d-home .portal122a-loadmore-button i{font-style:normal;font-size:1.1rem;transition:transform .18s ease}
body.portal74d-home .portal122a-loadmore-button:hover,body.portal74d-home .portal122a-loadmore-button:focus-visible{transform:translateY(-2px);box-shadow:7px 7px 0 rgba(7,17,38,.16);background:#101d39}
body.portal74d-home .portal122a-loadmore-button:hover i{transform:translateY(3px)}
body.portal74d-home .portal122a-loadmore-button[disabled]{cursor:wait;opacity:.72;transform:none;box-shadow:none}
body.portal74d-home .portal122a-progress{grid-column:1/-1;height:3px;overflow:hidden;background:#e7eaf0}
body.portal74d-home .portal122a-progress span{display:block;height:100%;background:var(--p74d-red);transition:width .3s ease}
body.portal74d-home .portal122a-empty{padding:34px;border:1px solid var(--p74d-line);border-left:6px solid var(--p74d-red);background:var(--p74d-soft)}
body.portal74d-home .portal122a-empty>span{color:var(--p74d-red);font-size:.72rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
body.portal74d-home .portal122a-empty h3{margin:10px 0;color:var(--p74d-ink);font-size:clamp(1.6rem,3vw,2.5rem);letter-spacing:-.03em}
body.portal74d-home .portal122a-empty p{max-width:700px;color:var(--p74d-muted);line-height:1.6}
body.portal74d-home .portal122a-empty a{color:var(--p74d-red)!important;font-weight:950;text-decoration:none!important}

/* Le card aggiunte dal pulsante entrano senza ricalcolare le dimensioni della griglia. */
body.portal74d-home.portal74d-js .portal122a-news-card.is-home-appended{opacity:0;transform:translateY(14px)}
body.portal74d-home.portal74d-js .portal122a-news-card.is-home-appended.is-visible{opacity:1;transform:none;transition:opacity .42s ease,transform .42s ease,box-shadow .24s ease,border-color .24s ease}

@media(max-width:1120px){
  body.portal74d-home .portal122a-publications-head{grid-template-columns:1fr}
  body.portal74d-home .portal122a-publications-nav{grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid var(--p74d-line)}
  body.portal74d-home .portal122a-publications-nav a{padding:12px;border-right:1px solid var(--p74d-line)}
  body.portal74d-home .portal122a-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  body.portal74d-home .portal74d-hero-grid{min-height:0;padding-top:56px;padding-bottom:76px}
  body.portal74d-home .portal122a-publications{padding:64px 0}
  body.portal74d-home .portal122a-publications::before{right:24px;width:38vw}
  body.portal74d-home .portal122a-publications-head{margin-bottom:26px;padding-bottom:22px}
  body.portal74d-home .portal122a-publications-title h2{font-size:clamp(2.25rem,11vw,3.85rem)}
  body.portal74d-home .portal122a-publications-nav{grid-template-columns:1fr;border-left:0}
  body.portal74d-home .portal122a-publications-nav a{border-right:0}
  body.portal74d-home .portal122a-news-grid{grid-template-columns:1fr;gap:18px}
  body.portal74d-home .portal122a-news-card{grid-template-columns:42% minmax(0,1fr);grid-template-rows:1fr;min-height:250px}
  body.portal74d-home .portal122a-news-media{height:100%;aspect-ratio:auto}
  body.portal74d-home .portal122a-news-copy{min-height:0;padding:20px}
  body.portal74d-home .portal122a-news-copy h3{min-height:0;margin:12px 0 10px;font-size:1.38rem;-webkit-line-clamp:3}
  body.portal74d-home .portal122a-news-summary{-webkit-line-clamp:2;font-size:.9rem}
  body.portal74d-home .portal122a-news-index{right:10px;bottom:9px;font-size:2.4rem}
  body.portal74d-home .portal122a-loadmore{grid-template-columns:1fr;margin-top:32px}
  body.portal74d-home .portal122a-loadmore-button{width:100%}
  body.portal74d-home .portal122a-progress{grid-column:auto}
}
@media(max-width:540px){
  body.portal74d-home .portal122a-news-card{grid-template-columns:1fr;grid-template-rows:auto 1fr;min-height:0}
  body.portal74d-home .portal122a-news-media{aspect-ratio:16/10}
  body.portal74d-home .portal122a-news-copy{min-height:305px}
  body.portal74d-home .portal122a-news-copy h3{font-size:1.5rem}
  body.portal74d-home .portal122a-news-summary{-webkit-line-clamp:3}
}
@media(prefers-reduced-motion:reduce){
  body.portal74d-home .portal122a-news-card,body.portal74d-home .portal122a-news-card::after,body.portal74d-home .portal122a-news-media img,body.portal74d-home .portal122a-loadmore-button,body.portal74d-home .portal122a-news-foot>a span{transition:none!important}
  body.portal74d-home .portal122a-news-card:hover,body.portal74d-home.portal74d-js .portal122a-news-card.is-home-appended{transform:none!important}
  body.portal74d-home.portal74d-js .portal122a-news-card.is-home-appended{opacity:1!important}
}

/* CNSBII International gateway · 129A */
.portal122a-home .portal125a-international{padding:20px 0 10px;background:#fff}.portal122a-home .portal125a-international-card{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:38px;align-items:center;padding:30px 34px;border:1px solid #d9e0e7;border-radius:18px;background:linear-gradient(120deg,#0a1422 0%,#111d2d 68%,#18263a 100%);overflow:hidden;color:#fff}.portal122a-home .portal125a-international-card:after{content:"";position:absolute;right:-70px;top:-110px;width:260px;height:260px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 86px rgba(255,255,255,.018);pointer-events:none}.portal122a-home .portal125a-international-copy,.portal122a-home .portal125a-international-side{position:relative;z-index:1}.portal122a-home .portal125a-international-kicker{margin:0 0 10px;color:#fff;font-size:.72rem;line-height:1.2;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.portal122a-home .portal125a-international-copy h2{max-width:760px;margin:0;font-size:clamp(1.65rem,3vw,3.05rem);line-height:1.01;letter-spacing:-.045em;color:#fff}.portal122a-home .portal125a-international-copy p:not(.portal125a-international-kicker){max-width:760px;margin:14px 0 0;color:#d9e1eb;font-size:1rem;line-height:1.55}.portal122a-home .portal125a-international-side{display:grid;gap:16px;justify-items:stretch}.portal122a-home .portal125a-language-list{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.portal122a-home .portal125a-language-list span{display:grid;place-items:center;min-height:38px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:rgba(255,255,255,.06);color:#fff;font-size:.74rem;font-weight:850;letter-spacing:.08em}.portal122a-home .portal125a-international-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px;padding:13px 16px;border-radius:9px;background:#fff;color:#0a1422!important;text-decoration:none;font-weight:850;transition:transform .18s ease,background .18s ease}.portal122a-home .portal125a-international-cta:hover{transform:translateY(-2px);background:#f2f5f8}.portal122a-home .portal125a-international-cta:focus-visible{outline:3px solid #fff;outline-offset:3px}@media(max-width:900px){.portal122a-home .portal125a-international-card{grid-template-columns:1fr;gap:24px}.portal122a-home .portal125a-international-side{max-width:520px}}@media(max-width:560px){.portal122a-home .portal125a-international{padding-top:12px}.portal122a-home .portal125a-international-card{padding:24px 20px;border-radius:14px}.portal122a-home .portal125a-language-list{grid-template-columns:repeat(3,1fr)}.portal122a-home .portal125a-international-copy p:not(.portal125a-international-kicker){font-size:.94rem}}@media(prefers-reduced-motion:reduce){.portal122a-home .portal125a-international-cta{transition:none}}

/* European dimension on the main portal home · 129A
   The emblem is visually separated from the CNSBII mark and appears only when enabled in International Center. */
.portal122a-home .portal127a-eu-home{
  display:grid;grid-template-columns:60px 1fr;gap:14px;align-items:start;
  margin-top:2px;padding:14px;border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.055);color:#fff
}
.portal122a-home .portal127a-eu-home img{
  width:60px;height:40px;display:block;object-fit:contain;background:#fff
}
.portal122a-home .portal127a-eu-home strong{
  display:block;margin:0 0 4px;color:#fff;font-size:.76rem;letter-spacing:.04em
}
.portal122a-home .portal127a-eu-home p{
  margin:0;color:#cfd8e5;font-size:.67rem;line-height:1.45
}
.portal122a-home .portal127a-eu-home a{
  display:inline-block;margin-top:7px;color:#fff!important;font-size:.66rem;font-weight:800;text-underline-offset:3px
}
@media(max-width:560px){
  .portal122a-home .portal127a-eu-home{grid-template-columns:50px 1fr;padding:12px}
  .portal122a-home .portal127a-eu-home img{width:50px;height:auto}
}
/* 130B · gli elementi di shell europea sono ora globali e non dipendono dalla Home. */


/* CNSBII 1.6.16.142B · Institutional UI consolidation */
.portal122a-home{overflow-x:clip}
.portal122a-home :where(h1,h2,h3){text-wrap:balance}
.portal122a-home :where(p,li,dd,a){overflow-wrap:anywhere}
.portal122a-home :where(img,svg,video){max-width:100%;height:auto}
.portal122a-home .portal74d-route-panel,.portal122a-home .portal122a-news-card,.portal122a-home .portal125a-international-card,.portal122a-home .portal74d-system-grid>article{border-radius:2px!important;box-shadow:none!important}
.portal122a-home .portal74d-button,.portal122a-home .portal74d-route-tabs button,.portal122a-home .portal122a-loadmore button{border-radius:2px!important}
.portal122a-home :where(a,button,input,select,textarea):focus-visible{outline:3px solid #c40018!important;outline-offset:3px!important}
@media(max-width:760px){
  .portal122a-home :where(.cns74f-card-grid,.trans74i-card-grid,.partner74l-grid,.a11y74k-card-grid,.ac74q-service-grid){grid-template-columns:1fr!important}
  .portal122a-home :where(.cns74f-jump,.trans74i-local-nav,.partner74l-local-nav,.a11y74k-local-nav,.ac74q-section-nav){overflow-x:auto;overscroll-behavior-inline:contain}
}
@media(prefers-reduced-motion:reduce){
  .portal122a-home *,.portal122a-home *::before,.portal122a-home *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* CNSBII 1.6.16.150B1 · contrasto verificato Quality Gate 150A2 */
.portal74d-architecture .portal74d-kicker{
  color:#e6d84f;
}


/* CNSBII 1.6.16.204N · richiamo Home ai contributi europei */
.portal122a-home .portal204n-eu-contributions{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:28px;align-items:center;
  margin-top:14px;padding:22px 24px;border:1px solid #d9e0e7;background:#fff;color:#101923
}
.portal122a-home .portal204n-eu-contributions-kicker{
  margin:0 0 7px;color:#5a6570;font-size:.72rem;line-height:1.2;font-weight:850;letter-spacing:.12em;text-transform:uppercase
}
.portal122a-home .portal204n-eu-contributions-copy h2{margin:0;color:#101923;font-size:clamp(1.35rem,2.2vw,2.1rem);line-height:1.08;letter-spacing:-.025em}
.portal122a-home .portal204n-eu-contributions-copy p:not(.portal204n-eu-contributions-kicker){margin:10px 0 0;max-width:820px;color:#45515d;line-height:1.55}
.portal122a-home .portal204n-eu-contributions-actions{display:grid;gap:9px}
.portal122a-home .portal204n-eu-contributions-primary,.portal122a-home .portal204n-eu-contributions-secondary{
  display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;padding:12px 14px;border:1px solid #111a24;text-decoration:none!important;font-weight:850
}
.portal122a-home .portal204n-eu-contributions-primary{background:#111a24;color:#fff!important}
.portal122a-home .portal204n-eu-contributions-primary:hover{background:#000}
.portal122a-home .portal204n-eu-contributions-secondary{background:#fff;color:#111a24!important}
.portal122a-home .portal204n-eu-contributions-secondary:hover{background:#f3f5f7}
.portal122a-home .portal204n-eu-contributions :where(a):focus-visible{outline:3px solid #c40018!important;outline-offset:3px!important}
@media(max-width:820px){
  .portal122a-home .portal204n-eu-contributions{grid-template-columns:1fr;gap:18px;padding:20px}
  .portal122a-home .portal204n-eu-contributions-actions{max-width:520px}
}
@media(max-width:560px){
  .portal122a-home .portal204n-eu-contributions{margin-top:10px;padding:18px 16px}
  .portal122a-home .portal204n-eu-contributions-copy h2{font-size:1.45rem}
}
/* END 419K SOURCE: assets/css/portale-home-130B.css */

/* 419K SOURCE: assets/css/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; }
}
/* END 419K SOURCE: assets/css/portale-public-final-75A.css */

/* 419K SOURCE: assets/css/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);
  }
}
/* END 419K SOURCE: assets/css/portale-tipografia-79Q.css */

/* 419K SOURCE: assets/css/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}
}
/* END 419K SOURCE: assets/css/portale-consolidamento-79S.css */
