/* Authenticated workspace surfaces: template grammar applied to NavishAI product UI. */

.is-app .button,
.is-app .nav-item,
.is-app .case-row,
.is-app .memory-record-link,
.is-app .workspace-link,
.is-app .knowledge-source-link,
.is-app summary,
.is-app .signal-card,
.is-app .scorecard-stage,
.is-app .setup-disclosure {
  transition: background 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

/* Workspace lifecycle and settings surfaces. */
.button.button-compact,
.is-app .button.button-compact {
  width: auto;
  min-height: 2.75rem;
  padding-inline: 1rem;
  justify-self: start;
}

.workspace-index-heading,
.workspace-settings-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
}

.workspace-index-heading > div,
.workspace-settings-heading > div {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}

.workspace-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
}

.workspace-settings-shell {
  display: grid;
  gap: 1.5rem;
}

.workspace-settings-panel {
  display: grid;
  gap: 1rem;
  max-width: 52rem;
  padding: 1.25rem;
}

.workspace-settings-form > .button-primary {
  width: auto;
}

.workspace-settings-links {
  display: grid;
  gap: 1rem;
  max-width: 52rem;
}

.settings-link-list {
  overflow: visible;
  border-block: 1px solid var(--border);
  border-inline: 0;
  border-radius: 0;
  background: transparent;
}

.settings-link {
  display: flex;
  min-height: 4.25rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 0.25rem;
  border-radius: 0;
  color: var(--foreground);
  text-decoration: none;
}

.settings-link + .settings-link {
  border-top: 1px solid var(--border);
}

.settings-link:hover {
  color: var(--foreground);
  background: var(--muted-surface);
}

