/* Chapter 1 v3 — pale premium ivory shell + Arrival composition.
   Canonical source: aithenor v3.zip. Navy/gold identity. Forest-green is not used.
   Later destination pages keep their own layouts; they inherit the rail + governance bar. */


.sidebar a.nav-item:focus-visible,
.sidebar button:focus-visible,
.sidebar summary:focus-visible,
.arrival-surface a:focus-visible,
.arrival-surface button:focus-visible,
.governance-bar button:focus-visible,
.governance-bar a:focus-visible {
  outline: var(--focus-ring);
  outline-offset: 2px;
}

.main-shell {
  background: var(--standing-ivory, var(--cream));
  padding-top: 0;
}

.arrival-surface {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 32px 48px;
}

.standing-arrival {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.arrival-prepared {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 36px;
}

.tnum,
.numeral {
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum';
}

.numeral {
  letter-spacing: -0.02em;
  font-family: var(--font-serif);
}

.standing-line {
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 2px;
  background: linear-gradient(
    to bottom,
    transparent,
    color-mix(in oklch, var(--gold) 70%, transparent) 12%,
    color-mix(in oklch, var(--gold) 70%, transparent) 88%,
    transparent
  );
}

.ivory-panel {
  background:
    radial-gradient(120% 80% at 0% 0%, color-mix(in oklch, var(--gold) 7%, transparent) 0%, transparent 46%),
    linear-gradient(180deg, color-mix(in oklch, var(--gold) 4%, var(--standing-paper, var(--card))) 0%, var(--standing-paper, var(--card)) 42%);
  border: 1px solid color-mix(in oklch, var(--gold) 24%, var(--line));
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.rule-brass {
  background: color-mix(in oklch, var(--gold) 55%, transparent);
}

.arrival-eyebrow,
.today-kicker,
.arrival-kicker {
  display: inline-block;
  margin: 0;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
}

.arrival-kicker,
.today-kicker {
  font-size: 12px;
}

.arrival-first {
  display: grid;
  gap: 32px;
}

.arrival-first > * {
  min-width: 0;
}

@media (min-width: 1280px) {
  .arrival-first {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: 40px;
  }

  .arrival-first[data-attention-outlook-held="true"] .arrival-conclusion {
    min-height: 434px;
  }

  .arrival-first[data-all-clear-visual="true"] .arrival-conclusion {
    min-height: 305px;
  }
}

.arrival-conclusion {
  position: relative;
  padding-left: 24px;
}

.arrival-headline,
.today-greeting {
  /* What: ~60% of the prior 34/42px Arrival headline. Why: at most 3 lines on a 1366px laptop. Expected impact: quieter governed conclusion. */
  margin: 16px 0 0;
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 20px;
  line-height: 1.2;
  color: var(--ink);
  letter-spacing: -0.02em;
  text-wrap: balance;
  max-width: 36rem;
}

@media (min-width: 768px) {
  .arrival-headline,
  .today-greeting {
    font-size: 25px;
    line-height: 1.18;
  }
}

.arrival-opening-week {
  /* Line 2 of the opening: this-week sentence, smaller serif than the month line. */
  margin: 14px 0 0;
  max-width: 36rem;
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: var(--ink);
}

.arrival-opening-decisions {
  /* Line 3 of the opening: decisions today, sans and secondary (a <p> normally, an <h1> when lines 1-2 are omitted). */
  margin: 12px 0 0;
  max-width: 36rem;
  font-family: inherit;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: 0;
  color: var(--muted);
}

.arrival-opening-decisions .claim-chip {
  margin-left: 4px;
  vertical-align: middle;
}

.arrival-nowrap {
  white-space: nowrap;
}

.arrival-opening-month .claim-chip {
  margin-left: 4px;
  vertical-align: middle;
  letter-spacing: 0.04em;
}

.arrival-opening-placeholder {
  margin: 16px 0 0;
  max-width: 36rem;
}

.arrival-opening-bar {
  display: block;
  width: 100%;
  height: 20px;
  border-radius: 4px;
  background: color-mix(in oklch, var(--line, rgba(15,31,61,0.12)) 55%, transparent);
}

.arrival-opening-bar + .arrival-opening-bar {
  margin-top: 8px;
}

.arrival-opening-bar--short {
  width: 62%;
  height: 14px;
}

.arrival-case-overdue {
  display: inline-block;
  margin: 8px 0 0;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--critical);
  background: var(--overdue-bg);
}

.arrival-data-as-of {
  margin: 12px 0 0;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--muted);
}

