:root {
  color-scheme: light;
  --obc-red: #da3832;
  --obc-red-deep: #9f2927;
  --obc-red-dark: #4d1716;
  --bg: #f7f4ef;
  --bg-elevated: #fffdf9;
  --surface: #ffffff;
  --surface-2: #f6f1eb;
  --surface-3: #efe6dd;
  --ink: #181413;
  --ink-2: #37302d;
  --muted: #706862;
  --muted-2: #9a918a;
  --line: #e3d9cf;
  --line-strong: #cfc0b3;
  --green: #2f7357;
  --blue: #315f86;
  --amber: #9b671a;
  --red: var(--obc-red);
  --accent: var(--obc-red);
  --accent-strong: var(--obc-red-deep);
  --accent-soft: #fdebea;
  --blue-soft: #e8f0f7;
  --amber-soft: #f8eddb;
  --red-soft: #fdebea;
  --teal-soft: #e6f2ec;
  --shadow: 0 1px 2px rgba(58, 42, 35, 0.08), 0 18px 42px rgba(58, 42, 35, 0.07);
  --shadow-soft: 0 1px 2px rgba(58, 42, 35, 0.07);
  --focus-ring: 0 0 0 3px rgba(218, 56, 50, 0.18);
  --radius: 8px;
  --radius-sm: 6px;
  --sidebar-width: 276px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-feature-settings: "cv02", "cv03", "cv04", "tnum";
}

@media print {
  .operational-item-name-action,
  .ep-record-summary-name-action {
    display: none !important;
  }
}

body[data-workspace="finance"] {
  --accent: var(--blue);
  --accent-strong: #234c78;
  --accent-soft: var(--blue-soft);
  --focus-ring: 0 0 0 3px rgba(47, 95, 150, 0.16);
}

body[data-workspace="prayer-care"] {
  --accent: #6f5a9f;
  --accent-strong: #4f4078;
  --accent-soft: #eeebf6;
  --focus-ring: 0 0 0 3px rgba(111, 90, 159, 0.16);
}

body[data-workspace="prayer-care"] .env-strip {
  display: none;
}

body[data-workspace="weekly-review"] {
  --accent: #2f7357;
  --accent-strong: #225640;
  --accent-soft: #e6f2ec;
  --focus-ring: 0 0 0 3px rgba(47, 115, 87, 0.16);
}

body[data-workspace="weekly-review"] .env-strip {
  display: none;
}

body[data-workspace="weekly-review"] .view {
  width: 100%;
  max-width: 1240px;
  margin-inline: auto;
}

body[data-workspace="kingdom-first"] {
  --accent: #bd784d;
  --accent-strong: #8b5134;
  --accent-soft: #f5e9df;
  --focus-ring: 0 0 0 3px rgba(189, 120, 77, 0.2);
}

body[data-workspace="kingdom-first"] .env-strip {
  display: none;
}

body[data-workspace="kingdom-first"] .view {
  width: 100%;
  max-width: 1240px;
  margin-inline: auto;
}

body[data-workspace="routing-review"] {
  --accent: #315f86;
  --accent-strong: #203f5c;
  --accent-soft: #e8f0f7;
  --focus-ring: 0 0 0 3px rgba(49, 95, 134, 0.2);
}

body[data-workspace="routing-review"] .env-strip {
  display: none;
}

body[data-workspace="routing-review"] .view {
  margin-inline: auto;
  max-width: 1200px;
  width: 100%;
}

body[data-workspace="counseling"] {
  --accent: #315f86;
  --accent-strong: #203f5c;
  --accent-soft: #e8f0f7;
  --focus-ring: 0 0 0 3px rgba(49, 95, 134, 0.17);
}

body[data-workspace="counseling"] .env-strip {
  display: none;
}

body[data-workspace="weekday-prek"] {
  --accent: #3f765f;
  --accent-strong: #285341;
  --accent-soft: #e6f1eb;
  --focus-ring: 0 0 0 3px rgba(63, 118, 95, 0.18);
}

body[data-workspace="weekday-prek"] .env-strip {
  display: none;
}

body[data-ops-tab="ep"] .env-strip {
  display: none;
}

body[data-workspace="admin"] {
  --accent: var(--green);
  --accent-strong: #225640;
  --accent-soft: var(--teal-soft);
  --focus-ring: 0 0 0 3px rgba(47, 115, 87, 0.16);
}

body[data-workspace="platform-admin"] {
  --accent: #5b6472;
  --accent-strong: #313845;
  --accent-soft: #eef1f5;
  --focus-ring: 0 0 0 3px rgba(91, 100, 114, 0.16);
}

body[data-workspace="creative"] {
  --accent: #3b6f72;
  --accent-strong: #234d50;
  --accent-soft: #e8f3f2;
  --focus-ring: 0 0 0 3px rgba(59, 111, 114, 0.16);
}

body[data-workspace="missions"] {
  --accent: #2f7357;
  --accent-strong: #1f4f3b;
  --accent-soft: #e5f2eb;
  --focus-ring: 0 0 0 3px rgba(47, 115, 87, 0.16);
}

body[data-workspace="rock-hope-pantry"],
body[data-workspace="rock-hope-mobile-pantry"] {
  --accent: #8a5b17;
  --accent-strong: #65400f;
  --accent-soft: #f6eddf;
  --focus-ring: 0 0 0 3px rgba(138, 91, 23, 0.16);
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--bg);
}

body {
  margin: 0;
  min-height: 100%;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0) 320px),
    linear-gradient(90deg, rgba(218, 56, 50, 0.055), rgba(218, 56, 50, 0) 36%),
    var(--bg);
  color: var(--ink);
  font-size: 14px;
  line-height: 1.45;
  text-rendering: optimizeLegibility;
}

.public-form-shell {
  width: min(760px, calc(100% - 32px));
  margin: 0 auto;
  padding: 34px 0;
}

.public-form-panel {
  margin: 0;
}

.screen-reader-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
a,
input,
select,
textarea,
summary {
  transition:
    background-color 140ms ease,
    border-color 140ms ease,
    box-shadow 140ms ease,
    color 140ms ease,
    opacity 140ms ease,
    transform 140ms ease;
}

button {
  cursor: pointer;
}

a {
  color: var(--accent-strong);
  font-weight: 720;
  text-decoration-color: color-mix(in srgb, var(--accent) 34%, transparent);
  text-underline-offset: 3px;
}

a:hover {
  color: var(--accent);
  text-decoration-color: currentColor;
}

:focus-visible {
  outline: 0;
  box-shadow: var(--focus-ring);
}

::selection {
  background: rgba(218, 56, 50, 0.18);
}

.app-shell {
  display: grid;
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
  min-height: 100vh;
  transition: grid-template-columns 180ms ease;
}

.sidebar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: 18px;
  height: 100vh;
  padding: 22px 16px;
  overflow: auto;
  border-right: 1px solid rgba(47, 26, 23, 0.42);
  background:
    linear-gradient(180deg, rgba(218, 56, 50, 0.2), rgba(218, 56, 50, 0) 230px),
    linear-gradient(155deg, #221615 0%, #141211 52%, #0f1110 100%);
  color: #f7f0ec;
  transition: transform 180ms ease, visibility 180ms ease;
}

body.sidebar-collapsed .app-shell {
  grid-template-columns: 0 minmax(0, 1fr);
}

body.sidebar-collapsed .sidebar {
  transform: translateX(-100%);
  visibility: hidden;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
}

.brand-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(218, 56, 50, 0.16);
  border-radius: var(--radius);
  background: #fffaf8;
  color: var(--accent-strong);
  font-size: 12px;
  font-weight: 860;
  letter-spacing: 0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86), 0 8px 18px rgba(29, 18, 15, 0.16);
}

.brand-logo {
  display: block;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  object-fit: contain;
}

.brand-mark .brand-logo {
  width: 30px;
  height: 30px;
}

.brand-wordmark {
  display: block;
  width: min(176px, 100%);
  height: auto;
  max-height: 45px;
  object-fit: contain;
  object-position: left center;
}

.brand-sidebar {
  display: grid;
  align-content: center;
  align-items: start;
  gap: 7px;
  min-height: 74px;
  padding: 2px 2px 4px;
}

.sidebar .brand-wordmark {
  width: min(210px, 100%);
  max-height: 54px;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.2));
}

.brand-product {
  color: rgba(255, 250, 248, 0.72);
  font-size: 12px;
  font-weight: 780;
  line-height: 1.1;
  text-transform: uppercase;
}

.brand-copy {
  min-width: 0;
}

.brand-title {
  color: var(--ink);
  font-size: 14px;
  font-weight: 820;
  line-height: 1.1;
}

.brand-subtitle,
.page-meta,
.muted {
  color: var(--muted);
  font-size: 13px;
}

.sidebar .brand-subtitle {
  color: rgba(247, 240, 236, 0.66);
  margin-top: 2px;
}

.sidebar .brand-title {
  color: #fffaf8;
}

.workspace-switcher {
  display: grid;
  gap: 7px;
  padding: 10px 0 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.11);
}

body[data-auth-ready="false"] .workspace-switcher,
body[data-auth-ready="false"] [data-workspace-nav] {
  visibility: hidden;
}

.workspace-item,
.workspace-shortcut,
.nav-item {
  width: 100%;
  min-height: 38px;
  border-radius: var(--radius-sm);
  font-weight: 720;
  letter-spacing: 0;
  text-align: left;
}

.workspace-item,
.workspace-shortcut {
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(250, 246, 242, 0.86);
  padding: 9px 10px 9px 13px;
}

.workspace-shortcut {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.workspace-shortcut[hidden] {
  display: none;
}

.workspace-item:hover,
.workspace-item:focus-visible,
.workspace-shortcut:hover,
.workspace-shortcut:focus-visible {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.085);
  color: #ffffff;
}

.workspace-item.is-active {
  border-color: rgba(255, 255, 255, 0.88);
  background: #fffaf8;
  color: #211615;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
}

.workspace-item.is-active::before {
  position: absolute;
  top: 9px;
  bottom: 9px;
  left: 5px;
  width: 3px;
  border-radius: 999px;
  background: var(--obc-red);
  content: "";
}

.nav-group {
  display: grid;
  gap: 9px;
}

.nav-group.is-hidden {
  display: none;
}

.nav-label {
  color: rgba(247, 240, 236, 0.5);
  font-size: 12px;
  font-weight: 780;
  letter-spacing: 0;
  text-transform: uppercase;
}

.nav {
  display: grid;
  gap: 4px;
}

.nav-item {
  position: relative;
  border: 1px solid transparent;
  background: transparent;
  color: rgba(247, 240, 236, 0.72);
  padding: 8px 10px 8px 13px;
}

.nav-item::before {
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 3px;
  width: 2px;
  border-radius: 999px;
  background: transparent;
  content: "";
}

.nav-item:hover,
.nav-item:focus-visible {
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
}

