/*
 * Page-level compositions. Anything reusable belongs in components.css.
 */

/* ==========================================================================
   Owner screen — one decision at a time
   ========================================================================== */

.owner-stage {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  max-inline-size: 46rem;
  margin-inline: auto;
}

[data-region='decisions'] {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

/* The lead element on the page. Nothing else competes with it. */
.owner-decision {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-8);
  border-radius: var(--radius-8);
  background: var(--surface-raised);
  box-shadow: var(--shadow-raised);
}

@container (max-width: 34rem) {
  .owner-decision {
    padding: var(--space-5);
  }
}

.owner-decision-kicker {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--text-tertiary);
  font-size: var(--type-caption);
  font-weight: 600;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
}

.owner-decision-kicker svg {
  flex: none;
  inline-size: var(--icon-sm);
  block-size: var(--icon-sm);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.owner-decision-question {
  font-size: var(--type-h1);
  font-weight: 600;
  letter-spacing: var(--tracking-heading);
  line-height: var(--leading-tight);
  text-wrap: balance;
}

.owner-decision-detail {
  max-inline-size: var(--measure);
  color: var(--text-secondary);
  font-size: var(--type-lead);
  line-height: var(--leading-relaxed);
}

.owner-decision-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(11rem, 100%), 1fr));
  gap: var(--space-4);
  padding: var(--space-4);
  border-radius: var(--radius-6);
  background: var(--surface-sunken);
}

.owner-decision-facts > div {
  min-inline-size: 0;
}

.owner-decision-facts dt {
  color: var(--text-tertiary);
  font-size: var(--type-caption);
}

.owner-decision-facts dd {
  margin: 0;
  font-size: var(--type-lead);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.owner-decision-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.owner-decision-actions form {
  display: contents;
}

@container (max-width: 28rem) {
  .owner-decision-actions,
  .owner-decision-actions .btn {
    inline-size: 100%;
  }
}

/* A calm zero-state that fills the space instead of floating in it. */
.owner-clear {
  display: grid;
  place-items: center;
  min-block-size: 24rem;
  padding: var(--space-10) var(--space-6);
  border-radius: var(--radius-8);
  background: var(--surface-raised);
  box-shadow: var(--shadow-raised);
  text-align: center;
}

.owner-clear-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  max-inline-size: 30rem;
}

.owner-clear h2 {
  font-size: var(--type-h2);
}

.owner-queue {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.owner-queue-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-3);
  min-block-size: var(--hit-min);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-5);
  background: var(--surface-raised);
  box-shadow: inset 0 0 0 1px var(--line-hairline);
  color: inherit;
  text-decoration: none;
}

.owner-queue-item > div {
  min-inline-size: 0;
}

@media (hover: hover) {
  .owner-queue-item:hover {
    background: var(--surface-sunken);
  }
}

.owner-status-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  color: var(--text-secondary);
  font-size: var(--type-ui);
}

/* ==========================================================================
   Property summary
   ========================================================================== */

.property-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: flex-end;
  gap: var(--space-6);
  padding: var(--space-6);
  border-radius: var(--radius-8);
  background: var(--n-950);
  color: var(--n-50);
}

[data-theme='dark'] .property-summary {
  background: var(--surface-raised);
  box-shadow: var(--shadow-raised);
  color: var(--text-primary);
}

@container (max-width: 44rem) {
  .property-summary {
    grid-template-columns: minmax(0, 1fr);
    align-items: flex-start;
  }
}

.property-summary-copy {
  min-inline-size: 0;
}

.property-summary-kicker {
  color: var(--n-400);
  font-size: var(--type-caption);
  font-weight: 600;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
}

[data-theme='dark'] .property-summary-kicker {
  color: var(--text-tertiary);
}

.property-summary-title {
  margin-block-start: var(--space-2);
  font-size: var(--type-h1);
  font-weight: 600;
  letter-spacing: var(--tracking-heading);
  line-height: var(--leading-tight);
  overflow-wrap: anywhere;
}