.arrival-case-hit {
  display: flex;
  gap: inherit;
  align-items: flex-start;
  text-decoration: none;
  color: inherit;
  width: 100%;
}

.arrival-case-label {
  margin: 10px 0 0;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}

.arrival-case-label:first-child { margin-top: 0; }

.arrival-case-summary,
.arrival-case-recommend {
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.45;
  color: var(--ink);
}

.arrival-case-stake {
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.4;
  color: var(--ink);
}

.arrival-case-stake .cv2-badge,
.arrival-case-stake .cv2-badge-wrap {
  margin-left: 6px;
  vertical-align: middle;
}

.arrival-case-owner-due {
  margin: 12px 0 0;
  font-size: 12.5px;
  color: var(--muted);
}

.arrival-case-number {
  margin: 8px 0 0;
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

.arrival-date-placeholder {
  display: block;
  width: 7rem;
  height: 1.6rem;
  border-radius: 4px;
  background: color-mix(in oklch, var(--line, rgba(15,31,61,0.12)) 55%, transparent);
}

.arrival-lede {
  margin: 10px 0 0;
  max-width: 36rem;
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
}

.arrival-truth-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 0;
}

.arrival-conclusion .arrival-truth-row {
  margin-top: 20px;
}

.arrival-scope,
.arrival-evidence,
.arrival-trust-line,
.arrival-evidence-note {
  margin: 12px 0 0;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--muted);
}

.arrival-limitation {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
  max-width: 58ch;
}

.arrival-strip {
  margin-top: 32px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid color-mix(in oklch, var(--line) 70%, transparent);
  background: color-mix(in oklch, var(--line) 70%, transparent);
  min-height: 165px;
}

@media (min-width: 640px) {
  .arrival-strip {
    grid-template-columns: 1fr 1fr;
  }
}

.arrival-strip-cell {
  background: var(--standing-paper, var(--card));
  padding: 16px;
}

.arrival-date-figure {
  margin-top: 8px;
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.arrival-date-figure .numeral {
  font-size: 24px;
  line-height: 1;
  color: var(--current);
}

.arrival-date-figure[data-date-ready="false"] .numeral {
  color: var(--held);
}

.arrival-strip-cell p {
  margin: 0;
}

.arrival-strip-note {
  margin-top: 6px;
  font-size: 11px;
  line-height: 1.5;
  color: var(--muted);
}

.arrival-lens-copy {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.55;
  color: var(--ink);
}

.truth-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 10.5px;
  padding: 2px 8px;
}

.truth-chip i {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

.claim-chip {
  border: 1px solid currentColor;
}

.claim-chip i {
  border-radius: 1px;
}

.chip-xs {
  font-size: 9.5px;
  padding: 1px 6px;
}

.provenance-link {
  font-size: 12.5px;
  color: var(--muted);
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-color: color-mix(in oklch, var(--gold) 60%, transparent);
  text-underline-offset: 4px;
  background: none;
  border: 0;
  padding: 0;
  cursor: default;
  font-family: inherit;
}

a.provenance-link {
  cursor: pointer;
  color: var(--muted);
}

.ivory-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 24px;
  border-bottom: 1px solid color-mix(in oklch, var(--brass) 20%, transparent);
}

.ivory-panel-header h2 {
  margin: 6px 0 0;
  font: 400 20px/1.375 var(--font-serif);
  color: var(--ink);
}

.ivory-panel-header .arrival-eyebrow {
  line-height: 1.5;
}

.ivory-panel-figure .numeral {
  font-size: 42px;
  line-height: 1;
  color: var(--held);
}

.ivory-panel-figure[data-outlook-ready="true"] .numeral {
  color: var(--current);
}

.ivory-panel-body {
  padding: 20px 24px;
}

.movement-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 16px;
  font-size: 12.5px;
  line-height: 24px;
  color: var(--muted);
}