.nav-item.is-active {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.nav-item.is-active::before {
  background: #ffb3ad;
}

.main {
  min-width: 0;
  padding: 24px 28px 48px;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 74px;
  margin: -24px -28px 22px;
  padding: 18px 28px 14px;
  border-bottom: 1px solid rgba(227, 217, 207, 0.78);
  background: rgba(247, 244, 239, 0.9);
  backdrop-filter: blur(18px);
}

.topbar-main {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.sidebar-toggle {
  display: inline-grid;
  place-items: center;
  width: 42px;
  min-width: 42px;
  height: 42px;
  padding: 0;
}

.sidebar-toggle-icon {
  display: grid;
  gap: 4px;
  width: 18px;
}

.sidebar-toggle-icon span {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}

h1,
h2,
h3,
h4,
p,
dl {
  margin-top: 0;
}

h1 {
  margin-bottom: 3px;
  color: var(--ink);
  font-size: 28px;
  font-weight: 820;
  letter-spacing: 0;
  line-height: 1.12;
}

h2 {
  margin-bottom: 12px;
  color: var(--ink);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.22;
}

h3 {
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 780;
  letter-spacing: 0;
  line-height: 1.25;
}

h4 {
  margin: 0 0 8px;
  color: var(--ink-2);
  font-size: 13px;
  font-weight: 780;
  letter-spacing: 0;
}

p {
  margin-bottom: 12px;
}

.page-meta {
  color: var(--muted);
  font-weight: 620;
}

.page-meta:empty {
  display: none;
}

.env-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.env-strip span,
.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 26px;
  max-width: 100%;
  padding: 4px 8px;
  border: 1px solid color-mix(in srgb, var(--line-strong) 78%, #ffffff);
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.env-strip span {
  background: rgba(255, 253, 249, 0.84);
  color: var(--ink-2);
}

.view {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.band {
  min-width: 0;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--line) 90%, #ffffff);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.band.is-subtle {
  background: var(--surface-2);
  box-shadow: var(--shadow-soft);
}

.grid {
  display: grid;
  gap: 14px;
  min-width: 0;
}

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

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

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

.grid.cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.metric {
  position: relative;
  display: grid;
  align-content: space-between;
  min-height: 108px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--line) 88%, #ffffff);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0)),
    var(--surface);
  box-shadow: var(--shadow-soft);
}

.metric::before {
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--accent);
  content: "";
}

.metric:nth-child(2n)::before {
  background: var(--blue);
}

.metric:nth-child(3n)::before {
  background: var(--amber);
}

.metric-value {
  color: var(--ink);
  font-size: 31px;
  font-weight: 860;
  letter-spacing: 0;
  line-height: 1;
  overflow-wrap: anywhere;
}

.metric-label {
  margin-top: 10px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
}

.dashboard-metrics-widget {
  display: grid;
  gap: 16px;
}

.dashboard-metrics-core {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dashboard-metric-card,
.dashboard-metrics-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.dashboard-metric-card {
  display: grid;
  gap: 8px;
  min-height: 118px;
  padding: 14px;
  border-top: 4px solid var(--line);
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.dashboard-metric-card:hover,
.dashboard-lane-row:hover {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--line));
}

.dashboard-metric-card.is-selected,
.dashboard-lane-row.is-selected {
  outline: 2px solid color-mix(in srgb, var(--accent) 48%, transparent);
  outline-offset: 2px;
}

.dashboard-metric-card.trend-up {
  border-top-color: var(--green);
}

.dashboard-metric-card.trend-down {
  border-top-color: var(--red);
}

.dashboard-metric-card.trend-flat {
  border-top-color: var(--blue);
}

.dashboard-metric-delta,
.dashboard-quality-line {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.dashboard-metric-delta {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
}

.dashboard-metrics-panel {
  padding: 14px;
}

.dashboard-narrative,
.dashboard-drilldown {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--surface) 92%, #ffffff);
}

.dashboard-narrative-list {
  display: grid;
  gap: 8px;
}

.dashboard-narrative-item {
  padding: 10px 12px;
  border-left: 4px solid var(--blue);
  border-radius: 6px;
  background: color-mix(in srgb, var(--blue) 8%, transparent);
  color: var(--ink);
  font-size: 14px;
  line-height: 1.4;
}

.dashboard-narrative-item.tone-caution,
.dashboard-narrative-item.tone-watch {
  border-left-color: var(--amber);
  background: color-mix(in srgb, var(--amber) 10%, transparent);
}

.dashboard-drilldown-head,
.dashboard-drilldown-stats {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.dashboard-drilldown-stats {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.dashboard-chart-wrap {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.dashboard-chart {
  width: 100%;
  height: auto;
  min-height: 180px;
}

.dashboard-chart-axis {
  stroke: var(--line);
  stroke-width: 1;
}

.dashboard-chart-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.dashboard-chart-current {
  stroke: var(--accent);
}

.dashboard-chart-yoy {
  stroke: var(--amber);
  stroke-dasharray: 7 6;
}

.dashboard-chart-dot {
  fill: var(--accent);
  stroke: var(--surface);
  stroke-width: 2;
}

.dashboard-chart-legend,
.dashboard-drilldown-table,
.dashboard-note-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
}

.dashboard-chart-legend i {
  display: inline-block;
  width: 18px;
  height: 3px;
  margin-right: 6px;
  vertical-align: middle;
}

.legend-current {
  background: var(--accent);
}

.legend-yoy {
  background: var(--amber);
}

.dashboard-drilldown-table {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dashboard-drilldown-row {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
}

.dashboard-drilldown-row em {
  color: var(--muted);
  font-style: normal;
}

.dashboard-chart-empty {
  padding: 24px;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  color: var(--muted);
}

.dashboard-lane-list {
  display: grid;
  gap: 12px;
}

.dashboard-lane {
  display: grid;
  gap: 7px;
}

.dashboard-lane-title {
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
  text-transform: uppercase;
}

.dashboard-lane-row {
  display: grid;
  align-items: center;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto auto;
  width: 100%;
  padding: 8px 0;
  border-top: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  text-align: left;
}

.dashboard-lane-row em {
  color: var(--muted);
  font-style: normal;
  font-weight: 720;
}

.trend-up {
  color: var(--green);
}

.trend-down {
  color: var(--red);
}

.trend-flat {
  color: var(--blue);
}

.severity-high {
  border-left: 4px solid var(--red);
}

.severity-medium {
  border-left: 4px solid var(--amber);
}

.severity-low {
  border-left: 4px solid var(--green);
}

.launch-hero,
.canvas-command,
.admin-command,
.rock-hope-command {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.launch-hero h2,
.canvas-command h2,
.admin-command h2,
.rock-hope-command h2 {
  margin-bottom: 4px;
}

.launch-actions,
.finance-action-row,
.finance-exception-stats,
.action-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.launch-actions,
.finance-action-row {
  justify-content: flex-end;
}

.launch-gate {
  min-height: 126px;
  padding: 15px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.launch-gate.status-ready,
.launch-gate.status-pilot-ready {
  border-left-color: var(--green);
}

.launch-gate.status-ready-to-test,
.launch-gate.status-needs-attention,
.launch-gate.status-needs-work {
  border-left-color: var(--amber);
}

.launch-gate.status-blocked {
  border-left-color: var(--red);
}

.launch-steps {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 20px;
}

.rollout-meeting {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(180px, 1fr) minmax(240px, 1.2fr) auto;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.rollout-meeting h3 {
  margin-bottom: 4px;
}

.rollout-meeting-stats,
.insight-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.rollout-meeting-stats span,
.insight-stats span,
.brain-nodes span {
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.finding,
.agenda-card,
.row-button,
.rock-hope-route-card,
.rock-hope-call-card,
.rock-hope-text-card,
.rock-hope-text-preview,
.rock-hope-route-sheet,
.rock-hope-readiness-item,
.rock-hope-team-card,
.rock-hope-call-step,
.prayer-alert-preference-card,
.prayer-publication-snapshot,
.prayer-care-linkage,
.prayer-care-checklist,
.prayer-care-history-panel,
.prayer-ccb-reference,
.prayer-care-board-column,
.meeting-card-section,
.live-brain-panel,
.stage,
.canvas-panel,
.system-map-inspector,
.system-map-connection,
.other-meetings,
.bulk-bar,
.finance-file-status,
.placeholder-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.finding,
.agenda-card,
.row-button,
.rock-hope-route-card,
.rock-hope-call-card,
.rock-hope-text-card,
.rock-hope-text-preview,
.rock-hope-route-sheet {
  padding: 14px;
  box-shadow: var(--shadow-soft);
}

.finding,
.agenda-card {
  min-width: 0;
}

.finding:hover,
.agenda-card:hover,
.row-button:hover,
.rock-hope-route-card:hover,
.rock-hope-call-card:hover {
  border-color: color-mix(in srgb, var(--accent) 34%, var(--line-strong));
  box-shadow: var(--shadow);
}

.split {
  display: grid;
  grid-template-columns: minmax(240px, 0.85fr) minmax(0, 1.15fr);
  gap: 16px;
}

.list,
.agenda-list,
.meeting-card-list,
.brain-signals,
.pipeline,
.bars,
.insight-list,
.canvas-stack,
.canvas-artifact,
.system-map-inspector-main,
.system-map-connections,
.prayer-publication-builder,
.prayer-publication-candidate-grid,
.prayer-publication-snapshot-list,
.prayer-checkbox-grid,
.rock-hope-date-list,
.rock-hope-text-queues,
.rock-hope-sheet-grid,
.rock-hope-trigger-list,
.rock-hope-call-queue,
.prayer-care-board-list,
.prayer-care-detail-list {
  display: grid;
  gap: 10px;
}

.row-button {
  min-height: 58px;
  color: var(--ink);
  text-align: left;
}

.row-button.is-active,
.row-button:hover {
  border-color: var(--accent);
  background: var(--accent-soft);
}

.contract-detail {
  min-height: 520px;
}

dl {
  margin-bottom: 0;
}

.kv {
  display: grid;
  grid-template-columns: 158px minmax(0, 1fr);
  gap: 8px 14px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}

.kv:last-child {
  border-bottom: 0;
}

.kv dt {
  color: var(--muted);
  font-size: 13px;
  font-weight: 720;
}

.kv dd {
  min-width: 0;
  margin: 0;
  color: var(--ink-2);
  overflow-wrap: anywhere;
}

.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.chip {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--ink-2);
  font-size: 12px;
  font-weight: 680;
  line-height: 1.2;
  text-decoration: none;
}

.chip.is-done {
  background: var(--teal-soft);
  border-color: #b9d8ca;
  color: var(--green);
}

.chip.is-live {
  background: var(--red-soft);
  border-color: #e0b9b5;
  color: var(--red);
}

.chip.is-warn {
  background: var(--amber-soft);
  border-color: #e2ca9e;
  color: #66410f;
}

.toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin-bottom: 12px;
}

.toolbar h2,
.toolbar h3,
.toolbar h4 {
  margin: 0;
}

.toolbar .pill {
  max-width: min(100%, 420px);
}

.toolbar > h2:first-child,
.toolbar > h3:first-child,
.toolbar > h4:first-child {
  margin-right: auto;
}

.toolbar .select {
  width: auto;
}

.select,
.input,
.textarea {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background-color: #fffdf9;
  color: var(--ink);
  padding: 9px 11px;
  box-shadow: inset 0 1px 0 rgba(58, 42, 35, 0.025);
}

.select {
  max-width: 360px;
  padding-right: 34px;
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #786d65 50%),
    linear-gradient(135deg, #786d65 50%, transparent 50%);
  background-position:
    calc(100% - 16px) 17px,
    calc(100% - 11px) 17px;
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
}

.input::placeholder,
.textarea::placeholder {
  color: #a79c94;
}

.input:hover,
.select:hover,
.textarea:hover {
  border-color: color-mix(in srgb, var(--accent) 28%, var(--line-strong));
}

.input:focus,
.select:focus,
.textarea:focus {
  border-color: var(--accent);
  outline: 0;
  box-shadow: var(--focus-ring);
}

.textarea {
  min-height: 98px;
  resize: vertical;
  line-height: 1.48;
}

.audio-input-select {
  max-width: 270px;
}

input[type="date"],
input[type="time"],
input[type="datetime-local"] {
  color-scheme: light;
}

input[type="file"].input {
  padding: 7px 10px;
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--accent);
}

label {
  min-width: 0;
}

label > .muted,
.csv-file-picker > .muted {
  display: inline-flex;
  margin-bottom: 2px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.rule-form,
.rock-hope-compact-form,
.rock-hope-management-form,
.admin-search-form,
.finance-reconciliation-form {
  display: grid;
  gap: 12px;
}

.rule-form > label,
.form-grid label,
.triage-controls label,
.field-cleanup-controls label,
.action-field-controls label,
.bulk-bar label,
.admin-search-form label,
.finance-reconciliation-form label,
.rock-hope-compact-form label:not(.checkline),
.rock-hope-assignment-form label,
.rock-hope-call-log-form label:not(.checkline),
.rock-hope-management-form label,
.prayer-care-update-grid label,
.prayer-care-checklist-editor label {
  display: grid;
  gap: 6px;
}

.sermon-prep-prompt {
  min-height: 220px;
}

.sermon-prep-files {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.sermon-prep-files a {
  color: var(--accent);
  font-weight: 700;
  text-decoration: none;
}

.sermon-prep-section {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.code-block {
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-all;
  padding: 0.85rem;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.06);
  border: 1px solid var(--line);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--accent-strong);
  border-radius: var(--radius-sm);
  background: linear-gradient(180deg, var(--accent), var(--accent-strong));
  color: #fff;
  font-weight: 760;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 1px 1px rgba(58, 42, 35, 0.08), 0 8px 18px color-mix(in srgb, var(--accent) 16%, transparent);
}

.button:hover {
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 88%, #ffffff), var(--accent-strong));
  border-color: var(--accent-strong);
  transform: translateY(-1px);
}

.button.secondary {
  border-color: var(--line-strong);
  background: var(--surface);
  color: var(--ink);
}

.button.secondary:hover {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--accent-strong);
}

.button.warning {
  border-color: #d8bd87;
  background: var(--amber-soft);
  color: #68420d;
}

.button.warning:hover {
  border-color: var(--amber);
  background: #f3e4c9;
}

.button.danger {
  border-color: #e1b6b2;
  background: var(--red-soft);
  color: #7b2c28;
}

.button.danger:hover {
  border-color: var(--red);
  background: #f3d5d2;
}

.button:disabled {
  cursor: not-allowed;
  opacity: 0.52;
  transform: none;
}

.auth-recovery-dialog {
  width: min(480px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100vh - 32px);
  margin: auto;
  padding: 0;
  overflow: auto;
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  background: var(--bg-elevated);
  color: var(--ink);
  box-shadow: 0 28px 80px rgba(24, 20, 19, 0.32);
}

.auth-recovery-dialog::backdrop {
  background: rgba(24, 20, 19, 0.62);
  backdrop-filter: blur(2px);
}

.auth-recovery-panel {
  display: grid;
  gap: 16px;
  padding: 24px;
}

.auth-recovery-heading {
  display: grid;
  gap: 6px;
}

.auth-recovery-heading h2,
.auth-recovery-heading p,
.auth-recovery-status {
  margin: 0;
}

.auth-recovery-footer {
  display: flex;
  justify-content: flex-end;
  padding-top: 4px;
  border-top: 1px solid var(--line);
}

@media (max-width: 520px) {
  .auth-recovery-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
  }

  .auth-recovery-panel {
    padding: 20px;
  }
}

.icon-button {
  min-width: 46px;
}

.system-map-icon-button {
  width: 36px;
  min-height: 34px;
  padding: 6px 0;
}

.table {
  width: 100%;
  border: 1px solid var(--line);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--surface);
}

.table th,
.table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.table th {
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.table td {
  color: var(--ink-2);
  font-size: 13px;
}

.table tbody tr:last-child td {
  border-bottom: 0;
}

.table tbody tr:hover td {
  background: #fffaf5;
}

.bar-row {
  display: grid;
  grid-template-columns: minmax(120px, 190px) minmax(0, 1fr) 58px;
  align-items: center;
  gap: 10px;
}

.bar-row > div:first-child {
  min-width: 0;
  color: var(--ink-2);
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bar-row strong {
  color: var(--ink);
  font-weight: 780;
  text-align: right;
}

.bar-track {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #ebe2da;
}

.bar-fill {
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
}

.loading-panel {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 12px;
  min-height: 280px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 253, 249, 0.82);
  color: var(--muted);
  font-weight: 650;
}

.spinner {
  width: 32px;
  height: 32px;
  border: 3px solid #eee3dc;
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.error,
.notice {
  padding: 12px 13px;
  border-radius: var(--radius);
  font-weight: 640;
}

.error {
  border: 1px solid #e0b6b1;
  background: var(--red-soft);
  color: #7b2c28;
}

.notice {
  border: 1px solid #bdd0e3;
  background: var(--blue-soft);
  color: #234c78;
}

.meeting-route-recovery {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.meeting-route-recovery .finding {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.meeting-route-recovery .finding .button {
  flex: 0 0 auto;
}

.cleanup-notice {
  border-color: #dfc690;
  background: var(--amber-soft);
  color: #65400f;
}

.decision-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.placeholder-panel,
:where(.agenda-list, .list, .meeting-card-list, .rock-hope-call-queue, .rock-hope-date-list, .prayer-care-board-list) > .muted {
  display: grid;
  gap: 5px;
  min-height: 88px;
  align-content: center;
  padding: 16px;
  border: 1px dashed #bac7bd;
  border-radius: var(--radius);
  background: var(--bg-elevated);
  color: var(--muted);
}

.placeholder-panel h3 {
  margin: 0;
  color: var(--ink);
}

.checkline,
.checkbox-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 680;
  line-height: 1.3;
}

.checkline input,
.checkbox-row input {
  flex: 0 0 auto;
  margin: 0;
}

.stage {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 14px;
  padding: 14px;
}

.stage-name {
  color: var(--ink);
  font-weight: 820;
}

.stage-status {
  display: inline-flex;
  min-height: 24px;
  margin-top: 8px;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 12px;
  font-weight: 760;
}

.stage ul,
.compact-list {
  margin: 0;
  padding-left: 18px;
}

.compact-list {
  display: grid;
  gap: 6px;
}

.finance-reconciliation-form {
  grid-template-columns: minmax(220px, 1.3fr) minmax(150px, 0.7fr) minmax(150px, 0.7fr);
}

.finance-practice-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.statement-file-field {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(240px, 1fr) minmax(180px, 0.8fr) auto auto;
  align-items: end;
  gap: 10px;
}

.csv-file-picker {
  display: grid;
  gap: 4px;
}

.finance-file-status {
  align-content: center;
  display: grid;
  gap: 3px;
  min-height: 40px;
  padding: 8px 11px;
  background: var(--surface-2);
}

.statement-csv-field,
.finance-action-row,
.finance-form-error {
  grid-column: 1 / -1;
}

.statement-csv-textarea {
  min-height: 180px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
}

.finance-preview {
  margin-top: 16px;
}

.finance-summary-grid {
  margin-bottom: 12px;
}

.finance-exception-stats {
  margin-bottom: 12px;
}

.finance-exception-table td:first-child {
  width: 156px;
}

.exception-high td:first-child {
  border-left: 4px solid var(--red);
}

.exception-medium td:first-child {
  border-left: 4px solid var(--amber);
}

.exception-low td:first-child {
  border-left: 4px solid var(--green);
}

.meeting-runner-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 0.38fr);
  align-items: start;
  gap: 16px;
}

.meeting-runner-grid.is-queue-only {
  grid-template-columns: minmax(0, 1fr);
}

.runner-captain-filter {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding-left: 4px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 760;
}

.runner-captain-filter .select {
  min-width: 160px;
}

.meeting-agenda-print-section {
  display: none;
}

.meeting-agenda-context {
  display: grid;
  gap: 12px;
}

.meeting-agenda-context-section {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: var(--radius);
  background: var(--surface);
}

.meeting-agenda-context-section.is-calendar {
  border-left-color: var(--green);
}

.meeting-agenda-context-section-head {
  align-items: flex-start;
}

.meeting-agenda-context-section-head > div:first-child {
  flex: 1 1 280px;
}

.meeting-agenda-context-section-head h2,
.meeting-agenda-calendar-highlights h3,
.meeting-agenda-calendar-day h3 {
  margin: 0;
}

.meeting-agenda-context-links {
  margin-left: auto;
}

.meeting-agenda-context-status.is-live {
  color: var(--green);
}

.meeting-agenda-context-status.is-stale,
.meeting-agenda-context-status.is-unavailable {
  color: var(--amber);
}

.meeting-agenda-metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.meeting-agenda-metric {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-top: 3px solid var(--muted);
  border-radius: var(--radius-sm);
  background: var(--surface-2);
}

.meeting-agenda-metric.trend-up {
  border-top-color: var(--green);
}

.meeting-agenda-metric.trend-down {
  border-top-color: var(--red);
}

.meeting-agenda-metric > span,
.meeting-agenda-metric small {
  color: var(--muted);
  font-size: 11px;
}

.meeting-agenda-metric strong {
  color: var(--ink);
  font-size: 20px;
  line-height: 1.1;
}

.meeting-agenda-metric-narrative {
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  background: var(--surface-2);
  font-size: 13px;
}

.meeting-agenda-context-details {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-2);
}

.meeting-agenda-context-details > summary {
  cursor: pointer;
  padding: 10px 12px;
  color: var(--ink-2);
  font-size: 13px;
  font-weight: 750;
}

.meeting-agenda-context-details > .list,
.meeting-agenda-context-details > .meeting-agenda-calendar-days {
  padding: 0 10px 10px;
}

.meeting-agenda-calendar-highlights,
.meeting-agenda-calendar-days,
.meeting-agenda-calendar-day {
  display: grid;
  gap: 8px;
}

.meeting-agenda-calendar-item {
  display: grid;
  grid-template-columns: minmax(82px, 0.24fr) minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.meeting-agenda-calendar-item.is-highlight {
  border-left: 3px solid var(--green);
}

.meeting-agenda-calendar-item time {
  display: grid;
  gap: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}

.meeting-agenda-calendar-item .meeting-agenda-calendar-date {
  color: var(--ink-2);
  font-size: 12px;
}

.meeting-agenda-calendar-item a {
  color: var(--accent-strong);
}

.meeting-agenda-calendar-day {
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.meeting-agenda-calendar-day:first-child {
  border-top: 0;
}

.meeting-agenda-context-warning {
  display: grid;
  gap: 4px;
  font-size: 12px;
}

.meeting-metrics-editor {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--blue) 36%, var(--line));
  border-radius: var(--radius);
  background: var(--surface-2);
  box-shadow: inset 0 3px 0 color-mix(in srgb, var(--blue) 60%, transparent);
}

.meeting-metrics-editor-head,
.meeting-metrics-editor-values-head {
  align-items: flex-start;
  margin-bottom: 0;
}

.meeting-metrics-editor-head > div:first-child,
.meeting-metrics-editor-values-head > div:first-child {
  flex: 1 1 280px;
}

.meeting-metrics-editor-head h3,
.meeting-metrics-editor-values-head h4 {
  margin: 0;
}

.meeting-metrics-editor-date-row {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 10px;
}

.meeting-metrics-editor-date-row label,
.meeting-metrics-editor-field,
.meeting-metrics-editor-reason {
  display: grid;
  gap: 6px;
}

.meeting-metrics-editor-date-row label {
  flex: 1 1 220px;
  max-width: 330px;
}

.meeting-metrics-editor-date-row label > span,
.meeting-metrics-editor-field > span,
.meeting-metrics-editor-reason > span {
  color: var(--ink-2);
  font-size: 13px;
  font-weight: 760;
}

.meeting-metrics-editor-form,
.meeting-metrics-editor-groups {
  display: grid;
  gap: 12px;
}

.meeting-metrics-editor-group {
  min-width: 0;
  margin: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.meeting-metrics-editor-group legend {
  padding: 0 6px;
  color: var(--accent-strong);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.meeting-metrics-editor-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}

.meeting-metrics-editor-field {
  align-content: start;
  min-width: 0;
}

.meeting-metrics-editor-field .input:disabled {
  cursor: not-allowed;
  background: color-mix(in srgb, var(--surface-2) 78%, #fff);
  color: var(--muted);
}

.meeting-metrics-editor-field.has-error .input,
.meeting-metrics-editor-reason.has-error .textarea {
  border-color: var(--red);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--red) 18%, transparent);
}

.meeting-metrics-editor-field-error {
  color: var(--red);
  font-size: 12px;
  font-weight: 700;
}

.meeting-metrics-editor-error-summary {
  padding: 11px 13px;
  border: 1px solid #e0b6b1;
  border-radius: var(--radius);
  background: var(--red-soft);
  color: #7b2c28;
  font-size: 13px;
}

.meeting-metrics-editor-error-summary ul {
  margin: 6px 0 0;
  padding-left: 20px;
}

.meeting-metrics-editor-actions {
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.meeting-metrics-editor-actions .muted {
  max-width: 520px;
  font-size: 12px;
}

.meeting-agenda-board,
.meeting-lane,
.agenda-workflow {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.meeting-output-panel {
  position: sticky;
  top: 88px;
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.meeting-output-panel.is-follow-up-lane {
  position: static;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  border-color: color-mix(in srgb, var(--blue) 30%, var(--line));
  background: color-mix(in srgb, var(--blue-soft) 34%, var(--surface));
}

.meeting-output-panel.is-follow-up-lane .toolbar {
  justify-content: flex-end;
  margin: 0;
}

.meeting-follow-up-closeout-copy {
  display: grid;
  gap: 4px;
}

.meeting-follow-up-closeout-copy p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.live-brain-panel {
  display: grid;
  gap: 10px;
  padding: 12px;
  background: var(--surface);
}

.runner-audio-panel {
  align-content: start;
}

.runner-audio-controls {
  display: grid;
  gap: 8px;
}

.runner-audio-controls .audio-input-select,
.runner-audio-controls .button {
  width: 100%;
  max-width: none;
}

.runner-audio-status {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.transcript-box,
.report-box,
.prayer-raw-text,
.prayer-approved-text {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fbfbf8;
}

.transcript-box {
  display: grid;
  gap: 6px;
  max-height: 150px;
  overflow: auto;
  padding: 10px;
  font-size: 13px;
}

.brain-signal {
  padding: 11px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: var(--radius);
  background: var(--surface);
}

.brain-signal.priority-high {
  border-left-color: var(--red);
}

.brain-signal.signal-action,
.brain-signal.signal-decision {
  border-left-color: var(--green);
}

.brain-signal.signal-approval,
.brain-signal.signal-risk {
  border-left-color: var(--amber);
}

.brain-model {
  display: grid;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.brain-nodes {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.model-canvas-surface {
  position: relative;
  min-height: 680px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(rgba(195, 206, 198, 0.42) 1px, transparent 1px),
    linear-gradient(90deg, rgba(195, 206, 198, 0.42) 1px, transparent 1px),
    #fbfbf8;
  background-size: 40px 40px;
  cursor: grab;
  touch-action: none;
  user-select: none;
}

.model-canvas-surface.is-dragging {
  cursor: grabbing;
}

.canvas-viewport {
  position: absolute;
  top: 0;
  left: 0;
  width: 1180px;
  height: 700px;
  min-width: 100%;
  min-height: 100%;
  transform-origin: 0 0;
}

.canvas-edges {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.canvas-edges line {
  stroke: #65756d;
  stroke-width: 0.42;
  vector-effect: non-scaling-stroke;
}

.canvas-edges marker path {
  fill: #65756d;
}

.canvas-node {
  appearance: none;
  position: absolute;
  z-index: 2;
  display: grid;
  gap: 5px;
  width: 210px;
  min-height: 98px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  text-align: left;
  box-shadow: var(--shadow-soft);
  transform: translate(-50%, -50%);
}

.canvas-node:hover {
  border-color: #a9b8ae;
  box-shadow: var(--shadow);
}

.canvas-node.is-selected {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 16%, transparent), var(--shadow);
}

.canvas-node.is-dragging {
  cursor: grabbing;
  opacity: 0.92;
  z-index: 5;
}

.canvas-node-type {
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
  text-transform: uppercase;
}

.canvas-node-detail {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.canvas-node.node-decision,
.canvas-node.node-approval,
.canvas-node.node-process,
.canvas-node.node-sop,
.canvas-node.node-workflow {
  border-color: #dfc690;
  background: #fffaf0;
}

.canvas-node.node-role,
.canvas-node.node-owner,
.canvas-node.node-meeting {
  border-color: #bdd0e3;
  background: #f6f9fc;
}

.canvas-node.node-output,
.canvas-node.node-event,
.canvas-node.node-project {
  border-color: #b9d8ca;
  background: #f4fbf7;
}

.canvas-node.node-risk,
.canvas-node.node-blocker,
.canvas-node.node-bottleneck {
  border-color: #e0b6b1;
  background: #fff7f6;
}

.canvas-edge-label {
  position: absolute;
  z-index: 3;
  max-width: 120px;
  padding: 4px 7px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
  text-align: center;
  transform: translate(-50%, -50%);
}

.system-map-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}

.system-map-zoom-controls {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.system-map-inspector {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
  gap: 12px;
  padding: 13px;
  background: var(--surface-2);
}

.system-map-inspector.is-empty {
  grid-template-columns: 1fr;
}

.system-map-connection {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  padding: 9px;
}

.canvas-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 12px;
}

.canvas-panel {
  display: grid;
  gap: 8px;
  padding: 13px;
  background: var(--surface-2);
}

.model-canvas-empty {
  display: grid;
  gap: 8px;
  min-height: 220px;
  place-content: center;
  text-align: center;
}

.scribe-panel {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.report-box {
  margin: 0;
  max-height: 360px;
  overflow: auto;
  padding: 11px;
  color: var(--ink);
  font: 12px/1.48 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
}

.agenda-card-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 13px;
}

.meeting-flow-card .agenda-card-main {
  grid-template-columns: 52px minmax(0, 1fr) minmax(120px, auto);
}

.record-select {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
}

.record-select input {
  margin: 0;
}

.meeting-card-title {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
}

.meeting-card-title h3 {
  margin-bottom: 0;
  overflow-wrap: anywhere;
}

.meeting-card-title .meta-line {
  grid-column: 2;
  min-width: 0;
}

.operational-item-name-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 9px;
  min-width: 0;
}

.operational-item-name-title {
  min-width: 0;
  overflow-wrap: anywhere;
}

.operational-item-name-heading > h2,
.operational-item-name-heading > h3,
.operational-item-name-heading > h4 {
  flex: 1 1 180px;
  margin: 0;
}

.operational-item-name-action {
  display: flex;
  align-items: center;
  min-width: 0;
}

.operational-item-name-launcher {
  min-height: 28px;
  padding: 4px 8px;
  font-size: 0.75rem;
  line-height: 1.1;
  white-space: nowrap;
}

.operational-item-name-action.is-editing {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto;
  flex: 1 0 100%;
  gap: 7px 9px;
  width: 100%;
  padding: 9px;
  border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--accent-soft) 46%, var(--surface));
}

.operational-item-name-field {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.operational-item-name-label {
  color: var(--muted);
  font-size: 11px;
  font-weight: 780;
}

.operational-item-name-input {
  width: 100%;
  min-width: 0;
}

.operational-item-name-buttons {
  display: flex;
  align-items: end;
  gap: 6px;
}

.operational-item-name-buttons .button {
  min-height: 38px;
  padding-inline: 11px;
}

.operational-item-name-source,
.operational-item-name-conflict,
.operational-item-name-feedback {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.operational-item-name-conflict {
  color: var(--amber-strong, #7a4b00);
  font-weight: 720;
}

.operational-item-name-feedback[role="alert"] {
  color: var(--red);
  font-weight: 720;
}

.ep-record-summary-name-action {
  display: flex;
  justify-content: flex-end;
  padding: 0 14px 10px;
}

.ep-record-summary-name-action > .operational-item-name-action.is-editing {
  flex: 1 1 auto;
}

.meeting-card-captain-assignment {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
  align-items: end;
  gap: 8px 12px;
  margin-top: 12px;
  padding: 10px 12px;
  border-block: 1px solid var(--line);
  background: color-mix(in srgb, var(--amber-soft) 30%, var(--surface));
}

.meeting-card-captain-assignment label {
  display: grid;
  gap: 5px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 760;
}

.meeting-card-captain-assignment .select {
  width: 100%;
  max-width: none;
}

.meeting-card-captain-status {
  align-self: center;
  color: var(--muted);
  font-size: 12px;
}

.meeting-card-captain-assignment.has-error {
  border-color: color-mix(in srgb, var(--red) 35%, var(--line));
  background: color-mix(in srgb, var(--red-soft) 42%, var(--surface));
}

.meeting-card-captain-assignment.has-error .meeting-card-captain-status {
  color: var(--red);
  font-weight: 700;
}

.agenda-position {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 30px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-2);
  color: var(--ink);
  font-size: 12px;
  font-weight: 820;
}

.meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 560;
}

.triage-controls {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(150px, 0.75fr) minmax(150px, 0.75fr) minmax(180px, 1.1fr);
  gap: 10px;
}

.field-cleanup-controls,
.action-field-controls {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto;
  align-items: end;
  gap: 10px;
}

.bulk-bar {
  display: grid;
  grid-template-columns: minmax(260px, 1.3fr) minmax(180px, 0.7fr) minmax(180px, 0.7fr) auto;
  align-items: end;
  gap: 10px;
  padding: 12px;
  background: var(--surface-2);
}

.other-meetings {
  padding: 10px 11px;
  background: var(--surface-2);
}

.other-meetings summary {
  color: var(--ink-2);
  cursor: pointer;
  font-size: 13px;
  font-weight: 760;
}

.checkbox-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 4px 10px;
  margin-top: 8px;
}

.add-meeting-item-form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.ep-add-record-form {
  grid-template-columns: minmax(120px, 150px) minmax(220px, 1.4fr) minmax(140px, 180px) minmax(180px, 1fr) auto;
  align-items: start;
}

.ep-add-record-form .ep-add-details {
  grid-column: 1 / -1;
  min-height: 72px;
}

.meeting-flow-card {
  display: grid;
  gap: 11px;
  border-left: 4px solid transparent;
}

.meeting-flow-card.is-expanded {
  box-shadow: var(--shadow);
}

.meeting-runner-card-summary {
  grid-template-columns: 52px minmax(0, 1fr) !important;
  align-items: center;
}

.meeting-runner-card-toggle {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, auto) 30px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 56px;
  padding: 7px 8px;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.meeting-runner-card-toggle:hover {
  background: color-mix(in srgb, var(--accent-soft) 34%, transparent);
}

.meeting-runner-card-toggle:focus-visible {
  position: relative;
  z-index: 1;
}

.meeting-runner-card-toggle > .chips {
  justify-content: flex-end;
}

.meeting-runner-card-name {
  min-width: 0;
  font-size: 17px;
  font-weight: 820;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.meeting-runner-card-disclosure {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: var(--surface);
  color: var(--muted);
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
}

.meeting-runner-card-disclosure::before {
  content: "+";
}

.meeting-runner-card-toggle[aria-expanded="true"] .meeting-runner-card-disclosure::before {
  content: "-";
}

.meeting-runner-card-expanded {
  display: grid;
  gap: 11px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.meeting-runner-card-expanded[hidden] {
  display: none;
}

.meeting-runner-card-name-action {
  display: flex;
  justify-content: flex-end;
}

.meeting-runner-card-name-action > .operational-item-name-action.is-editing {
  flex: 1 1 auto;
}

.meeting-flow-card.is-active {
  border-color: var(--red);
  background: #fffafa;
  box-shadow: 0 0 0 2px rgba(178, 66, 61, 0.12), var(--shadow-soft);
}

.ep-record-card.is-active {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent-soft) 34%, var(--surface));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 13%, transparent), var(--shadow-soft);
}

.meeting-flow-card.is-complete {
  border-color: var(--green);
}

.meeting-flow-card.has-captured-transcript:not(.is-active) {
  border-color: var(--amber);
}

.meeting-flow-card.is-dragging {
  opacity: 0.55;
}

.drag-handle {
  align-self: start;
  width: 52px;
  min-width: 52px;
  padding: 6px 7px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  color: var(--muted);
  cursor: grab;
  font-size: 11px;
  font-weight: 820;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
}

.meeting-card-section {
  display: grid;
  gap: 9px;
  padding: 12px;
  background: var(--surface-2);
}

.personal-dashboard-operational-fields {
  border: 1px solid color-mix(in srgb, var(--accent) 26%, var(--line));
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--blue-soft) 28%, var(--surface));
}

.personal-dashboard-operational-fields > summary {
  color: var(--ink-2);
  cursor: pointer;
  font-size: 13px;
}

.personal-dashboard-operational-fields.has-error {
  border-color: color-mix(in srgb, var(--red) 48%, var(--line));
  background: color-mix(in srgb, var(--red-soft) 32%, var(--surface));
}

.personal-dashboard-operational-form {
  display: grid;
  gap: 12px;
  padding-top: 4px;
}

.personal-dashboard-owner-field {
  grid-column: 1 / -1;
}

.personal-dashboard-owner-field .select {
  min-height: 104px;
}

.personal-dashboard-operational-actions {
  align-items: center;
}

.personal-dashboard-operational-status {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.personal-dashboard-operational-fields.has-error .personal-dashboard-operational-status {
  color: var(--red);
  font-weight: 700;
}

.meeting-prep-section {
  gap: 0;
  padding: 0;
}

.meeting-prep-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  cursor: pointer;
  list-style: none;
}

.meeting-prep-summary::-webkit-details-marker {
  display: none;
}

.meeting-prep-summary::after {
  content: "+";
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  color: var(--muted);
  font-size: 16px;
  line-height: 1;
}

.meeting-prep-section[open] > .meeting-prep-summary::after {
  content: "-";
}

.meeting-prep-summary .pill {
  max-width: min(100%, 320px);
}

.meeting-prep-body {
  display: grid;
  gap: 9px;
  padding: 11px 12px 12px;
  border-top: 1px solid var(--line);
}

.meeting-flow-card .action-strip,
.side-panel-section .action-strip {
  justify-content: flex-end;
}

.ep-issue-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  gap: 8px;
}

.ep-issue-actions > .button {
  justify-self: end;
}

.ep-issue-owner-control {
  display: grid;
  grid-template-columns: minmax(0, 320px) auto;
  align-items: end;
  gap: 8px;
}

.ep-issue-owner-control label {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
}

.ep-issue-owner-control .select {
  max-width: none;
}

.meeting-flow-card .meeting-card-actions {
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--red) 24%, var(--line));
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--red) 5%, var(--surface));
}

.meeting-card-action-label {
  margin-right: auto;
  color: var(--text);
  font-size: 12px;
  font-weight: 820;
}

.meeting-card-analyze {
  min-width: 104px;
}

.mop-report-inclusion-control {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--blue) 22%, var(--line));
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--blue-soft) 32%, var(--surface));
}

.mop-report-inclusion-control.is-selected,
.mop-report-inclusion-control.is-captured {
  border-color: color-mix(in srgb, var(--green) 38%, var(--line));
  background: color-mix(in srgb, var(--green) 9%, var(--surface));
}

.mop-report-inclusion-status {
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
  line-height: 1.35;
}

@media (max-width: 720px) {
  .mop-report-inclusion-control {
    align-items: stretch;
    flex-direction: column;
  }

  .meeting-output-panel.is-follow-up-lane {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .meeting-output-panel.is-follow-up-lane .toolbar,
  .meeting-output-panel.is-follow-up-lane .button {
    width: 100%;
  }
}

.meeting-card-routing {
  display: grid;
  gap: 10px;
  padding: 11px 12px;
  border-block: 1px solid var(--line);
  background: color-mix(in srgb, var(--blue-soft) 42%, var(--surface));
}

.meeting-card-routing.has-pending-route {
  background: color-mix(in srgb, var(--amber-soft) 48%, var(--surface));
}

.meeting-routing-current,
.meeting-routing-pending {
  display: flex;
  align-items: center;
  gap: 8px 12px;
  flex-wrap: wrap;
}

.meeting-card-routing-label,
.meeting-routing-pending strong {
  color: var(--text);
  font-size: 12px;
  font-weight: 820;
}

.meeting-routing-pending {
  padding: 9px 10px;
  font-size: 12px;
}

.meeting-routing-pending > span:last-child {
  flex-basis: 100%;
}

.meeting-routing-delta {
  padding: 4px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 760;
}

.meeting-routing-delta.is-add {
  background: #e3f3e8;
  color: #245f38;
}

.meeting-routing-delta.is-remove {
  background: var(--red-soft);
  color: #7b2c28;
}

.meeting-routing-editor {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.meeting-routing-editor > summary {
  padding: 9px 10px;
  color: var(--ink-2);
  cursor: pointer;
  font-size: 12px;
  font-weight: 820;
}

.meeting-routing-editor[open] {
  padding: 0 10px 10px;
}

.meeting-routing-editor[open] > summary {
  margin-inline: -10px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--line);
}

.meeting-route-options {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin-block: 8px 10px;
}

.meeting-route-options .checkline {
  min-height: 34px;
  padding: 5px 7px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-2);
}

.meeting-routing-actions {
  justify-content: flex-start !important;
}

.analysis-section {
  background: #f5fbf7;
}

.analysis-response-box,
.meeting-card-notes {
  display: grid;
  gap: 7px;
}

.analysis-response-input {
  min-height: 68px;
}

.meeting-item-notes {
  min-height: 72px;
}

.meeting-item-notes:focus,
.ep-record-notes:focus {
  min-height: 118px;
}

.ep-record-notes {
  min-height: 84px;
}

.ep-record-planning-context > summary,
.ep-planning-context-group > summary,
.ep-platform-inventory details > summary {
  cursor: pointer;
  font-weight: 780;
}

.ep-record-planning-context .compact-list,
.ep-platform-inventory .compact-list {
  padding-left: 0;
}

.ep-planning-context-group {
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.ep-planning-context-group[open] > summary {
  margin-bottom: 8px;
}

.ep-planning-context-item {
  display: grid;
  gap: 4px;
  padding: 8px 10px;
  border-left: 3px solid var(--line-strong);
  background: var(--surface-2);
}

.ep-planning-dates-group > .compact-list,
.ep-checklist-phase-group > .compact-list {
  gap: 10px;
}

.ep-planning-date-item {
  padding: 10px;
}

.ep-planning-date-form {
  display: grid;
  gap: 9px;
}

.ep-planning-form-title {
  font-size: 0.9rem;
}

.ep-planning-date-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 8px;
}

.ep-planning-date-fields label {
  display: grid;
  gap: 4px;
}

.ep-planning-date-actions {
  margin-top: 0;
}

.ep-planning-date-actions .button,
.ep-checklist-task-row .button {
  min-height: 34px;
  padding: 6px 10px;
  font-size: 0.82rem;
}

.ep-date-add-form {
  padding: 10px;
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.ep-planning-empty {
  padding: 4px 2px;
}

.ep-checklist-phase-item {
  gap: 10px;
}

.ep-checklist-task-list {
  display: grid;
  gap: 6px;
}

.ep-checklist-task-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.ep-checklist-task-row.is-complete > span {
  color: var(--muted);
  text-decoration: line-through;
}

.ep-platform-inventory .ep-fact {
  gap: 3px;
  padding: 8px 10px;
}

.ep-ops-grid .meeting-output-panel {
  align-content: start;
}

.ep-list-command {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
}

.ep-record-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.ep-record-tab {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--ink-2);
  font-weight: 780;
}

.ep-record-tab strong {
  color: var(--muted);
  font-size: 13px;
}

.ep-record-tab.is-active {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--accent-strong);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 14%, transparent);
}

.ep-record-list {
  gap: 8px;
}

.ep-record-card {
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.ep-record-card.is-expanded {
  box-shadow: var(--shadow);
}

.ep-record-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 30px;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 70px;
  padding: 12px 14px;
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.ep-record-summary:hover {
  background: color-mix(in srgb, var(--accent-soft) 34%, transparent);
}

.ep-record-summary:focus-visible {
  position: relative;
  z-index: 1;
}

.ep-record-summary-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.ep-record-summary-title {
  overflow: hidden;
  font-size: 15px;
  font-weight: 820;
  overflow-wrap: anywhere;
  text-overflow: ellipsis;
}

.ep-record-summary-meta {
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.ep-record-summary-signals {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}

.ep-record-summary-signal {
  min-height: 24px;
  padding: 4px 7px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
  white-space: nowrap;
}

.ep-record-summary-signal.is-live {
  border-color: color-mix(in srgb, var(--accent) 34%, var(--line));
  background: var(--accent-soft);
  color: var(--accent-strong);
}

.ep-record-summary-signal.is-warning {
  border-color: color-mix(in srgb, var(--amber) 38%, var(--line));
  background: color-mix(in srgb, var(--amber-soft) 58%, var(--surface));
  color: var(--ink-2);
}

.ep-record-summary-signal.is-complete {
  border-color: color-mix(in srgb, var(--green) 32%, var(--line));
  background: color-mix(in srgb, var(--teal-soft) 66%, var(--surface));
  color: var(--green);
}

.ep-record-disclosure {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: var(--surface);
  color: var(--muted);
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
}

.ep-record-disclosure::before {
  content: "+";
}

.ep-record-summary[aria-expanded="true"] .ep-record-disclosure::before {
  content: "-";
}

.ep-record-expanded {
  display: grid;
  gap: 11px;
  padding: 14px;
  border-top: 1px solid var(--line);
}

.ep-record-expanded[hidden] {
  display: none;
}

.ep-record-expanded-command {
  display: flex;
  justify-content: flex-end;
}

.ep-event-brief {
  display: grid;
  gap: 8px;
  padding: 2px 0 4px;
}

.ep-event-brief-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
}

.ep-event-brief-heading > div {
  display: grid;
  gap: 2px;
}

.ep-event-brief-heading h3 {
  margin: 0;
  font-size: 14px;
}

.ep-event-brief-heading span,
.ep-event-brief-heading a {
  color: var(--muted);
  font-size: 11px;
}

.ep-event-brief-heading a {
  color: var(--blue);
  font-weight: 760;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.ep-event-brief-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.ep-event-brief-field {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
  padding: 10px 12px;
}

.ep-event-brief-field:nth-child(odd) {
  border-right: 1px solid var(--line);
}

.ep-event-brief-field:nth-child(n + 3) {
  border-top: 1px solid var(--line);
}

.ep-event-brief-field dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.ep-event-brief-field dd {
  display: grid;
  gap: 6px;
  min-width: 0;
  margin: 0;
  color: var(--ink-2);
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.ep-event-brief-entry {
  display: block;
}

.ep-event-brief-entry strong {
  color: var(--ink);
  font-size: 12px;
}

.ep-event-brief-entry small {
  margin-left: 4px;
  color: var(--muted);
  font-size: 10px;
}

.ep-event-brief-entry small::before {
  content: "/ ";
}

.ep-event-brief-empty {
  color: var(--muted);
  font-style: italic;
}

.ep-event-brief-warning {
  padding: 8px 10px;
  border-left: 3px solid var(--amber);
  background: var(--amber-soft);
  color: var(--ink-2);
  font-size: 12px;
}

.ep-card-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
}

.ep-card-header h3 {
  margin-bottom: 4px;
  font-size: 16px;
}

.ep-linked-agenda-items {
  border-color: color-mix(in srgb, var(--blue) 28%, var(--line));
  background: color-mix(in srgb, var(--blue-soft) 40%, var(--surface));
}

.ep-attached-agenda-list {
  display: grid;
  gap: 8px;
}

.ep-attached-agenda-item {
  min-width: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--blue) 36%, var(--line));
  border-left: 4px solid var(--blue);
  border-radius: var(--radius-sm);
  background: #f7fbfd;
}

.ep-attached-agenda-item > summary {
  display: grid;
  grid-template-columns: minmax(82px, auto) minmax(0, 1fr) minmax(140px, auto) 28px;
  align-items: center;
  gap: 8px 12px;
  min-height: 52px;
  padding: 9px 10px;
  color: var(--ink-2);
  cursor: pointer;
  list-style: none;
}

.ep-attached-agenda-item > summary::-webkit-details-marker {
  display: none;
}

.ep-attached-agenda-item > summary::after {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--blue) 34%, var(--line));
  border-radius: 50%;
  background: var(--surface);
  color: var(--blue);
  content: "+";
  font-size: 18px;
  font-weight: 760;
  line-height: 1;
}

.ep-attached-agenda-item[open] > summary::after {
  content: "-";
}

.ep-attached-agenda-item[open] > summary {
  border-bottom: 1px solid color-mix(in srgb, var(--blue) 25%, var(--line));
  background: color-mix(in srgb, var(--blue-soft) 58%, var(--surface));
}

