/* Fase 70A - Intestazioni globali coerenti e contenitore logo neutro. */
:root {
  --phase70a-hero-start: #061423;
  --phase70a-hero-mid: #123044;
  --phase70a-hero-end: #1f4b63;
  --phase70a-hero-copy: #dbeafe;
  --phase70a-hero-border: rgba(255, 255, 255, .14);
  --phase70a-hero-shadow: 0 16px 34px rgba(15, 23, 42, .14);
  --phase70a-surface-border: #d7e0ec;
  --phase70a-surface-copy: #53657d;
  --phase70a-surface-title: #061423;
}

/* Il file caricato resta visivamente integro: niente fondi, filtri o cornici imposti. */
.shell-brand-mark {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: clamp(112px, 12vw, 156px);
  height: 50px;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.shell-brand-logo,
.shell-brand-logo-fallback {
  grid-area: 1 / 1;
  max-width: 100%;
  max-height: 100%;
}
.shell-brand-logo {
  display: block;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: left center;
  filter: none !important;
  mix-blend-mode: normal !important;
  background: transparent !important;
}
.shell-brand-logo-fallback {
  color: #ffffff;
  font-size: 1.16rem;
  font-weight: 900;
  letter-spacing: -.04em;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .25);
}
.shell-brand-mark[data-brand-state="configured"] .shell-brand-logo-fallback,
.shell-brand-mark[data-brand-state="fallback"] .shell-brand-logo {
  display: none;
}
.shell-brand-mark[data-brand-state="configured"] .shell-brand-logo,
.shell-brand-mark[data-brand-state="fallback"] .shell-brand-logo-fallback {
  display: block;
}

/* Una sola hero primaria, sempre prima del contenuto operativo della pagina. */
.phase70a-page-hero {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: none;
  min-width: 0;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  justify-content: stretch !important;
  gap: 14px !important;
  margin: 0 0 18px !important;
  padding: 22px 24px !important;
  overflow: hidden;
  border: 1px solid var(--phase70a-hero-border) !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, var(--phase70a-hero-start) 0%, var(--phase70a-hero-mid) 58%, var(--phase70a-hero-end) 100%) !important;
  color: #ffffff !important;
  box-shadow: var(--phase70a-hero-shadow) !important;
}
.phase70a-page-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto -80px -110px auto;
  width: 250px;
  height: 250px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 255, 255, .12), rgba(255, 255, 255, 0) 68%);
  pointer-events: none;
}
.phase70a-page-hero > * {
  min-width: 0;
  position: relative;
}
.phase70a-page-hero h1,
.phase70a-page-hero h2,
.phase70a-page-hero .workspace-title-line h2,
.phase70a-page-hero .project-editor-header h2,
.phase70a-page-hero .phase65-project-title h2 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  color: #ffffff !important;
  font-size: clamp(1.55rem, 2.4vw, 2.25rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em;
}
.phase70a-page-hero p,
.phase70a-page-hero .page-subtitle,
.phase70a-page-hero .muted,
.phase70a-page-hero .project-workspace-heading > p,
.phase70a-page-hero .phase65-page-note {
  max-width: 980px;
  margin-top: 6px;
  margin-bottom: 0;
  color: var(--phase70a-hero-copy) !important;
  line-height: 1.48;
}
.phase70a-page-hero .eyebrow,
.phase70a-page-hero .page-eyebrow,
.phase70a-page-hero .workspace-eyebrow,
.phase70a-page-hero .project-editor-eyebrow,
.phase70a-page-hero .phase64-eyebrow,
.phase70a-page-hero .phase65-eyebrow,
.phase70a-page-hero .phase66-eyebrow,
.phase70a-page-hero .guide-eyebrow {
  color: #b9d9ef !important;
}
.phase70a-page-hero a:not(.btn),
.phase70a-page-hero .workspace-back-link {
  color: #f8fbff !important;
}
.phase70a-page-hero .page-head,
.phase70a-page-hero .page-heading,
.phase70a-page-hero .phase65-project-title {
  width: 100%;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.phase70a-page-hero .project-workspace-heading,
.phase70a-page-hero .project-editor-header > div:first-child,
.phase70a-page-hero .workspace-title-line > div:first-child {
  min-width: 0;
}
.phase70a-page-hero .workspace-identifiers {
  color: #e7f2fb;
}
.phase70a-page-hero .workspace-identifiers span {
  border-color: rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .07);
}
.phase70a-page-hero :is(
  .support-hero-actions,
  .deadline-hero-actions,
  .maintenance-hero-actions,
  .ops-page-actions,
  .phase64-actions,
  .phase65-economic-actions,
  .phase66-page-head .inline-actions,
  .project-workspace-actions,
  .project-editor-header-actions,
  .inline-actions,
  .actions,
  .actions-row,
  .guide-denied-actions
) {
  width: 100%;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-top: 0 !important;
}
.phase70a-page-hero :is(.inline-actions, .actions, .actions-row) form {
  margin: 0;
}
.phase70a-page-hero .btn-light {
  border-color: rgba(255, 255, 255, .82) !important;
  background: rgba(255, 255, 255, .96) !important;
  color: #17263a !important;
}
.phase70a-page-hero .btn-light:hover,
.phase70a-page-hero .btn-light:focus-visible {
  background: #ffffff !important;
  color: #061423 !important;
}