.movement-magnitude {
  font-size: 18px;
  color: var(--current);
}

.movement-bridge-wrap {
  margin-top: 16px;
}

.movement-bridge {
  width: 100%;
  display: block;
}

.movement-bridge-held {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 8px;
  min-height: 150px;
  padding: 12px 8px 8px;
  border: 1px dashed color-mix(in oklch, var(--held) 40%, transparent);
  background: color-mix(in oklch, var(--held) 5%, transparent);
  border-radius: 6px;
  box-sizing: border-box;
}

.movement-bridge-held-col {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.movement-bridge-held-bar {
  width: 70%;
  max-width: 48px;
  height: 8px;
  border-radius: 2px;
  background: color-mix(in oklch, var(--held) 28%, transparent);
}

.movement-bridge-held-label {
  font-size: 8.5px;
  line-height: 1.2;
  color: var(--muted);
  text-align: center;
}

.movement-bridge-held-value {
  font-size: 9px;
  font-weight: 600;
  line-height: 1;
  color: var(--held);
}

.movement-basis {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in oklch, var(--brass) 16%, transparent);
  font-size: 11.5px;
  line-height: 1.5;
  color: var(--muted);
}

.movement-basis-value {
  color: var(--ink);
}

.demo-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  align-self: flex-start;
  border-radius: 999px;
  border: 1px solid color-mix(in oklch, var(--brass) 40%, transparent);
  background: color-mix(in oklch, var(--brass) 8%, transparent);
  color: var(--brass);
  padding: 4px 10px;
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.demo-badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--brass);
}

.rooms-outlook {
  min-height: 0;
}

.rooms-outlook[data-outlook-compact="true"] {
  min-height: 0;
  height: auto;
  box-sizing: border-box;
}

/* A1 — what_moved horizontal bars */
.arrival-what-moved-total {
  margin: 0 0 4px;
  font-size: 15px;
  color: var(--ink);
}
.arrival-what-moved-total .numeral {
  font-family: var(--font-serif);
  font-size: 28px;
  color: var(--navy);
}
.arrival-what-moved-ly {
  margin: 0 0 14px;
  font-size: 12.5px;
  color: var(--muted);
}
.arrival-what-moved-bars {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.arrival-what-moved-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  font-size: 13px;
  line-height: 1.35;
}
.arrival-what-moved-name {
  color: var(--ink);
  min-width: 0;
}
.arrival-what-moved-value {
  font-weight: 600;
  color: var(--navy);
  flex-shrink: 0;
}
.arrival-what-moved-row[data-pickup-kind="down"] .arrival-what-moved-value {
  color: var(--blocked);
}
.arrival-what-moved-row[data-pickup-kind="up"] .arrival-what-moved-value {
  color: var(--positive);
}
.arrival-what-moved-track {
  margin-top: 4px;
  height: 8px;
  border-radius: 999px;
  background: color-mix(in oklch, var(--hairline) 80%, transparent);
  overflow: hidden;
}
.arrival-what-moved-bar {
  display: block;
  height: 100%;
  border-radius: 999px;
  min-width: 4px;
}
.arrival-what-moved-bar--up {
  background: var(--positive);
}
.arrival-what-moved-bar--down {
  background: var(--blocked);
}

