/* AUTO-GENERATED from forge.css — Plan 758: CSS modularisation.
 * Edit this file directly; forge.css @imports all partials.
 * -----------------------------------------------------------------------
 * utilities.css — field state chips, recent plan additions (Plan 770, 763, etc.).
 */
/* Semantic typography foundation (Plan 4309). Values are emitted from the
   canonical design_tokens.typography.TYPE_ROLES table. */
.forge-type--page-title {
  font-size: var(--type-page-title-size);
  font-family: var(--type-page-title-family);
  font-weight: var(--type-page-title-weight);
  line-height: var(--type-page-title-line-height);
  letter-spacing: var(--type-page-title-letter-spacing);
}
.forge-type--kpi-value {
  font-size: var(--type-kpi-value-size);
  font-family: var(--type-kpi-value-family);
  font-weight: var(--type-kpi-value-weight);
  line-height: var(--type-kpi-value-line-height);
  letter-spacing: var(--type-kpi-value-letter-spacing);
}
.forge-type--section-title {
  font-size: var(--type-section-title-size);
  font-family: var(--type-section-title-family);
  font-weight: var(--type-section-title-weight);
  line-height: var(--type-section-title-line-height);
  letter-spacing: var(--type-section-title-letter-spacing);
}
.forge-type--panel-title {
  font-size: var(--type-panel-title-size);
  font-family: var(--type-panel-title-family);
  font-weight: var(--type-panel-title-weight);
  line-height: var(--type-panel-title-line-height);
  letter-spacing: var(--type-panel-title-letter-spacing);
}
.forge-type--body {
  font-size: var(--type-body-size);
  font-family: var(--type-body-family);
  font-weight: var(--type-body-weight);
  line-height: var(--type-body-line-height);
  letter-spacing: var(--type-body-letter-spacing);
}
.forge-type--body-emphasis {
  font-size: var(--type-body-emphasis-size);
  font-family: var(--type-body-emphasis-family);
  font-weight: var(--type-body-emphasis-weight);
  line-height: var(--type-body-emphasis-line-height);
  letter-spacing: var(--type-body-emphasis-letter-spacing);
}
.forge-type--body-secondary {
  font-size: var(--type-body-secondary-size);
  font-family: var(--type-body-secondary-family);
  font-weight: var(--type-body-secondary-weight);
  line-height: var(--type-body-secondary-line-height);
  letter-spacing: var(--type-body-secondary-letter-spacing);
}
.forge-type--table-cell {
  font-size: var(--type-table-cell-size);
  font-family: var(--type-table-cell-family);
  font-weight: var(--type-table-cell-weight);
  line-height: var(--type-table-cell-line-height);
  letter-spacing: var(--type-table-cell-letter-spacing);
}
.forge-type--table-header {
  font-size: var(--type-table-header-size);
  font-family: var(--type-table-header-family);
  font-weight: var(--type-table-header-weight);
  line-height: var(--type-table-header-line-height);
  letter-spacing: var(--type-table-header-letter-spacing);
}
.forge-type--field-label {
  font-size: var(--type-field-label-size);
  font-family: var(--type-field-label-family);
  font-weight: var(--type-field-label-weight);
  line-height: var(--type-field-label-line-height);
  letter-spacing: var(--type-field-label-letter-spacing);
}
.forge-type--caption {
  font-size: var(--type-caption-size);
  font-family: var(--type-caption-family);
  font-weight: var(--type-caption-weight);
  line-height: var(--type-caption-line-height);
  letter-spacing: var(--type-caption-letter-spacing);
  color: var(--text-muted);
}
.q-btn.forge-type--navigation,
.forge-type--navigation {
  font-size: var(--type-navigation-size);
  font-family: var(--type-navigation-family);
  font-weight: var(--type-navigation-weight);
  line-height: var(--type-navigation-line-height);
  letter-spacing: var(--type-navigation-letter-spacing);
}
.forge-type--eyebrow {
  font-size: var(--type-eyebrow-size);
  font-family: var(--type-eyebrow-family);
  font-weight: var(--type-eyebrow-weight);
  line-height: var(--type-eyebrow-line-height);
  letter-spacing: var(--type-eyebrow-letter-spacing);
  text-transform: var(--type-label-transform);
}
.forge-type--technical {
  font-size: var(--type-technical-size);
  font-family: var(--type-technical-family);
  font-weight: var(--type-technical-weight);
  line-height: var(--type-technical-line-height);
  letter-spacing: var(--type-technical-letter-spacing);
}
.forge-type--brand-wordmark {
  font-size: var(--type-brand-wordmark-size);
  font-family: var(--type-brand-wordmark-family);
  font-weight: var(--type-brand-wordmark-weight);
  line-height: var(--type-brand-wordmark-line-height);
  letter-spacing: var(--type-brand-wordmark-letter-spacing);
}
.forge-type--display-hero {
  font-size: var(--type-display-hero-size);
  font-family: var(--type-display-hero-family);
  font-weight: var(--type-display-hero-weight);
  line-height: var(--type-display-hero-line-height);
  letter-spacing: var(--type-display-hero-letter-spacing);
}
.forge-status-text--warning {
  color: var(--brand-amber-dark);
}
.forge-status-text--danger {
  color: var(--brand-red);
}
.forge-status-text--success {
  color: var(--brand-green);
}
.forge-scope-dialog {
  min-width: var(--layout-dialog-min-inline-size);
  padding: var(--space-5);
}
.forge-scope-dialog--reason {
  max-width: var(--layout-dialog-scope-reason-max-inline-size);
}
.forge-scope-dialog--standard {
  max-width: var(--layout-dialog-scope-standard-max-inline-size);
}
.forge-scope-field-holder {
  gap: var(--space-3);
}
.forge-scope-dialog__actions {
  display: flex;
  flex: none;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-2);
}
.forge-page-header-chrome {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  min-width: 0;
}
.forge-page-title-row {
  display: flex;
  align-items: baseline;
  gap: var(--space-3);
  flex-wrap: wrap;
}
.forge-page-meta,
.forge-page-trust {
  margin-top: var(--space-1);
  color: var(--text-muted);
}
.forge-page-trust-link {
  color: var(--brand-blue);
  text-decoration: none;
}
.forge-page-title.forge-type--page-title {
  color: var(--text-primary);
  margin: 0;
}
.forge-section-eyebrow.forge-type--section-title {
  color: var(--brand-blue);
  margin: 0;
  text-transform: none;
}
.forge-card-header-title.forge-type--panel-title {
  color: var(--text-primary);
}
.forge-stage-header-title.forge-type--section-title {
  color: var(--text-primary);
  margin: 0;
}
.forge-context-page .forge-stage-header-title.forge-type--section-title {
  font-size: var(--type-panel-title-size);
  font-family: var(--type-panel-title-family);
  font-weight: var(--type-panel-title-weight);
  line-height: var(--type-panel-title-line-height);
}
.forge-nav-section.forge-type--eyebrow {
  color: color-mix(in srgb, var(--sidebar-text-muted) 72%, var(--bg-sidebar));
}
.kpi-tile .kpi-value.forge-type--kpi-value,
.forge-hero-stat .forge-hero-stat__value.forge-type--kpi-value {
  font-size: var(--type-kpi-value-size);
  font-family: var(--type-kpi-value-family);
  font-weight: var(--type-kpi-value-weight);
  line-height: var(--type-kpi-value-line-height);
  letter-spacing: var(--type-kpi-value-letter-spacing);
}
.kpi-tile .kpi-label.forge-type--field-label,
.forge-hero-stat__label.forge-type--field-label {
  font-size: var(--type-field-label-size);
  font-family: var(--type-field-label-family);
  font-weight: var(--type-field-label-weight);
  line-height: var(--type-field-label-line-height);
  letter-spacing: var(--type-field-label-letter-spacing);
}
.kpi-tile .kpi-sublabel.forge-type--body-secondary,
.forge-hero-stat__sublabel.forge-type--body-secondary {
  font-size: var(--type-body-secondary-size);
  font-family: var(--type-body-secondary-family);
  font-weight: var(--type-body-secondary-weight);
  line-height: var(--type-body-secondary-line-height);
  letter-spacing: var(--type-body-secondary-letter-spacing);
}

