/* 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; }
}