/* A4 — next 7 nights from arrival-outlook */
.arrival-next-nights {
  margin: 8px 0;
}
.arrival-next-nights-cap-label {
  font-size: 12px;
  color: var(--muted);
}
.arrival-next-nights-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
  align-items: end;
}
.arrival-next-night {
  min-width: 0;
  text-align: center;
}
.arrival-next-night-chart {
  position: relative;
  height: 148px;
  border-bottom: 1px solid color-mix(in oklch, var(--hairline) 90%, transparent);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: visible;
}
.arrival-next-night-bar {
  position: relative;
  width: 56%;
  max-width: 36px;
  background: var(--navy);
  border-radius: 3px 3px 0 0;
  min-height: 4px;
}
.arrival-next-night-label {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -100%);
  margin-bottom: 2px;
  white-space: nowrap;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--navy);
  z-index: 2;
  pointer-events: none;
}
.arrival-next-night-capacity {
  position: absolute;
  left: 8%;
  right: 8%;
  height: 0;
  border-top: 1.5px dashed var(--brass);
  z-index: 1;
}
.arrival-next-night-over {
  margin: 4px 0 0;
  font-size: 10.5px;
  line-height: 1.3;
  color: var(--blocked);
}
.arrival-next-night-fc {
  margin: 2px 0 0;
  font-size: 10.5px;
  line-height: 1.3;
  color: var(--forecast);
}
.arrival-next-night-day {
  margin: 8px 0 0;
  font-size: 11.5px;
  color: var(--ink);
}
.arrival-next-nights-legend {
  margin: 14px 0 0;
  font-size: 11.5px;
  color: var(--muted);
}
@media (max-width: 720px) {
  .arrival-next-nights-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* A5 — month extra lines */
.arrival-month-extras {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.arrival-month-extra {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--ink);
}
.arrival-month-extra .truth-chip {
  vertical-align: middle;
}

.rooms-outlook .ivory-panel-header {
  min-height: 126px;
}

.evidence-block {
  padding: 20px 24px;
  border-top: 1px solid color-mix(in oklch, var(--brass) 20%, transparent);
}

.first-matter[data-outlook-ready="false"] .ivory-panel-header {
  display: block;
}

.first-matter[data-outlook-ready="false"] .ivory-panel-header > div {
  max-width: 100%;
  min-width: 0;
}

.first-matter[data-outlook-ready="false"] .ivory-panel-header h2 {
  max-width: none;
}

.ivory-panel-header h2 {
  margin: 6px 0 0;
  font: 400 20px/1.375 var(--font-serif);
  color: var(--ink);
}

.ivory-panel-header .arrival-eyebrow {
  line-height: 1.5;
}

.ivory-panel-figure .numeral {
  font-size: 42px;
  line-height: 1;
  color: var(--held);
}

.ivory-panel-body {
  padding: 20px 24px;
}

.evidence-block,
.evidence-eligibility {
  padding: 12px 20px 16px;
  border-top: 1px solid color-mix(in oklch, var(--gold) 20%, transparent);
}

.evidence-group {
  margin-top: 10px;
}

.section-heading h2 {
  margin: 4px 0 0;
  font: 500 20px/1.2 var(--font-serif);
  color: var(--navy);
  letter-spacing: -0.02em;
}

.rhythm-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 10px 16px;
  border-top: 1px solid color-mix(in oklch, var(--line) 70%, transparent);
  text-decoration: none;
  color: inherit;
}

.rhythm-seq {
  font: 400 22px/1 var(--font-serif);
  color: color-mix(in oklch, var(--navy) 40%, var(--muted));
}

.ivory-panel-figure {
  flex-shrink: 0;
  text-align: right;
}

.ivory-panel-figure .numeral {
  font-size: 42px;
  line-height: 1;
  color: var(--held);
}

.ivory-panel-figure[data-outlook-ready="true"] .numeral {
  color: var(--current);
}

.ivory-panel-caption {
  margin: 4px 0 0;
  max-width: 9rem;
  font-size: 10.5px;
  line-height: 1.3;
  color: var(--muted);
  margin-left: auto;
}

.ivory-panel-body {
  padding: 20px 24px;
}

.movement-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 16px;
  font-size: 12.5px;
  line-height: 24px;
  color: var(--muted);
}

.held-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
  border: 1px dashed color-mix(in oklch, var(--held) 40%, transparent);
  background: color-mix(in oklch, var(--held) 5%, transparent);
  border-radius: 6px;
  padding: 40px 24px;
}

.held-panel-title {
  font-family: var(--font-serif);
  font-size: 16px;
  color: var(--held);
}

.held-panel p,
.held-copy {
  max-width: 28rem;
  font-size: 12px;
  line-height: 1.55;
  color: var(--muted);
  margin: 0;
}

.outlook-held {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  text-align: center;
  padding: 64px 32px;
}

.outlook-held h2 {
  margin: 0;
  font: 500 20px/1.25 var(--font-serif);
  color: var(--ink);
}

.outlook-held-chips {
  justify-content: center;
  margin-top: 8px;
}

.arrival-source-evidence .evidence-block {
  border-top: 0;
  padding: 0;
}