/* Activity event badges use design tokens. */
/* Event kind badge tints; filter buttons use the canonical secondary family. */
/* ---------------------------------------------------------------------------
 * Activity stage — Plan 770: filter chips + event badges via design tokens.
 * Replaces inline hex literals in activity.py.
 * --------------------------------------------------------------------------- */
.activity-filter-chip {
  background: var(--bg-hover);
  color: var(--text-secondary);
  border-radius: var(--radius-pill);
  padding: 4px 14px;
  font-size: var(--text-compact);
  font-weight: 600;
  text-transform: none;
}
.activity-filter-chip--active {
  background: var(--bg-sidebar);
  color: var(--text-on-dark);
}
/* Kind-chip tints (inactive state — active uses activity-filter-chip--active) */
.activity-kind-chip--cert {
  background: var(--tint-blue);
  color: var(--brand-blue-dark);
}
.activity-kind-chip--document {
  background: var(--tint-green);
  color: var(--brand-green);
}
.activity-kind-chip--field {
  background: var(--brand-ai-tint);
  color: var(--brand-ai);
}
.activity-kind-chip--request {
  background: var(--tint-amber);
  color: var(--brand-amber-text);
}
/* Cert event badges */
/* Product picker Getting started education card. */
.forge-onboarding-card {
  display: flex;
  flex-direction: column;
  background: var(--tint-blue);
  border-radius: var(--radius-xl);
  padding: var(--space-5) var(--space-6);
  margin-block-end: var(--space-4);
}
.forge-onboarding-card__eyebrow {
  color: var(--brand-blue);
  margin-block-end: var(--space-1);
}
.forge-onboarding-card__title {
  color: var(--text-primary);
  margin-block-end: var(--space-1);
}
.forge-onboarding-card__intro {
  color: var(--text-secondary);
  margin-block-end: var(--space-3);
}
.forge-onboarding-steps {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}
.forge-onboarding-step {
  display: flex;
  flex: 1 1 var(--layout-card-min-width);
  flex-direction: column;
  gap: var(--space-2);
  background: var(--bg-card);
  border-radius: var(--radius-md);
  padding: var(--space-4) var(--space-5);
  box-shadow: var(--shadow-sm);
}
.forge-onboarding-step__heading {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.forge-onboarding-step__number {
  display: inline-flex;
  width: var(--space-6);
  height: var(--space-6);
  flex: 0 0 var(--space-6);
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-pill);
  background: var(--tint-blue);
  color: var(--brand-blue);
}
.forge-onboarding-step__title {
  color: var(--text-primary);
}
.forge-onboarding-step__body {
  color: var(--text-secondary);
}
.forge-onboarding-card__cta {
  align-self: flex-start;
  margin-block-start: var(--space-1);
}