.settings-link > span:first-child {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.settings-link small {
  color: var(--muted-foreground);
}

@media (max-width: 42rem) {
  .workspace-index-heading,
  .workspace-settings-heading,
  .workspace-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .workspace-index-heading .button,
  .workspace-settings-heading .button,
  .workspace-card > .button {
    width: auto;
    justify-self: start;
  }

  .is-app .provider-actions .button.button-compact,
  .is-app .runtime-heading-actions .button.button-compact {
    min-height: 3rem;
  }

  .workspace-settings-form > .button-primary {
    width: 100%;
  }
}

.is-app .button:active,
.is-app .nav-item:active {
  transform: scale(0.98);
}

.is-app .page-shell h1,
.is-app .account-health-page h1,
.is-app .scorecard-page h1,
.is-app .case-workspace h1,
.is-app .workbench-shell h1 {
  font-size: var(--text-page);
  letter-spacing: var(--tracking-page);
}

.is-app .page-shell h2,
.is-app .account-health-page h2,
.is-app .scorecard-page h2,
.is-app .case-workspace h2 {
  font-size: 1.125rem;
}

.decision-next {
  display: grid;
  gap: 0.75rem;
  padding: 1.15rem 1.15rem 1.25rem;
  border: 1px solid color-mix(in oklch, var(--secondary) 28%, var(--border));
  border-radius: var(--radius-lg);
  background: color-mix(in oklch, var(--secondary) 8%, var(--card));
  box-shadow: var(--shadow);
}

.decision-next h2 {
  margin: 0;
  font-size: 1.125rem;
}

.decision-next p {
  margin: 0;
  color: var(--muted-foreground);
  font-size: 0.875rem;
}

.decision-next .button-primary {
  width: 100%;
}

.decision-next .button-secondary,
.decision-next .button-quiet {
  width: 100%;
}

.decision-next.decision-next-mobile {
  display: none;
}

.queue-rail {
  background: color-mix(in oklch, var(--muted-surface) 70%, var(--card));
}

.queue-rail .case-row:hover {
  background: color-mix(in oklch, var(--foreground) 4%, transparent);
}

.queue-rail .case-row[aria-current="page"],
.queue-rail .case-row[aria-current="page"]:hover {
  background: var(--card);
  box-shadow: inset 3px 0 0 var(--secondary);
}

.conversation-thread {
  background: var(--background);
}

.case-context {
  background: color-mix(in oklch, var(--muted-surface) 55%, var(--card));
}

.case-workspace-grid {
  overflow: hidden;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.context-section,
.crew-progress-card,
.evidence-panel,
.send-gate {
  border-radius: var(--radius-sheet);
}

.case-toolbar h1 {
  margin: 0.2rem 0 0;
}

.health-overview {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.account-health-actions {
  display: grid;
  gap: 0.65rem;
  justify-items: start;
}

.account-health-secondary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.account-health-tertiary {
  color: var(--muted-foreground);
}

.scorecard-decision {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--card);
  box-shadow: var(--shadow);
}

.scorecard-decision article {
  display: grid;
  gap: 0.35rem;
  padding: 1.15rem 1.25rem;
}

.scorecard-decision article + article {
  border-left: 1px solid var(--border);
}

.scorecard-decision span {
  color: var(--muted-foreground);
  font-size: 0.75rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.scorecard-decision strong {
  font-size: 1.25rem;
  letter-spacing: -0.03em;
}

.scorecard-rule-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.75rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.scorecard-rule-cards li {
  display: grid;
  gap: 0.25rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--border);
  border-radius: 0.625rem;
  background: var(--muted-surface);
}

.scorecard-rule-cards strong {
  font-size: 0.9375rem;
}

.scorecard-rule-cards span {
  color: var(--muted-foreground);
  font-size: 0.8125rem;
}

.scorecard-band-card {
  box-shadow: inset 3px 0 0 var(--secondary);
}

.memory-record-list {
  display: grid;
  gap: 0.65rem;
  border-top: 0;
}

.memory-record-link {
  align-items: flex-start;
  padding: 1.05rem 1.1rem;
  border-radius: 0.75rem;
}

.memory-record-kinds {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.65rem;
  align-items: baseline;
}

.memory-provenance {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.memory-chip {
  display: inline-flex;
  height: 1.5rem;
  align-items: center;
  padding: 0 0.5rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--muted-surface);
  color: var(--muted-foreground);
  font-size: 0.6875rem;
  font-weight: 650;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.memory-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(16rem, 20rem);
  gap: 1.25rem;
}

.memory-record-content,
.memory-metadata {
  padding: 1.25rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--card);
  box-shadow: var(--shadow);
}

.memory-metadata dl {
  display: grid;
  gap: 0.85rem;
  margin: 0;
}

.memory-metadata dt {
  color: var(--muted-foreground);
  font-size: 0.75rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.memory-metadata dd {
  margin: 0.2rem 0 0;
}

.auth-panel h1,
.setup-panel h1 {
  font-size: 1.75rem;
}

.setup-panel {
  display: grid;
  gap: 0.25rem;
}

.setup-panel fieldset {
  margin: 0;
  padding: 1rem 0 0;
  border: 0;
  border-top: 1px solid var(--border);
}

.setup-panel legend {
  padding: 0;
  color: var(--muted-foreground);
  font-size: 0.75rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.workspace-list {
  display: grid;
  gap: 0;
  margin: 1.5rem 0 0;
  padding: 0;
  border-top: 1px solid var(--border);
  list-style: none;
}

.workspace-list > li {
  border-bottom: 1px solid var(--border);
}

.workspace-link {
  display: flex;
  min-width: 0;
  min-height: 4rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0.25rem;
  border: 0;
  border-radius: 0;
  color: var(--foreground);
  text-decoration: none;
  background: transparent;
  box-shadow: none;
}

.workspace-link:hover {
  color: var(--foreground);
  background: var(--muted-surface);
}

.workspace-link small,
.workspace-link > span:last-child {
  color: var(--muted-foreground);
}

.workspace-link span:first-child {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.empty-state {
  display: grid;
  gap: 0.65rem;
  justify-items: start;
  padding: 2rem 1.5rem;
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-lg);
  background: color-mix(in oklch, var(--muted-surface) 60%, var(--card));
}

.empty-state.provider-empty,
.empty-state.workspace-empty {
  padding: 1.25rem 0;
  border: 0;
  border-block: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.route-status {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.config-panel,
.section-block {
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--card);
}

.intercom-backfill-panel > .muted-copy {
  max-width: 68ch;
  margin-top: 0.5rem;
}

.backfill-list {
  display: grid;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.backfill-card {
  display: grid;
  min-width: 0;
  gap: 1rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
}

.backfill-heading,
.backfill-exceptions li {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.backfill-heading h3,
.backfill-heading p,
.backfill-report h4,
.backfill-exceptions h4,
.backfill-exceptions p {
  margin: 0;
}

.backfill-heading p,
.backfill-report > p,
.backfill-state {
  color: var(--muted);
  font-size: 0.8125rem;
}

.backfill-counts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  border-block: 1px solid var(--line);
}

.backfill-counts > div {
  min-width: 0;
  padding: 0.75rem;
}

.backfill-counts dt {
  color: var(--muted);
  font-size: 0.75rem;
}

.backfill-counts dd {
  margin: 0.2rem 0 0;
  color: var(--ink);
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
  font-weight: var(--weight-semibold);
}

.backfill-report,
.backfill-exceptions {
  display: grid;
  gap: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}

.backfill-report code,
.backfill-card code {
  overflow-wrap: anywhere;
  white-space: normal;
}

.backfill-digest {
  display: block;
  margin-top: 0.25rem;
  word-break: break-all;
}

.backfill-exceptions ul {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.backfill-exceptions li + li {
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}

.backfill-candidates {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.backfill-card > form {
  justify-self: start;
  margin: 0;
}

.section-block {
  padding: 1.25rem;
  margin-top: 1.25rem;
}

.app-drawer-panel {
  animation: drawer-in 280ms cubic-bezier(0.34, 1.3, 0.64, 1);
}

.nav-drawer[open] .nav-drawer-panel {
  animation: drawer-in 280ms cubic-bezier(0.34, 1.3, 0.64, 1);
}

.health-score-panel strong {
  transition: color 220ms ease;
}

@media (max-width: 64rem) {
  .decision-next.decision-next-mobile {
    display: grid;
  }

  .decision-next.decision-next-rail {
    display: none;
  }
}

@media (max-width: 48rem) {
  .is-app button,
  .is-app .button,
  .is-app .nav-item,
  .data-controls-shell .button {
    min-height: 49px;
  }

  .scorecard-decision {
    grid-template-columns: 1fr;
  }

  .scorecard-decision article + article {
    border-left: 0;
    border-top: 1px solid var(--border);
  }

  .backfill-heading,
  .backfill-exceptions li {
    display: grid;
  }

  .backfill-heading .status-badge {
    justify-self: start;
  }

  .backfill-counts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .backfill-candidates,
  .backfill-card > form,
  .backfill-card > form .button,
  .backfill-candidates form,
  .backfill-candidates .button {
    width: 100%;
  }

  .backfill-candidates {
    justify-content: stretch;
  }

  .backfill-card .button {
    min-height: 3rem;
    white-space: normal;
  }

  .memory-detail-grid,
  .memory-heading,
  .memory-filters {
    grid-template-columns: 1fr;
  }

  .memory-heading {
    align-items: start;
    flex-direction: column;
  }
}

/* Governed policy keeps dense evidence readable without turning policy into a dashboard. */
.policy-page {
  width: min(100% - 2rem, 74rem);
  padding-block: 2rem 4rem;
}

.policy-heading,
.policy-record > header,
.policy-publication,
.policy-profile > summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
}

.policy-heading > div:first-child {
  max-width: 46rem;
}

.policy-guardrail {
  max-width: 25rem;
  padding-block: 0.85rem;
  border-block: 1px solid var(--warning);
}

.policy-guardrail p,
.policy-record p,
.policy-publication p,
.policy-profile small {
  margin: 0.25rem 0 0;
  color: var(--muted-foreground);
}

.policy-compose,
.policy-history,
.policy-active {
  margin-top: 2.5rem;
}

.policy-profile-list,
.policy-history,
.policy-active {
  display: grid;
  gap: 1rem;
}

.policy-profile,
.policy-record,
.policy-publication {
  border-block: 1px solid var(--border);
}

.policy-profile > summary,
.policy-record,
.policy-publication {
  padding: 1.1rem 0;
}

.policy-profile > summary span:first-child {
  display: grid;
  gap: 0.2rem;
}

.policy-proposal-form,
.policy-preview {
  display: grid;
  gap: 1.5rem;
  padding: 1.25rem 0 1.5rem;
}

.policy-proposal-form fieldset {
  min-width: 0;
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
}

.policy-proposal-form legend {
  padding-inline: 0.4rem;
  font-weight: 700;
}

.policy-scope-choice,
.policy-subject-columns,
.policy-field-grid,
.policy-number-grid,
.policy-decision-grid {
  display: grid;
  gap: 1rem;
}

.policy-scope-choice {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 1rem;
}

.policy-subject-columns {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.policy-field-grid,
.policy-decision-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.policy-field-grid-single {
  grid-template-columns: minmax(0, 1fr);
}

.policy-number-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.policy-scope-choice label,
.policy-subject-columns label,
.policy-field-grid fieldset > label {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  min-height: 2.25rem;
  padding-block: 0.35rem;
}

.policy-subject-columns h3,
.policy-decision-grid h4 {
  margin: 0 0 0.5rem;
}

.policy-freshness > summary,
.policy-facts > summary {
  width: fit-content;
  font-weight: 650;
}

.policy-freshness[open] > summary,
.policy-facts[open] > summary {
  margin-bottom: 1rem;
}

.policy-digests {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
  padding: 0.8rem 0;
  border-block: 1px solid var(--border);
}

.policy-digests code,
.policy-facts code {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.policy-diff {
  padding-block: 0.75rem;
  border-bottom: 1px solid var(--border);
}

.policy-diff > summary {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.policy-diff > summary span:first-child {
  display: grid;
}

.policy-decision-grid {
  margin-top: 1rem;
}

.policy-decision-grid > div + div {
  border-left: 1px solid var(--border);
  padding-left: 1rem;
}

.policy-decision-grid dl,
.policy-facts dl {
  margin: 0;
}

.policy-decision-grid dl > div,
.policy-facts dl > div {
  display: grid;
  grid-template-columns: minmax(7rem, 0.45fr) minmax(0, 1fr);
  gap: 1rem;
  padding-block: 0.45rem;
  border-top: 1px solid var(--border);
}

.policy-decision-grid dd,
.policy-facts dd {
  min-width: 0;
  margin: 0;
}

.policy-facts {
  margin-top: 1rem;
}

.policy-publication {
  align-items: center;
}

.policy-rollback {
  display: grid;
  grid-template-columns: minmax(10rem, 1fr) auto;
  align-items: end;
  gap: 0.5rem;
}

.policy-rollback label {
  grid-column: 1 / -1;
}

@media (max-width: 48rem) {
  .policy-page {
    width: min(100% - 1rem, 74rem);
    padding-top: 1rem;
  }

  .policy-heading,
  .policy-record > header,
  .policy-publication,
  .policy-profile > summary {
    flex-direction: column;
    gap: 0.75rem;
  }

  .policy-guardrail {
    max-width: none;
  }

  .policy-scope-choice,
  .policy-subject-columns,
  .policy-field-grid,
  .policy-number-grid,
  .policy-decision-grid,
  .policy-rollback {
    grid-template-columns: 1fr;
  }

  .policy-decision-grid > div + div {
    padding-top: 1rem;
    padding-left: 0;
    border-top: 1px solid var(--border);
    border-left: 0;
  }

  .policy-facts dl > div {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .policy-diff > summary {
    flex-direction: column;
  }

  .policy-publication,
  .policy-rollback,
  .policy-rollback .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .is-app .button,
  .is-app .nav-item,
  .is-app .case-row,
  .is-app .memory-record-link,
  .is-app .workspace-link,
  .is-app summary,
  .app-drawer-panel,
  .nav-drawer-panel {
    animation: none !important;
    transition: none !important;
  }
}

.status-healthy {
  --reliability-state: var(--success);
  --status-color: var(--success-foreground);
  --status-surface: var(--success-soft);
}

.status-tested {
  --status-color: var(--success-foreground);
  --status-surface: var(--success-soft);
}

.setup-checklist-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.status-attention {
  --reliability-state: var(--warning);
  --status-color: var(--warning-foreground);
  --status-surface: var(--warning-soft);
}

.status-blocked {
  --reliability-state: var(--destructive);
  --status-color: var(--destructive-foreground);
  --status-surface: var(--destructive-soft);
}

.status-unknown {
  --reliability-state: var(--status-wait);
  --status-color: var(--status-wait);
  --status-surface: var(--status-wait-soft);
}

.status-not-configured {
  --reliability-state: var(--muted-foreground);
  --status-color: var(--muted-foreground);
  --status-surface: var(--muted-surface);
}

.reliability-page {
  width: min(100% - 2rem, 74rem);
  margin-inline: auto;
  padding: 2.5rem 0 5rem;
}

.reliability-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
}

.reliability-heading > div {
  display: grid;
  gap: 0.6rem;
}

.reliability-heading p {
  max-width: 58ch;
  color: var(--muted-foreground);
}

.reliability-overall {
  display: grid;
  flex: 0 0 12rem;
  gap: 0.25rem;
  padding-block: 0.65rem;
  border-block: 1px solid var(--reliability-state);
  color: var(--status-color);
}

.reliability-overall span {
  color: var(--muted-foreground);
  font-size: var(--text-label);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.reliability-overall strong {
  color: inherit;
  font-size: 1.25rem;
}

.reliability-brief {
  display: grid;
  grid-template-columns: minmax(15rem, 0.8fr) minmax(0, 1.2fr);
  gap: 2rem;
  margin-top: 2.5rem;
  padding: 1.5rem 0;
  border-block: 1px solid var(--line-strong);
}

.reliability-verdict {
  display: grid;
  align-content: start;
  gap: 0.55rem;
}

.reliability-verdict p {
  color: var(--muted-foreground);
  font-size: var(--text-meta);
}

.reliability-key {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
}

.reliability-key div {
  min-width: 0;
  padding: 0.25rem 0.8rem 0.25rem 1rem;
  border-left: 1px solid var(--line);
}

.reliability-key dt {
  color: var(--status-color);
  font-size: var(--text-meta);
  font-weight: var(--weight-semibold);
}

.reliability-key dd {
  margin: 0.3rem 0 0;
  color: var(--muted-foreground);
  font-size: var(--text-label);
  line-height: var(--leading-meta);
}

.reliability-index {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 2.5rem;
  border-top: 1px solid var(--line-strong);
}

.reliability-index a {
  display: flex;
  min-width: 0;
  min-height: 3.5rem;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 1rem 0.75rem 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
}

.reliability-index a:nth-child(odd) {
  margin-right: 1.5rem;
}

.reliability-index a:hover strong {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.reliability-index strong {
  color: var(--status-color);
  font-size: var(--text-meta);
}

.reliability-groups {
  margin-top: 3rem;
  border-top: 1px solid var(--line-strong);
}

.reliability-group {
  scroll-margin-top: 5rem;
  border-bottom: 1px solid var(--line-strong);
}

.reliability-group > summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 5.5rem;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0.25rem;
  cursor: pointer;
}

.reliability-group > summary:hover {
  background: color-mix(in oklch, var(--muted-surface) 60%, transparent);
}

.reliability-group-state,
.reliability-state-dot {
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  background: var(--reliability-state);
}

.reliability-group-copy {
  display: grid;
  min-width: 0;
  gap: 0.3rem;
}

.reliability-group-copy > strong {
  font-size: 1.125rem;
}

.reliability-group-copy small {
  overflow-wrap: anywhere;
  color: var(--muted-foreground);
  font-size: var(--text-meta);
  font-weight: var(--weight-regular);
}

.reliability-items {
  border-top: 1px solid var(--line);
}

.reliability-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  padding: 1.25rem 1rem 1.35rem 2.2rem;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: 5rem;
}

.reliability-item:last-child {
  border-bottom: 0;
}

.reliability-item-main {
  display: grid;
  min-width: 0;
  gap: 0.35rem;
}

.reliability-item-title {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.reliability-item-title h3 {
  margin: 0;
  overflow-wrap: anywhere;
  font-size: 1rem;
}

.reliability-item p {
  max-width: 70ch;
}

.reliability-detail,
.reliability-time,
.reliability-action > span {
  color: var(--muted-foreground);
  font-size: var(--text-meta);
}

.reliability-time {
  margin-top: 0.25rem;
}

.reliability-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1.5rem;
  margin: 0.65rem 0 0;
}

.reliability-proof div {
  display: flex;
  min-width: 0;
  gap: 0.4rem;
}

.reliability-proof dt {
  color: var(--muted-foreground);
  font-size: var(--text-label);
}

.reliability-proof dd {
  min-width: 0;
  margin: 0;
  font-size: var(--text-label);
}

.reliability-proof code {
  overflow-wrap: anywhere;
}

.reliability-action {
  display: grid;
  min-width: 11rem;
  align-content: center;
  justify-items: end;
  gap: 0.45rem;
  text-align: right;
}

.reliability-action form {
  margin: 0;
}

@media (max-width: 64rem) {
  .reliability-brief {
    grid-template-columns: 1fr;
  }

  .reliability-key div:first-child {
    border-left: 0;
  }
}

@media (max-width: 48rem) {
  .reliability-page {
    width: min(100% - 1rem, 74rem);
    padding-top: 1rem;
  }

  .reliability-heading {
    align-items: stretch;
    flex-direction: column;
    gap: 1.25rem;
  }

  .reliability-overall {
    flex-basis: auto;
  }

  .reliability-brief {
    margin-top: 1.5rem;
    gap: 1.25rem;
  }

  .reliability-key {
    grid-template-columns: 1fr;
  }

  .reliability-key div,
  .reliability-key div:first-child {
    display: grid;
    grid-template-columns: 7.5rem minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.55rem 0;
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .reliability-key dd {
    margin: 0;
  }

  .reliability-index {
    grid-template-columns: 1fr;
    margin-top: 1.5rem;
  }

  .reliability-index a:nth-child(odd) {
    margin-right: 0;
  }

  .reliability-groups {
    margin-top: 2rem;
  }

  .reliability-group > summary {
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 5rem;
    gap: 0.75rem;
  }

  .reliability-group > summary .status-badge {
    grid-column: 2;
    width: fit-content;
  }

  .reliability-item {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1rem 0.25rem 1.25rem 1.4rem;
  }

  .reliability-action {
    min-width: 0;
    justify-items: stretch;
    text-align: left;
  }

  .reliability-action .button,
  .reliability-action form {
    width: 100%;
  }

  .reliability-action .button {
    justify-content: center;
  }
}

.quality-page {
  display: grid;
  gap: 1.5rem;
  width: min(100% - 2rem, 74rem);
  margin-inline: auto;
  padding: 2.5rem 0 5rem;
}

.quality-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
}

.quality-heading > div {
  display: grid;
  gap: 0.6rem;
}

.quality-heading p {
  max-width: 58ch;
}

.quality-verdict {
  display: grid;
  flex: 0 0 14rem;
  gap: 0.25rem;
  padding-block: 0.65rem;
  border-block: 1px solid var(--line-strong);
}

.quality-verdict.is-attention {
  border-block-color: var(--warning);
}

.quality-verdict span {
  color: var(--muted-foreground);
  font-size: var(--text-label);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.quality-verdict strong {
  font-size: 1.25rem;
}

.quality-metrics {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  margin: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.quality-metric {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
  padding: 1rem;
  border-right: 1px solid var(--line);
}

.quality-metric:last-child {
  border-right: 0;
}

.quality-metric span {
  color: var(--muted-foreground);
  font-size: 0.875rem;
  font-weight: var(--weight-semibold);
}

.quality-metric strong {
  font-size: 1.5rem;
  font-variant-numeric: tabular-nums;
}

.quality-metric p {
  color: var(--muted-foreground);
  font-size: 1rem;
}

.quality-metric.tone-attention strong {
  color: var(--warning-foreground);
}

.quality-metric.tone-healthy strong {
  color: var(--success);
}

.quality-columns {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.quality-columns h2 {
  margin-bottom: 0.75rem;
}

.quality-empty {
  margin: 0;
  color: var(--muted-foreground);
  font-size: 1rem;
}

.quality-list {
  display: grid;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

.quality-list li {
  border-bottom: 1px solid var(--line);
}

.quality-list a {
  display: grid;
  gap: 0.3rem;
  min-height: 3rem;
  padding: 1rem 0.25rem;
  color: var(--ink);
  text-decoration: none;
}

.quality-list a:hover {
  color: var(--accent);
}

.quality-list span {
  color: var(--muted-foreground);
  font-size: 1rem;
}

.quality-window-evidence,
.quality-window {
  display: grid;
  gap: 1rem;
}

.quality-window-evidence > header,
.quality-window h3 {
  margin: 0;
}

.quality-methodology {
  margin: 0;
  color: var(--muted-foreground);
  overflow-wrap: anywhere;
}

@media (max-width: 64rem) {
  .quality-columns {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .quality-metric:nth-child(odd) {
    border-bottom: 1px solid var(--line);
  }
}

@media (max-width: 48rem) {
  .quality-page {
    width: min(100% - 1rem, 74rem);
    padding-top: 1rem;
  }

  .quality-heading {
    align-items: stretch;
    flex-direction: column;
    gap: 1.25rem;
  }

  .quality-verdict {
    flex-basis: auto;
  }

  .quality-metrics {
    grid-template-columns: 1fr;
  }

  .quality-metric {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .quality-metric:last-child {
    border-bottom: 0;
  }

  .quality-list a {
    min-height: 3rem;
    white-space: normal;
  }
}

.improvement-page {
  display: grid;
  gap: 1.5rem;
  width: min(100% - 2rem, 74rem);
  margin-inline: auto;
  padding: 2.5rem 0 5rem;
}

.improvement-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
}

.improvement-heading > div {
  display: grid;
  gap: 0.6rem;
}

.improvement-heading p {
  max-width: 58ch;
  color: var(--muted-foreground);
}

.improvement-verdict {
  display: grid;
  flex: 0 0 16rem;
  gap: 0.25rem;
  padding-block: 0.65rem;
  border-block: 1px solid var(--line-strong);
}

.improvement-verdict.is-attention {
  border-block-color: var(--warning);
}

.improvement-verdict span {
  color: var(--muted-foreground);
  font-size: var(--text-label);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.improvement-verdict strong {
  font-size: 1.25rem;
}

.improvement-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  margin: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.improvement-metric {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
  padding: 1rem;
  border-right: 1px solid var(--line);
}

.improvement-metric:last-child {
  border-right: 0;
}

.improvement-metric span {
  color: var(--muted-foreground);
  font-size: 0.875rem;
  font-weight: var(--weight-semibold);
}

.improvement-metric strong {
  font-size: 1.5rem;
  font-variant-numeric: tabular-nums;
}

.improvement-empty {
  margin: 0;
  color: var(--muted-foreground);
  font-size: 1rem;
}

.improvement-list {
  display: grid;
  margin: 0.75rem 0 0;
  padding: 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

.improvement-list li {
  border-bottom: 1px solid var(--line);
}

.improvement-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3rem;
  padding: 1rem 0.25rem;
  color: var(--ink);
  text-decoration: none;
}

.improvement-list a:hover {
  color: var(--accent);
}

.improvement-list-main {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
}

.improvement-list-main > span {
  color: var(--muted-foreground);
  font-size: 1rem;
}

@media (max-width: 48rem) {
  .improvement-page {
    width: min(100% - 1rem, 74rem);
    padding-top: 1rem;
  }

  .improvement-heading {
    align-items: stretch;
    flex-direction: column;
    gap: 1.25rem;
  }

  .improvement-verdict {
    flex-basis: auto;
  }

  .improvement-metrics {
    grid-template-columns: 1fr 1fr;
  }

  .improvement-metric {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .improvement-metric:nth-child(odd) {
    border-right: 1px solid var(--line);
  }

  .improvement-metric:last-child {
    border-bottom: 0;
  }

  .improvement-list a {
    align-items: flex-start;
    flex-direction: column;
    white-space: normal;
  }
}

.improvement-candidate-list,
.improvement-source-row,
.quality-blocked-row {
  display: grid;
  gap: 0.75rem;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}

.improvement-candidate-list {
  border-top: 1px solid var(--line);
}

.improvement-candidate {
  display: grid;
  gap: 0.75rem;
  padding: 1rem 0.25rem;
  border-bottom: 1px solid var(--line);
}

.improvement-candidate header,
.improvement-source-row,
.quality-blocked-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.improvement-candidate-actions,
.improvement-form {
  display: grid;
  gap: 0.75rem;
}

.improvement-form .field {
  display: grid;
  gap: 0.35rem;
}

.improvement-form textarea,
.improvement-form select {
  width: min(100%, 28rem);
}

@media (max-width: 48rem) {
  .improvement-candidate header,
  .improvement-source-row,
  .quality-blocked-row {
    align-items: stretch;
    flex-direction: column;
  }
}