.property-summary-meta {
  margin-block-start: var(--space-2);
  color: var(--n-300);
  font-size: var(--type-ui);
  line-height: var(--leading-relaxed);
}

[data-theme='dark'] .property-summary-meta {
  color: var(--text-secondary);
}

.property-summary-price {
  min-inline-size: 0;
  text-align: end;
}

@container (max-width: 44rem) {
  .property-summary-price {
    text-align: start;
  }
}

.property-summary-price .metric-label {
  color: var(--n-400);
}

[data-theme='dark'] .property-summary-price .metric-label {
  color: var(--text-tertiary);
}

.property-summary-amount {
  font-size: var(--type-h1);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--tracking-heading);
  white-space: nowrap;
}

/* ==========================================================================
   Wizard step bodies
   ========================================================================== */

.step-intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-block-end: var(--space-5);
}

.step-intro h2 {
  font-size: var(--type-h2);
}

.step-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  margin-block-start: var(--space-5);
}

/* Interview question: one field group, its reason and nothing else. */
.interview-question {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  border: 0;
  border-radius: var(--radius-6);
  background: var(--surface-sunken);
}

.interview-question-title {
  margin: 0;
  font-size: var(--type-lead);
  font-weight: 600;
  line-height: var(--leading-snug);
}

.interview-question .field-hint {
  margin-block-end: var(--space-1);
}

.interview-conflict {
  background: var(--status-warn-quiet);
  box-shadow: inset 0 0 0 1px var(--status-warn-line);
}

.interview-group-tag {
  align-self: flex-start;
}

.blocker-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

/* ==========================================================================
   Broker candidates
   ========================================================================== */

.candidate-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.candidate-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-inline-size: 0;
  padding: var(--space-4);
  border-radius: var(--radius-6);
  background: var(--surface-raised);
  box-shadow: inset 0 0 0 1px var(--line-hairline);
}

.candidate-card:has(input[name='candidate']:checked) {
  background: var(--surface-selected);
  box-shadow: inset 0 0 0 1.5px var(--action-solid);
}

.candidate-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: var(--space-3);
}

.candidate-head > div {
  min-inline-size: 0;
}

.candidate-rank {
  display: grid;
  place-items: center;
  flex: none;
  inline-size: 1.75rem;
  block-size: 1.75rem;
  border-radius: var(--radius-pill);
  background: var(--surface-inset);
  color: var(--text-secondary);
  font-size: var(--type-caption);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.candidate-rank svg,
.candidate-facts svg,
.compact-row > svg {
  flex: none;
  inline-size: var(--icon-sm);
  block-size: var(--icon-sm);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.candidate-name {
  font-size: var(--type-lead);
  font-weight: 600;
  overflow-wrap: anywhere;
}

.candidate-agency {
  color: var(--text-secondary);
  font-size: var(--type-ui);
  overflow-wrap: anywhere;
}

.candidate-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-2);
}

.candidate-facts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  color: var(--text-secondary);
  font-size: var(--type-caption);
}

.candidate-facts > span {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
}

/* Reasons for and against sit side by side, so neither hides the other. */
.candidate-argument {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
  gap: var(--space-3);
}

.candidate-argument > div {
  min-inline-size: 0;
  padding: var(--space-3);
  border-radius: var(--radius-4);
  background: var(--surface-sunken);
}

.candidate-argument h4 {
  margin-block-end: var(--space-2);
  font-size: var(--type-caption);
  font-weight: 600;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
}

.candidate-argument-for h4 {
  color: var(--status-ok-ink);
}

.candidate-argument-against h4 {
  color: var(--status-warn-ink);
}

.candidate-argument ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  padding-inline-start: var(--space-4);
  color: var(--text-secondary);
  font-size: var(--type-caption);
  line-height: var(--leading-relaxed);
}

/* ---------- Evidence ----------------------------------------------------- */