/* Product picker portfolio card hierarchy. */
.forge-product-card__heading {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
}
.forge-product-card__title {
  display: block;
  min-width: var(--space-1);
  overflow-wrap: anywhere;
  color: var(--text-primary);
  text-decoration: none;
}
.forge-product-card__meta,
.forge-product-card__owner,
.forge-product-card__regulations-meta {
  color: var(--text-secondary);
}
.forge-product-card__assign {
  color: var(--brand-blue);
  text-decoration: none;
}
.forge-product-card__regulations,
.forge-product-card__compliance,
.forge-product-card__obligations,
.forge-product-card__next-action {
  margin-block-start: var(--space-1);
}
.forge-product-card__obligations {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-1);
}
.forge-product-card__pending {
  white-space: nowrap;
  margin-inline-start: var(--space-1);
}

/* Product picker list row data hierarchy. */
.forge-product-list__name {
  color: var(--text-primary);
}
.forge-product-list__meta,
.forge-product-list__owner {
  color: var(--text-secondary);
}
.forge-product-list__sku,
.forge-product-list__separator {
  color: var(--text-muted);
}

/* The shared decision row also serves wide review surfaces. In the Product
   table its actions column needs a compact presentation to keep rows
   readable without hiding the full explanation from assistive technology. */
.forge-product-next-action .forge-manager-decision-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-1);
  min-width: 0;
}
.forge-product-next-action .forge-manager-decision-row__object {
  display: none;
}
.forge-product-next-action .forge-manager-decision-row__status {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-1);
}
.forge-product-next-action .forge-manager-decision-status__detail {
  display: -webkit-box;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.forge-product-next-action .forge-manager-decision-row__actions {
  justify-content: flex-start;
  min-width: 0;
}

.forge-cert-chips {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-1);
}