.held-mark {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in oklch, var(--held) 14%, transparent);
  color: var(--held);
  font-size: 22px;
}

.evidence-block {
  padding: 20px 24px;
  border-top: 1px solid color-mix(in oklch, var(--gold) 20%, transparent);
}

.evidence-group {
  margin-top: 16px;
}

.evidence-group-head {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 16px;
  font-size: 11px;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.evidence-group-head[data-group="supporting"] { color: var(--current); }
.evidence-group-head[data-group="conflicting"] { color: var(--caution); }
.evidence-group-head[data-group="missing"] { color: var(--held); }

.evidence-icon {
  display: inline-flex;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: inherit;
}

.evidence-icon svg {
  display: block;
  width: 14px;
  height: 14px;
}

.evidence-group-head .rule-brass {
  height: 1px;
  flex: 1;
  opacity: 0.4;
}

.evidence-list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}

.evidence-list li {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
}

.evidence-list p {
  margin: 0;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.375;
  color: var(--ink);
}

.evidence-list span.detail {
  display: block;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.625;
  color: var(--muted);
}

.evidence-chips {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

.evidence-empty {
  margin: 8px 0 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--muted);
}

.first-matter-identity,
.arrival-case-identity {
  margin: 4px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}

.first-matter-limitation,
.arrival-case-limitation {
  display: inline-block;
  margin: 6px 0 0;
  padding: 0 0 1px;
  font-size: 11px;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: var(--muted);
  text-decoration: none;
  border-bottom: 1px dotted color-mix(in oklch, var(--gold) 55%, transparent);
}

.first-matter-limitation:hover,
.arrival-case-limitation:hover {
  color: var(--navy);
}

.ivory-panel-figure[data-outlook-ready="false"] .ivory-panel-caption {
  max-width: 16rem;
}

.first-matter-impact-held {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.4;
  color: var(--held);
}

.first-matter-impact-line {
  margin: 0;
  color: var(--held);
}

.first-matter-impact-held span {
  margin-left: 8px;
}

.arrival-case > a,
.today-priority-row > a,
.today-priority-title {
  text-decoration: none;
  color: inherit;
}

.today-priority-impact[data-outlook-ready="false"] .today-priority-impact-value,
.today-priority-impact[data-outlook-ready="false"] .today-priority-impact-tag,
.arrival-impact-held .today-priority-impact-value,
.arrival-impact-held .arrival-impact-missing {
  color: var(--held);
}

.impact-held-why {
  margin-top: 4px;
}

.impact-held-why > summary {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 2px;
  cursor: pointer;
  color: var(--held);
  font-size: 11px;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

.impact-held-why > summary::marker {
  color: var(--held);
}

.impact-held-why > summary:focus {
  outline: var(--focus-ring);
  outline-offset: 2px;
}

.impact-held-why > summary:focus-visible {
  outline: var(--focus-ring);
  outline-offset: 2px;
}

.impact-held-why-detail {
  margin: 4px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--ink);
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
  max-width: 32ch;
}

.section-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.section-heading h2 {
  margin: 4px 0 0;
  font: 500 20px/1.2 var(--font-serif);
  color: var(--navy);
  letter-spacing: -0.02em;
}

.arrival-lock {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--line);
  background: var(--standing-paper, var(--card));
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11px;
  color: var(--muted);
}

.arrival-card {
  border: 1px solid color-mix(in oklch, var(--line) 70%, transparent);
  background: var(--standing-paper, var(--card));
  border-radius: 8px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02), 0 1px 2px rgba(0, 0, 0, 0.03);
  overflow: hidden;
}

.arrival-agenda,
.today-priorities-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.arrival-all-clear-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 48px 24px;
  text-align: center;
  border: 1px solid color-mix(in oklch, var(--line) 70%, transparent);
  border-radius: 8px;
  background: var(--card, var(--ivory));
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02), 0 1px 2px rgba(0, 0, 0, 0.03);
}

.arrival-all-clear-mark {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in oklch, var(--current) 12%, transparent);
  color: var(--current);
}

.arrival-all-clear-card h3 {
  margin: 0;
  font: 400 24px/1.2 var(--font-serif);
  color: var(--ink);
}

