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