.ep-attached-agenda-kicker {
  color: var(--blue);
  font-size: 11px;
  font-weight: 820;
  text-transform: uppercase;
}

.ep-attached-agenda-item > summary strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 14px;
}

.ep-attached-agenda-meta {
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
  text-align: right;
}

.ep-attached-agenda-body {
  display: grid;
  gap: 10px;
  padding: 12px;
  background: color-mix(in srgb, var(--blue-soft) 28%, var(--surface));
}

.ep-attached-agenda-body > .meeting-card-section {
  padding: 10px 0;
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--blue) 18%, var(--line));
  border-radius: 0;
  background: transparent;
}

.ep-attached-agenda-body .meeting-card-actions {
  padding: 9px 10px;
  border: 1px solid color-mix(in srgb, var(--blue) 28%, var(--line));
  border-radius: var(--radius-sm);
  background: var(--surface);
}

@media (max-width: 640px) {
  .ep-record-summary {
    grid-template-columns: minmax(0, 1fr) 30px;
  }

  .ep-record-summary-signals {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
  }

  .ep-record-disclosure {
    grid-column: 2;
    grid-row: 1;
  }

  .ep-record-expanded-command,
  .ep-record-expanded-command .button {
    width: 100%;
  }

  .ep-event-brief-heading {
    align-items: start;
  }

  .ep-event-brief-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ep-event-brief-field:nth-child(odd) {
    border-right: 0;
  }

  .ep-event-brief-field:nth-child(n + 2) {
    border-top: 1px solid var(--line);
  }

  .ep-issue-actions,
  .ep-issue-owner-control {
    grid-template-columns: 1fr;
  }

  .ep-issue-actions .button,
  .ep-issue-owner-control .button {
    width: 100%;
  }

  .ep-attached-agenda-item > summary {
    grid-template-columns: minmax(0, 1fr) 28px;
  }

  .ep-attached-agenda-kicker,
  .ep-attached-agenda-meta {
    grid-column: 1;
    text-align: left;
  }

  .ep-attached-agenda-item > summary strong {
    grid-column: 1;
  }

  .ep-attached-agenda-item > summary::after {
    grid-column: 2;
    grid-row: 1 / span 3;
  }
}

.ep-concern-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.ep-meeting-wide-agenda {
  margin: 10px 0 12px;
}

.ep-concern,
.ep-fact {
  display: grid;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-2);
}

.ep-concern {
  overflow: hidden;
}

.ep-concern summary {
  display: grid;
  gap: 5px;
  min-height: 74px;
  padding: 10px;
  cursor: pointer;
  list-style: none;
}

.ep-concern summary::-webkit-details-marker {
  display: none;
}

.ep-concern summary::after {
  justify-self: end;
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
  content: "Open";
}

.ep-concern[open] summary::after {
  content: "Close";
}

.ep-concern span,
.ep-fact span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.ep-concern strong,
.ep-fact strong {
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.ep-concern > div {
  padding: 0 10px 10px;
  color: var(--ink-2);
  font-size: 13px;
  line-height: 1.45;
  white-space: pre-wrap;
}

.ep-concern.is-warn {
  border-color: #e2ca9e;
  background: var(--amber-soft);
}

.ep-concern.is-ok {
  border-color: #b9d8ca;
  background: #f3faf6;
}

.ep-audio-controls {
  display: grid;
  gap: 8px;
}

.ep-audio-controls .audio-input-select {
  max-width: none;
}

.ep-transcript-state {
  display: grid;
  gap: 3px;
  color: var(--muted);
  font-size: 13px;
}

.ep-transcript-state strong {
  color: var(--ink);
  font-size: 14px;
}

.ep-card-detail {
  line-height: 1.45;
}

.creative-command {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin-bottom: 16px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.creative-command h2 {
  margin-bottom: 4px;
}

.creative-rhythm {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin-bottom: 14px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.creative-rhythm > div:first-child {
  display: grid;
  gap: 4px;
}

.creative-rhythm strong {
  color: var(--ink);
}

.creative-rhythm span {
  color: var(--ink-2);
  line-height: 1.45;
}

.creative-rhythm-counts,
.creative-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.creative-rhythm-counts span {
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--ink);
  font-size: 12px;
  font-weight: 780;
  white-space: nowrap;
}

.creative-tabs {
  margin: 14px 0 18px;
}

.creative-tab {
  display: inline-grid;
  grid-template-columns: auto auto;
  gap: 8px;
  align-items: center;
  min-height: 40px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--ink-2);
  cursor: pointer;
}

.creative-tab:hover,
.creative-tab:focus-visible {
  border-color: var(--accent);
  color: var(--ink);
}

.creative-tab.is-active {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--accent-strong);
}

.creative-tab strong {
  min-width: 24px;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: inherit;
  font-size: 12px;
  text-align: center;
}

.ops-calendar-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px) auto;
  gap: 10px;
  align-items: end;
  margin: 14px 0 18px;
}

.ops-calendar-view-set {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.ops-calendar-view {
  display: inline-grid;
  grid-template-columns: auto auto;
  gap: 8px;
  align-items: center;
  min-height: 40px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--ink-2);
  cursor: pointer;
}

.ops-calendar-view:hover,
.ops-calendar-view:focus-visible {
  border-color: var(--accent);
  color: var(--ink);
}

.ops-calendar-view.is-active {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--accent-strong);
}

.ops-calendar-view strong {
  min-width: 24px;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: inherit;
  font-size: 12px;
  text-align: center;
}

.ops-calendar-search {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.ops-calendar-search span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
}

.creative-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}

.creative-lane,
.creative-calendar-primary,
.creative-calendar-side {
  min-width: 0;
}

.creative-calendar-primary {
  grid-column: span 2;
}

.creative-calendar-side {
  align-self: start;
}

.creative-rule-list {
  display: grid;
  gap: 9px;
  margin-top: 10px;
}

.creative-rule {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.creative-rule strong {
  color: var(--ink);
  font-size: 13px;
}

.creative-rule span {
  color: var(--ink-2);
  font-size: 12px;
  line-height: 1.42;
}

.creative-day {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.creative-day-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.creative-day-head strong {
  color: var(--ink);
  font-size: 14px;
}

.creative-day-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
}

.creative-day-items {
  display: grid;
  gap: 7px;
}

.creative-calendar-item,
.creative-work-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.creative-calendar-item {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px;
  border-left: 4px solid var(--accent);
}

.creative-calendar-kind {
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
  letter-spacing: 0;
  text-transform: uppercase;
}

.creative-calendar-item strong,
.creative-work-card h3 {
  overflow-wrap: anywhere;
}

.creative-calendar-item.tone-review {
  border-left-color: var(--red);
  background: #fffafa;
}

.creative-calendar-item.tone-event {
  border-left-color: var(--accent);
}

.creative-calendar-item.tone-service {
  border-left-color: var(--green);
}

.creative-calendar-item.tone-promo {
  border-left-color: var(--amber);
}

.creative-calendar-item.tone-creative {
  border-left-color: var(--obc-red);
}

.creative-work-card {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.creative-work-card h3 {
  margin: 0;
  font-size: 15px;
  line-height: 1.3;
}

.creative-policy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.creative-policy-card {
  display: grid;
  gap: 7px;
  min-height: 150px;
  padding: 13px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--accent);
  border-radius: var(--radius);
  background: var(--surface);
}

.creative-policy-card.is-source {
  border-top-color: var(--obc-red);
  background: color-mix(in srgb, var(--accent-soft) 48%, var(--surface));
}

.creative-policy-card span,
.creative-schema-table summary span,
.candidate-match span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
  letter-spacing: 0;
  text-transform: uppercase;
}

.creative-policy-card strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.3;
}

.creative-policy-card div {
  color: var(--ink-2);
  font-size: 12px;
  line-height: 1.42;
}

.creative-workspace {
  margin-top: 16px;
}

.people-admin-layout {
  align-items: start;
}

.people-admin-main,
.people-admin-profile {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.people-admin-profile {
  position: sticky;
  top: 92px;
}

.people-admin-queue .creative-mini-list {
  max-height: 460px;
  overflow: auto;
  padding-right: 2px;
}

.people-admin-row {
  align-items: start;
}

.people-admin-row .action-strip {
  margin-top: 10px;
}

.people-admin-person-row {
  gap: 4px;
  text-align: left;
}

.people-profile-card .creative-mini-list,
.people-profile-chips {
  margin-top: 12px;
}

.creative-project-list,
.creative-calendar-list,
.creative-schema-list,
.creative-mini-list {
  display: grid;
  gap: 10px;
}

.creative-calendar-list.compact {
  max-height: 560px;
  overflow: auto;
  padding-right: 2px;
}

.creative-project-card,
.creative-calendar-card,
.creative-row,
.creative-schema-table {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.creative-project-card,
.creative-calendar-card {
  display: grid;
  gap: 9px;
  padding: 13px;
  border-left: 4px solid var(--accent);
}

.creative-project-card.status-shelved {
  border-left-color: var(--muted-2);
  background: var(--surface-2);
}

.creative-project-card.status-inbox {
  border-left-color: var(--amber);
}

.creative-project-card.status-doing {
  border-left-color: var(--green);
}

.creative-project-card h3,
.creative-calendar-card h3 {
  margin-bottom: 0;
  font-size: 15px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.creative-calendar-card.severity-high {
  border-left-color: var(--red);
  background: #fffafa;
}

.creative-calendar-card.severity-medium {
  border-left-color: var(--amber);
  background: var(--amber-soft);
}

.candidate-match {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.66);
}

.candidate-match strong {
  overflow-wrap: anywhere;
}

.promo-bridge {
  display: grid;
  gap: 5px;
  margin-bottom: 10px;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
  color: var(--ink-2);
  font-size: 12px;
}

.promo-bridge.is-ok {
  border-color: #b9d8ca;
  background: #f3faf6;
}

.promo-bridge.is-warn {
  border-color: #e2ca9e;
  background: var(--amber-soft);
}

.creative-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 58px;
  padding: 10px 11px;
}

.creative-row strong {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.creative-date-chip {
  min-width: 72px;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--accent-soft);
  color: var(--accent-strong);
  font-size: 12px;
  font-weight: 820;
  text-align: center;
}

.creative-schema-table {
  overflow: hidden;
}

.creative-schema-table summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 46px;
  padding: 10px 11px;
  cursor: pointer;
  list-style: none;
}

.creative-schema-table summary::-webkit-details-marker {
  display: none;
}

.creative-schema-table > .meta-line,
.creative-schema-table > .chips,
.creative-schema-table > .muted {
  margin: 0 11px 11px;
}

.inline-result-list {
  display: grid;
  gap: 6px;
}

.inline-result-list ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 18px;
}

.transcript-preview {
  max-height: 92px;
  overflow: auto;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.prayer-care-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.36fr);
  align-items: start;
  gap: 16px;
}

.prayer-section-grid {
  align-items: start;
}

.prayer-request-card,
.prayer-care-queue-card,
.prayer-publication-candidate-card {
  border-left: 4px solid var(--blue);
}

.prayer-request-intake-card {
  display: grid;
  gap: 10px;
  border-left: 4px solid var(--blue);
}

.prayer-request-intake-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 16px;
}

.prayer-request-intake-head h3 {
  margin: 0;
  font-size: 18px;
}

.prayer-request-intake-head time {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.3;
  text-align: right;
  white-space: nowrap;
}

.prayer-request-intake-text {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.5;
  white-space: pre-wrap;
}

.prayer-care-queue-card {
  display: grid;
  gap: 12px;
}

.care-queue-title-field,
.care-queue-summary-field {
  display: grid;
  gap: 5px;
}

.care-queue-title-input {
  color: var(--ink);
  font-size: 18px;
  font-weight: 800;
}

.care-queue-summary-input {
  min-height: 92px;
  line-height: 1.45;
}

.care-queue-details-button {
  width: 100%;
  justify-content: center;
  min-height: 42px;
  border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
  background: color-mix(in srgb, var(--accent-soft) 72%, var(--surface));
  color: var(--accent-strong);
}

.care-queue-detail-panel {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--bg-elevated);
}

.care-queue-detail-panel h4 {
  margin: 0 0 6px;
}

.prayer-email-list-section {
  display: grid;
  gap: 12px;
}

.prayer-email-list {
  display: grid;
  gap: 8px;
}

.prayer-email-list-head,
.prayer-subscriber-row {
  align-items: center;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.2fr) auto;
  gap: 10px;
}

.prayer-email-list-head {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 820;
  padding: 0 4px;
  text-transform: uppercase;
}

.prayer-subscriber-row {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.prayer-subscriber-actions {
  display: flex;
  gap: 8px;
  justify-content: end;
}

.prayer-request-card.has-care-flag,
.prayer-care-case-card {
  border-left: 4px solid var(--amber);
}

.prayer-request-card.is-approved,
.prayer-publication-card,
.prayer-subscriber-card {
  border-left: 4px solid var(--green);
}

.prayer-request-card.is-private,
.agenda-card.is-cleanup {
  background: #fffaf0;
}

.agenda-card.is-selected,
.prayer-request-summary.is-selected,
.prayer-publication-card.is-selected,
.prayer-subscriber-card.is-selected,
.prayer-care-board-card.is-selected,
.prayer-care-case-editor,
.agenda-card.is-selected {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 14%, transparent), var(--shadow-soft);
}

.prayer-card-main {
  grid-template-columns: minmax(0, 1fr) minmax(180px, auto);
}

.prayer-sensitive-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.8fr);
  gap: 10px;
}

.prayer-research-panel {
  align-self: stretch;
}

.prayer-research-identity {
  align-items: center;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 12px;
  margin-bottom: 12px;
}

.prayer-research-identity.is-image-missing {
  grid-template-columns: minmax(0, 1fr);
}

.prayer-research-photo {
  width: 56px;
  height: 56px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-2);
  object-fit: cover;
}

.prayer-research-name {
  color: var(--ink);
  font-weight: 800;
}

.prayer-original-section {
  gap: 5px;
}

.prayer-original-section h3 {
  margin: 0;
}

.prayer-research-hit-list {
  display: grid;
  gap: 6px;
}

.prayer-research-hit {
  display: grid;
  gap: 2px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: inherit;
  text-decoration: none;
}

.prayer-research-hit strong {
  font-size: 13px;
  line-height: 1.25;
}

.prayer-research-hit span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
}

.prayer-research-lines {
  display: grid;
  gap: 5px;
}

.prayer-ai-audit {
  margin: 10px 0;
}

.prayer-review-decision-grid {
  grid-template-columns: minmax(220px, 0.7fr) minmax(260px, 1fr);
  align-items: start;
}

.rule-form > fieldset {
  min-width: 0;
  margin: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--bg-elevated);
}

.rule-form > fieldset legend {
  padding: 0 4px;
}

.prayer-referral-fieldset {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--bg-elevated);
}

.prayer-referral-fieldset legend {
  padding: 0 4px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 680;
}

.prayer-raw-text,
.prayer-approved-text {
  max-height: 220px;
  overflow: auto;
  padding: 10px;
  line-height: 1.45;
  white-space: pre-wrap;
}

.prayer-approved-text {
  max-height: 180px;
}

.prayer-publication-list,
.prayer-publication-candidate-list,
.prayer-care-detail-list {
  gap: 12px;
}

.prayer-publication-text {
  min-height: 220px;
}

.prayer-publication-candidate {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  margin: 0;
  cursor: pointer;
}

.prayer-publication-candidate input {
  margin-top: 4px;
}

.prayer-publication-candidate.is-selected,
.prayer-publication-candidate:has(input:checked) {
  border-color: var(--green);
  background: #f6fbf8;
}

.prayer-subscriber-options,
.prayer-alert-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.prayer-ccb-reference {
  display: grid;
  gap: 10px;
  padding: 12px;
  background: #fbfbf8;
}

.prayer-care-board {
  display: grid;
  grid-auto-columns: clamp(230px, 24vw, 280px);
  grid-auto-flow: column;
  gap: 12px;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 2px 2px 12px;
  scroll-behavior: smooth;
  scroll-padding-inline: 2px;
  scroll-snap-type: inline proximity;
  scrollbar-gutter: stable;
}

.prayer-care-board:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 3px;
}

.prayer-care-board-column {
  align-content: start;
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 11px;
  background: var(--surface-2);
  scroll-snap-align: start;
  transition: background 160ms ease, box-shadow 160ms ease;
}

.prayer-care-board-column.is-drop-target {
  background: #eef6f2;
  box-shadow: inset 0 0 0 2px rgba(38, 118, 91, 0.32);
}

.prayer-care-board-list {
  min-height: 42px;
}

.care-board-drop-indicator {
  height: 4px;
  border-radius: 2px;
  background: var(--accent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent);
  pointer-events: none;
}

.care-board-column-header {
  align-items: start;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.care-board-column-header h3 {
  font-size: 1rem;
  line-height: 1.2;
  margin: 0;
}

.care-board-column-header span {
  color: var(--muted);
  font-weight: 700;
}

.prayer-care-board-card {
  border-left-color: var(--line-strong);
  cursor: grab;
  padding: 0;
  touch-action: none;
}

.prayer-care-board-card.is-selected {
  background: var(--accent-soft);
  border-left-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 42%, transparent), var(--shadow-soft);
}

.prayer-care-board-card.is-dragging {
  cursor: grabbing;
  opacity: 0.55;
  user-select: none;
}

.care-board-card-button {
  appearance: none;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: inherit;
  display: grid;
  gap: 6px;
  padding: 12px;
  text-align: left;
  width: 100%;
}

.care-board-card-button:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}

.care-board-card-title {
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.35;
}

.care-board-card-event {
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.35;
}

.care-board-card-stamps {
  color: var(--muted);
  display: grid;
  gap: 2px;
  font-size: 0.82rem;
  font-weight: 700;
}

.care-board-empty {
  padding: 8px 2px;
}

.care-board-column-help {
  color: var(--muted);
  font-size: 0.8rem;
}

.care-board-column-help summary {
  cursor: pointer;
  font-weight: 750;
}

.care-board-column-help p {
  margin: 7px 0 0;
}

.care-board-column-help ul {
  display: grid;
  gap: 6px;
  margin: 8px 0 0;
  padding-left: 18px;
}

.care-board-column-help li {
  line-height: 1.35;
}

.care-board-command-band {
  display: grid;
  gap: 14px;
}

.care-board-surface {
  min-width: 0;
}

.care-board-scroll-header {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  justify-content: space-between;
  margin-bottom: 12px;
}

.care-board-scroll-hint {
  margin: 0;
}

.care-board-scroll-controls {
  flex-wrap: nowrap;
}

.care-board-add-form {
  display: grid;
  gap: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.care-board-archive-panel {
  display: grid;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.care-board-archive-panel .toolbar h3 {
  margin: 0;
}

.care-board-archive-search {
  width: min(380px, 100%);
}

.care-board-archive-list {
  display: grid;
  gap: 8px;
  max-height: 390px;
  overflow: auto;
}

.care-board-archive-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.care-board-archive-row.is-selected {
  border-color: var(--accent);
  background: var(--accent-soft);
}

.care-board-archive-open {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 2px;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
}

.care-board-archive-open span {
  color: var(--muted);
  font-size: 0.82rem;
}

.care-board-detail-form {
  gap: 14px;
}

.care-board-detail-head {
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) minmax(150px, 0.8fr) minmax(130px, 0.65fr) minmax(190px, 1fr);
  gap: 12px;
}

.care-board-contact-section,
.care-board-notes-section {
  display: grid;
  gap: 10px;
  padding-top: 4px;
}

.care-board-contact-section h3,
.care-board-notes-section h3 {
  margin: 0;
  font-size: 0.95rem;
}

.care-board-contact-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 12px;
}

.care-board-description {
  min-height: 150px;
}

.care-board-notes {
  min-height: 190px;
}

.care-board-note-input {
  min-height: 74px;
}

.care-board-tag-picker {
  justify-self: start;
}

.care-board-tag-picker summary {
  align-items: center;
  background: var(--surface-2);
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  font-weight: 760;
  gap: 7px;
  list-style: none;
  padding: 7px 10px;
}

.care-board-tag-picker summary::marker {
  content: "";
}

.care-board-tag-picker summary::-webkit-details-marker {
  display: none;
}

.care-board-tag-picker summary span {
  color: var(--accent);
  font-size: 1rem;
  font-weight: 850;
}

.care-board-tag-picker-body {
  display: grid;
  gap: 9px;
  margin-top: 9px;
  min-width: min(620px, calc(100vw - 72px));
  padding: 10px;
  border: 1px solid var(--line);
  background: var(--surface-2);
}

.care-board-original-details,
.care-board-notify-section {
  padding: 10px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.care-board-original-details summary,
.care-board-notify-section summary {
  cursor: pointer;
  font-weight: 780;
}

.care-board-original-details .prayer-approved-text {
  margin-top: 10px;
  white-space: pre-wrap;
}

.care-board-comments {
  display: grid;
  gap: 7px;
}

.care-board-comment {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  border-left: 3px solid var(--line-strong);
  background: var(--surface-2);
}

.care-board-comment.is-alert {
  border-left-color: var(--blue);
  background: var(--blue-soft);
}

.care-board-comment > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  font-size: 0.82rem;
}

.care-board-comment time {
  color: var(--muted);
  font-size: 0.76rem;
}

.care-board-comment p {
  margin: 0;
}

.care-board-notify-body {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.care-alert-recipient-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  gap: 7px;
}

.care-alert-recipient-list small {
  color: var(--green);
  font-weight: 800;
}

.care-calendar-band {
  display: grid;
  gap: 14px;
}

.care-calendar-title {
  display: grid;
  gap: 3px;
}

.care-calendar-legend {
  display: flex;
  gap: 14px;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 750;
}

.care-calendar-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.care-calendar-legend i {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 3px;
}

.care-calendar-legend i.lane-surgery {
  background: #e11d48;
}

.care-calendar-legend i.lane-coming-up {
  background: #ea580c;
}

.care-calendar-on-call {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 9px 11px;
  border-left: 4px solid #4f46e5;
  background: #eef2ff;
}

.care-calendar-weekdays,
.care-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(120px, 1fr));
}

.care-calendar-weekdays {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  gap: 6px;
  text-transform: uppercase;
}

.care-calendar-weekdays > div {
  padding: 0 8px;
}

.care-calendar-grid {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}

.care-calendar-day {
  display: grid;
  gap: 8px;
  min-height: 132px;
  padding: 8px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}

.care-calendar-day:nth-child(7n) {
  border-right: 0;
}

.care-calendar-day:nth-last-child(-n + 7) {
  border-bottom: 0;
}

.care-calendar-day.is-outside-month {
  background: var(--surface-2);
  color: var(--muted);
}

.care-calendar-day.is-today .care-calendar-day-number {
  background: var(--ink);
  color: var(--surface);
}

.care-calendar-day-number {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 800;
  height: 26px;
  justify-content: center;
  width: 26px;
}

.care-calendar-events {
  align-content: start;
  display: grid;
  gap: 5px;
}

.care-calendar-event {
  appearance: none;
  border: 0;
  border-left: 5px solid var(--line-strong);
  border-radius: 6px;
  color: var(--ink);
  cursor: pointer;
  display: grid;
  gap: 2px;
  padding: 7px 8px;
  text-align: left;
}

.care-calendar-event:hover,
.care-calendar-event.is-selected {
  box-shadow: inset 0 0 0 2px rgba(18, 27, 22, 0.16);
}

.care-calendar-event-time,
.care-calendar-archive-dot {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.care-calendar-event.lane-on-call {
  background: #eef2ff;
  border-left-color: #4f46e5;
}

.care-calendar-event.lane-surgery {
  background: #fff1f2;
  border-left-color: #e11d48;
}

.care-calendar-event.lane-follow-up {
  background: #ecfeff;
  border-left-color: #0891b2;
}

.care-calendar-event.lane-current-week {
  background: #f0fdf4;
  border-left-color: #16a34a;
}

.care-calendar-event.lane-cancer-chronic {
  background: #fefce8;
  border-left-color: #ca8a04;
}

.care-calendar-event.lane-sympathy-death {
  background: #f5f3ff;
  border-left-color: #7c3aed;
}

.care-calendar-event.lane-coming-up {
  background: #fff7ed;
  border-left-color: #ea580c;
}

.care-calendar-event.is-archived {
  opacity: 0.82;
}

.prayer-care-case-card.due-overdue {
  border-left-color: var(--red);
}

.prayer-care-case-card.due-due-today,
.prayer-care-case-card.due-due-soon {
  border-left-color: var(--amber);
}

.prayer-care-case-card.due-closed {
  border-left-color: var(--green);
}

.prayer-care-case-editor {
  display: grid;
  gap: 12px;
}

.prayer-care-linkage {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px;
  background: #fbfbf8;
}

.prayer-care-checklist-editor {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr);
  gap: 10px;
}

.prayer-care-checklist,
.prayer-care-history-panel {
  display: grid;
  gap: 8px;
  padding: 10px;
  background: #fbfbf8;
}

.prayer-care-checklist .checkbox-row.is-complete span {
  color: var(--muted);
  text-decoration: line-through;
}

.prayer-care-checklist-text {
  min-height: 112px;
}

.prayer-care-history-grid,
.prayer-care-update-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.prayer-care-update-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.prayer-care-history-item {
  display: grid;
  gap: 4px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}

.prayer-care-history-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.prayer-alert-preference-list,
.prayer-alert-preview-list,
.prayer-audit-list {
  margin-top: 12px;
}

.prayer-alert-toggle-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.prayer-alert-preview-card,
.prayer-segment-card {
  border-left: 4px solid var(--blue);
}

.side-panel-section {
  display: grid;
  gap: 10px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.side-panel-section:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.rock-hope-metrics .metric:nth-child(1)::before {
  background: var(--green);
}

.rock-hope-metrics .metric:nth-child(2)::before {
  background: var(--blue);
}

.rock-hope-metrics .metric:nth-child(3)::before {
  background: var(--amber);
}

.rock-hope-metrics .metric:nth-child(4)::before {
  background: var(--red);
}

.rock-hope-readiness-grid,
.rock-hope-team-grid,
.rock-hope-call-flow {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.rock-hope-readiness-item,
.rock-hope-team-card,
.rock-hope-call-step {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 11px;
  background: #fbfbf8;
}

.rock-hope-readiness-item strong,
.rock-hope-team-card strong {
  color: var(--ink);
  font-size: 25px;
  font-weight: 840;
  line-height: 1;
}

.rock-hope-readiness-item span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 760;
}

.rock-hope-compact-form {
  grid-template-columns: minmax(160px, 1fr) minmax(160px, 1fr) auto;
  align-items: end;
}

.rock-hope-compact-form .checkline {
  min-height: 40px;
}

.rock-hope-date-list,
.rock-hope-text-queues,
.rock-hope-sheet-grid {
  margin-top: 12px;
}

.rock-hope-date-row {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) repeat(3, auto);
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.rock-hope-date-row.is-current {
  border-color: #b9d8ca;
  background: var(--teal-soft);
}

.rock-hope-text-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.rock-hope-text-card h4,
.rock-hope-text-preview h3,
.rock-hope-route-card h3,
.rock-hope-team-card h3,
.rock-hope-call-card h3 {
  margin-bottom: 0;
}

.rock-hope-assignment-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}

.rock-hope-trigger {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.rock-hope-trigger.is-today {
  border-color: #dfc690;
  background: var(--amber-soft);
}

.rock-hope-route-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  gap: 10px;
}

.rock-hope-route-card {
  display: grid;
  gap: 9px;
  min-height: 148px;
  border-left: 4px solid var(--green);
}

.rock-hope-route-card.needs-driver {
  border-left-color: var(--amber);
}

.rock-hope-unassigned-stops {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid #d8bf82;
  border-left: 4px solid var(--amber);
  border-radius: var(--radius);
  background: var(--amber-soft);
}

.rock-hope-print-section {
  overflow: visible;
}

.rock-hope-sheet-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.rock-hope-route-sheet {
  display: grid;
  gap: 10px;
  min-height: 280px;
}

.rock-hope-route-sheet.is-unassigned {
  border-left: 4px solid var(--amber);
  background: var(--amber-soft);
}

.rock-hope-route-sheet ol {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 24px;
}

.rock-hope-route-sheet li {
  break-inside: avoid;
  padding-bottom: 8px;
}

.rock-hope-management .band {
  min-width: 0;
}

.rock-hope-management-form .select,
.rock-hope-call-controls .select,
.rock-hope-call-log-form .select,
.rock-hope-call-log-form .input {
  max-width: none;
}

.rock-hope-management-form .textarea {
  min-height: 72px;
}

.rock-hope-call-flow {
  margin-bottom: 12px;
}

.rock-hope-call-step {
  border-left: 4px solid var(--blue);
}

.rock-hope-call-command {
  overflow: visible;
}

.rock-hope-call-controls {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(180px, 240px);
  gap: 10px;
  margin-bottom: 12px;
}

.rock-hope-call-card {
  display: grid;
  gap: 10px;
  border-left: 4px solid var(--amber);
}

.rock-hope-call-card.is-complete {
  border-left-color: var(--green);
}

.rock-hope-call-card.is-retry {
  border-left-color: var(--blue);
}

.rock-hope-call-card.is-issue {
  border-left-color: var(--red);
}

.rock-hope-call-card details {
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.rock-hope-call-card summary {
  cursor: pointer;
  font-weight: 780;
}

.rock-hope-call-script {
  white-space: pre-wrap;
}

.rock-hope-call-log-form {
  display: grid;
  grid-template-columns: minmax(140px, 0.8fr) minmax(180px, 1fr) 150px minmax(140px, 0.8fr) auto auto;
  gap: 8px;
}

.rock-hope-call-log-form .textarea {
  grid-column: 1 / -2;
  min-height: 64px;
}

.rock-hope-call-latest {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.rock-hope-schema-band {
  box-shadow: none;
}

.rock-hope-route-plan-form,
.rock-hope-shift-form,
.rock-hope-impact-form,
.rock-hope-report-create-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr)) auto;
  align-items: end;
  gap: 10px;
  margin-top: 12px;
}