.evidence-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.evidence-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  padding: var(--space-3);
  border-radius: var(--radius-4);
  background: var(--surface-sunken);
  font-size: var(--type-caption);
  line-height: var(--leading-relaxed);
}

.evidence-item > div {
  min-inline-size: 0;
}

.evidence-statement {
  overflow-wrap: anywhere;
}

.evidence-source {
  display: inline-block;
  margin-block-start: var(--space-1);
  overflow-wrap: anywhere;
}

/* Weight of a source is a written word plus a shape, never a colour alone. */
.evidence-weight {
  display: grid;
  place-items: center;
  flex: none;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  border-radius: var(--radius-3);
  font-size: var(--type-caption);
  font-weight: 700;
}

.evidence-weight[data-weight='OFFICIAL_SOURCE_REVIEW_REQUIRED'] {
  background: var(--status-ok-quiet);
  color: var(--status-ok-ink);
}

.evidence-weight[data-weight='AGENCY_PUBLISHED_REVIEW_REQUIRED'],
.evidence-weight[data-weight='THIRD_PARTY_REVIEW_REQUIRED'] {
  background: var(--status-neutral-quiet);
  color: var(--status-neutral-ink);
}

.evidence-weight[data-weight='SELF_REPORTED'] {
  background: var(--status-warn-quiet);
  color: var(--status-warn-ink);
}

/* ---------- Channels ----------------------------------------------------- */

.channel-table .data-table td:first-child {
  font-weight: 500;
}

.channel-address {
  overflow-wrap: anywhere;
}

.channel-restrictions {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  color: var(--status-warn-ink);
  font-size: var(--type-caption);
}

/* ==========================================================================
   Market research
   ========================================================================== */

.market-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr));
  gap: var(--space-4);
  margin-block-end: var(--space-5);
}

.market-summary-grid > * {
  min-inline-size: 0;
}

/* The conclusion is the lead, so it spans and reads larger. */
.market-position {
  grid-column: 1 / -1;
  background: var(--surface-selected);
}

.market-position strong {
  display: block;
  margin-block-start: var(--space-2);
  font-size: var(--type-h3);
  font-weight: 600;
  line-height: var(--leading-snug);
}

.market-reasoning {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.market-reasoning-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
}

.market-reasoning-step > div {
  min-inline-size: 0;
}

.market-reasoning-step h4 {
  font-size: var(--type-caption);
  font-weight: 600;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  color: var(--text-tertiary);
}

.market-reasoning-step p {
  margin-block-start: var(--space-1);
  color: var(--text-secondary);
  font-size: var(--type-ui);
  line-height: var(--leading-relaxed);
}

.market-observation {
  align-items: flex-start;
}

/* ==========================================================================
   Campaign
   ========================================================================== */

.campaign-review {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.recipient-picker,
.recipient-choice {
  min-inline-size: 0;
  padding: 0;
  border: 0;
}

.recipient-picker > legend,
.recipient-choice > legend {
  padding: 0;
  font-size: var(--type-ui);
  font-weight: 500;
}

.recipient-picker {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.recipient-choice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3);
  border-radius: var(--radius-5);
  background: var(--surface-sunken);
}

@container (max-width: 34rem) {
  .recipient-choice {
    grid-template-columns: minmax(0, 1fr);
  }
}

.recipient-channels {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.campaign-recipient {
  align-items: flex-start;
}

.message-preview {
  padding: var(--space-3) var(--space-4);
  border-inline-start: 3px solid var(--line-border);
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--type-ui);
  line-height: var(--leading-relaxed);
  white-space: pre-wrap;
}

.message-preview strong {
  display: block;
  margin-block-end: var(--space-1);
  color: var(--text-primary);
  font-size: var(--type-caption);
}

.handoff-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4);
  border-radius: var(--radius-5);
  background: var(--status-warn-quiet);
  box-shadow: inset 0 0 0 1px var(--status-warn-line);
  font-size: var(--type-ui);
  line-height: var(--leading-relaxed);
}