/* Eventuali riepiloghi successivi restano contesto e non simulano una seconda testata. */
.phase70a-context-hero {
  margin: 0 !important;
  padding: 17px 18px !important;
  border: 1px solid var(--phase70a-surface-border) !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #ffffff 0%, #f5f9ff 100%) !important;
  color: var(--phase70a-surface-title) !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .05) !important;
}
.phase70a-context-hero h1,
.phase70a-context-hero h2,
.phase70a-context-hero h3 {
  color: var(--phase70a-surface-title) !important;
}
.phase70a-context-hero p,
.phase70a-context-hero .page-subtitle,
.phase70a-context-hero .muted {
  color: var(--phase70a-surface-copy) !important;
}
.phase70a-hero-inner {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Anteprima amministrativa su entrambi gli sfondi senza alterare il file. */
.phase70a-brand-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.phase70a-brand-preview {
  min-height: 118px;
  display: grid;
  place-items: center;
  padding: 16px;
  overflow: hidden;
  border: 1px solid var(--phase70a-surface-border);
  border-radius: 16px;
}
.phase70a-brand-preview.dark {
  border-color: #28465d;
  background: linear-gradient(135deg, var(--phase70a-hero-start), var(--phase70a-hero-end));
}
.phase70a-brand-preview.light { background: #ffffff; }
.phase70a-brand-preview img {
  display: block;
  max-width: 100%;
  max-height: 82px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: none !important;
  background: transparent !important;
}
.phase70a-brand-preview-label {
  display: block;
  margin-top: 6px;
  color: #64748b;
  font-size: .74rem;
  font-weight: 800;
  text-align: center;
}

/* Correttivi per pagine storiche ricondotte all'ordine titolo -> avviso -> contenuto. */
.phase70a-quick-links { margin-bottom: 18px; }
.phase70a-quick-links .phase70a-quick-links-actions { padding: 14px 18px 18px; }

@media (max-width: 900px) {
  .phase70a-page-hero {
    padding: 19px 20px !important;
    border-radius: 20px !important;
  }
  .phase70a-brand-preview-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .shell-brand-mark {
    width: clamp(104px, 36vw, 142px);
    height: 46px;
  }
  .phase70a-page-hero {
    gap: 12px !important;
    margin-bottom: 14px !important;
    padding: 17px !important;
    border-radius: 18px !important;
  }
  .phase70a-page-hero h1,
  .phase70a-page-hero h2,
  .phase70a-page-hero .workspace-title-line h2,
  .phase70a-page-hero .phase65-project-title h2 {
    font-size: clamp(1.38rem, 7vw, 1.75rem) !important;
  }
  .phase70a-page-hero :is(
    .support-hero-actions,
    .deadline-hero-actions,
    .maintenance-hero-actions,
    .ops-page-actions,
    .phase64-actions,
    .phase65-economic-actions,
    .project-workspace-actions,
    .project-editor-header-actions,
    .inline-actions,
    .actions,
    .actions-row,
    .guide-denied-actions
  ) > .btn,
  .phase70a-page-hero :is(.inline-actions, .actions, .actions-row) > form,
  .phase70a-page-hero :is(.inline-actions, .actions, .actions-row) > form > .btn {
    width: 100%;
  }
  .phase70a-page-hero :is(.inline-actions, .actions, .actions-row) > form {
    display: block;
  }
  .phase70a-context-hero {
    padding: 15px !important;
    border-radius: 16px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .phase70a-page-hero *,
  .phase70a-context-hero * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (forced-colors: active) {
  .phase70a-page-hero,
  .phase70a-context-hero,
  .phase70a-brand-preview,
  .shell-brand-mark {
    border: 1px solid CanvasText !important;
    background: Canvas !important;
    color: CanvasText !important;
    box-shadow: none !important;
  }
  .phase70a-page-hero :is(h1, h2, p, .page-subtitle, .muted, a:not(.btn)),
  .phase70a-context-hero :is(h1, h2, h3, p, .page-subtitle, .muted) {
    color: CanvasText !important;
  }
}
