/*
 * LDG ESG Carbon Footprint LCA V5.3.1
 * Canonical Applicability, Contrast & Typography Final Lock
 * Scoped canonical visual layer. No remote fonts, no theme-level selectors.
 */

.ldg40-root.ldg530b-stable-rebase {
  --ldg530b-ink: #0b2038;
  --ldg530b-muted: #536b82;
  --ldg530b-line: #d8e3ec;
  --ldg530b-surface: #ffffff;
  --ldg530b-soft: #f6f9fb;
  --ldg530b-blue: #0b4f7c;
  --ldg530b-blue-dark: #073858;
  --ldg530b-active: #1265a2;
  --ldg530b-green: #27663b;
  --ldg530b-green-bg: #eaf5ed;
  --ldg530b-amber: #8a5700;
  --ldg530b-amber-bg: #fff4dc;
  --ldg530b-red: #9a2f2f;
  --ldg530b-red-bg: #fff0ef;
  --ldg530b-radius: 12px;
  color: var(--ldg530b-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.48;
}

.ldg40-root.ldg530b-stable-rebase *,
.ldg40-root.ldg530b-stable-rebase *::before,
.ldg40-root.ldg530b-stable-rebase *::after {
  box-sizing: border-box;
}

.ldg40-root.ldg530b-stable-rebase h1,
.ldg40-root.ldg530b-stable-rebase h2,
.ldg40-root.ldg530b-stable-rebase h3,
.ldg40-root.ldg530b-stable-rebase h4,
.ldg40-root.ldg530b-stable-rebase strong,
.ldg40-root.ldg530b-stable-rebase b {
  font-family: inherit;
  letter-spacing: 0;
  text-transform: none;
}

.ldg40-root.ldg530b-stable-rebase h1 { font-size: clamp(24px, 2vw, 34px); line-height: 1.12; font-weight: 750; }
.ldg40-root.ldg530b-stable-rebase h2 { font-size: clamp(20px, 1.55vw, 27px); line-height: 1.18; font-weight: 720; }
.ldg40-root.ldg530b-stable-rebase h3 { font-size: 17px; line-height: 1.25; font-weight: 700; }
.ldg40-root.ldg530b-stable-rebase h4 { font-size: 14px; line-height: 1.3; font-weight: 700; }

/* Canonical section hierarchy: no pastel marker bars. */
.ldg40-root.ldg530b-stable-rebase .ldg40-section-head,
.ldg40-root.ldg530b-stable-rebase .ldg45-section-head,
.ldg40-root.ldg530b-stable-rebase .ldg44-section-head,
.ldg40-root.ldg530b-stable-rebase .ldg50-section-head,
.ldg40-root.ldg530b-stable-rebase [class*="section-head"] {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ldg530b-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
  padding: 10px 0 12px !important;
  color: var(--ldg530b-ink) !important;
}

.ldg40-root.ldg530b-stable-rebase .ldg40-section-head > *,
.ldg40-root.ldg530b-stable-rebase [class*="section-head"] > * {
  color: inherit !important;
}

/* Cards stay neutral. Status color is reserved for real state. */
.ldg40-root.ldg530b-stable-rebase .ldg40-card,
.ldg40-root.ldg530b-stable-rebase .ldg40-native-panel,
.ldg40-root.ldg530b-stable-rebase .ldg40-form,
.ldg40-root.ldg530b-stable-rebase .ldg40-source-card,
.ldg40-root.ldg530b-stable-rebase .ldg530b-guided,
.ldg40-root.ldg530b-stable-rebase .ldg530b-suppliers,
.ldg40-root.ldg530b-stable-rebase .ldg530b-governance,
.ldg40-root.ldg530b-stable-rebase .ldg530b-report-gate {
  background: var(--ldg530b-surface);
  border: 1px solid var(--ldg530b-line);
  border-radius: var(--ldg530b-radius);
  box-shadow: 0 8px 22px rgba(9, 44, 70, 0.055);
}

/* Sidebar: active navigation is blue; blocked is not green. */
.ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a {
  color: #fff;
  border-radius: 9px;
  border: 1px solid transparent;
  background: transparent;
  box-shadow: none;
}
.ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a:hover,
.ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.current,
.ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.active,
.ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[aria-current="page"] {
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.20) !important;
  color: #fff !important;
}
.ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.state-blocked,
.ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.state-warning {
  background: transparent !important;
  color: #fff !important;
}
.ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.state-blocked small { color: #ffd4cf !important; }
.ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.state-ready small { color: #bde9c8 !important; }
.ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a small {
  color: rgba(255,255,255,.78) !important;
  font-size: 11px;
  font-weight: 520;
  line-height: 1.2;
}
.ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a strong {
  color: #fff !important;
  font-size: 13px;
  font-weight: 680;
}
.ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a em {
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}
.ldg40-root.ldg530b-stable-rebase .ldg530b-nav-group {
  margin: 15px 8px 6px;
  padding-top: 11px;
  border-top: 1px solid rgba(255,255,255,.17);
  color: rgba(255,255,255,.68);
  font-size: 10px;
  font-weight: 720;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ldg40-root.ldg530b-stable-rebase .ldg530b-nav-group:first-child { border-top: 0; margin-top: 5px; padding-top: 0; }

/* Forms: quieter labels and guidance, consistent control height. */
.ldg40-root.ldg530b-stable-rebase label,
.ldg40-root.ldg530b-stable-rebase .ldg40-field > label {
  color: var(--ldg530b-ink);
  font-size: 13px;
  font-weight: 650;
}
.ldg40-root.ldg530b-stable-rebase input:not([type="checkbox"]):not([type="radio"]),
.ldg40-root.ldg530b-stable-rebase select,
.ldg40-root.ldg530b-stable-rebase textarea {
  font: inherit;
  color: var(--ldg530b-ink);
  background: #fff;
  border: 1px solid #cbd9e5;
  border-radius: 8px;
  box-shadow: none;
}
.ldg40-root.ldg530b-stable-rebase input:not([type="checkbox"]):not([type="radio"]),
.ldg40-root.ldg530b-stable-rebase select { min-height: 40px; }
.ldg40-root.ldg530b-stable-rebase input:focus,
.ldg40-root.ldg530b-stable-rebase select:focus,
.ldg40-root.ldg530b-stable-rebase textarea:focus {
  outline: 2px solid rgba(18,101,162,.16);
  border-color: var(--ldg530b-active);
}
.ldg40-root.ldg530b-stable-rebase .ldg40-inline-guide,
.ldg40-root.ldg530b-stable-rebase [class*="inline-guide"] {
  background: var(--ldg530b-soft) !important;
  border: 1px solid var(--ldg530b-line) !important;
  color: var(--ldg530b-muted) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}

/* Buttons */
.ldg40-root.ldg530b-stable-rebase button,
.ldg40-root.ldg530b-stable-rebase .ldg40-btn,
.ldg40-root.ldg530b-stable-rebase .ldg530b-btn,
.ldg40-root.ldg530b-stable-rebase a.ldg530b-btn {
  font-family: inherit;
  font-weight: 680;
  letter-spacing: 0;
  text-transform: none;
  border-radius: 8px;
}

/* Guided dashboard */
.ldg40-root.ldg530b-stable-rebase .ldg530b-guided { padding: 20px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-guided-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--ldg530b-line);
}
.ldg40-root.ldg530b-stable-rebase .ldg530b-guided-head > div:first-child > span,
.ldg40-root.ldg530b-stable-rebase .ldg530b-section-title > span,
.ldg40-root.ldg530b-stable-rebase .ldg530b-report-gate small {
  color: var(--ldg530b-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.ldg40-root.ldg530b-stable-rebase .ldg530b-guided-head h2,
.ldg40-root.ldg530b-stable-rebase .ldg530b-section-title h2,
.ldg40-root.ldg530b-stable-rebase .ldg530b-report-gate h2 { margin: 4px 0 5px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-guided-head p,
.ldg40-root.ldg530b-stable-rebase .ldg530b-section-title p,
.ldg40-root.ldg530b-stable-rebase .ldg530b-report-gate p { margin: 0; color: var(--ldg530b-muted); }
.ldg40-root.ldg530b-stable-rebase .ldg530b-readiness {
  min-width: 130px;
  padding: 12px 14px;
  border: 1px solid var(--ldg530b-line);
  border-radius: 10px;
  background: var(--ldg530b-soft);
  text-align: right;
}
.ldg40-root.ldg530b-stable-rebase .ldg530b-readiness small { display:block; color: var(--ldg530b-muted); font-size: 11px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-readiness strong { display:block; font-size: 28px; line-height: 1.05; margin-top: 3px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-next { margin: 16px 0; padding: 16px; border: 1px solid var(--ldg530b-line); border-radius: 10px; background: var(--ldg530b-soft); }
.ldg40-root.ldg530b-stable-rebase .ldg530b-next h3 { margin: 4px 0 5px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-next p { margin: 0 0 12px; color: var(--ldg530b-muted); }
.ldg40-root.ldg530b-stable-rebase .ldg530b-metrics,
.ldg40-root.ldg530b-stable-rebase .ldg530b-situation {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
}
.ldg40-root.ldg530b-stable-rebase .ldg530b-metrics > div,
.ldg40-root.ldg530b-stable-rebase .ldg530b-situation > div {
  padding: 13px;
  border: 1px solid var(--ldg530b-line);
  border-radius: 9px;
  background: #fff;
}
.ldg40-root.ldg530b-stable-rebase .ldg530b-metrics span,
.ldg40-root.ldg530b-stable-rebase .ldg530b-situation span { display:block; color: var(--ldg530b-muted); font-size: 11px; font-weight: 650; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-metrics strong { display:block; margin: 4px 0 2px; font-size: 20px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-situation { margin-top: 12px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-situation strong { display:block; margin-top:4px; font-size: 14px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-metrics .is-ready { background: var(--ldg530b-green-bg); border-color: #c6dfcc; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-metrics .is-ready strong { color: var(--ldg530b-green); }
.ldg40-root.ldg530b-stable-rebase .ldg530b-metrics .is-blocked { background: var(--ldg530b-red-bg); border-color: #ecc8c4; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-metrics .is-blocked strong { color: var(--ldg530b-red); }
.ldg40-root.ldg530b-stable-rebase .ldg530b-blocks { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--ldg530b-line); }
.ldg40-root.ldg530b-stable-rebase .ldg530b-block-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:10px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-block-grid article { padding:14px; border:1px solid #e7c5bf; border-left:3px solid var(--ldg530b-red); border-radius:9px; background:#fff; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-block-grid article h4 { margin: 3px 0 4px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-block-grid article p { margin:0 0 9px; color:var(--ldg530b-muted); }
.ldg40-root.ldg530b-stable-rebase .ldg530b-block-grid article a { color:var(--ldg530b-active); font-weight:680; text-decoration:none; }

/* Suppliers: native practice/Registry view. */
.ldg40-root.ldg530b-stable-rebase .ldg530b-suppliers { padding: 20px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-section-title { padding-bottom: 16px; border-bottom: 1px solid var(--ldg530b-line); }
.ldg40-root.ldg530b-stable-rebase .ldg530b-supplier-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(250px,.8fr); gap:16px; margin-top:16px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-supplier-form,
.ldg40-root.ldg530b-stable-rebase .ldg530b-supplier-guide { padding:16px; border:1px solid var(--ldg530b-line); border-radius:10px; background:#fff; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-supplier-form h3,
.ldg40-root.ldg530b-stable-rebase .ldg530b-supplier-guide h3 { margin-top:0; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-supplier-form label { display:flex; flex-direction:column; gap:6px; margin-bottom:12px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-supplier-guide { background:var(--ldg530b-soft); color:var(--ldg530b-muted); }
.ldg40-root.ldg530b-stable-rebase .ldg530b-supplier-guide ul { margin:10px 0 0; padding-left:18px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-supplier-guide li { margin:7px 0; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-form-actions { display:flex; align-items:center; gap:12px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-form-actions button { background:var(--ldg530b-blue); color:#fff; border:0; padding:10px 14px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-form-actions a { color:var(--ldg530b-muted); }
.ldg40-root.ldg530b-stable-rebase .ldg530b-supplier-list { margin-top:16px; padding-top:16px; border-top:1px solid var(--ldg530b-line); }
.ldg40-root.ldg530b-stable-rebase .ldg530b-list-head { display:flex; justify-content:space-between; align-items:center; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-list-head h3 { margin:0; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-list-head span { color:var(--ldg530b-muted); font-size:12px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-table-wrap { overflow:auto; margin-top:10px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-table-wrap table { width:100%; border-collapse:collapse; font-size:13px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-table-wrap th,
.ldg40-root.ldg530b-stable-rebase .ldg530b-table-wrap td { padding:10px 9px; border-bottom:1px solid var(--ldg530b-line); text-align:left; vertical-align:top; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-table-wrap th { color:var(--ldg530b-muted); font-size:11px; text-transform:uppercase; letter-spacing:.035em; }

/* Evidence and LCA/Carbon: remove decorative marker bands, keep content hierarchy. */
.ldg40-root.ldg530b-stable-rebase .ldg45-band,
.ldg40-root.ldg530b-stable-rebase .ldg44-band,
.ldg40-root.ldg530b-stable-rebase .ldg50-band,
.ldg40-root.ldg530b-stable-rebase [class*="band-title"],
.ldg40-root.ldg530b-stable-rebase [class*="bar-title"] {
  background: transparent !important;
  background-image:none !important;
  color:var(--ldg530b-ink) !important;
  box-shadow:none !important;
}

/* Report gate */
.ldg40-root.ldg530b-stable-rebase .ldg530b-report-gate { padding:16px; margin-bottom:16px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:start; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-report-gate.is-blocked { border-left:4px solid var(--ldg530b-red); }
.ldg40-root.ldg530b-stable-rebase .ldg530b-report-gate.is-ready { border-left:4px solid var(--ldg530b-green); }
.ldg40-root.ldg530b-stable-rebase .ldg530b-report-score { min-width:130px; padding:10px 12px; border-radius:9px; background:var(--ldg530b-soft); text-align:right; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-report-score span { display:block; color:var(--ldg530b-muted); font-size:11px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-report-score strong { font-size:24px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-report-gate ul { grid-column:1/-1; margin:0; padding-left:18px; color:var(--ldg530b-red); }

/* Fonti: enterprise table must remain readable instead of miniaturized. */
.ldg40-root.ldg530b-stable-rebase .ldg40-factor-table,
.ldg40-root.ldg530b-stable-rebase .ldg44-quality-table,
.ldg40-root.ldg530b-stable-rebase .ldg44-matrix,
.ldg40-root.ldg530b-stable-rebase [class*="quality-table"] {
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.ldg40-root.ldg530b-stable-rebase .ldg40-factor-table th,
.ldg40-root.ldg530b-stable-rebase .ldg40-factor-table td,
.ldg40-root.ldg530b-stable-rebase .ldg44-quality-table th,
.ldg40-root.ldg530b-stable-rebase .ldg44-quality-table td,
.ldg40-root.ldg530b-stable-rebase [class*="quality-table"] th,
.ldg40-root.ldg530b-stable-rebase [class*="quality-table"] td {
  padding: 8px 7px !important;
  vertical-align: top;
}
.ldg40-root.ldg530b-stable-rebase .ldg40-content table { max-width:100%; }

/* Registry snapshot notice */
.ldg40-root.ldg530b-stable-rebase .ldg530b-registry-note {
  margin: 10px 0 14px;
  padding: 10px 12px;
  border-left: 3px solid var(--ldg530b-active);
  background: var(--ldg530b-soft);
  color: var(--ldg530b-muted);
}
.ldg40-root.ldg530b-stable-rebase .ldg530b-registry-note strong { display:block; color:var(--ldg530b-ink); }

.ldg40-root.ldg530b-stable-rebase .ldg530b-notice { margin:12px 0; padding:10px 12px; border-radius:8px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-notice.success { color:var(--ldg530b-green); background:var(--ldg530b-green-bg); border:1px solid #c6dfcc; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-notice.error { color:var(--ldg530b-red); background:var(--ldg530b-red-bg); border:1px solid #ecc8c4; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-empty { color:var(--ldg530b-muted); }

@media (max-width: 980px) {
  .ldg40-root.ldg530b-stable-rebase .ldg530b-metrics,
  .ldg40-root.ldg530b-stable-rebase .ldg530b-situation { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ldg40-root.ldg530b-stable-rebase .ldg530b-block-grid,
  .ldg40-root.ldg530b-stable-rebase .ldg530b-supplier-layout { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
  .ldg40-root.ldg530b-stable-rebase { font-size:13px; }
  .ldg40-root.ldg530b-stable-rebase .ldg530b-guided-head { flex-direction:column; }
  .ldg40-root.ldg530b-stable-rebase .ldg530b-readiness { width:100%; text-align:left; }
  .ldg40-root.ldg530b-stable-rebase .ldg530b-metrics,
  .ldg40-root.ldg530b-stable-rebase .ldg530b-situation,
  .ldg40-root.ldg530b-stable-rebase .ldg530b-two { grid-template-columns:1fr; }
  .ldg40-root.ldg530b-stable-rebase .ldg530b-report-gate { grid-template-columns:1fr; }
  .ldg40-root.ldg530b-stable-rebase .ldg530b-report-score { text-align:left; }
}

/* Defensive cleanup for collapse bars injected by older UI layers before v5.3.0b. */
.ldg40-root.ldg530b-stable-rebase .ldg456-collapse-bar,
.ldg40-root.ldg530b-stable-rebase .ldg42-collapse-bar {
  display: none !important;
}

/* Temporal state is explicit; workflow value remains unchanged in the database. */
.ldg40-root.ldg530b-stable-rebase .ldg40-tasks article.status-overdue {
  border-left-color: var(--ldg530b-red) !important;
  background: #fffafa;
}
.ldg40-root.ldg530b-stable-rebase .ldg40-tasks article.status-overdue > div > span {
  color: var(--ldg530b-red) !important;
}

.ldg40-root.ldg530b-stable-rebase .ldg530b-governance { display:grid; gap:14px; background:transparent; border:0; box-shadow:none; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-governance-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-governance-actions form { margin:0; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-governance-actions button { min-height:40px; padding:0 13px; border:1px solid var(--ldg530b-line); background:#fff; color:var(--ldg530b-blue-dark); }
.ldg40-root.ldg530b-stable-rebase .ldg530b-audit-list { display:grid; gap:8px; margin-top:12px; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-audit-list > div { padding:11px 12px; border:1px solid var(--ldg530b-line); border-radius:8px; background:var(--ldg530b-soft); }
.ldg40-root.ldg530b-stable-rebase .ldg530b-audit-list strong,
.ldg40-root.ldg530b-stable-rebase .ldg530b-audit-list span,
.ldg40-root.ldg530b-stable-rebase .ldg530b-audit-list small { display:block; }
.ldg40-root.ldg530b-stable-rebase .ldg530b-audit-list span,
.ldg40-root.ldg530b-stable-rebase .ldg530b-audit-list small { color:var(--ldg530b-muted); }

/* v5.3.0b1 — Canonical Applicability, Contrast & Typography Final Lock */
.ldg40-root.ldg530b-stable-rebase {
  --ldg530b-neutral-bg:#eef3f7;
  --ldg530b-neutral:#334b60;
  font-size:15px;
  line-height:1.5;
}
.ldg40-root.ldg530b-stable-rebase h1 { font-size:clamp(23px,1.75vw,31px); line-height:1.14; font-weight:700; }
.ldg40-root.ldg530b-stable-rebase h2 { font-size:clamp(20px,1.35vw,25px); line-height:1.2; font-weight:700; }
.ldg40-root.ldg530b-stable-rebase h3 { font-size:17px; line-height:1.3; font-weight:680; }
.ldg40-root.ldg530b-stable-rebase h4 { font-size:14px; line-height:1.35; font-weight:680; }
.ldg40-root.ldg530b-stable-rebase p,
.ldg40-root.ldg530b-stable-rebase li,
.ldg40-root.ldg530b-stable-rebase td { line-height:1.5; }

/* Semantic states: no light-on-light or dark-on-dark surfaces. */
html body .ldg40-root.ldg530b-stable-rebase .ldg530b-metrics .is-blocked {
  background:var(--ldg530b-red-bg)!important;
  border-color:#e5b8b4!important;
  color:var(--ldg530b-red)!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg530b-metrics .is-blocked span,
html body .ldg40-root.ldg530b-stable-rebase .ldg530b-metrics .is-blocked small,
html body .ldg40-root.ldg530b-stable-rebase .ldg530b-metrics .is-blocked strong {
  color:var(--ldg530b-red)!important;
  background:transparent!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg530b-metrics .is-ready {
  background:var(--ldg530b-green-bg)!important;
  border-color:#bcd8c3!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg530b-metrics .is-ready span,
html body .ldg40-root.ldg530b-stable-rebase .ldg530b-metrics .is-ready small,
html body .ldg40-root.ldg530b-stable-rebase .ldg530b-metrics .is-ready strong { color:var(--ldg530b-green)!important; }

/* Report in sidebar: blocked status never uses the legacy pale-green fill. */
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[data-ldg-view="relazioni"].state-blocked,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[data-ldg-view="relazioni"].state-blocked > *,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[data-ldg-view="relazioni"].state-blocked strong,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[data-ldg-view="relazioni"].state-blocked small,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[data-ldg-view="relazioni"].state-blocked span {
  background:transparent!important;
  background-image:none!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[data-ldg-view="relazioni"].state-blocked {
  border-color:rgba(255,151,139,.35)!important;
  box-shadow:inset 3px 0 0 #e46b5f!important;
  color:#fff!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[data-ldg-view="relazioni"].state-blocked strong { color:#fff!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[data-ldg-view="relazioni"].state-blocked small { color:#ffc7c0!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[data-ldg-view="relazioni"].state-blocked::before,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[data-ldg-view="relazioni"].state-blocked::after { display:none!important; content:none!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[data-ldg-view="relazioni"].state-blocked.active,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[data-ldg-view="relazioni"].state-blocked.current,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[data-ldg-view="relazioni"].state-blocked[aria-current="page"] {
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.24)!important;
}

/* Disabled controls remain legible. */
html body .ldg40-root.ldg530b-stable-rebase button:disabled,
html body .ldg40-root.ldg530b-stable-rebase input[type="submit"]:disabled,
html body .ldg40-root.ldg530b-stable-rebase .button.disabled,
html body .ldg40-root.ldg530b-stable-rebase [aria-disabled="true"] {
  opacity:1!important;
  background:#e5ebf0!important;
  background-image:none!important;
  border-color:#c7d2dc!important;
  color:#526779!important;
  text-shadow:none!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
}

/* Report/document cards: remove legacy pseudo-label highlight strips. */
html body .ldg40-root.ldg530b-stable-rebase .ldg461-report-grid article::after,
html body .ldg40-root.ldg530b-stable-rebase .ldg462-report-center .ldg461-report-grid article::after {
  display:none!important;
  content:none!important;
  background:none!important;
}

/* Quality visuals stay neutral; state is communicated by text/ring, not pastel card fills. */
html body .ldg40-root.ldg530b-stable-rebase .ldg450-quality-grid article,
html body .ldg40-root.ldg530b-stable-rebase .ldg450-quality-grid article[class*="tone-"] {
  background:#fff!important;
  color:var(--ldg530b-ink)!important;
  border:1px solid var(--ldg530b-line)!important;
  box-shadow:none!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg450-quality-grid article span,
html body .ldg40-root.ldg530b-stable-rebase .ldg450-quality-grid article h3 { color:var(--ldg530b-ink)!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg450-quality-grid article p,
html body .ldg40-root.ldg530b-stable-rebase .ldg450-quality-grid article small { color:var(--ldg530b-muted)!important; }

/* Canonical Fonti typography: readable tables may scroll horizontally; they are never miniaturised to fit. */
html body .ldg40-root.ldg530b-stable-rebase .ldg44-engine { font-size:14px!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg44-panel-head h2 { font-size:22px!important; line-height:1.22!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg44-panel-head p { font-size:14px!important; line-height:1.48!important; color:var(--ldg530b-muted)!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg44-table-wrap {
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  scrollbar-width:thin;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg44-table {
  min-width:980px!important;
  font-size:13px!important;
  line-height:1.42!important;
  table-layout:auto!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg44-quality-table { min-width:1120px!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg44-factor-table { min-width:1180px!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg44-table th {
  padding:10px 9px!important;
  font-size:12px!important;
  line-height:1.3!important;
  text-transform:none!important;
  letter-spacing:.01em!important;
  white-space:normal!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg44-table td {
  padding:10px 9px!important;
  font-size:13px!important;
  line-height:1.45!important;
  vertical-align:top!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg44-table td small {
  font-size:12px!important;
  line-height:1.35!important;
  color:var(--ldg530b-muted)!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg44-factor-table td:first-child strong,
html body .ldg40-root.ldg530b-stable-rebase .ldg44-factor-table td:first-child small,
html body .ldg40-root.ldg530b-stable-rebase .ldg44-factor-table td:nth-child(5) small,
html body .ldg40-root.ldg530b-stable-rebase .ldg44-factor-table td:nth-child(8) small {
  display:block!important;
  margin-top:3px!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg44-source-grid {
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg44-mini-card {
  padding:15px!important;
  min-height:0!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg44-mini-card h3 { font-size:16px!important; line-height:1.3!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg44-mini-card p { font-size:13px!important; line-height:1.45!important; }

/* Applicability message in the editable quality matrix. */
html body .ldg40-root.ldg530b-stable-rebase .ldg44-applicability-note {
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  align-items:baseline;
  margin:12px 0;
  padding:11px 13px;
  border:1px solid var(--ldg530b-line);
  border-left:3px solid var(--ldg530b-active);
  border-radius:8px;
  background:var(--ldg530b-soft);
  color:var(--ldg530b-muted);
}
html body .ldg40-root.ldg530b-stable-rebase .ldg44-applicability-note strong { color:var(--ldg530b-ink)!important; }

@media (max-width:1100px) {
  html body .ldg40-root.ldg530b-stable-rebase .ldg44-source-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media (max-width:720px) {
  html body .ldg40-root.ldg530b-stable-rebase .ldg44-source-grid { grid-template-columns:1fr!important; }
}

/* Typography precedence over historical layers. */
html body .ldg40-root.ldg530b-stable-rebase {
  font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.5!important;
  -webkit-font-smoothing:antialiased;
}
html body .ldg40-root.ldg530b-stable-rebase :is(h1,h2,h3,h4,p,span,small,strong,b,em,label,input,select,textarea,button,a,th,td) {
  font-family:inherit!important;
}
html body .ldg40-root.ldg530b-stable-rebase h1 { font-size:clamp(23px,1.75vw,31px)!important; line-height:1.14!important; font-weight:700!important; letter-spacing:-.018em!important; }
html body .ldg40-root.ldg530b-stable-rebase h2 { font-size:clamp(20px,1.35vw,25px)!important; line-height:1.2!important; font-weight:700!important; letter-spacing:-.012em!important; }
html body .ldg40-root.ldg530b-stable-rebase h3 { font-size:17px!important; line-height:1.3!important; font-weight:680!important; }
html body .ldg40-root.ldg530b-stable-rebase h4 { font-size:14px!important; line-height:1.35!important; font-weight:680!important; }
html body .ldg40-root.ldg530b-stable-rebase main p { font-size:14px!important; line-height:1.5!important; font-weight:400!important; }
html body .ldg40-root.ldg530b-stable-rebase main small { line-height:1.4!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg40-hero h1 { font-size:clamp(24px,1.9vw,32px)!important; line-height:1.1!important; font-weight:700!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg40-hero p { font-size:11px!important; line-height:1.35!important; font-weight:650!important; letter-spacing:.07em!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg40-hero > span { font-size:13.5px!important; line-height:1.45!important; font-weight:450!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg40-hero aside small { font-size:10.5px!important; font-weight:650!important; letter-spacing:.07em!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg40-hero aside strong { font-size:16px!important; font-weight:700!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a strong { font-size:13px!important; line-height:1.22!important; font-weight:650!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a small { font-size:11px!important; line-height:1.25!important; font-weight:500!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a em { font-size:11px!important; font-weight:700!important; }
html body .ldg40-root.ldg530b-stable-rebase .ldg530b-nav-group { font-size:10px!important; font-weight:650!important; }


/* v5.3.0c certification remediation: active navigation contrast and minimum operational type. */
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.active,html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.current,html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[aria-current="page"]{color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.active *,html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.current *,html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[aria-current="page"] *{color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.active small,html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.current small,html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[aria-current="page"] small{color:#eef7ff!important;-webkit-text-fill-color:#eef7ff!important}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a small,html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a em,html body .ldg40-root.ldg530b-stable-rebase .ldg530b-nav-group,html body .ldg40-root.ldg530b-stable-rebase .ldg40-hero p,html body .ldg40-root.ldg530b-stable-rebase .ldg40-hero aside small{font-size:12px!important;line-height:1.35!important}
html body .ldg40-root.ldg530b-stable-rebase button:disabled,html body .ldg40-root.ldg530b-stable-rebase input[type="submit"]:disabled,html body .ldg40-root.ldg530b-stable-rebase [aria-disabled="true"]{background:#eef2f5!important;color:#334155!important;-webkit-text-fill-color:#334155!important;border-color:#cbd5e1!important}


/* V5.3.1 — Multi-Practice Certification Candidate.
 * One canonical navigation/type contract. Selection is primary-blue; semantic status remains secondary.
 */
html body .ldg40-root.ldg530b-stable-rebase {
  --ldg530c1-sidebar:#073b5e;
  --ldg530c1-sidebar-active:#0d557f;
  --ldg530c1-badge:#285979;
  --ldg530c1-focus:#9ed7ff;
  font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif!important;
}
@media (min-width:1181px) {
  html body .ldg40-root.ldg530b-stable-rebase .ldg40-layout {
    grid-template-columns:286px minmax(0,1fr)!important;
  }
  html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar {
    width:286px!important;
    max-width:286px!important;
  }
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar {
  background:linear-gradient(180deg,#073b5e 0%,#063550 100%)!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav {
  gap:7px!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a {
  grid-template-columns:46px minmax(0,1fr)!important;
  gap:12px!important;
  min-height:64px!important;
  padding:9px 10px!important;
  border-radius:14px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a span,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a strong,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a small {
  min-width:0!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  word-break:normal!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a strong {
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:14.5px!important;
  line-height:1.22!important;
  font-weight:650!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a small {
  margin-top:3px!important;
  color:#dcecf7!important;
  -webkit-text-fill-color:#dcecf7!important;
  font-size:12.5px!important;
  line-height:1.3!important;
  font-weight:500!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a em {
  display:grid!important;
  place-items:center!important;
  width:46px!important;
  height:42px!important;
  margin:0!important;
  border-radius:12px!important;
  background:var(--ldg530c1-badge)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:12.5px!important;
  line-height:1!important;
  font-weight:700!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a:hover,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.active,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.current,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[aria-current="page"] {
  background:rgba(255,255,255,.11)!important;
  border-color:rgba(255,255,255,.24)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:inset 3px 0 0 #56aee3!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.active em,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.current em,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[aria-current="page"] em {
  background:#12689b!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
/* Blocked is a semantic accent, not the selection fill. */
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.state-blocked {
  box-shadow:inset 3px 0 0 #ef7468!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.state-blocked small {
  color:#ffd7d2!important;
  -webkit-text-fill-color:#ffd7d2!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.state-blocked.active em,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a[data-ldg-view="relazioni"].state-blocked.active em {
  background:#285979!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a:focus-visible {
  outline:3px solid var(--ldg530c1-focus)!important;
  outline-offset:2px!important;
  box-shadow:inset 3px 0 0 #56aee3,0 0 0 2px #073b5e!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg530b-nav-group {
  margin:17px 9px 7px!important;
  padding-top:12px!important;
  color:#d3e6f3!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:650!important;
  letter-spacing:.06em!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-brand strong {
  font-size:17px!important;
  line-height:1.2!important;
  font-weight:700!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-brand span {
  font-size:12.5px!important;
  line-height:1.4!important;
  font-weight:550!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-access strong,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-access span { font-size:12.5px!important; }
/* Runtime contrast sentinel must never recolor canonical sidebar navigation. */
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar .ldg456-force-dark,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar .ldg456-force-dark *,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar .ldg456-force-light,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar .ldg456-force-light * {
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.ldg456-force-dark,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.ldg456-force-light,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.ldg456-force-dark *,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a.ldg456-force-light * {
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
/* The task primary action uses an unambiguous light surface with dark text. */
html body .ldg40-root.ldg530b-stable-rebase .ldg40-task-form button.ldg40-primary {
  background:#e6f2f9!important;
  background-image:none!important;
  color:#073b5e!important;
  -webkit-text-fill-color:#073b5e!important;
  border:2px solid #77a9c7!important;
  box-shadow:none!important;
  min-height:44px!important;
  font-size:14px!important;
  font-weight:700!important;
}
html body .ldg40-root.ldg530b-stable-rebase .ldg40-task-form button.ldg40-primary:hover,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-task-form button.ldg40-primary:focus-visible {
  background:#d8ebf6!important;
  border-color:#0d6798!important;
}
/* Operational micro-labels are never below 12px in the primary workflow. */
html body .ldg40-root.ldg530b-stable-rebase .ldg44-panel-head > span,
html body .ldg40-root.ldg530b-stable-rebase .ldg450-pill,
html body .ldg40-root.ldg530b-stable-rebase .ldg530b-section-title > span,
html body .ldg40-root.ldg530b-stable-rebase .ldg462-section-head span,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-section-head > span,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-hero p,
html body .ldg40-root.ldg530b-stable-rebase .ldg40-hero aside small {
  font-size:12px!important;
  line-height:1.35!important;
}
@media (max-width:1180px) {
  html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a strong { font-size:14px!important; }
  html body .ldg40-root.ldg530b-stable-rebase .ldg40-sidebar nav a small { font-size:12px!important; }
}