.handoff-card ul {
  padding-inline-start: var(--space-5);
}

/* ==========================================================================
   Legacy page compositions kept in the new system
   ========================================================================== */

.action-panels {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr));
  gap: var(--space-4);
}

.action-panels > * {
  min-inline-size: 0;
}

.action-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-inline-size: 0;
  padding: var(--space-5);
  border-radius: var(--radius-7);
  background: var(--surface-raised);
  box-shadow: var(--shadow-raised);
}

/* Several pages use `<details class="action-panel">`; the summary is the control. */
details.action-panel > summary {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-block-size: var(--hit-min);
  margin: calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) 0;
  padding: var(--space-2);
  border-radius: var(--radius-4);
  color: var(--action-ink);
  font-size: var(--type-lead);
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

details.action-panel > summary::-webkit-details-marker {
  display: none;
}

details.action-panel > summary::before {
  content: '';
  flex: none;
  inline-size: 0.5rem;
  block-size: 0.5rem;
  border-inline-end: 1.5px solid currentColor;
  border-block-end: 1.5px solid currentColor;
  rotate: -45deg;
}

details.action-panel[open] > summary::before {
  rotate: 45deg;
}

@media (hover: hover) {
  details.action-panel > summary:hover {
    background: var(--surface-sunken);
  }
}

.action-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.subaction-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.subaction {
  padding: var(--space-3);
  border-radius: var(--radius-4);
  background: var(--surface-sunken);
  font-size: var(--type-caption);
  line-height: var(--leading-relaxed);
}

.contour-grid,
.segment-grid,
.boundary-grid,
.property-fact-grid,
.property-detail-grid,
.property-render-grid,
.property-video-grid,
.deal-metrics,
.score-card,
.process-flow,
.event-cloud,
.participant-list,
.assistant-action-list,
.organization-choice-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
  gap: var(--space-4);
}

.contour-grid > *,
.segment-grid > *,
.boundary-grid > *,
.property-fact-grid > *,
.property-detail-grid > *,
.property-render-grid > *,
.property-video-grid > *,
.deal-metrics > *,
.process-flow > *,
.event-cloud > *,
.participant-list > *,
.assistant-action-list > *,
.organization-choice-list > * {
  min-inline-size: 0;
}

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

.contour-card,
.segment-card,
.boundary-card,
.report-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-inline-size: 0;
  padding: var(--space-4);
  border-radius: var(--radius-6);
  background: var(--surface-sunken);
}

.contour-card-draft {
  box-shadow: inset 0 0 0 1px var(--status-warn-line);
}

.contour-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.contour-symbol,
.boundary-index {
  display: grid;
  place-items: center;
  flex: none;
  inline-size: 1.75rem;
  block-size: 1.75rem;
  border-radius: var(--radius-4);
  background: var(--surface-inset);
  color: var(--text-secondary);
  font-size: var(--type-caption);
  font-weight: 600;
}

.architecture-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-5);
  border-radius: var(--radius-7);
  background: var(--status-warn-quiet);
  box-shadow: inset 0 0 0 1px var(--status-warn-line);
}

.architecture-banner-primary {
  min-inline-size: 0;
}

.assistant-banner {
  background: var(--surface-raised);
  box-shadow: var(--shadow-raised);
}

.architecture-banner-title {
  font-size: var(--type-lead);
  font-weight: 600;
}

.architecture-banner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.architecture-banner-draft {
  color: var(--status-warn-ink);
  font-size: var(--type-caption);
}

.score-row {
  display: grid;
  grid-template-columns: minmax(0, 8rem) minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-3);
  font-size: var(--type-ui);
}

.score-track {
  block-size: 0.5rem;
  border-radius: var(--radius-pill);
  background: var(--surface-inset);
}

.score-track > span {
  display: block;
  block-size: 100%;
  border-radius: var(--radius-pill);
  background: var(--action-solid);
}