.rock-hope-impact-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rock-hope-impact-form .textarea,
.rock-hope-impact-form .button {
  grid-column: 1 / -1;
}

.rock-hope-route-plan-draft {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid #d8bf82;
  border-left: 4px solid var(--amber);
  border-radius: var(--radius);
  background: var(--amber-soft);
}

.rock-hope-route-planner-card {
  align-content: start;
  min-height: 280px;
}

.rock-hope-route-stop-list,
.rock-hope-issue-list,
.rock-hope-communication-list,
.rock-hope-shift-list,
.rock-hope-report-list,
.rock-hope-source-totals {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.rock-hope-route-move-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding-top: 9px;
  border-top: 1px solid var(--line);
}

.rock-hope-route-move-form > div {
  grid-column: 1 / -1;
  min-width: 0;
}

.rock-hope-route-move-form .select {
  min-width: 0;
}

.rock-hope-route-move-form:first-child {
  padding-top: 0;
  border-top: 0;
}

.rock-hope-issue-card,
.rock-hope-communication-card,
.rock-hope-report-card,
.rock-hope-story-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: var(--radius);
  background: var(--surface);
}

.rock-hope-issue-card.is-high,
.rock-hope-issue-card.is-urgent {
  border-left-color: var(--red);
}

.rock-hope-communication-card.is-draft {
  border-left-color: var(--amber);
}

.rock-hope-communication-card.is-approved,
.rock-hope-story-card {
  border-left-color: var(--green);
}

.rock-hope-communication-card details,
.rock-hope-correction-details {
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.rock-hope-communication-card summary,
.rock-hope-correction-details summary {
  cursor: pointer;
  font-weight: 760;
}

.rock-hope-message-row {
  display: grid;
  gap: 3px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
}

.rock-hope-message-row:last-child {
  border-bottom: 0;
}

.rock-hope-issue-form {
  display: grid;
  grid-template-columns: minmax(130px, 0.7fr) minmax(130px, 0.7fr) minmax(160px, 1fr) minmax(220px, 1.5fr) auto;
  align-items: end;
  gap: 8px;
}

.rock-hope-kiosk-grid {
  align-items: start;
}

.rock-hope-kiosk-panel {
  border-top: 4px solid var(--green);
}

.rock-hope-kiosk-panel.is-check-out {
  border-top-color: var(--blue);
}

.rock-hope-kiosk-form,
.rock-hope-volunteer-form,
.rock-hope-communication-prep-form,
.rock-hope-prayer-note-form,
.rock-hope-story-card,
.rock-hope-attendance-correction-form {
  display: grid;
  gap: 10px;
}

.rock-hope-kiosk-form label,
.rock-hope-communication-prep-form label {
  display: grid;
  gap: 5px;
}

.rock-hope-kiosk-form .textarea {
  min-height: 56px;
}

.rock-hope-kiosk-panel.is-check-out .rock-hope-kiosk-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.rock-hope-kiosk-panel.is-check-out .rock-hope-kiosk-form > label:nth-of-type(-n + 3),
.rock-hope-kiosk-panel.is-check-out .rock-hope-kiosk-submit {
  grid-column: 1 / -1;
}

.rock-hope-kiosk-submit {
  min-height: 50px;
  font-size: 16px;
}

.rock-hope-attendance-history .select {
  width: auto;
  min-width: 170px;
}

.rock-hope-attendance-correction-form {
  min-width: 240px;
  margin-top: 8px;
}

.rock-hope-shift-form {
  grid-template-columns: minmax(180px, 1fr) repeat(5, minmax(120px, 0.65fr)) auto;
}

.rock-hope-shift-row {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  gap: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--green);
  border-radius: var(--radius);
  background: var(--surface);
}

.rock-hope-shift-assignment-form {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(130px, 0.7fr) auto;
  align-items: center;
  gap: 8px;
}

.rock-hope-report-create-form {
  grid-template-columns: minmax(170px, 1fr) minmax(170px, 1fr) auto;
}

.rock-hope-report-card .report-box {
  max-height: 360px;
  overflow: auto;
  white-space: pre-wrap;
}

.rock-hope-story-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.rock-hope-prayer-note-form .textarea,
.rock-hope-story-card .textarea {
  min-height: 76px;
}

.rock-hope-inline-metrics .metric {
  min-width: 0;
}

.mop-form-workspace {
  align-items: start;
}

.mop-form-workspace > .band {
  min-height: 0;
}

.mop-packet-list {
  max-height: 620px;
  overflow: auto;
  padding-right: 2px;
}

.mop-user-list {
  max-height: 620px;
  overflow: auto;
  padding-right: 2px;
}

.mop-definition-row {
  display: grid;
  gap: 8px;
}

.mop-source-note {
  margin-top: 10px;
}

#mop-packet-response-form {
  display: grid;
  gap: 14px;
}

.mop-prompt-list {
  display: grid;
  gap: 12px;
}

.mop-prompt-field {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.mop-prompt-field .textarea {
  min-height: 78px;
}

.prompt-group {
  color: var(--muted);
  font-size: 11px;
  font-weight: 820;
  letter-spacing: 0;
  line-height: 1.1;
  text-transform: uppercase;
}

.mop-signal-card {
  display: grid;
  gap: 10px;
}

.mop-signal-card .agenda-card-main {
  grid-template-columns: minmax(0, 1fr) auto;
}

.mop-signal-card h3 {
  overflow-wrap: anywhere;
}

.login-shell {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 20px;
  background:
    linear-gradient(150deg, rgba(218, 56, 50, 0.12), rgba(218, 56, 50, 0) 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.66), rgba(255, 255, 255, 0)),
    var(--bg);
}

.login-panel {
  width: min(420px, 100%);
  padding: 24px;
  border: 1px solid color-mix(in srgb, var(--line) 86%, #ffffff);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.login-panel .brand {
  margin-bottom: 20px;
}

.login-panel .brand-mark {
  width: 50px;
  height: 50px;
}

.login-panel .brand-mark .brand-logo {
  width: 36px;
  height: 36px;
}

.login-panel .brand-logo {
  width: 46px;
  height: 46px;
}

.login-panel .brand-title {
  color: var(--ink);
}

.login-panel .brand-subtitle {
  color: var(--muted);
}

.honeypot-field {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.counseling-privacy-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid #b9ccdd;
  border-left: 5px solid var(--accent);
  border-radius: var(--radius);
  background: linear-gradient(110deg, #edf4f9, #ffffff);
  box-shadow: var(--shadow-soft);
}

.counseling-privacy-banner > div {
  display: grid;
  gap: 2px;
}

.counseling-privacy-banner span:not(.pill) {
  color: var(--muted);
  font-size: 13px;
}

.counseling-resource-hero {
  background:
    linear-gradient(135deg, rgba(49, 95, 134, 0.1), rgba(49, 95, 134, 0) 58%),
    var(--surface);
}

.eyebrow {
  margin-bottom: 5px;
  color: var(--accent-strong);
  font-size: 11px;
  font-weight: 820;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.counseling-resource-search {
  display: grid;
  align-items: end;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  margin-top: 16px;
}

.counseling-resource-search label {
  display: grid;
  gap: 6px;
  color: var(--ink-2);
  font-weight: 760;
}

.counseling-resource-search input,
.counseling-form input,
.counseling-form select,
.counseling-form textarea {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: #fffdf9;
  color: var(--ink);
  padding: 9px 11px;
}

.counseling-form textarea {
  min-height: 84px;
  line-height: 1.48;
  resize: vertical;
}

.counseling-resource-search input:focus,
.counseling-form input:focus,
.counseling-form select:focus,
.counseling-form textarea:focus {
  border-color: var(--accent);
  outline: 0;
  box-shadow: var(--focus-ring);
}

.counseling-search-results {
  display: grid;
  gap: 9px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.counseling-main-grid {
  align-items: start;
}

.counseling-intake-team-layout {
  align-items: start;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(330px, 0.85fr) minmax(0, 1.4fr);
}

.counseling-intake-team-list,
.counseling-intake-team-detail,
.counseling-intake-notes {
  display: grid;
  gap: 12px;
}

.counseling-intake-team-row {
  appearance: none;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  color: var(--ink);
  cursor: pointer;
  display: grid;
  font: inherit;
  gap: 0;
  grid-template-columns: minmax(0, 1fr);
  padding: 12px;
  text-align: left;
  width: 100%;
}

.counseling-intake-team-row:hover,
.counseling-intake-team-row:focus-visible,
.counseling-intake-team-row.is-selected {
  border-color: var(--accent);
  box-shadow: var(--focus-ring);
  outline: none;
}

.counseling-intake-answer-grid {
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.counseling-intake-answer {
  background: var(--bg-elevated);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px 12px;
}

.counseling-intake-answer span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.counseling-intake-answer strong {
  font-size: 14px;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.counseling-intake-research {
  display: grid;
  gap: 10px;
}

.counseling-intake-research h3,
.counseling-intake-research p {
  margin: 0;
}

.counseling-intake-research-error {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.counseling-intake-coordination-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr);
}

.counseling-intake-assignment-form,
.counseling-intake-note-form {
  align-items: end;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  display: grid;
  gap: 10px;
  padding: 12px;
}

.counseling-intake-assignment-form label,
.counseling-intake-note-form label {
  display: grid;
  font-size: 13px;
  font-weight: 760;
  gap: 6px;
}

.counseling-intake-assignment-form select,
.counseling-intake-note-form textarea {
  background: #fffdf9;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  color: var(--ink);
  font: inherit;
  min-height: 42px;
  padding: 9px 11px;
  width: 100%;
}

.counseling-intake-note {
  border-left: 3px solid var(--accent);
  display: grid;
  gap: 6px;
  padding: 8px 10px;
}

.counseling-intake-note.is-system {
  border-left-color: var(--line-strong);
  color: var(--muted);
}

.counseling-intake-note > div {
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.counseling-intake-note p {
  margin: 0;
  white-space: pre-wrap;
}

.counseling-resource-card,
.counseling-intake-card,
.counseling-session-card,
.counseling-assignment-card,
.counseling-timeline-entry {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.counseling-resource-card p,
.counseling-intake-card p,
.counseling-session-card p,
.counseling-assignment-card p,
.counseling-timeline-entry p {
  margin: 0;
  white-space: pre-wrap;
}

.counseling-citation {
  padding-top: 8px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  font-weight: 680;
}

.counseling-status-published {
  border-color: #b7d2c5;
  background: var(--teal-soft);
  color: var(--green);
}

.counseling-form {
  align-items: start;
}

.counseling-form label {
  color: var(--ink-2);
  font-size: 13px;
  font-weight: 720;
}

.counseling-form .span-2,
.span-2 {
  grid-column: 1 / -1;
}

.counseling-form .checkbox-field {
  display: flex;
  align-items: flex-start;
  grid-template-columns: none;
  gap: 9px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-2);
}

.counseling-form .checkbox-field input {
  width: auto;
  min-height: 0;
  margin: 3px 0 0;
}

.form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 4px;
}

.counseling-record-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.counseling-inline-workflow,
.counseling-create-another {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-2);
}

.counseling-inline-workflow > summary,
.counseling-create-another > summary {
  cursor: pointer;
  padding: 10px 12px;
  color: var(--accent-strong);
  font-weight: 780;
}

.counseling-inline-workflow[open] > summary,
.counseling-create-another[open] > summary {
  border-bottom: 1px solid var(--line);
}

.counseling-inline-workflow .counseling-form,
.counseling-create-another .counseling-embedded-form {
  padding: 12px;
}

.counseling-create-another {
  padding: 0;
}

.counseling-create-another .counseling-embedded-form > .toolbar {
  margin-bottom: 12px;
}

.counseling-readonly-field {
  display: grid;
  gap: 5px;
  min-height: 40px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-2);
}

.counseling-readonly-field span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.counseling-amendment {
  margin-top: 9px;
  padding-top: 9px;
  border-top: 1px solid var(--line);
}

.counseling-client-list .row-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

.counseling-client-list .row-button span:first-child {
  display: grid;
  gap: 3px;
}

.counseling-client-list small {
  color: var(--muted);
}

.counseling-prep-brief {
  border-top: 4px solid var(--accent);
}

.counseling-prep-line {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}

.counseling-prep-line strong {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}

.counseling-session-card blockquote {
  margin: 0;
  padding: 10px 12px;
  border-left: 4px solid var(--accent);
  background: var(--accent-soft);
  color: var(--accent-strong);
  font-weight: 720;
}

.counseling-dictation-row {
  display: grid;
  align-items: start;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.counseling-transcript-controls {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.counseling-transcript-controls summary {
  cursor: pointer;
  color: var(--accent-strong);
  font-weight: 780;
}

.counseling-transcript-controls[open] summary {
  margin-bottom: 12px;
}

.counseling-private-record {
  display: grid;
  gap: 14px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 2px solid var(--line-strong);
}

.counseling-private-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.counseling-private-group {
  display: grid;
  gap: 8px;
}

.counseling-private-group h3 {
  margin: 4px 0 0;
}

.counseling-private-detail,
.counseling-transcript-view {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-2);
}

.counseling-private-detail > summary,
.counseling-transcript-view > summary {
  cursor: pointer;
  padding: 10px 12px;
  color: var(--ink-2);
  font-weight: 760;
}

.counseling-private-detail[open],
.counseling-transcript-view[open] {
  padding: 0 12px 12px;
}

.counseling-private-detail[open] > summary,
.counseling-transcript-view[open] > summary {
  margin: 0 -12px 8px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}

.counseling-note {
  margin-top: 8px;
}

.counseling-note pre,
.counseling-transcript-view pre {
  max-height: 360px;
  overflow: auto;
  margin: 8px 0 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fffdf9;
  color: var(--ink-2);
  font: inherit;
  line-height: 1.45;
  white-space: pre-wrap;
}

.error-text {
  color: var(--red);
}

.weekly-checkin-hero {
  align-items: center;
  background: linear-gradient(135deg, #fffdf9 0%, #edf6f0 100%);
  border-color: #ccded3;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 330px);
  overflow: hidden;
  padding: clamp(22px, 4vw, 42px);
  position: relative;
}

.weekly-checkin-hero::after {
  background: rgba(47, 115, 87, 0.08);
  border-radius: 999px;
  content: "";
  height: 260px;
  position: absolute;
  right: -110px;
  top: -130px;
  width: 260px;
}

.weekly-checkin-hero h2 {
  font-size: clamp(28px, 4vw, 44px);
  margin: 5px 0 10px;
}

.weekly-checkin-hero p,
.weekly-checkin-footnote p {
  color: var(--muted);
  line-height: 1.6;
  margin: 0;
  max-width: 760px;
}

.weekly-checkin-cycle-card {
  align-items: flex-start;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid #ccded3;
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px;
  position: relative;
  z-index: 1;
}

.weekly-checkin-cycle-card strong {
  font-size: 17px;
  line-height: 1.35;
}

.weekly-checkin-progress {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  display: grid;
  gap: 16px;
  grid-template-columns: auto minmax(140px, 1fr) auto auto auto;
  padding: 14px 18px;
  position: sticky;
  top: 10px;
  z-index: 10;
}

.weekly-checkin-progress > div:first-child {
  display: flex;
  flex-direction: column;
}

.weekly-checkin-progress-track {
  background: var(--surface-3);
  border-radius: 999px;
  height: 8px;
  overflow: hidden;
}

.weekly-checkin-progress-track span {
  background: var(--accent);
  border-radius: inherit;
  display: block;
  height: 100%;
  transition: width 180ms ease;
}

.weekly-checkin-form {
  display: grid;
  gap: 18px;
}

.weekly-checkin-recovery-archive > summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  list-style: none;
}

.weekly-checkin-recovery-archive > summary::-webkit-details-marker {
  display: none;
}

.weekly-checkin-recovery-archive > summary::after {
  color: var(--muted);
  content: "Show";
  font-size: 13px;
  font-weight: 700;
}

.weekly-checkin-recovery-archive[open] > summary::after {
  content: "Hide";
}

.weekly-checkin-recovery-archive[open] > summary {
  margin-bottom: 18px;
}

.weekly-checkin-section {
  padding: clamp(18px, 3vw, 30px);
}

.weekly-checkin-section-heading {
  align-items: flex-start;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  margin-bottom: 22px;
  padding-bottom: 16px;
}

.weekly-checkin-section-heading h2 {
  margin: 4px 0 0;
}

.weekly-checkin-prompts {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr);
}

.weekly-checkin-prompt {
  align-content: start;
  background: var(--bg-elevated);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: grid;
  gap: 8px;
  padding: 16px;
}

.weekly-checkin-prompt:focus-within {
  border-color: var(--accent);
  box-shadow: var(--focus-ring);
}

.weekly-checkin-prompt-heading,
.weekly-checkin-companion-heading {
  align-items: flex-start;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.weekly-checkin-prompt-label {
  align-items: center;
  color: var(--ink);
  display: flex;
  flex: 1;
  font-size: 15px;
  font-weight: 700;
  gap: 8px;
  justify-content: space-between;
  min-width: 0;
}

.weekly-checkin-prompt-scope-actions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.weekly-checkin-scope-badge,
.ministry-context-badge {
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  display: inline-flex;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.035em;
  line-height: 1;
  padding: 5px 8px;
  text-transform: uppercase;
  white-space: nowrap;
}

.weekly-checkin-scope-badge.is-companion {
  background: var(--accent-soft);
  border-color: transparent;
  color: var(--accent-strong);
}

.weekly-checkin-companion-trigger {
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 4px;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  line-height: 1.3;
  padding: 4px 2px;
  text-decoration: underline;
  text-decoration-color: var(--line-strong);
  text-underline-offset: 3px;
}

.weekly-checkin-companion-trigger:hover,
.weekly-checkin-companion-trigger:focus-visible,
.weekly-checkin-companion-trigger.is-open {
  color: var(--accent-strong);
  text-decoration-color: currentColor;
}

.weekly-checkin-companion-trigger:focus-visible {
  box-shadow: var(--focus-ring);
  outline: none;
}

.weekly-checkin-companion {
  background: var(--surface-2);
  border-left: 3px solid var(--accent);
  border-radius: var(--radius-sm);
  display: grid;
  gap: 8px;
  margin-top: 6px;
  padding: 14px;
}

.weekly-checkin-prompt-context {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.weekly-checkin-required {
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.weekly-checkin-answer {
  background: #fff;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  color: var(--ink);
  font: inherit;
  line-height: 1.5;
  min-width: 0;
  padding: 11px 12px;
  resize: vertical;
  width: 100%;
}

.weekly-checkin-answer:focus {
  border-color: var(--accent);
  box-shadow: none;
  outline: none;
}

.weekly-checkin-answer[aria-invalid="true"] {
  border-color: var(--red);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--red) 18%, transparent);
}

.weekly-checkin-answer-feedback {
  color: var(--muted);
  display: block;
  font-size: 12px;
  font-weight: 600;
  justify-self: end;
  line-height: 1.35;
  text-align: right;
}

.weekly-checkin-answer-feedback[data-state="limit"] {
  color: var(--accent-strong);
}

.weekly-checkin-answer-feedback[data-state="error"] {
  color: var(--red);
  font-weight: 700;
}

.weekly-checkin-text-limit-summary[hidden] {
  display: none;
}

.weekly-checkin-toggle {
  align-items: center;
  display: flex;
  gap: 10px;
  padding: 8px 0;
}

.weekly-checkin-toggle .weekly-checkin-answer {
  accent-color: var(--accent);
  width: auto;
}

.weekly-checkin-history {
  display: grid;
  gap: 20px;
  padding: clamp(18px, 3vw, 30px);
}

.weekly-checkin-history-heading,
.weekly-checkin-history-review-heading {
  align-items: flex-start;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}

.weekly-checkin-history-heading h2,
.weekly-checkin-history-review-heading h3 {
  margin: 4px 0 0;
}

.weekly-checkin-history-heading p {
  color: var(--muted);
  line-height: 1.55;
  margin: 8px 0 0;
  max-width: 680px;
}

.weekly-checkin-history-picker {
  display: grid;
  flex: 0 0 min(310px, 42%);
  gap: 7px;
  min-width: 240px;
}

.weekly-checkin-history-picker > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.weekly-checkin-history-review {
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: grid;
  gap: 18px;
  padding: clamp(16px, 2.5vw, 24px);
}

.weekly-checkin-history-announcement {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.weekly-checkin-history-review-heading {
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding-bottom: 15px;
}

.weekly-checkin-history-groups {
  display: grid;
  gap: 20px;
}

.weekly-checkin-history-group h4 {
  color: var(--accent-strong);
  font-size: 13px;
  letter-spacing: 0.04em;
  margin: 0 0 9px;
  text-transform: uppercase;
}

.weekly-checkin-history-group dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.weekly-checkin-history-entry {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  display: grid;
  gap: 8px;
  padding: 14px 16px;
}

.weekly-checkin-history-entry dt {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  font-weight: 700;
  gap: 10px;
  justify-content: space-between;
}

.weekly-checkin-history-entry dd {
  color: var(--ink-2);
  line-height: 1.55;
  margin: 0;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.weekly-checkin-history-entry dd.is-empty {
  color: var(--muted);
  font-style: italic;
}

.weekly-checkin-history-empty {
  align-items: flex-start;
  background: var(--surface-2);
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-sm);
  color: var(--muted);
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 18px;
}

.weekly-checkin-history-empty strong {
  color: var(--ink);
}

.weekly-checkin-footnote {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.weekly-checkin-footnote strong {
  display: block;
  margin-bottom: 6px;
}

/* Unified Weekly Review: captain-only team analysis */

.captain-team-review,
.captain-team-member-list,
.captain-team-member-body,
.captain-team-response-list {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.captain-team-agenda {
  display: grid;
  gap: 20px;
  min-width: 0;
  padding: clamp(22px, 3.5vw, 34px);
  overflow: hidden;
  border-color: #adcdbd;
  border-top: 5px solid #2f7357;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 255, 255, 0.94), transparent 34%),
    linear-gradient(145deg, #f5fbf7 0%, #e7f2eb 100%);
  box-shadow: 0 18px 42px rgba(35, 76, 59, 0.12);
}

.captain-team-agenda.is-collapsed {
  gap: 0;
  padding-block: clamp(17px, 2.4vw, 22px);
  box-shadow: 0 9px 24px rgba(35, 76, 59, 0.09);
}

.captain-team-agenda-content {
  display: grid;
  gap: 20px;
  min-width: 0;
}

.captain-team-agenda-content[hidden] {
  display: none;
}

.captain-team-agenda-state {
  display: grid;
  gap: 12px;
  min-height: 112px;
  align-content: center;
}

.captain-team-agenda-state .error {
  display: grid;
  gap: 5px;
}

.captain-team-agenda-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
}

.captain-team-agenda-heading h2 {
  margin: 5px 0 0;
  color: #214636;
  font-size: clamp(25px, 3.3vw, 34px);
}

.captain-team-agenda-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(47, 115, 87, 0.16);
}

.captain-team-agenda-intro p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.captain-team-agenda-heading-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  flex-wrap: wrap;
}

.captain-team-agenda-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  flex: 0 0 auto;
  flex-wrap: wrap;
}

.captain-team-agenda-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 126px;
  justify-content: center;
}

.captain-team-agenda-toggle:focus-visible {
  outline: 3px solid rgba(47, 115, 87, 0.34);
  outline-offset: 3px;
}

.captain-team-agenda-toggle-icon {
  display: inline-block;
  font-size: 17px;
  line-height: 0.8;
  transition: transform 160ms ease;
}

.captain-team-agenda.is-expanded .captain-team-agenda-toggle-icon {
  transform: rotate(180deg);
}

.captain-team-agenda-heading-actions .pill.is-error {
  border-color: rgba(160, 45, 45, 0.28);
  background: rgba(255, 242, 240, 0.92);
  color: var(--danger);
}

.captain-team-agenda-add-form,
.captain-team-agenda-category-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(47, 115, 87, 0.25);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.82);
}

.captain-team-agenda-category-form {
  grid-template-columns: minmax(220px, 420px) auto;
  justify-content: start;
}

.captain-team-agenda-add-form label,
.captain-team-agenda-category-form label,
.captain-team-agenda-notes-field {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: var(--ink-2);
  font-size: 13px;
  font-weight: 720;
}

.captain-team-agenda-category-form .input {
  width: 100%;
  min-width: 0;
}

.captain-team-agenda-add-form textarea,
.captain-team-agenda-notes {
  width: 100%;
  min-width: 0;
  resize: vertical;
  color: var(--ink);
  font: inherit;
  font-weight: 500;
  line-height: 1.5;
}

.captain-team-agenda-live-status:empty {
  display: none;
}

.captain-team-agenda-live-status .notice {
  margin: 0;
}

.captain-team-agenda-list {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.captain-team-agenda-item {
  display: grid;
  gap: 15px;
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(47, 115, 87, 0.2);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.93);
  box-shadow: 0 6px 16px rgba(35, 76, 59, 0.06);
}

.captain-team-agenda-item-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 11px;
}

.captain-team-agenda-item-heading h3 {
  margin: 1px 0 0;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.48;
  overflow-wrap: anywhere;
}

.captain-team-agenda-item-title {
  min-width: 0;
}

.captain-team-agenda-attribution {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
}

.captain-team-agenda-bullet {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #deede4;
  color: #245d46;
  font-size: 21px;
  font-weight: 900;
  line-height: 1;
}

.captain-team-agenda-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.captain-team-agenda-badges:empty {
  display: none;
}

.captain-team-agenda-badges .pill {
  padding: 4px 8px;
  font-size: 10px;
}

.captain-team-agenda-badges .pill.is-routed {
  border-color: rgba(47, 115, 87, 0.23);
  background: #e8f3ed;
  color: #245d46;
}

.captain-team-agenda-item-actions,
.captain-team-agenda-reorder-actions {
  display: flex;
  align-items: center;
  gap: 7px;
}

.captain-team-agenda-move {
  display: inline-grid;
  place-items: center;
  width: 38px;
  min-width: 38px;
  min-height: 38px;
  padding: 5px;
  font-size: 18px;
  line-height: 1;
}

.captain-team-agenda-delete {
  min-height: 38px;
  padding: 7px 10px;
}

.captain-team-agenda-category-field {
  display: grid;
  grid-template-columns: auto minmax(180px, 280px);
  align-items: center;
  justify-content: start;
  gap: 9px;
  color: var(--ink-2);
  font-size: 12px;
  font-weight: 720;
}

.captain-team-agenda-category-select {
  width: 100%;
  min-width: 0;
}

.captain-team-agenda-notes {
  min-height: 86px;
  padding: 11px 12px;
  border-color: #c9dcd2;
  background: #fffdfa;
}

.captain-team-agenda-notes:focus {
  border-color: #4f876e;
  box-shadow: 0 0 0 3px rgba(47, 115, 87, 0.13);
}

.captain-team-agenda-item-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.captain-team-agenda-note-status {
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.captain-team-agenda-note-status.is-saved {
  color: #357155;
}

.captain-team-agenda-note-status.is-saving,
.captain-team-agenda-note-status.is-unsaved {
  color: #93651c;
}

.captain-team-agenda-note-status.is-error {
  color: var(--danger);
  font-weight: 700;
}

.captain-team-agenda-route-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.captain-team-agenda-route-actions .button {
  min-height: 38px;
  padding: 8px 12px;
}

.captain-team-agenda-closeout-receipt {
  border-top: 1px solid rgba(47, 115, 87, 0.15);
}

.captain-team-agenda-closeout-receipt > summary {
  width: fit-content;
  padding-top: 12px;
  color: #47665a;
  cursor: pointer;
  font-size: 12px;
  font-weight: 760;
}

.captain-team-agenda-empty {
  display: grid;
  gap: 5px;
  padding: 22px;
  border: 1px dashed rgba(47, 115, 87, 0.36);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.64);
  color: var(--muted);
  text-align: center;
}

.captain-team-agenda-empty strong {
  color: var(--ink);
}

.captain-team-agenda-closeout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 18px;
  border-radius: var(--radius);
  background: #284e3d;
  color: rgba(255, 255, 255, 0.82);
}

.captain-team-agenda-closeout > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.captain-team-agenda-closeout strong {
  color: #fff;
}

.captain-team-agenda-closeout span,
.captain-team-agenda-closeout small {
  line-height: 1.45;
}

.captain-team-agenda-closeout .button {
  flex: 0 0 auto;
  border-color: #fff7ea;
  background: #fff7ea;
  color: #254a3a;
}

.captain-team-agenda-closeout .button:disabled {
  opacity: 0.52;
}

.captain-team-agenda-closeout-receipt {
  padding-top: 2px;
}

.captain-team-agenda-closeout-receipt > div {
  display: grid;
  gap: 10px;
  margin-top: 10px;
  padding: 14px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
}

.captain-team-agenda-closeout-receipt p {
  margin: 0;
}

.captain-team-agenda-closeout-counts {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.captain-team-agenda-closeout-counts span {
  padding: 5px 9px;
  border-radius: 999px;
  background: #e6f1eb;
  color: #2d634b;
  font-size: 12px;
  font-weight: 720;
}

.captain-team-agenda-owner {
  margin: -7px 0 0;
  font-size: 11px;
  text-align: right;
}

.captain-team-review-hero {
  display: grid;
  align-items: start;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) auto;
  overflow: hidden;
  padding: clamp(22px, 4vw, 38px);
  background:
    radial-gradient(circle at 94% 4%, rgba(255, 255, 255, 0.92), transparent 31%),
    linear-gradient(135deg, #fffdf9 0%, #e8f3ed 100%);
  border-color: #c8ded2;
}

.captain-team-review-hero h2 {
  margin: 5px 0 10px;
  font-size: clamp(28px, 4vw, 42px);
}

.captain-team-review-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.captain-team-review-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.captain-team-review-glance {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(47, 115, 87, 0.2);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.78);
}