.arrival-all-clear-copy {
  margin: 0 auto;
  max-width: 36rem;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--muted);
  text-wrap: pretty;
}

.arrival-all-clear-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.arrival-all-clear-census {
  font-size: 12px;
  color: var(--muted);
}

.arrival-case,
.today-priority-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 20px;
  padding: 16px 20px;
  border: 0;
  border-top: 1px solid color-mix(in oklch, var(--line) 70%, transparent);
  text-decoration: none;
  color: inherit;
}

.arrival-case:first-of-type,
.today-priorities .arrival-case:first-child {
  border-top: 0;
}

.arrival-case:hover,
.today-priority-row:hover {
  background: color-mix(in oklch, var(--muted) 8%, transparent);
}

.arrival-case-rank,
.today-priority-rank {
  font: 400 30px/1 var(--font-serif);
  color: color-mix(in oklch, var(--navy) 34%, var(--muted));
  letter-spacing: -0.02em;
}

.arrival-case-title,
.today-priority-title {
  margin-top: 2px;
  font: 500 16px/1.3 var(--font-serif);
  color: var(--ink);
}

.arrival-case-why {
  margin-top: 2px;
  font-size: 12px;
  color: var(--muted);
  line-height: 1.45;
}

.arrival-case-meta,
.today-priority-meta {
  margin-top: 6px;
  font-size: 12px;
  color: var(--muted);
  line-height: 1.45;
}

.arrival-case-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.arrival-case-impact,
.today-priority-impact {
  text-align: right;
  min-width: 88px;
}

.today-priority-impact-value {
  font: 500 20px/1 var(--font-serif);
  color: var(--ink);
}

.today-priority-impact-tag {
  margin-top: 5px;
  font-size: 8px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}

.today-priority-impact-tag.arrival-impact-missing {
  text-transform: none;
  letter-spacing: 0;
  font-size: 10px;
  line-height: 1.4;
  max-width: 12rem;
  margin-left: auto;
}

.arrival-empty-card,
.arrival-held-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
  padding: 48px 24px;
}

.arrival-empty-card h3,
.arrival-held-card h3 {
  margin: 0;
  font: 500 24px/1.2 var(--font-serif);
  color: var(--ink);
}

.arrival-empty-card p,
.arrival-held-card p {
  margin: 0 auto;
  max-width: 36rem;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--muted);
}

.clear-mark {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in oklch, var(--current) 12%, transparent);
  color: var(--current);
  font-size: 22px;
}

.rhythm-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 10px 16px;
  border-top: 1px solid color-mix(in oklch, var(--line) 70%, transparent);
  text-decoration: none;
  color: inherit;
}

.rhythm-row:first-child {
  border-top: 0;
}

.rhythm-seq {
  font: 400 22px/1 var(--font-serif);
  color: color-mix(in oklch, var(--navy) 40%, var(--muted));
}

.rhythm-row p {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
}

.rhythm-row .rhythm-detail {
  margin-top: 2px;
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--muted);
}

.rhythm-metrics {
  display: flex;
  align-items: center;
  gap: 24px;
  text-align: right;
}

.rhythm-metrics small {
  display: block;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}

.rhythm-metrics b {
  display: block;
  font: 400 18px/1.2 var(--font-serif);
  color: var(--ink);
}

.rhythm-metrics [data-due-metric="unavailable"] b,
.rhythm-metrics [data-count-pending="true"] b {
  color: var(--held);
}

.arrival-overflow,
.arrival-copy {
  margin: 12px 0 0;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.55;
}

.arrival-inline-label {
  display: inline;
  margin-right: 8px;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--navy);
}

.arrival-text-link,
.arrival-overflow a,
.arrival-copy a {
  color: var(--navy);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(201, 168, 76, 0.55);
}

.arrival-exec {
  margin: 0;
}

.arrival-exec h2 {
  margin: 0 0 10px;
  font: 500 22px/1.2 var(--font-serif);
  color: var(--ink);
}

.arrival-exec-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border: none;
  text-decoration: none;
  color: var(--navy);
  font-size: 14px;
}

.arrival-exec-detail {
  display: block;
  padding: 10px 0;
  border-top: 1px solid color-mix(in oklch, var(--line) 70%, transparent);
}