.next-action-callout {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  padding: var(--space-4);
  border-radius: var(--radius-6);
  background: var(--surface-selected);
  font-size: var(--type-ui);
  line-height: var(--leading-relaxed);
}

.report-empty {
  color: var(--text-tertiary);
  font-size: var(--type-ui);
}

.property-profile,
.property-spotlight {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.property-profile-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
}

.property-hero-media img,
.property-floor-plan img,
.property-media-library img {
  inline-size: 100%;
  border-radius: var(--radius-6);
  object-fit: cover;
}

.property-amenities {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.property-copy {
  max-inline-size: var(--measure);
  color: var(--text-secondary);
  font-size: var(--type-ui);
  line-height: var(--leading-relaxed);
}

.table-context-cell,
.table-message-cell,
.table-specialization-cell {
  max-inline-size: 24rem;
  overflow-wrap: anywhere;
}

.setup-only {
  min-inline-size: 0;
}

/* ---------------------------------------------------------------------------
 * Fact editor on the preparation step.
 *
 * A row is a labelled block rather than a table line: on a phone a fact needs its
 * value, its status and its English wording stacked, and a table cannot do that
 * without horizontal overflow.
 * --------------------------------------------------------------------------- */
.fact-editor-row {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  border-radius: var(--radius-6);
  background: var(--surface-sunken);
}

.fact-editor-head {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  justify-content: space-between;
  gap: var(--space-3);
}

.fact-editor-head > div:first-child {
  min-inline-size: min(100%, 18rem);
  flex: 1 1 18rem;
}

.fact-editor-head .form-label {
  margin-block-end: var(--space-1);
}

.fact-editor-row .field-hint {
  margin-block: 0;
}

/*
 * Marks the field a link asked to open. The outline is paired with focus moving
 * into the control and a live-region announcement, so the highlight is a
 * confirmation rather than the only signal.
 */
.fact-editor-row.is-highlighted {
  box-shadow: inset 0 0 0 2px var(--focus-ring);
}

/* ---------------------------------------------------------------------------
 * Approval composition inside the owner's decision card.
 * --------------------------------------------------------------------------- */
.approval-composition {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-block: var(--space-4);
}

.approval-composition > .disclosure > .disclosure-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.approval-composition .message-preview strong {
  display: block;
  margin-block-end: var(--space-2);
  font-size: var(--type-caption);
  font-weight: 600;
  color: var(--text-secondary);
}

.approval-composition .message-preview .detail-row-subtitle {
  display: block;
  margin-block-end: var(--space-2);
}

/* Per-contact evidence form folded under its own table row. */
.channel-evidence-row > td {
  padding-block: 0 var(--space-3);
  border-block-start: 0;
}

.channel-evidence-row .disclosure {
  margin-block: 0;
}

/* ---------------------------------------------------------------------------
 * Market measurement panels: demand, supply and liquidity side by side.
 * --------------------------------------------------------------------------- */
.market-measurement-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: var(--space-3);
}

.market-period-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
  padding-block: var(--space-1);
  font-size: var(--type-caption);
}

.market-period-row.is-in-progress {
  color: var(--text-secondary);
}

.market-period-bar {
  flex: 1 1 auto;
  block-size: 0.375rem;
  border-radius: var(--radius-pill);
  background: var(--surface-inset);
  overflow: hidden;
}

.market-period-bar > span {
  display: block;
  block-size: 100%;
  border-radius: var(--radius-pill);
  background: var(--focus-ring);
}

/* Registry verification of a broker candidate. */
.registry-check {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-3);
  border-radius: var(--radius-5);
  background: var(--surface-sunken);
}

.registry-check-proof {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  font-size: var(--type-caption);
  color: var(--text-secondary);
}

@media (max-width: 40rem) {
  .fact-editor-head {
    flex-direction: column;
  }

  .market-period-row {
    flex-wrap: wrap;
  }
}
