/* HELGA.legal production layer, derived from the approved Legal references. */
.helga-ui-product--legal {
  background: radial-gradient(circle at 74% 3%, rgba(255, 252, 248, .88), transparent 29%), var(--helga-ui-color-cream);
}

.helga-ui-product--legal .helga-ui-app-shell__rail {
  color: var(--helga-ui-color-paper);
  background: var(--helga-ui-color-navy-dark);
  box-shadow: none;
}
.helga-ui-product--legal .helga-ui-product-identity {
  border: 1px solid rgba(255, 252, 248, .22);
  color: var(--helga-ui-color-paper);
  background: rgba(255, 252, 248, .08);
}
.helga-ui-product--legal .helga-ui-product-identity__mark { display: none; }
.helga-ui-product--legal .helga-ui-product-identity::after {
  content: "H";
  font-size: 1.55rem;
  font-weight: 780;
  letter-spacing: -.08em;
}
.helga-ui-product--legal .helga-ui-primary-navigation__item { color: rgba(255, 252, 248, .72); }
.helga-ui-product--legal .helga-ui-primary-navigation__item:hover,
.helga-ui-product--legal .helga-ui-primary-navigation__item:focus-visible { color: #fff; background: rgba(255, 252, 248, .10); box-shadow: none; }
.helga-ui-product--legal .helga-ui-primary-navigation__item.is-active { color: var(--helga-ui-color-navy-dark); background: var(--helga-ui-color-paper); }
.helga-ui-product--legal .helga-ui-shell-header__mark { display: none; }
.helga-ui-product--legal .helga-ui-shell-header { width: min(1290px, 100%); }
.helga-ui-product--legal .helga-ui-shell-header__identity { padding: 0; background: transparent; box-shadow: none; }

.helga-ui-product--legal .helga-main,
.helga-ui-product--legal .legal-main { width: min(1290px, 100%); max-width: 1290px; margin: 0 auto; padding: 0; }
.helga-ui-product--legal .helga-main > :is(.mx-auto, main) { width: 100%; max-width: none; margin: 0; padding-right: 0; padding-left: 0; }
.helga-ui-product--legal .helga-main h1 { color: var(--helga-ui-color-navy-dark); font-size: clamp(2.35rem, 4vw, 3.5rem); font-weight: 680; line-height: 1; letter-spacing: -.045em; }
.helga-ui-product--legal .helga-main h2 { color: var(--helga-ui-color-navy-dark); letter-spacing: -.025em; }
.helga-ui-product--legal .helga-main :is(section, article)[class*="border"] { border: 1px solid rgba(31, 45, 74, .07) !important; border-radius: 28px; background: var(--helga-ui-color-paper) !important; box-shadow: var(--helga-ui-shadow-surface); }
.helga-ui-product--legal .helga-main :is(button, a)[class*="bg-helga-900"] { min-height: 44px; border-radius: 17px; color: #fff; background: var(--helga-ui-color-terracotta) !important; }

.legal-page-heading { margin: 44px 0 30px; }
.legal-eyebrow { margin: 0 0 7px; color: var(--helga-ui-color-terracotta-dark); font-size: .7rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.legal-page-heading h1 { margin: 0; color: var(--helga-ui-color-navy-dark); font-size: clamp(2.4rem, 4vw, 3.5rem); font-weight: 680; line-height: 1; letter-spacing: -.045em; }
.legal-page-heading > p:last-child { max-width: 680px; margin: 14px 0 0; color: var(--helga-ui-color-text-muted); line-height: 1.6; }
.legal-focus-card { border: 1px solid rgba(31, 45, 74, .07); border-radius: 38px; background: var(--helga-ui-color-paper); box-shadow: var(--helga-ui-shadow-focus); }
.legal-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; }
.legal-card-heading h2 { margin: 3px 0 0; font-size: 1.75rem; }
.legal-count { color: rgba(31, 45, 74, .14); font-size: 4.5rem; font-weight: 720; line-height: .9; }
.legal-home-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(290px, .72fr); gap: 22px; align-items: start; }
.legal-today-card { min-height: 510px; padding: 42px 44px; }
.legal-priority-list { display: grid; gap: 12px; margin-top: 30px; }
.legal-priority-list > a { min-height: 88px; display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 15px 18px; border-radius: 20px; color: inherit; background: var(--helga-ui-color-surface-secondary); text-decoration: none; }
.legal-priority-list strong, .legal-priority-list span { display: block; }
.legal-priority-list div span { margin-top: 4px; color: var(--helga-ui-color-text-muted); font-size: .72rem; }
.legal-priority-list small { color: var(--helga-ui-color-terracotta-dark); font-weight: 750; }
.legal-list-icon, .legal-small-icon { display: grid; place-items: center; color: var(--helga-ui-color-terracotta-dark); background: var(--helga-ui-color-terracotta-soft); font-weight: 800; }
.legal-list-icon { width: 52px; height: 52px; border-radius: 17px; }
.legal-small-icon { width: 44px; height: 44px; flex: 0 0 auto; border-radius: 15px; }
.legal-calm-empty { padding: 22px; border-radius: 20px; background: var(--helga-ui-color-surface-secondary); }
.legal-calm-empty strong, .legal-calm-empty span { display: block; }
.legal-calm-empty span { margin-top: 5px; color: var(--helga-ui-color-text-muted); font-size: .75rem; }
.legal-home-side { display: grid; gap: 16px; }
.legal-side-card, .legal-client-glance { border: 1px solid rgba(31, 45, 74, .07); border-radius: 24px; background: var(--helga-ui-color-paper); box-shadow: var(--helga-ui-shadow-surface); }
.legal-side-card { padding: 24px; }
.legal-metric-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 18px 0 0; }
.legal-metric-grid div { padding: 15px; border-radius: 17px; background: var(--helga-ui-color-surface-secondary); }
.legal-metric-grid dt { color: var(--helga-ui-color-text-muted); font-size: .68rem; }
.legal-metric-grid dd { margin: 4px 0 0; font-size: 1.65rem; font-weight: 700; }
.legal-client-glance { min-height: 94px; display: flex; align-items: center; gap: 14px; padding: 18px; color: inherit; text-decoration: none; }
.legal-client-glance div { min-width: 0; }
.legal-client-glance :is(small, strong, span) { display: block; }
.legal-client-glance :is(small, span) { color: var(--helga-ui-color-text-muted); font-size: .68rem; }
.legal-client-glance strong { margin: 3px 0; }
.legal-state-icon { display: grid; width: 68px; height: 68px; flex: 0 0 auto; place-items: center; border-radius: 22px; color: var(--helga-ui-color-terracotta-dark); background: var(--helga-ui-color-terracotta-soft); font-size: 1.2rem; font-weight: 800; }
.legal-contract-lock { display: flex; min-height: 300px; align-items: center; gap: 26px; padding: 42px 44px; }
.legal-contract-lock h2 { margin: 8px 0 0; font-size: 1.8rem; }
.legal-contract-lock p:last-child { max-width: 680px; color: var(--helga-ui-color-text-muted); line-height: 1.65; }
.legal-contract-groups { display: grid; gap: 24px; }
.legal-contract-group { overflow: hidden; border-radius: 30px; }
.legal-contract-group > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; border-bottom: 1px solid rgba(31, 45, 74, .07); }
.legal-contract-group > header h2 { margin: 0; font-size: 1.2rem; }
.legal-contract-group > header span { color: var(--helga-ui-color-terracotta-dark); font-weight: 800; }
.legal-contract-row { display: grid; min-height: 96px; grid-template-columns: 52px minmax(220px, 1fr) minmax(150px, .55fr) auto; align-items: center; gap: 17px; padding: 16px 22px; border-bottom: 1px solid rgba(31, 45, 74, .07); color: inherit; text-decoration: none; }
.legal-contract-row:last-child { border-bottom: 0; }
.legal-contract-row:hover { background: var(--helga-ui-color-surface-secondary); }
.legal-contract-row .legal-state-icon { width: 52px; height: 52px; border-radius: 17px; }
.legal-contract-row strong, .legal-contract-row small { display: block; }
.legal-contract-row small { margin-top: 4px; color: var(--helga-ui-color-text-muted); font-size: .68rem; }
.legal-contract-detail-heading > a { min-height: 44px; display: inline-flex; align-items: center; margin-bottom: 20px; color: var(--helga-ui-color-navy); text-decoration: none; }
.legal-contract-detail-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .72fr); gap: 22px; align-items: start; }
.legal-contract-detail-card { overflow: hidden; }
.legal-contract-summary { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 28px 30px; background: var(--helga-ui-color-surface-secondary); }
.legal-contract-summary > div { padding: 0 18px; border-right: 1px solid rgba(31, 45, 74, .09); }
.legal-contract-summary > div:first-child { padding-left: 0; }
.legal-contract-summary > div:last-child { border: 0; }
.legal-contract-summary dt { color: var(--helga-ui-color-text-muted); font-size: .68rem; }
.legal-contract-summary dd { margin: 7px 0 0; font-weight: 750; }
.legal-contract-summary-card { padding: 26px 30px; border-top: 1px solid rgba(31, 45, 74, .09); }
.legal-contract-summary-card header { display: flex; justify-content: space-between; align-items: start; gap: 18px; }
.legal-contract-summary-card header h2 { margin: 0; }
.legal-contract-summary-card button { min-height: 42px; border: 0; border-radius: 15px; padding: 0 16px; color: #fff; background: var(--helga-ui-color-navy); font-weight: 750; }
.legal-contract-page .helga-contract-change-dialog { width: min(620px, calc(100vw - 32px)); margin: auto; border: 0; border-radius: 24px; padding: 30px; color: var(--helga-ui-color-navy); box-shadow: 0 24px 80px rgba(31, 45, 74, .24); }
.legal-contract-page .helga-contract-change-dialog::backdrop { background: rgba(31, 45, 74, .42); }
.legal-contract-page .helga-contract-change-dialog button { min-height: 42px; border: 0; border-radius: 15px; padding: 0 16px; color: #fff; background: var(--helga-ui-color-navy); font-weight: 750; }
.legal-contract-detail-card > section { padding: 30px; border-top: 1px solid rgba(31, 45, 74, .07); }
.legal-contract-detail-card > section h2 { margin: 0 0 18px; font-size: 1.15rem; }
.legal-contract-detail-card > section > p { color: var(--helga-ui-color-text-muted); }
.legal-contract-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 0; }
.legal-contract-facts > div { padding: 16px; border-radius: 17px; background: var(--helga-ui-color-surface-secondary); }
.legal-contract-facts dt { color: var(--helga-ui-color-text-muted); font-size: .68rem; }
.legal-contract-facts dd { margin: 6px 0 0; font-weight: 700; }
.legal-contract-documents, .legal-contract-events { margin: 0; padding: 0; list-style: none; }
.legal-contract-documents li + li, .legal-contract-events li + li { border-top: 1px solid rgba(31, 45, 74, .07); }
.legal-contract-documents a { min-height: 58px; display: flex; flex-direction: column; justify-content: center; color: inherit; text-decoration: none; }
.legal-contract-documents span, .legal-contract-events span { margin-top: 4px; color: var(--helga-ui-color-text-muted); font-size: .68rem; }
.legal-contract-events li { display: flex; min-height: 54px; align-items: center; justify-content: space-between; gap: 16px; }
.legal-contract-boundary { padding: 24px; border: 1px solid rgba(31, 45, 74, .07); border-radius: 24px; background: var(--helga-ui-color-paper); box-shadow: var(--helga-ui-shadow-surface); }
.legal-contract-boundary h2 { margin: 8px 0 0; font-size: 1.2rem; }
.legal-contract-boundary p:last-child { color: var(--helga-ui-color-text-muted); font-size: .8rem; line-height: 1.65; }

@media (max-width: 767px) {
  .legal-page-heading { margin: 28px 0 22px; }
  .legal-page-heading h1 { font-size: 2.25rem; }
  .legal-contract-lock { min-height: 0; align-items: flex-start; padding: 24px 21px; border-radius: 25px; }
  .legal-state-icon { width: 52px; height: 52px; border-radius: 17px; }
  .legal-home-layout { display: block; }
  .legal-today-card { min-height: 0; padding: 24px 21px; border-radius: 25px; }
  .legal-count { font-size: 3.2rem; }
  .legal-priority-list { margin-top: 20px; }
  .legal-priority-list > a { min-height: 78px; grid-template-columns: 44px minmax(0, 1fr); padding: 12px; }
  .legal-priority-list > a > small { grid-column: 2; }
  .legal-list-icon { width: 44px; height: 44px; border-radius: 14px; }
  .legal-home-side { margin-top: 14px; }
  .legal-contract-row { grid-template-columns: 44px minmax(0, 1fr); padding: 14px; }
  .legal-contract-row .legal-state-icon { width: 44px; height: 44px; }
  .legal-contract-row > :nth-child(3), .legal-contract-row > .helga-contract-status { grid-column: 2; }
  .legal-contract-detail-grid { display: block; }
  .legal-contract-summary { grid-template-columns: 1fr; gap: 12px; padding: 22px; }
  .legal-contract-summary > div, .legal-contract-summary > div:first-child { padding: 0 0 12px; border-right: 0; border-bottom: 1px solid rgba(31, 45, 74, .08); }
  .legal-contract-summary > div:last-child { padding-bottom: 0; border: 0; }
  .legal-contract-detail-card { border-radius: 25px; }
  .legal-contract-detail-card > section { padding: 22px; }
  .legal-contract-facts { grid-template-columns: 1fr; }
  .legal-contract-boundary { margin-top: 14px; }
}
