/*
  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. */