.senior-team-review .captain-team-review-glance {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.captain-team-review-glance > div {
  display: grid;
  gap: 5px;
  padding: 15px 17px;
  border-right: 1px solid rgba(47, 115, 87, 0.16);
}

.captain-team-review-glance > div:last-child {
  border-right: 0;
}

.captain-team-review-glance span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.captain-team-review-glance strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.3;
}

.captain-team-review-heading,
.captain-team-members-heading,
.captain-team-person-analysis-heading,
.senior-team-review-list-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.captain-team-review-heading h2,
.captain-team-members-heading h2,
.captain-team-person-analysis-heading h3,
.senior-team-review-list-heading h2 {
  margin: 4px 0 0;
}

.captain-team-members-heading p,
.senior-team-review-list-heading p {
  max-width: 720px;
  margin: 8px 0 0;
  line-height: 1.55;
}

.captain-team-synthesis {
  display: grid;
  gap: 20px;
  padding: clamp(20px, 3.5vw, 34px);
  border-top: 4px solid var(--accent);
}

.captain-team-analysis-narrative {
  max-width: 900px;
  color: var(--ink-2);
  font-size: 16px;
  line-height: 1.68;
}

.captain-team-analysis-narrative p {
  margin: 0 0 10px;
  white-space: pre-wrap;
}

.captain-team-analysis-narrative p:last-child {
  margin-bottom: 0;
}

.captain-team-analysis-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.captain-team-analysis-section {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-2);
}

.captain-team-analysis-section h3 {
  margin: 0 0 10px;
  color: var(--ink);
  font-size: 15px;
}

.captain-team-analysis-section ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 19px;
  color: var(--ink-2);
  line-height: 1.5;
}

.captain-team-analysis-attribution {
  color: var(--muted);
  font-size: 0.78em;
  font-weight: 620;
  white-space: nowrap;
}

.captain-team-members {
  display: grid;
  gap: 15px;
}

.senior-team-review-list,
.senior-team-review-cards {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.senior-team-review-list-heading {
  padding-inline: 2px;
}

.senior-team-review-card {
  display: grid;
  gap: 20px;
  padding: clamp(20px, 3.5vw, 30px);
  overflow: hidden;
  border-top: 4px solid var(--accent);
}

.senior-team-review-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.senior-team-review-card-heading h2 {
  margin: 4px 0 0;
  font-size: clamp(22px, 3vw, 30px);
}

.senior-team-review-captains {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 680;
}

.senior-team-review-summary {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.senior-team-review-summary h3 {
  margin: 0;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.4;
}

.senior-team-review-summary > .captain-team-analysis-narrative {
  max-width: none;
}

.senior-team-review-details {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--bg-elevated);
}

.senior-team-review-details > summary {
  display: grid;
  align-items: center;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto auto;
  padding: 13px 15px;
  cursor: pointer;
  color: var(--ink-2);
  font-weight: 740;
  list-style: none;
}

.senior-team-review-details > summary::-webkit-details-marker {
  display: none;
}

.senior-team-review-details > summary > span:last-child {
  color: var(--muted);
  font-size: 12px;
  font-weight: 680;
}

.senior-team-review-details > summary::after {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent-strong);
  content: "+";
  font-size: 18px;
  font-weight: 760;
  line-height: 1;
}

.senior-team-review-details[open] > summary {
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--accent-soft) 55%, #ffffff);
}

.senior-team-review-details[open] > summary::after {
  content: "−";
}

.senior-team-review-details > summary:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 58%, transparent);
  outline-offset: -3px;
}

.senior-team-review-sections {
  padding: 15px;
}

.captain-team-member {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.captain-team-member > summary,
.captain-team-raw-responses > summary {
  cursor: pointer;
  list-style: none;
}

.captain-team-member > summary::-webkit-details-marker,
.captain-team-raw-responses > summary::-webkit-details-marker {
  display: none;
}

.captain-team-member > summary {
  display: grid;
  align-items: center;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) auto auto;
  padding: 17px 18px;
}

.captain-team-member > summary::after,
.captain-team-raw-responses > summary::after {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent-strong);
  content: "+";
  font-size: 18px;
  font-weight: 760;
  line-height: 1;
}

.captain-team-member[open] > summary::after,
.captain-team-raw-responses[open] > summary::after {
  content: "−";
}

.captain-team-member[open] > summary {
  background: color-mix(in srgb, var(--accent-soft) 55%, #ffffff);
}

.captain-team-member-summary-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.captain-team-member-summary-copy strong {
  color: var(--ink);
  font-size: 17px;
}

.captain-team-member-summary-copy span {
  overflow: hidden;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.captain-team-member-status {
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
  white-space: nowrap;
}

.captain-team-member-status.is-submitted {
  border-color: #b8d8c7;
  background: var(--teal-soft);
  color: #225640;
}

.captain-team-member-status.is-missing,
.captain-team-member-status.is-incomplete {
  border-color: #ead1aa;
  background: var(--amber-soft);
  color: #765019;
}

.captain-team-member-body {
  padding: 20px;
  border-top: 1px solid var(--line);
}

.captain-team-person-analysis {
  display: grid;
  gap: 16px;
}

.captain-team-analysis-grid.is-person {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.captain-team-raw-responses {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--bg-elevated);
}

.captain-team-raw-responses > summary {
  display: grid;
  align-items: center;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto auto;
  padding: 13px 15px;
  color: var(--ink-2);
  font-weight: 740;
}

.captain-team-raw-responses > summary > span {
  color: var(--muted);
  font-size: 12px;
}

.captain-team-response-list {
  padding: 0 15px 15px;
  border-top: 1px solid var(--line);
}

.captain-team-response {
  padding: 14px 0 0;
}

.captain-team-response + .captain-team-response {
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.captain-team-response h4 {
  margin: 4px 0 8px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.45;
}

.captain-team-response-heading,
.routing-review-source-label-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
}

.captain-team-response-heading h4 {
  flex: 1 1 280px;
}

.routing-review-source-label-row .routing-review-section-label {
  flex: 1 1 auto;
}

.captain-team-response-answer {
  padding: 11px 13px;
  border-left: 3px solid color-mix(in srgb, var(--accent) 55%, var(--line));
  background: var(--surface);
  color: var(--ink-2);
  line-height: 1.55;
  white-space: pre-wrap;
}

.captain-team-no-responses {
  padding: 13px 15px;
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius);
}

.captain-team-review-state,
.captain-team-review-empty {
  display: grid;
  justify-items: start;
  gap: 12px;
}

.captain-team-review-state h2,
.captain-team-review-empty h2 {
  margin: 0;
}

.captain-team-review-state .error {
  display: grid;
  gap: 4px;
  width: 100%;
}

.weekly-routing-review {
  display: grid;
  gap: 18px;
}

.weekly-routing-actions {
  border-bottom: 1px solid var(--line);
  padding-bottom: 16px;
}

.weekly-routing-candidates {
  display: grid;
  gap: 16px;
}

.weekly-pilot-operations {
  margin-bottom: 20px;
}

.weekly-pilot-roster .finding {
  min-height: 140px;
}

.weekly-handoff-packages,
.weekly-handoff-fields {
  display: grid;
  gap: 14px;
}

.weekly-handoff-package {
  background: var(--bg-elevated);
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  border-radius: var(--radius);
  display: grid;
  gap: 14px;
  padding: 18px;
}

.weekly-handoff-package details > summary {
  cursor: pointer;
  font-weight: 700;
}

.weekly-handoff-fields {
  margin-top: 14px;
}

.weekly-handoff-field {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) - 4px);
  display: grid;
  gap: 5px;
  padding: 11px 13px;
  white-space: pre-wrap;
}

.weekly-handoff-complete-fields {
  align-items: end;
}

.weekly-checkin-review-form {
  background: var(--bg-elevated);
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  border-radius: var(--radius);
  display: grid;
  gap: 14px;
  padding: 18px;
}

.weekly-routing-candidate-head {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.weekly-routing-candidate-head h3 {
  margin: 4px 0 0;
}

.weekly-checkin-review-form blockquote {
  background: var(--surface);
  border-left: 3px solid var(--line-strong);
  font-size: 15px;
  line-height: 1.55;
  margin: 0;
  padding: 12px 14px;
}

.weekly-checkin-review-form fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.weekly-routing-meetings {
  margin-top: 8px;
}

.weekly-routing-decisions {
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.weekly-routing-decisions summary {
  cursor: pointer;
  font-weight: 700;
}

.weekly-review-hero,
.weekly-review-queue,
.weekly-review-items,
.weekly-review-item,
.weekly-review-events {
  display: grid;
  gap: 14px;
}

.weekly-review-hero {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.weekly-review-hero p {
  max-width: 760px;
  margin-bottom: 0;
}

.weekly-review-toolbar {
  align-items: flex-start;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  padding-bottom: 14px;
}

.weekly-review-item {
  padding: 18px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: var(--radius);
  background: var(--bg-elevated);
}

.weekly-review-item h3 {
  margin: 4px 0 0;
}

.weekly-review-detail {
  padding: 12px 14px;
  border-left: 3px solid var(--line-strong);
  background: var(--surface);
  line-height: 1.55;
  white-space: pre-wrap;
}

.weekly-review-note-field {
  display: grid;
  gap: 7px;
  max-width: 760px;
  font-weight: 700;
}

.weekly-review-note-field .muted {
  font-weight: 500;
}

.weekly-review-item details > summary {
  cursor: pointer;
  font-weight: 700;
}

.weekly-review-events {
  margin-top: 12px;
}

.routing-review-personal-dashboard {
  display: grid;
  gap: 16px;
  margin-top: 34px;
  padding-top: 34px;
  border-top: 2px solid color-mix(in srgb, var(--accent) 28%, var(--line));
}

/* Unified Weekly Review: This Sunday */

.this-sunday-workspace {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.this-sunday-hero {
  align-items: start;
  background:
    radial-gradient(circle at 91% 5%, rgba(255, 255, 255, 0.88), transparent 35%),
    linear-gradient(135deg, #edf7f2, #dcece5);
  border-color: #c7ddd2;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) auto;
  overflow: hidden;
}

.this-sunday-hero-copy {
  min-width: 0;
}

.this-sunday-hero h2 {
  font-size: clamp(30px, 5vw, 48px);
  letter-spacing: -0.035em;
  line-height: 1.03;
  margin: 7px 0 10px;
}

.this-sunday-updated {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
  margin-top: 16px;
  overflow-wrap: anywhere;
}

.this-sunday-hero-actions,
.this-sunday-item-actions,
.this-sunday-item-form-actions,
.this-sunday-service-times {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.this-sunday-hero-actions {
  justify-content: flex-end;
}

.this-sunday-primary-grid {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1.7fr) minmax(270px, 0.7fr);
}

.this-sunday-section-heading {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.this-sunday-section-heading h2,
.this-sunday-add-panel h2 {
  margin: 4px 0 0;
}

.this-sunday-service-times {
  justify-content: flex-end;
}

.this-sunday-service-times span,
.this-sunday-time {
  background: var(--accent-soft);
  border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
  border-radius: 999px;
  color: var(--accent-strong);
  display: inline-flex;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.025em;
  line-height: 1;
  padding: 7px 9px;
  white-space: nowrap;
}

.this-sunday-order-list,
.this-sunday-baptism-list {
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
}

.this-sunday-order-list li {
  align-items: center;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 12px;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  min-height: 57px;
  padding: 9px 2px;
}

.this-sunday-order-list li:last-child {
  border-bottom: 1px solid var(--line);
}

.this-sunday-order-number {
  align-items: center;
  background: var(--surface-2);
  border-radius: 999px;
  color: var(--muted);
  display: flex;
  font-size: 12px;
  font-weight: 820;
  height: 30px;
  justify-content: center;
  width: 30px;
}

.this-sunday-order-list strong {
  font-size: 15px;
  line-height: 1.3;
}

.this-sunday-order-type {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
  white-space: nowrap;
}

.this-sunday-baptism-list {
  display: grid;
  gap: 9px;
}

.this-sunday-baptism-list li {
  background: color-mix(in srgb, var(--accent-soft) 55%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--line));
  border-radius: var(--radius-sm);
  display: grid;
  gap: 4px;
  padding: 13px 14px;
}

.this-sunday-baptism-name {
  font-size: 15px;
}

.this-sunday-baptism-time {
  color: var(--accent-strong);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.025em;
}

.this-sunday-baptizer {
  color: var(--muted);
  font-size: 11px;
  font-weight: 400;
}

.this-sunday-baptism-note {
  border-top: 1px solid var(--line);
  color: var(--ink-2);
  line-height: 1.6;
  margin-top: 16px;
  overflow-wrap: anywhere;
  padding-top: 14px;
  white-space: pre-wrap;
}

.this-sunday-empty {
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-sm);
  color: var(--muted);
  margin: 18px 0 0;
  padding: 18px;
}

.this-sunday-note-list,
.this-sunday-document-stacks,
.this-sunday-document-groups,
.this-sunday-document-list {
  display: grid;
  gap: 12px;
}

.this-sunday-note-list {
  margin-top: 18px;
}

.this-sunday-note {
  background: var(--bg-elevated);
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  border-radius: var(--radius-sm);
  display: grid;
  gap: 10px;
  padding: 16px;
}

.this-sunday-note.is-editing {
  background: var(--surface);
  border-left-color: var(--amber);
}

.this-sunday-note-heading {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.this-sunday-note-heading h3 {
  margin: 7px 0 0;
}

.this-sunday-note-heading h3:first-child {
  margin-top: 0;
}

.this-sunday-note-body {
  color: var(--ink-2);
  line-height: 1.6;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.this-sunday-item-actions {
  flex: 0 0 auto;
  justify-content: flex-end;
}

.this-sunday-item-actions .button,
.this-sunday-item-form-actions .button {
  min-height: 36px;
  padding: 7px 11px;
}

.this-sunday-add-panel {
  display: grid;
  gap: 16px;
}

.this-sunday-item-form {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.32fr);
}

.this-sunday-item-form label {
  color: var(--ink-2);
  display: grid;
  font-size: 12px;
  font-weight: 780;
  gap: 6px;
}

.this-sunday-item-form label:has(textarea),
.this-sunday-item-form .this-sunday-fixed-title,
.this-sunday-item-form-actions {
  grid-column: 1 / -1;
}

.this-sunday-item-form .textarea {
  min-height: 108px;
  resize: vertical;
}

.this-sunday-document-stacks {
  gap: 20px;
  margin-top: 18px;
}

.this-sunday-document-stack {
  background: var(--bg-elevated);
  border: 1px solid var(--line);
  border-left: 4px solid var(--line-strong);
  border-radius: var(--radius);
  min-width: 0;
  padding: 18px;
}

.this-sunday-document-stack.is-upcoming {
  border-left-color: var(--accent);
}

.this-sunday-document-stack-heading {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.this-sunday-document-stack-heading h3 {
  font-size: 18px;
  margin: 5px 0 0;
}

.this-sunday-document-count {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 780;
  padding: 5px 9px;
}

.this-sunday-document-groups {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 14px;
}

.this-sunday-documents-actions {
  align-items: flex-end;
  display: grid;
  gap: 8px;
  justify-items: end;
}

.this-sunday-intake-email {
  color: var(--accent-strong);
  font-size: 12px;
  font-weight: 760;
  overflow-wrap: anywhere;
}

.this-sunday-upload-panel {
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin-top: 18px;
  padding: 16px;
}

.this-sunday-upload-form {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.this-sunday-upload-form label {
  color: var(--ink-2);
  display: grid;
  font-size: 12px;
  font-weight: 780;
  gap: 6px;
}

.this-sunday-upload-form label small {
  color: var(--muted);
  font-weight: 560;
}

.this-sunday-upload-file,
.this-sunday-upload-form > .error,
.this-sunday-upload-form > .this-sunday-item-form-actions {
  grid-column: 1 / -1;
}

.this-sunday-document-group {
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  min-width: 0;
  padding: 15px;
}

.this-sunday-document-group h3,
.this-sunday-document-group h4 {
  font-size: 14px;
  margin: 0 0 11px;
}

.this-sunday-document-row {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
}

.this-sunday-document {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  color: var(--ink);
  display: grid;
  gap: 11px;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  min-height: 64px;
  overflow: hidden;
  padding: 7px 10px 7px 7px;
  text-decoration: none;
}

a.this-sunday-document:hover,
a.this-sunday-document:focus-visible {
  border-color: var(--accent);
  box-shadow: var(--focus-ring);
  outline: 0;
}

.this-sunday-document img,
.this-sunday-document-mark {
  align-items: center;
  background: var(--accent-soft);
  border-radius: 5px;
  color: var(--accent-strong);
  display: flex;
  font-size: 9px;
  font-weight: 850;
  height: 48px;
  justify-content: center;
  object-fit: cover;
  width: 48px;
}

.this-sunday-document-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.this-sunday-document-copy strong,
.this-sunday-document-copy small {
  overflow-wrap: anywhere;
}

.this-sunday-document-copy small,
.this-sunday-document-open {
  color: var(--muted);
  font-size: 11px;
}

.this-sunday-document-copy .this-sunday-document-meta {
  font-size: 10px;
}

.this-sunday-document-open {
  font-weight: 780;
}

.this-sunday-document-remove {
  min-height: 36px;
  padding: 7px 10px;
}

.this-sunday-load-state {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.this-sunday-load-state h2,
.this-sunday-load-state p {
  flex-basis: 100%;
  margin: 0;
}

@media (max-width: 820px) {
  .this-sunday-hero,
  .this-sunday-primary-grid,
  .this-sunday-document-groups {
    grid-template-columns: 1fr;
  }

  .this-sunday-hero-actions,
  .this-sunday-service-times,
  .this-sunday-documents-actions {
    justify-content: flex-start;
    justify-items: start;
  }
}

@media (max-width: 600px) {
  .this-sunday-section-heading,
  .this-sunday-note-heading,
  .this-sunday-document-stack-heading {
    display: grid;
  }

  .this-sunday-document-stack {
    padding: 14px;
  }

  .this-sunday-document-count {
    justify-self: start;
  }

  .this-sunday-item-actions {
    justify-content: flex-start;
  }

  .this-sunday-item-form {
    grid-template-columns: 1fr;
  }

  .this-sunday-upload-form {
    grid-template-columns: 1fr;
  }

  .this-sunday-item-form label,
  .this-sunday-item-form label:has(textarea),
  .this-sunday-item-form-actions {
    grid-column: 1;
  }


  .this-sunday-upload-file,
  .this-sunday-upload-form > .error,
  .this-sunday-upload-form > .this-sunday-item-form-actions {
    grid-column: 1;
  }

  .this-sunday-order-list li {
    align-items: start;
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .this-sunday-order-type {
    grid-column: 2;
  }

  .this-sunday-document {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .this-sunday-document-row {
    grid-template-columns: 1fr;
  }

  .this-sunday-document-remove {
    justify-self: start;
  }

  .this-sunday-document img,
  .this-sunday-document-mark {
    height: 42px;
    width: 42px;
  }

  .this-sunday-document-open {
    display: none;
  }
}

/* Unified Weekly Review: Metrics */

.weekly-metrics-workspace {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.weekly-metrics-hero {
  display: grid;
  align-items: start;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) auto;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 4%, rgba(255, 255, 255, 0.86), transparent 32%),
    linear-gradient(135deg, #edf7f2, #dcece5);
  border-color: #c7ddd2;
}

.weekly-metrics-hero h2 {
  margin-bottom: 8px;
}

.weekly-metrics-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--ink-2);
  line-height: 1.55;
}

.weekly-metrics-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 9px;
}

.weekly-metrics-add-button {
  min-width: 126px;
  box-shadow: 0 8px 18px rgba(47, 115, 87, 0.18);
}

.weekly-metrics-glance {
  display: grid;
  grid-column: 1 / -1;
  gap: 1px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(47, 115, 87, 0.18);
  border-radius: var(--radius);
  background: rgba(47, 115, 87, 0.14);
}

.weekly-metrics-glance > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 13px 15px;
  background: rgba(255, 255, 255, 0.82);
}

.weekly-metrics-glance span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.weekly-metrics-glance strong {
  overflow-wrap: anywhere;
  font-size: 16px;
}

.weekly-metrics-view-switch {
  display: inline-grid;
  justify-self: start;
  grid-template-columns: repeat(2, minmax(130px, 1fr));
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) + 2px);
  background: var(--surface-2);
}

.weekly-metrics-view-button {
  min-height: 40px;
  padding: 8px 18px;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-weight: 780;
}

.weekly-metrics-view-button:hover {
  color: var(--ink);
}

.weekly-metrics-view-button.is-active {
  background: var(--surface);
  color: var(--accent-strong);
  box-shadow: var(--shadow-soft);
}

.weekly-metric-entry-panel {
  display: grid;
  gap: 14px;
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
  box-shadow: 0 16px 36px rgba(47, 115, 87, 0.1);
}

.weekly-metric-entry-panel:focus {
  outline: 3px solid color-mix(in srgb, var(--accent) 48%, transparent);
  outline-offset: 3px;
}

.weekly-metric-entry-heading {
  align-items: flex-start;
  justify-content: space-between;
}

.weekly-metric-entry-topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.weekly-metric-entry-date {
  display: grid;
  flex: 0 1 260px;
  gap: 7px;
  min-width: min(100%, 190px);
  color: var(--ink-2);
  font-size: 13px;
  font-weight: 760;
}

.weekly-metric-entry-family-picker {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 10px;
  min-width: 0;
}

.weekly-metric-entry-family {
  display: grid;
  align-content: start;
  gap: 4px;
  min-width: 0;
  min-height: 104px;
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--ink-2);
  cursor: pointer;
  font: inherit;
  line-height: 1.35;
  text-align: left;
}

.weekly-metric-entry-family:hover,
.weekly-metric-entry-family:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 62%, var(--line));
  background: color-mix(in srgb, var(--accent-soft) 58%, var(--surface));
}

.weekly-metric-entry-family.is-active {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--accent-strong);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 34%, transparent);
}

.weekly-metric-entry-family.is-active:focus-visible {
  box-shadow:
    var(--focus-ring),
    inset 0 0 0 1px color-mix(in srgb, var(--accent) 34%, transparent);
}

.weekly-metric-entry-family:disabled,
.weekly-metric-entry-subcategory:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.weekly-metric-entry-family strong {
  color: var(--ink);
  font-size: 14px;
  font-weight: 800;
}

.weekly-metric-entry-family span {
  overflow-wrap: anywhere;
  font-size: 12px;
}

.weekly-metric-entry-family small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.weekly-metric-entry-family.is-active small {
  color: var(--accent-strong);
}

.weekly-metric-entry-family.has-unsaved:not(.is-active),
.weekly-metric-entry-subcategory.has-unsaved:not(.is-active) {
  border-color: var(--amber);
}

.weekly-metric-entry-family.has-unsaved:not(.is-active) small,
.weekly-metric-entry-subcategory.has-unsaved:not(.is-active) small {
  color: var(--amber);
}

.weekly-metric-entry-group-picker {
  display: grid;
  gap: 10px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-2);
}

.weekly-metric-entry-group-picker > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.weekly-metric-entry-group-picker h3,
.weekly-metric-entry-selected-heading h3 {
  margin: 2px 0 0;
  font-size: 17px;
}

.weekly-metric-entry-category-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.weekly-metric-entry-subcategory {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 42px;
  padding: 8px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--ink-2);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.weekly-metric-entry-subcategory:hover,
.weekly-metric-entry-subcategory:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 62%, var(--line));
  color: var(--accent-strong);
}

.weekly-metric-entry-subcategory.is-active {
  border-color: var(--accent);
  background: var(--accent);
  color: white;
}

.weekly-metric-entry-subcategory strong {
  font-size: 13px;
  font-weight: 800;
}

.weekly-metric-entry-subcategory small {
  min-width: 22px;
  padding: 1px 6px;
  border-radius: 999px;
  background: color-mix(in srgb, currentColor 10%, transparent);
  font-size: 10px;
  font-weight: 780;
  text-align: center;
}

.weekly-metric-entry-selected-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding-top: 2px;
  border-top: 1px solid var(--line);
}

.weekly-metric-entry-selected-heading p {
  max-width: 46ch;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  text-align: right;
}

.weekly-metric-entry-form {
  display: grid;
  align-items: start;
  gap: 14px;
  min-width: 0;
}

.weekly-metric-entry-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
  gap: 12px;
  min-width: 0;
}

.weekly-metric-entry-field,
.weekly-metric-entry-field > label {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
}

.weekly-metric-entry-field {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.weekly-metric-entry-field-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 5px 9px;
  color: var(--ink-2);
  font-size: 13px;
  font-weight: 780;
}

.weekly-metric-entry-field-mode {
  font-size: 10px;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.weekly-metric-entry-field .input,
.weekly-metric-entry-date .input,
.weekly-metrics-year-filter {
  min-width: 0;
}

.weekly-metrics-year-filter {
  display: grid;
  gap: 7px;
  color: var(--ink-2);
  font-size: 13px;
  font-weight: 760;
}

.weekly-metric-entry-field .input,
.weekly-metric-entry-date .input,
.weekly-metrics-year-filter .input {
  width: 100%;
}

.weekly-metric-entry-field.has-error {
  border-color: color-mix(in srgb, var(--red) 62%, var(--line));
  background: color-mix(in srgb, var(--red-soft) 52%, var(--surface));
}

.weekly-metric-entry-field.has-error .input {
  border-color: var(--red);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--red) 18%, transparent);
}

.weekly-metric-entry-field-note {
  color: var(--muted);
  font-size: 11px;
  font-weight: 560;
  line-height: 1.4;
}

.weekly-metric-entry-field-error {
  color: var(--red);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.weekly-metric-entry-summary,
.weekly-metric-entry-submit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.weekly-metric-entry-summary > :first-child {
  flex: 1 1 260px;
}

.weekly-metric-entry-summary .button {
  flex: 0 0 auto;
}

.weekly-metric-entry-calculations {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
  border-radius: var(--radius-sm);
  background: var(--surface-2);
}

.weekly-metric-entry-calculation {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 5px 12px;
  min-width: 0;
  padding: 10px 12px;
  color: var(--ink-2);
  font-size: 12px;
}

.weekly-metric-entry-calculation + .weekly-metric-entry-calculation {
  border-top: 1px solid var(--line);
}

.weekly-metric-entry-calculation strong,
.weekly-metric-entry-calculation output {
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.weekly-metric-entry-mode {
  display: grid;
  gap: 3px;
  grid-column: 1 / -1;
  padding: 11px 13px;
  border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
  border-radius: var(--radius-sm);
  background: var(--accent-soft);
  color: var(--ink-2);
  font-size: 13px;
}

.weekly-metric-entry-mode strong {
  color: var(--ink);
}

.weekly-metric-prefill-note {
  display: grid;
  gap: 0.2rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--accent) 8%, var(--panel));
}

.weekly-metric-definition-badge {
  display: block;
  width: max-content;
  margin-top: 0.25rem;
  padding: 0.12rem 0.38rem;
  border-radius: 999px;
  background: var(--surface-muted, rgba(0, 0, 0, 0.06));
  color: var(--muted);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.weekly-metric-definition-badge.is-automated {
  color: var(--success, #287451);
}

.weekly-metric-definition-badge.is-prefilled {
  color: var(--accent);
}

.weekly-metric-entry-mode[data-entry-mode="manager_override"] {
  border-color: color-mix(in srgb, var(--amber) 42%, var(--line));
  background: var(--amber-soft);
}

.weekly-metric-resolution-note {
  display: grid;
  gap: 3px;
  grid-column: 1 / -1;
  padding: 11px 13px;
  border: 1px solid color-mix(in srgb, var(--amber) 42%, var(--line));
  border-radius: var(--radius-sm);
  background: var(--amber-soft);
  color: var(--ink-2);
  font-size: 13px;
}

.weekly-metric-resolution-note.is-neutral {
  border-color: var(--line);
  background: var(--surface-2);
}

.weekly-metric-entry-loading {
  min-height: 94px;
}

.weekly-metrics-spreadsheet {
  display: grid;
  gap: 16px;
  min-width: 0;
  padding-inline: 0;
  overflow: hidden;
}

.weekly-metrics-table-toolbar,
.weekly-metrics-pagination,
.weekly-metrics-spreadsheet > .error,
.weekly-metrics-table-updating {
  margin-inline: 20px;
}

.weekly-metrics-table-toolbar {
  align-items: end;
  padding-top: 2px;
}

.weekly-metrics-table-toolbar p {
  max-width: 720px;
  margin: 5px 0 0;
}

.weekly-metrics-table-controls {
  display: flex;
  align-items: end;
  gap: 8px;
  margin-left: auto;
}

.weekly-metrics-column-order-status {
  color: var(--accent);
  font-size: 12px;
  font-weight: 720;
}

.weekly-metrics-year-filter {
  min-width: 112px;
}

.weekly-metrics-table-updating {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
}

.weekly-metrics-table-updating .spinner {
  width: 18px;
  height: 18px;
}

.weekly-metrics-table-scroll {
  width: 100%;
  max-width: 100%;
  overflow: auto;
  border-block: 1px solid var(--line);
  background: var(--surface);
  overscroll-behavior-inline: contain;
}

.weekly-metrics-table-scroll:focus {
  outline: 0;
  box-shadow: inset var(--focus-ring);
}

.weekly-metrics-table {
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

.weekly-metrics-table th,
.weekly-metrics-table td {
  min-width: 120px;
  padding: 10px 12px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  text-align: right;
  white-space: nowrap;
}

.weekly-metrics-table thead th {
  position: sticky;
  z-index: 2;
  top: 0;
  width: 120px;
  max-width: 120px;
  background: var(--surface-2);
  color: var(--ink-2);
  font-size: 11px;
  line-height: 1.25;
  letter-spacing: 0.035em;
  text-transform: uppercase;
  vertical-align: bottom;
  white-space: normal;
}

.weekly-metrics-column-heading {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 5px;
}

.weekly-metrics-column-drag-handle {
  display: inline-grid;
  flex: 0 0 auto;
  width: 40px;
  min-width: 40px;
  height: 40px;
  padding: 0;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  color: var(--muted);
  cursor: grab;
  font: inherit;
  font-size: 15px;
  line-height: 1;
  touch-action: none;
}

.weekly-metrics-column-drag-handle:hover,
.weekly-metrics-column-drag-handle:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
  background: var(--accent-soft);
  color: var(--accent);
  outline: 0;
}

.weekly-metrics-column-drag-handle:active,
.weekly-metrics-column-drag-handle.is-dragging {
  cursor: grabbing;
}

.weekly-metrics-column-drag-handle.is-dragging {
  opacity: 0.45;
}

.weekly-metrics-column-header.is-drop-before {
  box-shadow: inset 4px 0 0 var(--accent);
  background: var(--accent-soft);
}

.weekly-metrics-column-header.is-drop-after {
  box-shadow: inset -4px 0 0 var(--accent);
  background: var(--accent-soft);
}

.weekly-metrics-table tbody tr:nth-child(even) td,
.weekly-metrics-table tbody tr:nth-child(even) th {
  background: color-mix(in srgb, var(--surface-2) 42%, var(--surface));
}

.weekly-metrics-table tr:last-child th,
.weekly-metrics-table tr:last-child td {
  border-bottom: 0;
}

.weekly-metrics-table .weekly-metrics-date-column {
  position: sticky;
  z-index: 1;
  left: 0;
  width: 112px;
  min-width: 112px;
  max-width: 112px;
  border-right: 2px solid var(--line-strong);
  text-align: left;
}

.weekly-metrics-table thead .weekly-metrics-date-column {
  z-index: 3;
}

.weekly-metrics-cell-button {
  width: 100%;
  padding: 5px 7px;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  text-align: right;
}

.weekly-metrics-cell-button:hover,
.weekly-metrics-cell-button:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 36%, var(--line));
  background: var(--accent-soft);
  outline: 0;
}