.arrival-exec-detail:first-child {
  border-top: 0;
  padding-top: 0;
}

.arrival-exec-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.arrival-exec-copy strong {
  font: 500 14px/1.35 var(--font-serif);
  color: var(--ink);
}

.arrival-exec-meta {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.4;
}

.arrival-exec-list {
  margin: 0 0 8px;
}

.arrival-changed,
.arrival-handoff {
  margin: 0;
  padding: 0;
  border: none;
  max-width: 68ch;
}

.arrival-exposure {
  margin: 0;
  padding-top: 8px;
  border-top: 1px solid rgba(15, 31, 61, 0.08);
  max-width: 68ch;
}

.arrival-exposure h2 {
  display: inline;
  margin: 0 8px 0 0;
  font: 600 9px/1.3 var(--font-sans);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--navy);
}

.arrival-exposure-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0;
  text-decoration: none;
  font-size: 12px;
  color: var(--muted);
}

.arrival-exposure-item strong {
  font-weight: 500;
  color: var(--navy);
}

.arrival-cta {
  display: none;
}

.arrival-afterwords {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.arrival-skeleton {
  display: grid;
  gap: 12px;
}

.arrival-skeleton span {
  display: block;
  height: 14px;
  background: rgba(15, 31, 61, 0.06);
}

.arrival-skeleton span:first-child { width: 28%; height: 10px; }
.arrival-skeleton span:nth-child(2) { width: 64%; height: 36px; }
.arrival-skeleton span:nth-child(3) { width: 88%; height: 16px; }

.arrival-surface .aith-state {
  max-width: 44ch;
  margin: 8px 0 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.arrival-surface .aith-state-title {
  font: 500 34px/1.15 var(--font-serif);
  color: var(--navy);
}

.arrival-surface .aith-state-action {
  background: transparent;
  color: var(--navy);
  border-radius: 0;
  padding: 0 0 2px;
  border-bottom: 1px solid rgba(201, 168, 76, 0.55);
}

.today-empty {
  padding: 8px 0 0;
  color: var(--navy);
  font-size: 15px;
  line-height: 1.5;
}

.rhythm-note {
  font-size: 11.5px;
  line-height: 1.55;
  color: var(--muted);
}

.first-matter-total {
  margin: 6px 0 0;
  font-size: 12px;
  color: var(--muted);
}

.first-matter-why,
.first-matter-meta {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--ink);
}

.first-matter-meta {
  color: var(--muted);
  font-size: 12px;
}

.first-matter-cta {
  display: inline-flex;
  align-items: center;
  margin-top: 14px;
  padding: 10px 16px;
  background: var(--navy);
  color: var(--standing-ivory, #F7F3EA);
  border-radius: 6px;
  font: 600 13px/1.2 var(--font-sans);
  text-decoration: none;
  letter-spacing: 0.01em;
}

.first-matter-cta:hover,
.first-matter-cta:focus-visible {
  color: var(--standing-ivory, #F7F3EA);
  outline: var(--focus-ring);
  outline-offset: 2px;
}

.first-matter-overflow {
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--muted);
}

.evidence-more {
  margin: 12px 0 0;
  font-size: 12px;
  color: var(--muted);
}

.commercial-context {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.commercial-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  overflow: hidden;
  border: 1px solid color-mix(in oklch, var(--line) 70%, transparent);
  border-radius: 8px;
  background: color-mix(in oklch, var(--line) 70%, transparent);
}

@media (min-width: 1024px) {
  .commercial-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.commercial-cell {
  background: var(--standing-paper, var(--card));
  padding: 14px 16px;
}

.commercial-copy,
.commercial-metric {
  margin: 8px 0 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--muted);
}

.commercial-metric {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--ink);
}

.commercial-metric strong {
  font-weight: 600;
  color: var(--navy);
}

.commercial-cell .arrival-text-link {
  display: inline-block;
  margin-top: 8px;
  margin-right: 12px;
}

.handoff-strip {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 8px;
  border-top: 1px solid color-mix(in oklch, var(--line) 70%, transparent);
}

.handoff-strip .arrival-copy {
  margin: 0;
  font-size: 12px;
}

.arrival-agenda,
.today-priorities-wrap {
  gap: 12px;
}