.weekly-metrics-editing-cell {
  min-width: 280px !important;
  white-space: normal !important;
}

.weekly-metrics-cell-editor {
  display: grid;
  align-items: center;
  gap: 6px;
  grid-template-columns: minmax(92px, 1fr) auto auto;
}

.weekly-metrics-cell-reason {
  display: grid;
  gap: 5px;
  grid-column: 1 / -1;
  color: var(--ink-2);
  font-size: 11px;
  font-weight: 760;
  text-align: left;
}

.weekly-metrics-cell-reason .input {
  width: 100%;
}

.weekly-metrics-cell-editor .input {
  min-width: 92px;
}

.weekly-metrics-cell-editor .button {
  min-height: 36px;
  padding: 7px 10px;
}

.weekly-metrics-cell-error {
  display: block;
  margin-top: 6px;
  color: var(--red);
  text-align: left;
}

.weekly-metrics-empty {
  min-width: min(640px, calc(100vw - 80px));
  padding: 28px;
  color: var(--muted);
  text-align: center;
}

.weekly-metrics-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 2px;
}

@media (max-width: 900px) {
  .weekly-metrics-hero {
    grid-template-columns: 1fr;
  }

  .weekly-metrics-hero-actions {
    justify-content: flex-start;
  }

  .weekly-metric-entry-family-picker {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .weekly-metric-entry-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .weekly-metrics-glance {
    grid-template-columns: 1fr;
  }

  .weekly-metrics-view-switch {
    width: 100%;
  }

  .weekly-metric-entry-topbar,
  .weekly-metric-entry-date {
    width: 100%;
  }

  .weekly-metric-entry-family-picker {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .weekly-metric-entry-fields {
    grid-template-columns: 1fr;
  }

  .weekly-metric-entry-family {
    min-height: 0;
  }

  .weekly-metric-entry-family span {
    display: none;
  }

  .weekly-metric-entry-subcategory {
    flex: 1 1 180px;
    min-width: 0;
  }

  .weekly-metric-entry-group-picker > div:first-child,
  .weekly-metric-entry-selected-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .weekly-metric-entry-selected-heading p {
    text-align: left;
  }

  .weekly-metrics-table-toolbar,
  .weekly-metrics-pagination,
  .weekly-metrics-spreadsheet > .error,
  .weekly-metrics-table-updating {
    margin-inline: 14px;
  }

  .weekly-metrics-table-toolbar,
  .weekly-metrics-pagination,
  .weekly-metric-entry-summary,
  .weekly-metric-entry-submit {
    align-items: stretch;
    flex-direction: column;
  }

  .weekly-metrics-year-filter {
    width: 100%;
  }

  .weekly-metrics-table-controls {
    display: grid;
    width: 100%;
    margin-left: 0;
  }

  .weekly-metrics-table-controls .button {
    width: 100%;
  }

  .weekly-metrics-pagination .toolbar,
  .weekly-metric-entry-summary .button,
  .weekly-metric-entry-submit .button {
    width: 100%;
  }

  .weekly-metric-entry-summary .button {
    flex-basis: auto;
  }

  .weekly-metrics-pagination .button {
    flex: 1;
  }

  .weekly-metrics-table th,
  .weekly-metrics-table td {
    min-width: 116px;
    padding: 9px 10px;
  }

  .weekly-metrics-table .weekly-metrics-date-column {
    min-width: 128px;
  }
}

/* Live routing decisions */

.routing-review-hero {
  align-items: center;
  background:
    radial-gradient(circle at 94% 12%, rgba(255, 255, 255, 0.72), transparent 34%),
    linear-gradient(135deg, #f7fbfe, #e8f0f7);
  border-color: #c7d7e5;
  display: grid;
  gap: clamp(22px, 4vw, 46px);
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.62fr);
  padding: clamp(22px, 3vw, 34px);
}

.live-routing-review-hero {
  background:
    radial-gradient(circle at 94% 12%, rgba(255, 255, 255, 0.78), transparent 34%),
    linear-gradient(135deg, #edf7f2, #dcece5);
  border-color: #afd0c0;
}

.live-routing-review-hero .eyebrow {
  color: #245d47;
}

.live-routing-review-tabs {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(180px, 1fr)) minmax(150px, auto);
}

.live-routing-review-card {
  border-color: #b8cddd;
}

.live-routing-review-card .routing-review-source blockquote {
  min-height: 112px;
}

.live-routing-source-details {
  display: grid;
  gap: 5px;
  margin-top: 10px;
  overflow-wrap: anywhere;
}

.live-routing-review-decision-bar {
  grid-template-columns: minmax(180px, 1.3fr) repeat(4, minmax(130px, 1fr));
}

.live-routing-review-correction > .muted {
  font-size: 14px;
  margin: -13px 0 0;
}

.live-routing-destination-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.live-routing-review-note {
  display: grid;
  gap: 8px;
}

.live-routing-review-note > span {
  font-weight: 760;
}

.live-routing-review-note small {
  color: var(--muted);
  font-weight: 560;
}

.live-routing-review-note textarea {
  font: inherit;
  line-height: 1.5;
  min-height: 104px;
  resize: vertical;
  width: 100%;
}

.live-routing-review-complete {
  border-color: #b9d8ca;
}

.live-routing-resolved-list {
  display: grid;
  gap: 18px;
}

.live-routing-resolved-list > .toolbar {
  justify-content: space-between;
  margin: 0;
}

.live-routing-resolved-list h2 {
  margin: 4px 0 0;
}

.live-routing-resolved-items {
  display: grid;
  gap: 10px;
}

.live-routing-resolved-item {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 0 16px;
}

.live-routing-resolved-item > summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  min-height: 70px;
  padding: 12px 0;
}

.live-routing-resolved-item > summary > span:first-child {
  display: grid;
  gap: 4px;
}

.live-routing-resolved-item > summary small {
  color: var(--muted);
}

.live-routing-resolved-item > blockquote {
  background: var(--surface-2);
  border-left: 4px solid var(--accent);
  border-radius: 7px;
  line-height: 1.55;
  margin: 0 0 14px;
  overflow-wrap: anywhere;
  padding: 14px 16px;
  white-space: pre-wrap;
}

.live-routing-resolved-item > .routing-review-path,
.live-routing-resolved-item > .muted {
  margin-bottom: 14px;
}

.routing-review-hero h2 {
  font-size: clamp(26px, 3vw, 36px);
  margin: 4px 0 10px;
}

.routing-review-hero p {
  color: var(--ink-2);
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
  max-width: 760px;
}

.routing-review-progress {
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid #c7d7e5;
  border-radius: 12px;
  display: grid;
  gap: 12px;
  padding: 18px;
}

.routing-review-progress-copy {
  align-items: baseline;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.routing-review-progress-copy strong {
  color: var(--accent-strong);
  font-size: 22px;
}

.routing-review-progress-copy span,
.routing-review-save-state {
  color: var(--muted);
  font-weight: 680;
}

.routing-review-progress-track {
  background: #d9e4ed;
  border-radius: 999px;
  height: 10px;
  overflow: hidden;
}

.routing-review-progress-track span {
  background: linear-gradient(90deg, var(--accent), #5b8eb6);
  border-radius: inherit;
  display: block;
  height: 100%;
  transition: width 180ms ease;
}

.routing-review-save-state[data-state="saving"] {
  color: var(--accent-strong);
}

.routing-review-save-state[data-state="error"] {
  color: #7b2c28;
}

.routing-review-tabs {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(130px, 1fr)) minmax(160px, auto);
}

.routing-review-tab,
.routing-review-shortcuts-button {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  color: var(--ink-2);
  display: flex;
  font-weight: 760;
  gap: 12px;
  justify-content: space-between;
  min-height: 56px;
  padding: 12px 14px;
  text-align: left;
}

.routing-review-tab:hover,
.routing-review-shortcuts-button:hover {
  background: var(--accent-soft);
  border-color: var(--accent);
}

.routing-review-tab strong {
  align-items: center;
  background: var(--surface-2);
  border-radius: 999px;
  display: inline-flex;
  justify-content: center;
  min-height: 30px;
  min-width: 30px;
  padding: 3px 8px;
}

.routing-review-tab.is-active {
  background: var(--accent-strong);
  border-color: var(--accent-strong);
  color: #fff;
  box-shadow: 0 10px 24px rgba(32, 63, 92, 0.18);
}

.routing-review-tab.is-active strong {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
}

.routing-review-shortcuts-button {
  justify-content: center;
}

.routing-review-shortcuts-button kbd,
.routing-review-action kbd,
.routing-review-shortcut-grid kbd,
.routing-review-correction-save kbd {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
  border-bottom-width: 2px;
  border-radius: 5px;
  color: inherit;
  font: inherit;
  font-size: 12px;
  font-weight: 820;
  line-height: 1;
  min-width: 26px;
  padding: 5px 6px;
  text-align: center;
}

.routing-review-shortcuts {
  display: grid;
  gap: 12px;
}

.routing-review-shortcuts .toolbar {
  justify-content: space-between;
  margin: 0;
}

.routing-review-shortcut-grid {
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.routing-review-shortcut-grid > div {
  align-items: center;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  gap: 10px;
  min-height: 52px;
  padding: 10px;
}

.routing-review-error,
.routing-review-undo {
  align-items: center;
  display: flex;
  gap: 14px;
  justify-content: space-between;
}

.routing-review-empty {
  align-items: center;
  display: grid;
  justify-items: center;
  margin-inline: auto;
  max-width: 760px;
  padding: clamp(34px, 6vw, 68px);
  text-align: center;
  width: 100%;
}

.routing-review-empty-mark {
  align-items: center;
  background: var(--teal-soft);
  border: 1px solid #b9d8ca;
  border-radius: 999px;
  color: var(--green);
  display: flex;
  font-size: 26px;
  font-weight: 860;
  height: 58px;
  justify-content: center;
  margin-bottom: 8px;
  width: 58px;
}

.routing-review-card {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  box-shadow: 0 24px 56px rgba(45, 39, 35, 0.1);
  display: grid;
  margin-inline: auto;
  max-width: 1040px;
  min-width: 0;
  width: 100%;
}

.routing-review-card-head {
  align-items: flex-start;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: clamp(20px, 3vw, 28px);
}

.routing-review-card-head h2 {
  font-size: 22px;
  margin: 5px 0 0;
}

.routing-review-source,
.routing-review-model,
.routing-review-correction,
.routing-review-complete {
  padding: clamp(20px, 3vw, 30px);
}

.routing-review-source {
  display: grid;
  gap: 12px;
}

.routing-review-source h3 {
  font-size: 18px;
  line-height: 1.42;
  margin: 0;
}

.routing-review-source blockquote {
  background: #fffcf8;
  border: 1px solid var(--line);
  border-left: 5px solid var(--accent);
  border-radius: 9px;
  color: var(--ink);
  font-size: clamp(17px, 2vw, 20px);
  font-weight: 570;
  line-height: 1.58;
  margin: 0;
  min-height: 88px;
  overflow-wrap: anywhere;
  padding: 18px 20px;
  white-space: pre-wrap;
}

.routing-review-source blockquote.is-blank {
  color: var(--muted);
  font-style: italic;
  font-weight: 500;
}

.routing-review-source details {
  color: var(--muted);
}

.routing-review-source summary {
  cursor: pointer;
  font-weight: 720;
  margin-bottom: 10px;
}

.routing-review-section-label {
  color: var(--muted);
  display: block;
  font-size: 11px;
  font-weight: 820;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.routing-review-model {
  background: #f5f8fb;
  border-block: 1px solid #d7e2ec;
  display: grid;
  gap: 18px;
}

.routing-review-model-head {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.routing-review-recommendation {
  color: var(--accent-strong);
  display: block;
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.18;
  margin-top: 5px;
}

.routing-review-recommendation-no-route {
  color: var(--green);
}

.routing-review-path {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.routing-review-path li {
  align-items: center;
  background: var(--surface);
  border: 1px solid #c7d7e5;
  border-radius: 9px;
  display: flex;
  gap: 10px;
  min-height: 54px;
  min-width: 170px;
  padding: 10px 14px;
  position: relative;
}

.routing-review-path li:not(:last-child)::after {
  color: var(--accent);
  content: "\2192";
  font-size: 20px;
  font-weight: 800;
  left: calc(100% + 7px);
  position: absolute;
}

.routing-review-path li > span,
.routing-review-path-position {
  align-items: center;
  background: var(--accent-strong);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  font-weight: 820;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.routing-review-no-path {
  background: var(--surface);
  border: 1px dashed #b8cad9;
  border-radius: 9px;
  color: var(--muted);
  font-size: 15px;
  font-weight: 680;
  padding: 16px;
}

.routing-review-model-reason {
  font-size: 15px;
  margin: 0;
}

.routing-review-reason-codes {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.routing-review-reason-codes > span:first-child {
  color: var(--muted);
  font-size: 12px;
  font-weight: 780;
}

.routing-review-decision-bar {
  background: #fffdf9;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 18px;
}

.routing-review-action {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  color: var(--ink);
  display: flex;
  font-weight: 790;
  gap: 10px;
  justify-content: space-between;
  line-height: 1.25;
  min-height: 72px;
  padding: 14px 15px;
  text-align: left;
}

.routing-review-action:hover,
.routing-review-action.is-selected {
  background: var(--accent-soft);
  border-color: var(--accent);
  color: var(--accent-strong);
  transform: translateY(-1px);
}

.routing-review-action.is-primary {
  background: linear-gradient(145deg, var(--accent), var(--accent-strong));
  border-color: var(--accent-strong);
  color: #fff;
}

.routing-review-action.is-primary:hover {
  background: linear-gradient(145deg, #44759c, #18344d);
}

.routing-review-action.is-warning {
  background: var(--amber-soft);
  border-color: #dec38d;
  color: #65400f;
}

.routing-review-action.is-quiet {
  color: var(--muted);
}

.routing-review-action:disabled {
  cursor: wait;
  opacity: 0.54;
  transform: none;
}

.routing-review-action.is-primary kbd {
  background: rgba(255, 255, 255, 0.14);
}

.routing-review-privacy-actions > p {
  color: var(--muted);
  font-size: 12px;
  grid-column: 1 / -1;
  margin: 2px 2px 0;
}

.routing-review-correction {
  background: #fffcf7;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 24px;
}

.routing-review-correction-head {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.routing-review-correction-head h3 {
  font-size: 21px;
  margin: 4px 0 0;
}

.routing-review-choice-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.routing-review-choice {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  color: var(--ink);
  display: grid;
  gap: 6px;
  grid-template-columns: 34px minmax(0, 1fr);
  min-height: 104px;
  padding: 14px;
  text-align: left;
}

.routing-review-choice-number {
  align-items: center;
  background: var(--surface-2);
  border-radius: 999px;
  display: flex;
  font-weight: 820;
  height: 30px;
  justify-content: center;
  width: 30px;
}

.routing-review-choice > strong {
  align-self: center;
  font-size: 15px;
}

.routing-review-choice > small {
  color: var(--muted);
  grid-column: 2;
  line-height: 1.45;
}

.routing-review-choice:hover,
.routing-review-choice.is-selected,
.routing-review-destination:hover,
.routing-review-destination.is-selected,
.routing-review-reason:hover,
.routing-review-reason.is-selected {
  background: var(--accent-soft);
  border-color: var(--accent);
  color: var(--accent-strong);
}

.routing-review-choice.is-selected,
.routing-review-destination.is-selected,
.routing-review-reason.is-selected {
  box-shadow: inset 0 0 0 1px var(--accent);
}

.routing-review-choice.is-selected .routing-review-choice-number {
  background: var(--accent-strong);
  color: #fff;
}

.routing-review-correction-section {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 14px;
  padding-top: 22px;
}

.routing-review-correction-section p {
  color: var(--muted);
  margin: 4px 0 0;
}

.routing-review-destination-grid {
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.routing-review-destination,
.routing-review-reason {
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 9px;
  color: var(--ink-2);
  font-weight: 740;
  min-height: 52px;
  padding: 11px 13px;
  text-align: left;
}

.routing-review-destination {
  align-items: center;
  display: flex;
  gap: 10px;
}

.routing-review-destination-check {
  align-items: center;
  border: 2px solid var(--line-strong);
  border-radius: 6px;
  display: flex;
  flex: 0 0 auto;
  height: 24px;
  justify-content: center;
  width: 24px;
}

.routing-review-destination.is-selected .routing-review-destination-check {
  background: var(--accent-strong);
  border-color: var(--accent-strong);
  color: #fff;
}

.routing-review-path-editor {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 2px 0 0;
  padding: 0;
}

.routing-review-path-editor li {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 9px;
  display: grid;
  gap: 12px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 60px;
  padding: 8px 10px 8px 14px;
}

.routing-review-path-controls {
  display: flex;
  gap: 6px;
}

.routing-review-path-controls button {
  align-items: center;
  background: var(--surface-2);
  border: 1px solid var(--line-strong);
  border-radius: 7px;
  color: var(--ink-2);
  display: flex;
  font-size: 18px;
  font-weight: 800;
  height: 42px;
  justify-content: center;
  min-width: 42px;
}

.routing-review-path-controls button:hover:not(:disabled) {
  background: var(--accent-soft);
  border-color: var(--accent);
  color: var(--accent-strong);
}

.routing-review-path-controls button:disabled {
  cursor: not-allowed;
  opacity: 0.35;
}

.routing-review-reason-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.routing-review-reason {
  min-height: 48px;
  text-align: center;
}

.routing-review-correction-save {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.routing-review-correction-save .button {
  min-height: 50px;
  padding-inline: 20px;
}

.routing-review-correction-save > span {
  color: var(--muted);
}

.routing-review-complete {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.routing-review-complete strong {
  display: block;
  font-size: 20px;
  margin-top: 5px;
}

.routing-review-complete p {
  color: var(--muted);
  margin: 8px 0 0;
}

@media (max-width: 980px) {
  .routing-review-hero {
    grid-template-columns: 1fr;
  }

  .routing-review-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .live-routing-review-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .live-routing-review-tabs .routing-review-shortcuts-button {
    grid-column: 1 / -1;
  }

  .routing-review-shortcuts-button {
    grid-column: 1 / -1;
  }

  .routing-review-shortcut-grid,
  .routing-review-choice-grid,
  .routing-review-destination-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body[data-workspace="routing-review"] .main {
    padding-bottom: 244px;
  }

  .routing-review-card-head,
  .routing-review-model-head,
  .routing-review-correction-head {
    display: grid;
    grid-template-columns: 1fr;
  }

  .routing-review-decision-bar {
    backdrop-filter: blur(18px);
    background: rgba(255, 253, 249, 0.94);
    border: 1px solid var(--line-strong);
    border-radius: 14px 14px 0 0;
    bottom: 0;
    box-shadow: 0 -16px 34px rgba(45, 39, 35, 0.16);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    left: 0;
    padding: 12px max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
    position: fixed;
    right: 0;
    z-index: 40;
  }

  .routing-review-action {
    min-height: 58px;
    padding: 10px 12px;
  }

  .routing-review-privacy-actions > p {
    display: none;
  }

  .routing-review-path {
    display: grid;
    gap: 9px;
  }

  .routing-review-path li {
    min-width: 0;
    width: 100%;
  }

  .routing-review-path li:not(:last-child)::after {
    bottom: -20px;
    content: "\2193";
    left: 50%;
    top: auto;
  }

  .routing-review-error,
  .routing-review-undo,
  .routing-review-complete {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .captain-team-agenda {
    padding: 18px 14px;
  }

  .captain-team-agenda-add-form,
  .captain-team-agenda-category-form,
  .captain-team-agenda-item-footer,
  .captain-team-agenda-closeout {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .captain-team-agenda-item-heading {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .captain-team-agenda-item-actions {
    grid-column: 2;
    justify-self: start;
    flex-wrap: wrap;
  }

  .captain-team-agenda-category-field {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .captain-team-agenda-category-select {
    max-width: none;
  }

  .captain-team-agenda-route-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .captain-team-agenda-route-actions .button,
  .captain-team-agenda-closeout .button {
    width: 100%;
  }

  .captain-team-review-glance {
    grid-template-columns: 1fr;
  }

  .captain-team-review-glance > div {
    border-right: 0;
    border-bottom: 1px solid rgba(47, 115, 87, 0.16);
  }

  .captain-team-review-glance > div:last-child {
    border-bottom: 0;
  }

  .captain-team-member > summary {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .captain-team-member-status {
    grid-column: 1 / -1;
    justify-self: start;
    grid-row: 2;
  }

  .captain-team-member > summary::after {
    grid-column: 2;
    grid-row: 1;
  }

  .live-routing-review-tabs,
  .routing-review-tabs,
  .routing-review-shortcut-grid,
  .routing-review-choice-grid,
  .routing-review-destination-grid {
    grid-template-columns: 1fr;
  }

  .live-routing-review-tabs .routing-review-shortcuts-button {
    grid-column: auto;
  }

  .routing-review-shortcuts-button {
    grid-column: auto;
  }

  .routing-review-card {
    border-radius: 10px;
  }

  .routing-review-card-head,
  .routing-review-source,
  .routing-review-model,
  .routing-review-correction,
  .routing-review-complete {
    padding: 18px;
  }

  .routing-review-source blockquote {
    padding: 16px;
  }

  .routing-review-path-editor li {
    align-items: start;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .routing-review-path-controls {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }
}

@media (max-width: 760px) {
  .weekly-review-hero,
  .captain-team-review-hero {
    grid-template-columns: 1fr;
  }

  .captain-team-agenda-heading {
    display: grid;
  }

  .captain-team-agenda-heading-actions {
    justify-content: flex-start;
  }

  .captain-team-agenda-intro {
    display: grid;
    align-items: stretch;
  }

  .captain-team-agenda-controls {
    justify-content: flex-start;
  }

  .weekly-review-toolbar {
    align-items: stretch;
  }

  .captain-team-review-actions {
    justify-content: flex-start;
  }

  .captain-team-review-heading,
  .captain-team-members-heading,
  .captain-team-person-analysis-heading,
  .senior-team-review-list-heading,
  .senior-team-review-card-heading {
    display: grid;
    justify-items: start;
  }

  .captain-team-analysis-grid {
    grid-template-columns: 1fr;
  }

  .senior-team-review-details > summary {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .senior-team-review-details > summary > span:last-child {
    grid-column: 1;
    grid-row: 2;
  }

  .senior-team-review-details > summary::after {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}

/* Weekday PreK */
.prek-command {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 154px;
  padding: 24px 26px;
  overflow: hidden;
  border: 1px solid rgba(35, 76, 59, 0.76);
  border-radius: calc(var(--radius) + 4px);
  background:
    radial-gradient(circle at 88% 5%, rgba(255, 255, 255, 0.16), transparent 28%),
    linear-gradient(135deg, #214636, #3f765f 66%, #56856f);
  color: rgba(255, 255, 255, 0.86);
  box-shadow: 0 20px 42px rgba(35, 76, 59, 0.19);
}

.prek-command h2 {
  margin: 2px 0 7px;
  color: #ffffff;
  font-size: 28px;
}

.prek-command p {
  max-width: 640px;
  margin: 0;
}

.prek-eyebrow {
  color: var(--accent-strong);
  font-size: 11px;
  font-weight: 840;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.prek-command .prek-eyebrow {
  color: #cde8da;
}

.prek-command-actions {
  display: flex;
  align-items: end;
  gap: 9px;
  flex: 0 0 auto;
}

.prek-month-field {
  display: grid;
  gap: 5px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-weight: 760;
}

.prek-month-field .input {
  width: 180px;
  border-color: rgba(255, 255, 255, 0.46);
  background: rgba(255, 255, 255, 0.96);
}

.prek-command .button.secondary {
  border-color: rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  box-shadow: none;
}

.prek-command .button.secondary:hover {
  background: rgba(255, 255, 255, 0.2);
}

.prek-refresh-line {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.prek-refresh-line .spinner {
  width: 17px;
  height: 17px;
  border-width: 2px;
}

.prek-metrics .metric {
  min-height: 118px;
}

.prek-metrics .metric:nth-child(1)::before {
  background: #c17b28;
}

.prek-metrics .metric:nth-child(2)::before {
  background: #b95b50;
}

.prek-metrics .metric:nth-child(3)::before {
  background: #537ba0;
}

.prek-metrics .metric:nth-child(4)::before {
  background: var(--accent);
}

.prek-overview-grid {
  align-items: stretch;
}

.prek-attention-panel,
.prek-links-panel {
  min-height: 286px;
}

.prek-attention-panel .toolbar > div:first-child,
.prek-section-intro > div,
.prek-report-panel .toolbar > div:first-child {
  min-width: 0;
  margin-right: auto;
}

.prek-task-list,
.prek-link-list,
.prek-card-list,
.prek-snapshot-list {
  display: grid;
  gap: 10px;
}

.prek-task {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--bg-elevated);
  color: var(--ink);
  text-align: left;
}

.prek-task:hover,
.prek-link-card:hover {
  border-color: color-mix(in srgb, var(--accent) 48%, var(--line));
  background: var(--accent-soft);
  transform: translateY(-1px);
}

.prek-task-count {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--amber-soft);
  color: #70470f;
  font-size: 17px;
  font-weight: 850;
}

.prek-task strong,
.prek-link-card strong {
  display: block;
  color: var(--ink);
  font-size: 13px;
}

.prek-task small,
.prek-link-card small,
.prek-snapshot-row small,
.prek-override-row small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.prek-task-arrow {
  color: var(--accent-strong);
  font-size: 18px;
}

.prek-links-panel {
  background:
    linear-gradient(150deg, rgba(230, 241, 235, 0.76), rgba(255, 255, 255, 0) 62%),
    var(--surface);
}

.prek-link-list {
  margin-top: 20px;
}

.prek-link-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.84);
  color: var(--accent-strong);
  text-decoration: none;
}

.prek-link-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: var(--accent-soft);
  color: var(--accent-strong);
  font-size: 11px;
  font-weight: 860;
  letter-spacing: 0.05em;
}

.prek-section-intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 3px 2px;
}

.prek-section-intro h2 {
  margin: 3px 0 4px;
  font-size: 24px;
}

.prek-section-intro p {
  margin: 0;
  color: var(--muted);
}

.prek-summary-pair {
  grid-template-columns: repeat(2, minmax(0, 240px));
}

.prek-summary-card {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.prek-summary-card strong {
  color: var(--accent-strong);
  font-size: 24px;
  line-height: 1;
}

.prek-summary-card span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 670;
}

.prek-pto-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.prek-pto-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 12px;
  min-height: 78px;
  padding: 12px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--bg-elevated);
}

.prek-pto-card strong,
.prek-pto-card small {
  display: block;
}

.prek-pto-card strong {
  overflow: hidden;
  color: var(--ink-2);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.prek-pto-card small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}

.prek-pto-value {
  color: var(--accent-strong);
  font-size: 19px;
  font-weight: 850;
}

.prek-pto-track {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 4px;
  background: var(--surface-3);
}

.prek-pto-track i {
  display: block;
  height: 100%;
  background: var(--accent);
}

.prek-pto-card.is-unpaid {
  background: var(--surface-2);
}

.prek-pto-card.is-unpaid .prek-pto-value {
  color: var(--muted);
  font-size: 13px;
}

.prek-record-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--bg-elevated);
}

.prek-record-main {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  min-width: 0;
}

.prek-avatar {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #c6dbd1;
  border-radius: 50%;
  background: var(--accent-soft);
  color: var(--accent-strong);
  font-size: 12px;
  font-weight: 860;
  letter-spacing: 0.04em;
}

.prek-record-title-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.prek-record-title-row h3 {
  margin: 0;
  font-size: 15px;
}

.prek-record-detail {
  margin: 3px 0 8px;
  color: var(--muted);
  font-size: 13px;
}

.prek-record-note {
  max-width: 640px;
  margin-top: 10px;
  padding: 9px 10px;
  border-left: 3px solid var(--accent);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  background: var(--accent-soft);
}

.prek-record-note strong,
.prek-record-note span {
  display: block;
}

.prek-record-note strong {
  color: var(--accent-strong);
  font-size: 10px;
  font-weight: 820;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.prek-record-note span {
  margin-top: 3px;
  color: var(--ink-2);
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.prek-record-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
  flex: 0 0 auto;
}

.prek-status {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 3px 7px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 790;
}

.prek-status.is-pending {
  border-color: #e3ca9b;
  background: var(--amber-soft);
  color: #70470f;
}

.prek-status.is-approved {
  border-color: #b9d8ca;
  background: var(--teal-soft);
  color: var(--green);
}

.prek-status.is-denied {
  border-color: #e1b6b2;
  background: var(--red-soft);
  color: #7b2c28;
}

.prek-hours-emphasis {
  display: inline-block;
  margin: 0 0 4px;
  color: var(--ink);
  font-size: 17px;
}

.prek-reviewed-details {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.prek-reviewed-details > summary {
  cursor: pointer;
  color: var(--accent-strong);
  font-weight: 760;
}

.prek-reviewed-details > .prek-card-list {
  margin-top: 12px;
}

.prek-entry-grid {
  align-items: stretch;
}

.prek-entry-card {
  height: 100%;
}

.prek-entry-card h2 {
  margin: 4px 0 6px;
}

.prek-entry-featured {
  border-color: #c6dbd1;
  background:
    linear-gradient(155deg, rgba(230, 241, 235, 0.8), rgba(255, 255, 255, 0) 58%),
    var(--surface);
}

.prek-close-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 23px 25px;
  border: 1px solid #cfbeb0;
  border-radius: calc(var(--radius) + 4px);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(246, 237, 228, 0.86)),
    var(--surface);
  box-shadow: var(--shadow);
}

.prek-close-hero.is-closed {
  border-color: #b9d8ca;
  background: linear-gradient(135deg, #f8fcfa, #e6f1eb);
}

.prek-close-hero h2 {
  margin: 3px 0 5px;
  font-size: 27px;
}

.prek-close-hero p {
  margin: 0;
  color: var(--muted);
}

.prek-close-total {
  display: grid;
  min-width: 150px;
  padding-left: 22px;
  border-left: 1px solid var(--line-strong);
  text-align: right;
}

.prek-close-total strong {
  color: var(--accent-strong);
  font-size: 34px;
  line-height: 1;
}

.prek-close-total span {
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.prek-ready-notice {
  border-color: #b9d8ca;
  background: var(--teal-soft);
  color: var(--green);
}

.prek-report-panel .toolbar {
  align-items: end;
}

.prek-close-grid {
  align-items: start;
}

.prek-table-wrap {
  max-width: 100%;
  overflow-x: auto;
}

.prek-person-table-help {
  margin: 4px 0 0;
  font-size: 12px;
}

.prek-person-days-worked {
  display: block;
  margin-top: 3px;
  color: var(--accent-strong);
  font-size: 11px;
  font-weight: 760;
  line-height: 1.2;
  white-space: nowrap;
}

.prek-hours-table {
  min-width: 760px;
}

.prek-report-table {
  min-width: 480px;
}

.prek-hours-table th:not(:first-child),
.prek-hours-table td:not(:first-child) {
  text-align: right;
}

.prek-hours-table tfoot th {
  padding: 12px 14px;
  border-top: 2px solid var(--line-strong);
  background: var(--surface-2);
  color: var(--ink);
  text-align: right;
}

.prek-person-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  padding: 2px 0;
  border: 0;
  background: transparent;
  color: var(--accent-strong);
  font: inherit;
  font-weight: 820;
  text-align: left;
  cursor: pointer;
}

.prek-person-toggle:hover span:first-child {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.prek-person-toggle:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 36%, transparent);
  outline-offset: 3px;
  border-radius: 3px;
}

.prek-person-toggle-icon {
  display: inline-block;
  color: var(--muted);
  font-size: 16px;
  line-height: 1;
  transform: translateY(-1px);
  transition: transform 160ms ease;
}

.prek-person-toggle[aria-expanded="true"] .prek-person-toggle-icon {
  transform: rotate(180deg) translateY(1px);
}

.prek-person-summary-row.is-expanded > td,
.prek-person-summary-row.is-expanded:hover > td {
  border-bottom-color: #c6dbd1;
  background: #f5faf7;
}

.prek-person-breakdown-row > .prek-person-breakdown-cell,
.prek-person-breakdown-row:hover > .prek-person-breakdown-cell {
  padding: 0;
  border-bottom-color: #c6dbd1;
  background: #f5faf7;
  text-align: left;
}

.prek-person-breakdown {
  padding: 18px;
  border-bottom: 1px solid #c6dbd1;
  background:
    linear-gradient(145deg, rgba(230, 241, 235, 0.78), rgba(255, 255, 255, 0.44)),
    var(--surface);
}

.prek-person-breakdown-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.prek-person-breakdown-head > div {
  display: grid;
  gap: 3px;
}

.prek-person-breakdown-head > div > strong {
  color: var(--ink);
  font-size: 15px;
}

.prek-person-breakdown-head > div > span {
  color: var(--muted);
  font-size: 12px;
}

.prek-person-breakdown-total {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 12px;
}

.prek-person-breakdown-total strong {
  color: var(--accent-strong);
  font-size: 18px;
}

.prek-person-breakdown-note {
  max-width: 880px;
  margin: 12px 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.prek-day-breakdown-scroll {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.prek-day-breakdown-table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
  background: var(--surface);
}

.prek-day-breakdown-table th,
.prek-day-breakdown-table td {
  padding: 9px 11px;
  border-bottom: 1px solid var(--line);
  color: var(--ink-2);
  font-size: 12px;
  vertical-align: middle;
}

.prek-day-breakdown-table thead th {
  background: var(--surface-2);
  color: var(--muted);
  font-size: 10px;
  font-weight: 820;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.prek-day-breakdown-table th:nth-child(-n + 2),
.prek-day-breakdown-table td:nth-child(-n + 2) {
  text-align: left;
}

.prek-day-breakdown-table th:nth-child(n + 3),
.prek-day-breakdown-table td:nth-child(n + 3) {
  text-align: right;
}

.prek-day-breakdown-table th:first-child,
.prek-day-breakdown-table td:first-child {
  width: 118px;
  white-space: nowrap;
}

.prek-day-breakdown-table th:nth-child(2),
.prek-day-breakdown-table td:nth-child(2) {
  min-width: 205px;
}

.prek-day-breakdown-table tbody tr:hover td {
  background: #fbfdfc;
}

.prek-day-breakdown-table tfoot th {
  padding: 10px 11px;
  border-top: 2px solid var(--line-strong);
  border-bottom: 0;
  background: var(--surface-2);
  color: var(--ink);
}

.prek-day-breakdown-table tfoot th:first-child {
  text-align: left;
}

.prek-day-status {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 3px 7px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 10px;
  font-weight: 780;
  line-height: 1.2;
  white-space: nowrap;
}

.prek-day-status.is-worked {
  border-color: #b9d8ca;
  background: var(--teal-soft);
  color: var(--green);
}

.prek-day-status.is-paid-leave {
  border-color: #c9d6e4;
  background: #eef4fa;
  color: #355f83;
}

.prek-day-status.is-unpaid-leave {
  border-color: #e1b6b2;
  background: var(--red-soft);
  color: #7b2c28;
}

.prek-day-status.is-submitted {
  border-color: #d7c9e5;
  background: #f6f0fb;
  color: #63417e;
}

.prek-day-status.is-correction {
  border-color: #e3ca9b;
  background: var(--amber-soft);
  color: #70470f;
}

.prek-day-status.is-not-scheduled {
  color: var(--muted);
}

.prek-empty-state {
  display: grid;
  justify-items: start;
  gap: 4px;
  min-height: 92px;
  align-content: center;
  padding: 18px;
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius);
  background: var(--surface-2);
  color: var(--muted);
}

.prek-empty-state strong {
  color: var(--ink-2);
}

.prek-empty-success {
  border-color: #b9d8ca;
  background: var(--teal-soft);
}

.prek-inline-empty {
  margin-top: 14px;
  padding: 11px 12px;
  border-radius: var(--radius);
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
}

.prek-override-list {
  display: grid;
  gap: 8px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.prek-field-help {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.prek-override-form-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.prek-override-row,
.prek-snapshot-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--bg-elevated);
}

.prek-override-row.is-editing {
  border-color: #9fc7b5;
  background: var(--accent-soft);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 12%, transparent);
}

.prek-override-row > span:first-child,
.prek-snapshot-row > span:first-child {
  min-width: 0;
}

.prek-override-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 7px;
}

.prek-override-edit-button {
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
}

/* Weekday PreK public forms */
.public-prek-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 8% 0%, rgba(63, 118, 95, 0.14), transparent 34%),
    radial-gradient(circle at 100% 18%, rgba(218, 56, 50, 0.08), transparent 26%),
    var(--bg);
}

.public-prek-shell {
  width: min(720px, calc(100% - 32px));
  margin: 0 auto;
  padding: 32px 0 52px;
}

.public-prek-brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}

.public-prek-brand img {
  width: 178px;
  height: auto;
}

.public-prek-brand span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 780;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.public-prek-card {
  overflow: hidden;
  padding: 0;
  border-radius: 14px;
}

.public-prek-hero {
  padding: 27px 28px 24px;
  background:
    radial-gradient(circle at 92% 2%, rgba(255, 255, 255, 0.16), transparent 32%),
    linear-gradient(135deg, #214636, #3f765f);
  color: rgba(255, 255, 255, 0.84);
}

.public-prek-kicker {
  margin-bottom: 9px;
  color: #cde8da;
  font-size: 11px;
  font-weight: 820;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.public-prek-hero h1 {
  margin-bottom: 7px;
  color: #ffffff;
  font-size: 30px;
}

.public-prek-hero p {
  max-width: 540px;
  margin: 0;
}

.public-prek-form {
  display: grid;
  gap: 18px;
  padding: 26px 28px 28px;
}

.public-prek-form label {
  display: grid;
  gap: 7px;
}

.public-prek-form label > span:first-child,
.public-prek-label {
  color: var(--ink-2);
  font-size: 13px;
  font-weight: 760;
}

.public-prek-form .input,
.public-prek-form .select,
.public-prek-form .textarea {
  min-height: 48px;
  font-size: 16px;
}

.public-prek-form .textarea {
  min-height: 112px;
}

.public-prek-form .button {
  min-height: 48px;
  margin-top: 2px;
  font-size: 15px;
}

.public-prek-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.public-prek-choice {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 66px;
  padding: 11px 12px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  background: var(--bg-elevated);
  cursor: pointer;
}

.public-prek-choice:has(input:checked) {
  border-color: var(--accent);
  background: var(--accent-soft);
  box-shadow: var(--focus-ring);
}

.public-prek-choice:has(input:disabled) {
  opacity: 0.56;
  cursor: not-allowed;
}

.public-prek-choice input {
  width: 18px;
  height: 18px;
}

.public-prek-choice strong,
.public-prek-choice small {
  display: block;
}

.public-prek-choice small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 560;
}

.public-prek-help {
  padding: 11px 12px;
  border-left: 3px solid var(--accent);
  border-radius: 0 var(--radius) var(--radius) 0;
  background: var(--accent-soft);
  color: var(--accent-strong);
  font-size: 12px;
  font-weight: 640;
}

.public-prek-result {
  display: grid;
  gap: 3px;
}

.public-prek-result[hidden],
.public-prek-form .error[hidden] {
  display: none;
}

.public-prek-result strong {
  font-size: 14px;
}

.public-prek-footer {
  margin-top: 16px;
  color: var(--muted);
  font-size: 12px;
  text-align: center;
}

/* MOP Reports */
.mop-reports-workspace,
.mop-report-reader,
.mop-report-inbox {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.mop-report-command-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 54px;
  padding: 7px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 253, 249, 0.92);
  box-shadow: var(--shadow-soft);
}

.mop-report-tabs,
.mop-report-command-meta,
.mop-report-reader-actions,
.mop-report-inbox-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.mop-report-tab {
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--muted);
  font-weight: 760;
}

.mop-report-tab:hover,
.mop-report-tab:focus-visible {
  background: var(--surface-2);
  color: var(--ink);
}

.mop-report-tab.is-active {
  border-color: color-mix(in srgb, var(--accent) 22%, var(--line));
  background: var(--accent-soft);
  color: var(--accent-strong);
}

.mop-report-reader-toolbar,
.mop-report-panel-heading,
.mop-report-readiness-head,
.mop-report-inbox-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.mop-report-reader-toolbar {
  align-items: center;
  padding: 0 2px;
}

.mop-report-reader-toolbar strong {
  display: block;
  margin-top: 2px;
  color: var(--ink-2);
  font-size: 14px;
}

.mop-report-eyebrow {
  color: var(--accent);
  font-size: 11px;
  font-weight: 840;
  letter-spacing: 0.105em;
  line-height: 1.25;
  text-transform: uppercase;
}

.mop-report-paper {
  box-sizing: border-box;
  width: min(100%, 8.5in);
  min-height: 11in;
  margin-inline: auto;
  padding: 1in 1.25in;
  border: 1px solid #ddd8d4;
  background: #ffffff;
  box-shadow: 0 2px 5px rgba(48, 34, 29, 0.08), 0 24px 60px rgba(48, 34, 29, 0.12);
  color: #171717;
  font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.45;
}

.mop-report-document-header {
  margin: 0 0 52px;
  text-align: center;
}

.mop-report-document-header h2 {
  margin: 0;
  color: #111111;
  font-family: inherit;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
}

.mop-report-document-header p {
  margin: 18px 0 0;
  color: #171717;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.35;
}

.mop-report-body {
  display: block;
}

.mop-report-section {
  margin: 0;
}

.mop-report-section + .mop-report-section,
.mop-report-inline-section + .mop-report-section,
.mop-report-section + .mop-report-inline-section {
  margin-top: 24px;
}

.mop-report-inline-section {
  margin: 18px 0 0;
}

.mop-report-section > h3 {
  margin: 0 0 4px;
  color: #111111;
  font-family: inherit;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3;
}

.mop-report-section[data-report-section="staff_shoutouts"] > h3,
.mop-report-section[data-report-section="life_change_stories"] > h3 {
  font-size: 21px;
}

.mop-report-subsection {
  margin: 0;
}

.mop-report-subsection + .mop-report-subsection {
  margin-top: 54px;
}

.mop-report-subsection > h4 {
  margin: 0 0 13px;
  color: #111111;
  font-family: inherit;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
}

.mop-report-section-items {
  display: block;
  min-width: 0;
}

.mop-report-item {
  margin: 0;
}

.mop-report-item-editable {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  column-gap: 8px;
}

.mop-report-item-editable > .mop-report-item-text {
  grid-column: 1;
  min-width: 0;
}

.mop-report-item-text {
  margin: 0;
  color: #171717;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.15;
  overflow-wrap: anywhere;
  white-space: normal;
}

.mop-report-item-body {
  white-space: pre-line;
}

.mop-report-item + .mop-report-item {
  margin-top: 19px;
}

.mop-report-editorial-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.mop-report-item-edit-launcher {
  display: flex;
  grid-column: 2;
  grid-row: 1;
  align-items: center;
  gap: 7px;
  margin: 0;
}

.mop-report-item-order-controls {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.mop-report-item-order-button {
  display: inline-grid;
  width: 24px;
  min-width: 24px;
  height: 24px;
  min-height: 24px;
  place-items: center;
  padding: 0;
  border: 1px solid #c9d4df;
  border-radius: 4px;
  background: transparent;
  color: var(--blue);
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.mop-report-item-order-button:hover:not(:disabled) {
  border-color: var(--blue);
  background: var(--blue-soft);
}

.mop-report-item-order-button:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}

.mop-report-item-order-button:disabled {
  cursor: not-allowed;
  opacity: 0.32;
}

.mop-report-edit-wording {
  min-height: 24px;
  padding: 3px 2px;
  border: 0;
  background: transparent;
  color: var(--blue);
  font: inherit;
  font-size: 11px;
  font-weight: 780;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.mop-report-edit-wording:focus-visible {
  border-radius: 3px;
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}

.mop-report-edit-wording:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.mop-report-edited-badge {
  padding: 2px 6px;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.mop-report-editorial-field {
  display: grid;
  flex: 1 1 100%;
  gap: 6px;
}

.mop-report-editorial-field > span {
  color: var(--ink-2);
  font-size: 11px;
  font-weight: 780;
}

.mop-report-editorial-textarea {
  min-height: 86px;
  resize: vertical;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.45;
}

.mop-report-editorial-controls:has(.mop-report-editorial-field) {
  align-items: stretch;
  flex-direction: column;
}

.mop-report-item-edit-panel {
  grid-column: 1 / -1;
  margin-top: 7px;
  padding: 11px;
  border: 1px solid var(--blue);
  border-radius: 7px;
  background: color-mix(in srgb, var(--blue-soft) 35%, #fff);
}

.mop-report-wording-option {
  width: fit-content;
}

.mop-report-editorial-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.mop-report-item-management {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #ddd8d4;
}

.mop-report-item-move-field {
  display: grid;
  flex: 1 1 230px;
  gap: 4px;
  min-width: 0;
}

.mop-report-item-move-field > span,
.mop-report-add-item-text-field > span,
.mop-report-add-item-section-field > span {
  color: var(--ink-2);
  font-size: 11px;
  font-weight: 780;
}

.mop-report-item-move-field .select {
  width: 100%;
  min-width: 0;
}

.mop-report-remove-item {
  color: var(--red);
}

.mop-report-subsection[data-report-subsection="last_week_financials"]
  .mop-report-item[data-report-label="Weekly General Fund Need"] {
  margin-top: 45px;
}

.mop-report-item-label {
  font-weight: 400;
}

.mop-report-attribution {
  font-style: italic;
  font-weight: 400;
}

.mop-report-section[data-report-section="life_change_stories"] .mop-report-attribution {
  font-style: normal;
  font-weight: 700;
}

.mop-report-section-empty {
  color: #555555;
  font-size: 16px;
  font-style: italic;
}

.mop-report-empty-state,
.mop-report-error,
.mop-report-loading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  min-height: 190px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.mop-report-empty-mark {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--accent-soft);
  color: var(--accent-strong);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 31px;
  font-weight: 650;
}

.mop-report-empty-state h2,
.mop-report-error h2 {
  margin: 4px 0 6px;
}

.mop-report-empty-state p,
.mop-report-error p {
  max-width: 640px;
  margin: 0;
  color: var(--muted);
}

.mop-report-loading {
  grid-template-columns: auto minmax(0, 1fr);
  justify-content: center;
}

.mop-report-loading strong,
.mop-report-loading span {
  display: block;
}

.mop-report-loading span {
  margin-top: 4px;
  color: var(--muted);
}

.mop-report-notice {
  margin: 0;
}

.mop-report-archive-panel,
.mop-report-inbox-panel,
.mop-report-item-editor-panel,
.mop-report-readiness-card,
.mop-report-inbox-hero {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.mop-report-item-editor-panel {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.mop-report-add-item-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.35fr) auto;
  align-items: end;
  gap: 10px;
}

.mop-report-add-item-text-field,
.mop-report-add-item-section-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.mop-report-add-item-text-field .textarea {
  min-height: 84px;
  resize: vertical;
}

.mop-report-add-item-section-field .select {
  width: 100%;
  min-width: 0;
}

.mop-report-removed-items {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.mop-report-removed-item-list {
  display: grid;
  gap: 8px;
  margin-top: 9px;
}

.mop-report-removed-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface-2);
}

.mop-report-removed-item p {
  margin: 3px 0 0;
  color: var(--ink-2);
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.mop-report-removed-item-section {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.mop-report-panel-heading h2,
.mop-report-panel-heading h3,
.mop-report-inbox-hero h2 {
  margin: 4px 0 5px;
}

.mop-report-panel-heading p,
.mop-report-inbox-hero p {
  max-width: 690px;
  margin: 0;
  color: var(--muted);
}

.mop-report-panel-heading.compact {
  margin-bottom: 14px;
}

.mop-report-archive-list {
  display: grid;
  gap: 9px;
  margin-top: 20px;
}

.mop-report-archive-card {
  display: grid;
  grid-template-columns: minmax(120px, 0.5fr) minmax(180px, 1fr) minmax(260px, 1.4fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 76px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg-elevated);
  color: var(--ink);
  text-align: left;
}

.mop-report-archive-card:hover,
.mop-report-archive-card:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 48%, var(--line));
  background: var(--accent-soft);
  transform: translateY(-1px);
}

.mop-report-archive-date {
  color: var(--accent-strong);
  font-size: 12px;
  font-weight: 780;
}

.mop-report-archive-title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-weight: 620;
}

.mop-report-archive-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 12px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 620;
}

.mop-report-current-badge {
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--teal-soft);
  color: var(--green);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.mop-report-archive-arrow {
  color: var(--accent);
  font-size: 21px;
}

.mop-report-empty-section {
  display: grid;
  gap: 4px;
  min-height: 110px;
  align-content: center;
  padding: 20px;
  border: 1px dashed var(--line-strong);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--muted);
}

.mop-report-empty-section strong {
  color: var(--ink-2);
}

.mop-report-inbox-hero {
  align-items: center;
  background:
    radial-gradient(circle at 100% 0%, rgba(127, 41, 38, 0.08), transparent 34%),
    var(--surface);
}

.mop-report-readiness-card {
  display: grid;
  gap: 17px;
  border-top: 4px solid var(--blue);
}

.mop-report-readiness-card.is-ready {
  border-top-color: var(--green);
}

.mop-report-readiness-card.is-held {
  border-top-color: var(--amber);
}

.mop-report-readiness-head {
  align-items: center;
}

.mop-report-readiness-head > div {
  display: flex;
  align-items: center;
  gap: 9px;
}

.mop-report-readiness-dot {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 0 5px var(--blue-soft);
}

.mop-report-readiness-card.is-ready .mop-report-readiness-dot {
  background: var(--green);
  box-shadow: 0 0 0 5px var(--teal-soft);
}

.mop-report-readiness-card.is-held .mop-report-readiness-dot {
  background: var(--amber);
  box-shadow: 0 0 0 5px var(--amber-soft);
}

.mop-report-ready-copy,
.mop-report-inbox-empty {
  padding: 12px 13px;
  border-radius: 7px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
}

.mop-report-blockers {
  padding: 14px 15px;
  border-left: 4px solid var(--amber);
  border-radius: 0 8px 8px 0;
  background: var(--amber-soft);
}

.mop-report-blockers ul {
  display: grid;
  gap: 7px;
  margin: 9px 0 0;
  padding-left: 19px;
  color: #59421f;
}

.mop-report-blockers li,
.mop-report-ignored-blockers li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.mop-report-ignore-button {
  flex: 0 0 auto;
}

.mop-report-ignored-blockers {
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}

.mop-report-ignored-blockers ul {
  display: grid;
  gap: 8px;
  margin: 9px 0 0;
  padding: 0;
  list-style: none;
  color: var(--muted);
  font-size: 12px;
}

.mop-report-gates {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.mop-report-gate {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--bg-elevated);
  color: var(--ink-2);
  font-size: 12px;
  font-weight: 680;
}

.mop-report-gate-status {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.mop-report-readiness-guidance {
  display: grid;
  gap: 9px;
}

.mop-report-operator-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, auto);
  align-items: center;
  gap: 10px 18px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg-elevated);
}

.mop-report-operator-control p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.mop-report-operator-control-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
}

.mop-report-operator-control-actions .select {
  min-width: 190px;
}

.mop-report-operator-current {
  grid-column: 1 / -1;
  color: var(--green);
  font-size: 11px;
  font-weight: 760;
}

.mop-report-guidance-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg-elevated);
}

.mop-report-guidance-card p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.mop-report-guidance-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.mop-report-gate-ready,
.mop-report-gate-complete,
.mop-report-gate-published {
  color: var(--green);
}

.mop-report-gate-failed,
.mop-report-gate-blocked,
.mop-report-gate-held {
  color: var(--amber);
}

.mop-report-inbox-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.mop-report-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.mop-report-summary-card {
  display: grid;
  gap: 5px;
  min-height: 80px;
  align-content: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--bg-elevated);
}

.mop-report-summary-card strong {
  color: var(--accent-strong);
  font-size: 24px;
  line-height: 1;
}

.mop-report-summary-card span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 680;
}

@media (max-width: 1180px) {
  .grid.cols-5,
  .grid.cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .meeting-runner-grid,
  .prayer-care-grid {
    grid-template-columns: 1fr;
  }

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

  .creative-board {
    grid-template-columns: 1fr;
  }

  .meeting-output-panel {
    position: static;
  }

  .meeting-agenda-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

@media (max-width: 640px) {
  .meeting-runner-card-summary {
    grid-template-columns: 1fr !important;
  }

  .meeting-runner-card-summary > .drag-handle {
    width: auto;
    justify-self: start;
  }

  .meeting-runner-card-toggle {
    grid-template-columns: minmax(0, 1fr) 30px;
  }

  .meeting-runner-card-toggle > .chips {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .runner-captain-filter {
    width: 100%;
    padding-left: 0;
  }

  .runner-captain-filter .select {
    flex: 1 1 auto;
    max-width: none;
  }

  .meeting-agenda-metric-grid {
    grid-template-columns: 1fr;
  }

  .meeting-agenda-context-links,
  .meeting-agenda-context-links .button {
    width: 100%;
    margin-left: 0;
  }

  .meeting-metrics-editor-date-row,
  .meeting-metrics-editor-date-row label,
  .meeting-metrics-editor-date-row .button,
  .meeting-metrics-editor-actions,
  .meeting-metrics-editor-actions .button {
    width: 100%;
    max-width: none;
  }

  .meeting-metrics-editor-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .meeting-agenda-calendar-item {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

@media (max-width: 900px) {
  .mop-report-paper {
    padding-inline: clamp(52px, 10vw, 120px);
  }

  .mop-report-archive-card {
    grid-template-columns: minmax(110px, 0.45fr) minmax(0, 1fr) auto;
  }

  .mop-report-archive-meta {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .mop-report-archive-arrow {
    grid-column: 3;
    grid-row: 1;
  }

  .mop-report-inbox-grid {
    grid-template-columns: 1fr;
  }

  .weekly-checkin-hero,
  .weekly-checkin-progress,
  .weekly-checkin-prompts,
  .weekly-checkin-footnote,
  .weekly-routing-candidate-head {
    grid-template-columns: 1fr;
  }

  .weekly-routing-candidate-head {
    display: grid;
  }

  .weekly-checkin-progress {
    position: static;
  }

  .weekly-checkin-prompt-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .weekly-checkin-prompt-scope-actions {
    justify-content: flex-start;
  }

  .weekly-checkin-history-heading,
  .weekly-checkin-history-review-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .weekly-checkin-history-picker {
    flex-basis: auto;
    min-width: 0;
    width: 100%;
  }

  .counseling-resource-search,
  .counseling-dictation-row,
  .counseling-prep-line {
    grid-template-columns: 1fr;
  }

  .counseling-intake-team-layout,
  .counseling-intake-team-row,
  .counseling-intake-answer-grid,
  .counseling-intake-coordination-grid {
    grid-template-columns: 1fr;
  }

  .counseling-privacy-banner {
    align-items: flex-start;
    flex-direction: column;
  }

  .app-shell {
    grid-template-columns: 1fr;
  }

  body.sidebar-collapsed .app-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .creative-command,
  .creative-rhythm,
  .ops-calendar-controls,
  .creative-row {
    grid-template-columns: 1fr;
  }

  .creative-calendar-primary,
  .creative-calendar-side {
    grid-column: auto;
  }

  .creative-calendar-item {
    grid-template-columns: 1fr;
  }

  .creative-policy-grid {
    grid-template-columns: 1fr;
  }

  .people-admin-profile {
    position: static;
  }

  .care-board-detail-head {
    grid-template-columns: 1fr;
  }

  .care-board-contact-grid,
  .care-alert-recipient-list {
    grid-template-columns: 1fr;
  }

  .care-board-archive-row {
    grid-template-columns: 1fr;
  }

  .dashboard-metrics-core,
  .dashboard-metrics-lower,
  .dashboard-drilldown-table {
    grid-template-columns: 1fr;
  }

  .dashboard-drilldown-head {
    display: grid;
  }

  .dashboard-drilldown-stats {
    justify-content: flex-start;
  }

  .dashboard-lane-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .dashboard-lane-row em {
    grid-column: 1 / -1;
  }

  .prayer-email-list-head {
    display: none;
  }

  .prayer-subscriber-row {
    grid-template-columns: 1fr;
  }

  .prayer-subscriber-actions {
    justify-content: start;
  }

  .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(330px, 88vw);
    height: 100vh;
    border-right: 1px solid rgba(18, 27, 22, 0.3);
    border-bottom: 0;
    box-shadow: 22px 0 48px rgba(18, 20, 19, 0.28);
  }

  .main {
    padding: 18px;
    overflow-x: hidden;
  }

  .topbar {
    position: static;
    display: grid;
    align-items: start;
    margin: -18px -18px 18px;
    padding: 18px;
  }

  .band {
    max-width: 100%;
    overflow-x: auto;
  }

  .table {
    min-width: 640px;
  }

  .nav,
  .workspace-switcher {
    grid-template-columns: 1fr;
  }

  .env-strip {
    justify-content: flex-start;
  }

  .topbar,
  .launch-hero,
  .canvas-command,
  .admin-command,
  .rock-hope-command,
  .split,
  .stage,
  .rollout-meeting,
  .agenda-card-main,
  .prayer-card-main,
  .prayer-sensitive-grid,
  .prayer-alert-options,
  .prayer-subscriber-options,
  .prayer-care-checklist-editor,
  .prayer-care-history-grid,
  .prayer-care-update-grid,
  .add-meeting-item-form,
  .rock-hope-readiness-grid,
  .rock-hope-team-grid,
  .rock-hope-call-flow,
  .rock-hope-compact-form,
  .rock-hope-text-grid,
  .rock-hope-assignment-form,
  .rock-hope-date-row,
  .rock-hope-sheet-grid,
  .rock-hope-call-controls,
  .rock-hope-call-log-form,
  .admin-search-form,
  .finance-reconciliation-form,
  .statement-file-field,
  .triage-controls,
  .meeting-card-captain-assignment,
  .field-cleanup-controls,
  .action-field-controls,
  .bulk-bar,
  .checkbox-grid,
  .grid.cols-2,
  .grid.cols-3,
  .grid.cols-4,
  .grid.cols-5,
  .canvas-detail-grid,
  .form-grid,
  .system-map-inspector {
    grid-template-columns: 1fr;
  }

  .meeting-flow-card .agenda-card-main,
  .meeting-card-title {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .meeting-card-title .meta-line {
    grid-column: 1 / -1;
  }

  .rock-hope-command,
  .admin-command,
  .canvas-command {
    align-items: stretch;
    display: grid;
  }

  .rock-hope-compact-form .select,
  .rock-hope-compact-form .input,
  .rock-hope-assignment-form .select,
  .rock-hope-call-log-form .select,
  .rock-hope-call-log-form .input,
  .select {
    max-width: none;
  }

  .rock-hope-call-log-form .textarea {
    grid-column: auto;
  }

  .rock-hope-trigger {
    grid-template-columns: 1fr;
  }

  .model-canvas-surface {
    min-height: 660px;
  }

  .canvas-node {
    width: 210px;
  }

  .bar-row {
    grid-template-columns: minmax(0, 1fr) 50px;
  }

  .bar-track {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .kv {
    grid-template-columns: 1fr;
  }

  .prek-command,
  .prek-section-intro,
  .prek-close-hero,
  .prek-record-card {
    align-items: stretch;
    flex-direction: column;
  }

  .prek-command-actions,
  .prek-record-actions {
    justify-content: flex-start;
  }

  .prek-month-field {
    flex: 1 1 auto;
  }

  .prek-month-field .input {
    width: 100%;
  }

  .prek-close-total {
    padding: 14px 0 0;
    border-top: 1px solid var(--line-strong);
    border-left: 0;
    text-align: left;
  }

  .prek-summary-pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  body {
    font-size: 13px;
  }

  .mop-report-command-bar,
  .mop-report-reader-toolbar,
  .mop-report-panel-heading,
  .mop-report-inbox-hero,
  .mop-report-readiness-head,
  .mop-report-empty-state,
  .mop-report-error {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .mop-report-command-meta {
    display: none;
  }

  .mop-report-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mop-report-tabs:has(.mop-report-tab:nth-child(3)) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .mop-report-tab {
    padding-inline: 8px;
    text-align: center;
  }

  .mop-report-reader-actions,
  .mop-report-inbox-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .mop-report-paper {
    min-height: 0;
    padding: 40px 28px 52px;
  }

  .mop-report-document-header {
    margin-bottom: 32px;
  }

  .mop-report-inline-section {
    margin-top: 18px;
  }

  .mop-report-empty-mark {
    width: 52px;
    height: 52px;
    font-size: 25px;
  }

  .mop-report-archive-panel,
  .mop-report-inbox-panel,
  .mop-report-item-editor-panel,
  .mop-report-readiness-card,
  .mop-report-inbox-hero {
    padding: 17px;
  }

  .mop-report-add-item-fields,
  .mop-report-removed-item {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .mop-report-add-item-fields > .button,
  .mop-report-removed-item > .button {
    width: 100%;
  }

  .mop-report-item-management {
    align-items: stretch;
    flex-direction: column;
  }

  .mop-report-item-move-field,
  .mop-report-item-management .button {
    width: 100%;
  }

  .mop-report-wording-option,
  .mop-report-item-edit-panel .mop-report-editorial-actions .button {
    width: 100%;
  }

  .mop-report-archive-card {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 12px;
  }

  .mop-report-archive-date,
  .mop-report-archive-title,
  .mop-report-archive-meta {
    grid-column: 1;
  }

  .mop-report-archive-arrow {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .mop-report-gates,
  .mop-report-summary-grid {
    grid-template-columns: 1fr;
  }

  .mop-report-guidance-card {
    grid-template-columns: 1fr;
  }

  .mop-report-operator-control {
    grid-template-columns: 1fr;
  }

  .mop-report-operator-control-actions,
  .mop-report-blockers li,
  .mop-report-ignored-blockers li {
    align-items: stretch;
    flex-direction: column;
  }

  .mop-report-operator-control-actions .select,
  .mop-report-operator-control-actions .button,
  .mop-report-blockers .button,
  .mop-report-ignored-blockers .button {
    width: 100%;
  }

  .mop-report-guidance-actions {
    justify-content: stretch;
  }

  .mop-report-guidance-actions .button {
    width: 100%;
  }

  h1 {
    font-size: 24px;
  }

  .metric-value {
    font-size: 26px;
  }

  .nav,
  .workspace-switcher {
    grid-template-columns: 1fr;
  }

  .main {
    padding: 14px;
  }

  .topbar {
    margin: -14px -14px 14px;
    padding: 16px 14px;
  }

  .band,
  .finding,
  .agenda-card,
  .metric {
    padding: 14px;
  }

  .launch-actions,
  .action-strip,
  .toolbar {
    align-items: stretch;
  }

  .button,
  .toolbar .select {
    width: 100%;
  }

  .prek-command {
    min-height: 0;
    padding: 20px;
  }

  .prek-command h2,
  .public-prek-hero h1 {
    font-size: 25px;
  }

  .prek-command-actions,
  .prek-record-actions,
  .prek-summary-pair,
  .public-prek-choice-grid,
  .prek-pto-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .prek-record-actions .button,
  .prek-section-intro .button,
  .prek-report-panel .button {
    width: 100%;
  }

  .prek-person-breakdown {
    padding: 14px;
  }

  .prek-person-breakdown-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .prek-person-breakdown-note {
    width: min(290px, calc(100vw - 88px));
  }

  .prek-override-form-actions,
  .prek-override-row,
  .prek-override-row-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .prek-override-row-actions .chips {
    justify-content: flex-start;
  }

  .prek-task,
  .prek-link-card {
    grid-template-columns: 38px minmax(0, 1fr) auto;
  }

  .prek-task-count,
  .prek-link-icon {
    width: 38px;
    height: 38px;
  }

  .prek-record-main {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .prek-avatar {
    width: 38px;
    height: 38px;
  }

  .public-prek-shell {
    width: min(100% - 20px, 720px);
    padding: 12px 0 28px;
  }

  .public-prek-brand {
    margin: 0 5px 13px;
  }

  .public-prek-brand img {
    width: 146px;
  }

  .public-prek-card {
    border-radius: 11px;
  }

  .public-prek-hero,
  .public-prek-form {
    padding: 21px 19px;
  }

  .sidebar-toggle {
    flex: 0 0 42px;
    width: 42px;
  }

  .operational-item-name-action.is-editing {
    grid-template-columns: 1fr;
  }

  .operational-item-name-buttons,
  .operational-item-name-source,
  .operational-item-name-conflict,
  .operational-item-name-feedback {
    grid-column: 1;
  }

  .operational-item-name-buttons .button {
    flex: 1 1 auto;
  }
}

/* Kingdom First */
.kingdom-first-brochure-shell,
.kingdom-first-qa-shell,
.kingdom-first-pages,
.kingdom-first-faq-list,
.kingdom-first-question-list {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.kingdom-first-intro,
.kingdom-first-qa-intro,
.kingdom-first-question-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border-color: color-mix(in srgb, #bd784d 28%, var(--line));
  background:
    radial-gradient(circle at 92% 8%, rgba(167, 194, 209, 0.45), transparent 31%),
    linear-gradient(135deg, #fffaf5, #f4ebe3);
}

.kingdom-first-intro h2,
.kingdom-first-qa-intro h2,
.kingdom-first-question-panel h2,
.kingdom-first-faq-editor h2,
.kingdom-first-inbox h2 {
  color: #294f69;
}

.kingdom-first-intro p,
.kingdom-first-qa-intro p,
.kingdom-first-question-panel p {
  max-width: 720px;
  margin-bottom: 0;
  color: var(--ink-2);
  line-height: 1.55;
}

.kingdom-first-intro-actions,
.kingdom-first-editor-actions,
.kingdom-first-faq-meta,
.kingdom-first-route-preview {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
}

.kingdom-first-intro-actions {
  flex: 0 0 auto;
}

.kingdom-first-reader {
  display: grid;
  grid-template-columns: minmax(210px, 0.35fr) minmax(0, 1fr);
  align-items: start;
  gap: 24px;
}

.kingdom-first-page-index {
  position: sticky;
  top: 98px;
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255, 253, 249, 0.96);
  box-shadow: var(--shadow-soft);
}

.kingdom-first-page-jump {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #294f69;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.kingdom-first-page-jump:hover,
.kingdom-first-page-jump:focus-visible {
  border-color: color-mix(in srgb, #bd784d 38%, var(--line));
  background: #f8eee6;
  outline: none;
}

.kingdom-first-page-jump:focus-visible {
  box-shadow: var(--focus-ring);
}

.kingdom-first-page-jump > span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: #294f69;
  color: #fff;
  font-size: 12px;
  font-weight: 850;
}

.kingdom-first-page-jump strong {
  font-size: 13px;
  line-height: 1.25;
}

.kingdom-first-page {
  scroll-margin-top: 98px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  box-shadow: var(--shadow);
}

.kingdom-first-page:focus-visible {
  outline: 3px solid rgba(189, 120, 77, 0.35);
  outline-offset: 3px;
}

.kingdom-first-page-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 22px;
  padding: 15px 18px;
  border-bottom: 1px solid var(--line);
  background: #fffdf9;
}

.kingdom-first-page-heading h2 {
  margin: 2px 0 0;
  color: #294f69;
  font-size: 19px;
}

.kingdom-first-page-heading p {
  max-width: 520px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.kingdom-first-page img {
  display: block;
  width: min(100%, 900px);
  height: auto;
  margin-inline: auto;
  background: #f2eee9;
}

.kingdom-first-faq-list {
  gap: 10px;
}

.kingdom-first-faq {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.kingdom-first-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 58px;
  padding: 14px 17px;
  color: #294f69;
  font-weight: 780;
  cursor: pointer;
  list-style: none;
}

.kingdom-first-faq summary::-webkit-details-marker {
  display: none;
}

.kingdom-first-faq[open] summary {
  border-bottom: 1px solid var(--line);
  background: #f8eee6;
}

.kingdom-first-faq-toggle {
  position: relative;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border: 1px solid #b9c8d2;
  border-radius: 50%;
}

.kingdom-first-faq-toggle::before,
.kingdom-first-faq-toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 1.5px;
  background: #294f69;
  content: "";
  transform: translate(-50%, -50%);
}

.kingdom-first-faq-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: opacity 120ms ease;
}

.kingdom-first-faq[open] .kingdom-first-faq-toggle::after {
  opacity: 0;
}

.kingdom-first-faq-answer {
  display: grid;
  gap: 14px;
  padding: 16px 18px 18px;
}

.kingdom-first-faq-answer > p {
  margin: 0;
  color: var(--ink-2);
  line-height: 1.6;
}

.kingdom-first-faq-meta {
  justify-content: space-between;
}

.kingdom-first-faq-meta .button {
  min-height: 32px;
  padding: 6px 10px;
  font-size: 11px;
}

.kingdom-first-faq-editor,
.kingdom-first-question-panel {
  display: grid;
  align-items: stretch;
}

.kingdom-first-faq-editor {
  gap: 15px;
  border-left: 4px solid #bd784d;
}

.kingdom-first-faq-editor .field,
.kingdom-first-question-panel .field {
  display: grid;
  gap: 7px;
}

.kingdom-first-faq-editor .field > span,
.kingdom-first-question-panel .field > span {
  color: var(--ink-2);
  font-size: 12px;
  font-weight: 780;
}

.kingdom-first-question-panel {
  grid-template-columns: minmax(240px, 0.72fr) minmax(360px, 1.28fr);
  align-items: start;
}

#kingdom-first-question-form {
  display: grid;
  gap: 12px;
}

.kingdom-first-route-preview {
  color: var(--muted);
  font-size: 12px;
}

.kingdom-first-route-preview .pill {
  border-color: #b9c8d2;
  background: #edf3f6;
  color: #294f69;
}

.kingdom-first-my-questions,
.kingdom-first-inbox {
  display: grid;
  gap: 14px;
}

.kingdom-first-question-list {
  gap: 8px;
}

.kingdom-first-question-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg-elevated);
}

.kingdom-first-question-list article strong {
  display: block;
  margin-bottom: 4px;
  line-height: 1.4;
}

@media (max-width: 900px) {
  .kingdom-first-reader,
  .kingdom-first-question-panel {
    grid-template-columns: 1fr;
  }

  .kingdom-first-page-index {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kingdom-first-page-index > .eyebrow {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .kingdom-first-intro,
  .kingdom-first-qa-intro,
  .kingdom-first-page-heading,
  .kingdom-first-question-list article {
    align-items: stretch;
    flex-direction: column;
  }

  .kingdom-first-intro-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .kingdom-first-page-index {
    grid-template-columns: 1fr;
  }

  .kingdom-first-page-index > .eyebrow {
    grid-column: auto;
  }

  .kingdom-first-page-heading {
    display: grid;
  }

  .kingdom-first-faq-meta {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 1050px) {
  .rock-hope-shift-form,
  .rock-hope-issue-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rock-hope-shift-form .button,
  .rock-hope-issue-form .textarea,
  .rock-hope-issue-form .button {
    grid-column: 1 / -1;
  }

  .rock-hope-shift-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .rock-hope-route-plan-form,
  .rock-hope-shift-form,
  .rock-hope-impact-form,
  .rock-hope-report-create-form,
  .rock-hope-issue-form,
  .rock-hope-route-move-form,
  .rock-hope-shift-assignment-form {
    grid-template-columns: 1fr;
  }

  .rock-hope-shift-form .button,
  .rock-hope-issue-form .textarea,
  .rock-hope-issue-form .button,
  .rock-hope-impact-form .textarea,
  .rock-hope-impact-form .button {
    grid-column: auto;
  }

  .rock-hope-story-grid {
    grid-template-columns: 1fr;
  }

  .rock-hope-kiosk-panel.is-check-out .rock-hope-kiosk-form {
    grid-template-columns: 1fr;
  }

  .rock-hope-kiosk-panel.is-check-out .rock-hope-kiosk-form > label,
  .rock-hope-kiosk-panel.is-check-out .rock-hope-kiosk-submit {
    grid-column: auto;
  }
}

@media print {
  @page {
    margin: 0.5in;
  }

  @page mop-report {
    size: Letter;
    margin: 1in 1.25in;
  }

  @page meeting-agenda {
    size: Letter portrait;
    margin: 0.45in;
  }

  @page this-sunday {
    size: Letter portrait;
    margin: 0.55in;
  }

  html,
  body {
    background: #fff !important;
    color: #000;
  }

  .sidebar,
  .topbar,
  .rock-hope-command,
  body:not([data-workspace="weekly-review"]) .view > :not(.rock-hope-print-section):not(.meeting-agenda-print-section),
  body[data-workspace="weekly-review"]:not([data-weekly-review-section="mop-report"]):not([data-weekly-review-section="this-sunday"]) .view > :not(.rock-hope-print-section):not(.meeting-agenda-print-section),
  .rock-hope-print-section > .toolbar {
    display: none !important;
  }

  .app-shell,
  .main,
  .content,
  .view {
    display: block;
    min-height: 0;
    padding: 0;
  }

  .band,
  .rock-hope-print-section {
    border: 0;
    box-shadow: none;
    padding: 0;
  }

  .meeting-agenda-print-section {
    display: none !important;
  }

  body[data-workspace="ops"][data-ops-tab="runner"] .meeting-agenda-print-section {
    background: #fff;
    box-sizing: border-box;
    color: #191919;
    display: block !important;
    font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif;
    height: auto;
    max-height: none;
    overflow: visible;
    page: meeting-agenda;
    width: 100%;
  }

  .meeting-agenda-print-agenda {
    display: block;
  }

  .meeting-agenda-print-header {
    border-bottom: 2px solid #b2232f;
    break-after: avoid;
    display: grid;
    gap: 0.08in;
    page-break-after: avoid;
    padding-bottom: 0.18in;
  }

  .meeting-agenda-print-kicker {
    color: #8d1d27;
    font-size: 8.5pt;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .meeting-agenda-print-header h2 {
    color: #191919;
    font-size: 21pt;
    line-height: 1.08;
    margin: 0;
  }

  .meeting-agenda-print-meta {
    align-items: center;
    color: #4d4d4d;
    display: flex;
    flex-wrap: wrap;
    font-size: 8.5pt;
    gap: 0.08in 0.22in;
  }

  .meeting-agenda-print-list {
    display: block;
    list-style: none;
    margin: 0.13in 0 0;
    overflow: visible;
    padding: 0;
  }

  .meeting-agenda-print-item {
    align-items: center;
    border-bottom: 1px solid #d7d7d7;
    break-inside: avoid;
    display: grid;
    gap: 0.08in;
    grid-template-columns: 0.28in minmax(0, 1fr) auto;
    min-height: 0.46in;
    overflow: visible;
    padding: 0.06in 0.02in;
    page-break-inside: avoid;
  }

  .meeting-agenda-print-number {
    align-items: center;
    background: #f2e5e7;
    border-radius: 999px;
    color: #8d1d27;
    display: flex;
    font-size: 8.5pt;
    font-weight: 800;
    height: 0.24in;
    justify-content: center;
    width: 0.24in;
  }

  .meeting-agenda-print-item-copy {
    display: grid;
    gap: 0.02in;
    min-width: 0;
    overflow: visible;
  }

  .meeting-agenda-print-item-copy strong {
    display: block;
    font-size: 10.5pt;
    line-height: 1.15;
    overflow: visible;
    overflow-wrap: anywhere;
  }

  .meeting-agenda-print-owner {
    color: #555;
    display: block;
    font-size: 7.8pt;
    line-height: 1.18;
    overflow-wrap: anywhere;
  }

  .meeting-agenda-print-outcome {
    border: 1px solid #b9b9b9;
    border-radius: 999px;
    color: #3f3f3f;
    font-size: 7.2pt;
    font-weight: 750;
    line-height: 1;
    max-width: 1.15in;
    overflow: hidden;
    padding: 0.05in 0.07in;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .meeting-agenda-print-captain-groups {
    display: block;
    margin-top: 0.13in;
  }

  .meeting-agenda-print-captain-group {
    display: block;
    margin: 0 0 0.11in;
  }

  .meeting-agenda-print-captain-group h3 {
    border-bottom: 1px solid #d7d7d7;
    break-after: avoid;
    color: #191919;
    font-size: 11pt;
    font-weight: 800;
    line-height: 1.15;
    margin: 0;
    page-break-after: avoid;
    padding: 0.045in 0 0.035in;
    text-decoration: underline;
    text-decoration-color: #b2232f;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.04in;
  }

  .meeting-agenda-print-captain-list {
    display: block;
    list-style: disc outside;
    margin: 0.025in 0 0;
    padding-left: 0.24in;
  }

  .meeting-agenda-print-captain-item {
    border-bottom: 1px solid #ededed;
    break-inside: avoid;
    color: #191919;
    font-size: 10pt;
    line-height: 1.22;
    min-height: 0.18in;
    overflow-wrap: anywhere;
    page-break-inside: avoid;
    padding: 0.035in 0.02in;
  }

  .meeting-agenda-print-captain-item::marker {
    color: #8d1d27;
    font-weight: 800;
  }

  .meeting-agenda-print-captain-item.is-empty {
    border-bottom-color: transparent;
  }

  .meeting-agenda-print-captain-group.is-unassigned h3 {
    color: #8d1d27;
  }

  .meeting-agenda-print-section.is-dense .meeting-agenda-print-item,
  .meeting-agenda-print-section.is-tight .meeting-agenda-print-item {
    min-height: 0;
    padding-block: 0.035in;
  }

  .meeting-agenda-print-section.is-tight .meeting-agenda-print-item-copy strong {
    font-size: 8.5pt;
  }

  .meeting-agenda-print-section.is-tight .meeting-agenda-print-owner {
    font-size: 6.8pt;
  }

  .meeting-agenda-print-section.is-tight .meeting-agenda-print-outcome {
    font-size: 6.4pt;
    max-width: 0.9in;
  }

  .meeting-agenda-print-empty {
    align-self: start;
    border: 1px dashed #aaa;
    color: #555;
    font-size: 11pt;
    margin-top: 0.2in;
    padding: 0.25in;
  }

  .meeting-agenda-print-section footer {
    border-top: 1px solid #d7d7d7;
    break-inside: avoid;
    color: #666;
    font-size: 7pt;
    margin-top: 0.08in;
    page-break-inside: avoid;
    padding-top: 0.06in;
    text-align: right;
  }

  .meeting-agenda-print-context {
    margin-top: 0.28in;
  }

  .meeting-agenda-print-context.starts-new-page {
    break-before: page;
    margin-top: 0;
    page-break-before: always;
  }

  .meeting-agenda-print-context-header {
    border-bottom: 2px solid #b2232f;
    break-after: avoid;
    display: grid;
    gap: 0.06in;
    page-break-after: avoid;
    padding-bottom: 0.16in;
  }

  .meeting-agenda-print-context-header h2 {
    color: #191919;
    font-size: 19pt;
    line-height: 1.08;
    margin: 0;
  }

  .meeting-agenda-print-block {
    margin-top: 0.24in;
  }

  .meeting-agenda-print-block + .meeting-agenda-print-block {
    margin-top: 0.32in;
  }

  .meeting-agenda-print-block-head {
    border-bottom: 1px solid #d7d7d7;
    break-after: avoid;
    display: flex;
    justify-content: space-between;
    page-break-after: avoid;
    padding-bottom: 0.08in;
  }

  .meeting-agenda-print-eyebrow {
    color: #8d1d27;
    font-size: 7.5pt;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .meeting-agenda-print-block-head h3 {
    color: #191919;
    font-size: 15pt;
    line-height: 1.12;
    margin: 0.03in 0 0;
  }

  .meeting-agenda-print-block-head p {
    color: #555;
    font-size: 8pt;
    line-height: 1.25;
    margin: 0.03in 0 0;
  }

  .meeting-agenda-print-metric-grid {
    display: grid;
    gap: 0.09in;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 0.12in;
  }

  .meeting-agenda-print-metric {
    border: 1px solid #d7d7d7;
    border-left: 3px solid #b2232f;
    break-inside: avoid;
    display: grid;
    gap: 0.025in;
    min-width: 0;
    page-break-inside: avoid;
    padding: 0.09in;
  }

  .meeting-agenda-print-metric > span {
    color: #555;
    font-size: 7.4pt;
    font-weight: 750;
    line-height: 1.2;
    overflow-wrap: anywhere;
    text-transform: uppercase;
  }

  .meeting-agenda-print-metric > strong {
    color: #191919;
    font-size: 15pt;
    line-height: 1.05;
  }

  .meeting-agenda-print-metric > small {
    color: #555;
    font-size: 7pt;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  .meeting-agenda-print-narrative {
    background: #f8f2f3;
    border-left: 3px solid #b2232f;
    break-inside: avoid;
    color: #333;
    display: grid;
    font-size: 8pt;
    gap: 0.04in;
    line-height: 1.3;
    margin: 0.12in 0 0;
    page-break-inside: avoid;
    padding: 0.1in 0.12in 0.1in 0.28in;
  }

  .meeting-agenda-print-calendar-list {
    display: block;
    list-style: none;
    margin: 0.08in 0 0;
    padding: 0;
  }

  .meeting-agenda-print-calendar-item {
    align-items: start;
    border-bottom: 1px solid #dedede;
    break-inside: avoid;
    display: grid;
    gap: 0.18in;
    grid-template-columns: 1.6in minmax(0, 1fr);
    page-break-inside: avoid;
    padding: 0.09in 0.02in;
  }

  .meeting-agenda-print-calendar-item time,
  .meeting-agenda-print-calendar-item > div {
    display: grid;
    gap: 0.02in;
    min-width: 0;
  }

  .meeting-agenda-print-calendar-item time strong {
    color: #8d1d27;
    font-size: 8pt;
    line-height: 1.2;
  }

  .meeting-agenda-print-calendar-item time span,
  .meeting-agenda-print-calendar-item > div > span {
    color: #555;
    font-size: 7.5pt;
    line-height: 1.25;
  }

  .meeting-agenda-print-calendar-item > div > strong {
    color: #191919;
    font-size: 10pt;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  .meeting-agenda-print-context-empty {
    border: 1px dashed #aaa;
    color: #555;
    font-size: 9pt;
    margin-top: 0.12in;
    padding: 0.15in;
  }

  .rock-hope-sheet-grid {
    display: block;
    margin: 0;
  }

  .rock-hope-route-sheet {
    break-inside: avoid;
    border: 1px solid #888;
    box-shadow: none;
    margin: 0 0 16px;
    min-height: 0;
    page-break-inside: avoid;
  }

  .rock-hope-route-sheet .pill,
  .rock-hope-route-sheet .chip {
    background: #fff;
    border-color: #888;
    color: #000;
  }

  .rock-hope-route-sheet a {
    color: #000;
    text-decoration: none;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-workspace {
    color: #191919;
    display: block;
    font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif;
    page: this-sunday;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-print-hidden,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-item-actions,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-item-form,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .error {
    display: none !important;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .band {
    background: #fff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-hero {
    border-bottom: 2px solid #2f7357;
    display: block;
    margin-bottom: 0.24in;
    padding-bottom: 0.16in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-hero h2 {
    font-size: 23pt;
    margin: 0.03in 0 0.06in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-updated {
    font-size: 7.5pt;
    margin-top: 0.08in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-primary-grid {
    align-items: start;
    display: grid;
    gap: 0.28in;
    grid-template-columns: minmax(0, 1.7fr) minmax(1.85in, 0.7fr);
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-order,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-baptisms,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-note,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document-stack-heading,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document-group {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-notes,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-documents {
    margin-top: 0.28in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .eyebrow {
    color: #2f7357;
    font-size: 7pt;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-section-heading h2 {
    font-size: 15pt;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-service-times span,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-time {
    background: #fff;
    border-color: #aaa;
    color: #333;
    font-size: 7pt;
    padding: 0.04in 0.06in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-order-list,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-baptism-list,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-note-list,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document-stacks,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document-groups {
    margin-top: 0.1in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document-stack {
    background: #fff;
    border-color: #bbb;
    border-left-color: #777;
    padding: 0.1in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document-stack.is-upcoming {
    border-left-color: #2f7357;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document-stack-heading h3 {
    font-size: 10pt;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document-count {
    font-size: 6.5pt;
    padding: 0.03in 0.05in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-order-list li {
    gap: 0.08in;
    grid-template-columns: 0.25in minmax(0, 1fr) auto;
    min-height: 0;
    padding: 0.045in 0;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-order-number {
    font-size: 7pt;
    height: 0.21in;
    width: 0.21in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-order-list strong,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-baptism-name {
    font-size: 9pt;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-order-type,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-baptism-time {
    font-size: 9.5pt;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-baptizer {
    font-size: 6.5pt;
    font-weight: 400;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-baptism-list li {
    background: #fff;
    border-color: #bbb;
    padding: 0.08in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-note-list {
    gap: 0.08in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-note {
    background: #fff;
    border-color: #bbb;
    border-left-color: #2f7357;
    gap: 0.04in;
    padding: 0.09in 0.11in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-note-heading h3 {
    font-size: 10pt;
    margin-top: 0.03in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-note-body {
    font-size: 8pt;
    line-height: 1.35;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document-groups {
    gap: 0.1in;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document-group {
    background: #fff;
    border-color: #bbb;
    padding: 0.09in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document-group h3,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document-group h4 {
    font-size: 9pt;
    margin-bottom: 0.06in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document {
    border-color: #ccc;
    gap: 0.07in;
    grid-template-columns: 0.32in minmax(0, 1fr);
    min-height: 0;
    padding: 0.04in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document img,
  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document-mark {
    font-size: 6pt;
    height: 0.32in;
    width: 0.32in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document-copy strong {
    font-size: 8pt;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document-copy small {
    font-size: 6.5pt;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="this-sunday"] .this-sunday-document-open {
    display: none;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-command-bar,
  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-notice,
  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-reports-workspace > .error,
  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-reader-toolbar,
  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-archive-panel,
  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-inbox-panel {
    display: none !important;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-editorial-controls,
  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-item-edit-launcher,
  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-item-edit-panel,
  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-item-management,
  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-item-editor-panel {
    display: none !important;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-reports-workspace,
  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-reader {
    display: block;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-paper {
    page: mop-report;
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    color: #000;
    font-size: 12pt;
    line-height: 1.45;
    overflow: visible;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-document-header {
    margin-bottom: 0.54in;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-document-header h2 {
    font-size: 16pt;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-document-header p {
    font-size: 11pt;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-item-text {
    font-size: 12pt;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-section > h3 {
    break-after: avoid;
    page-break-after: avoid;
    font-size: 15pt;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-section[data-report-section="staff_shoutouts"] > h3,
  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-section[data-report-section="life_change_stories"] > h3 {
    font-size: 16pt;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-subsection > h4 {
    break-after: avoid;
    page-break-after: avoid;
    font-size: 13pt;
  }

  body[data-workspace="weekly-review"][data-weekly-review-section="mop-report"] .mop-report-item-text {
    orphans: 3;
    widows: 3;
  }
}
