:root {
  color-scheme: light;
  --color-ink: #181817;
  --color-muted: #66645f;
  --color-subtle: #8a8882;
  --color-line: #dedbd4;
  --color-line-strong: #aaa69d;
  --color-canvas: #f4f3ef;
  --color-surface: #ffffff;
  --color-accent: #ffd633;
  --color-accent-hover: #f3c900;
  --color-focus: #3867d6;
  --color-success-bg: #e4f4e8;
  --color-success-text: #205f31;
  --color-warning-bg: #fff3c4;
  --color-warning-text: #705700;
  --color-danger-bg: #fbe8e6;
  --color-danger-text: #972f26;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --shadow-1: 0 1px 2px rgba(24, 24, 23, 0.05);
  --content-width: 1180px;
  --control-height: 44px;
}

* { box-sizing: border-box; }
html { font-size: 16px; }

body {
  margin: 0;
  color: var(--color-ink);
  background: var(--color-canvas);
  font: 400 1rem/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }

:focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 2px;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: var(--space-3);
  left: var(--space-3);
  padding: var(--space-2) var(--space-3);
  background: var(--color-surface);
  border-radius: var(--radius-sm);
  transform: translateY(-200%);
}

.skip-link:focus { transform: none; }

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

.topbar {
  min-height: 60px;
  color: #fff;
  background: var(--color-ink);
}

.topbar__inner {
  width: min(var(--content-width), calc(100% - 40px));
  min-height: 60px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 1.0625rem;
  font-weight: 750;
  letter-spacing: -0.01em;
  text-decoration: none;
}

.brand__mark {
  width: 12px;
  height: 12px;
  background: var(--color-accent);
  border-radius: 2px;
}

.account {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  color: #dedede;
  font-size: 0.875rem;
}

.account form { margin: 0; }

.link-button {
  min-height: 36px;
  padding: 0;
  color: #fff;
  background: none;
  border: 0;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.page {
  width: min(var(--content-width), calc(100% - 40px));
  margin: var(--space-7) auto 80px;
}

h1, h2, p { overflow-wrap: break-word; }

h1 {
  max-width: 820px;
  margin: var(--space-1) 0 var(--space-4);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

h2 {
  margin: 0 0 var(--space-4);
  font-size: 1.25rem;
  line-height: 1.25;
  letter-spacing: -0.015em;
}

.eyebrow {
  margin: 0;
  color: var(--color-muted);
  font-size: 0.75rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.lede { margin: 0; color: var(--color-muted); }
.muted, .help { color: var(--color-muted); }

.help {
  margin: var(--space-3) 0 0;
  font-size: 0.875rem;
}

.back {
  display: inline-block;
  margin-bottom: var(--space-5);
  color: var(--color-muted);
  font-size: 0.9375rem;
  text-underline-offset: 3px;
}

.event-mode-nav {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin: calc(var(--space-4) * -1) 0 var(--space-5);
  padding: 10px 12px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--shadow-1);
  backdrop-filter: blur(10px);
}
.event-mode-nav__event {
  flex: 0 0 auto;
  max-width: 220px;
  overflow: hidden;
  font-size: .8125rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.event-mode-nav__links {
  display: flex;
  gap: 4px;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: thin;
}
.event-mode-nav__links a {
  flex: 0 0 auto;
  padding: 8px 10px;
  color: var(--color-muted);
  border-radius: var(--radius-sm);
  font-size: .8125rem;
  font-weight: 750;
  text-decoration: none;
}
.event-mode-nav__links a:hover { color: var(--color-ink); background: var(--color-canvas); }
.event-mode-nav__links .event-mode-nav__active { color: var(--color-ink); background: var(--color-warning-bg); }

.page-heading, .title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-5);
  margin-bottom: var(--space-6);
}

.page-heading--compact { margin-bottom: var(--space-5); }

.panel, .empty, .disclosure, .entity-list, .data-list {
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
}

.panel, .empty, .disclosure { padding: var(--space-5); }
.panel { margin-top: var(--space-5); }
.panel--flush { margin: 0; }
.narrow { max-width: 520px; margin: 7vh auto; }
.entity-list, .data-list { overflow: hidden; }

.entity-row, .person-row, .module-row {
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4);
  text-decoration: none;
  border-bottom: 1px solid var(--color-line);
}

.entity-row:last-child, .person-row:last-child, .module-row:last-child {
  border-bottom: 0;
}

.entity-row:hover, .person-row:hover, .module-row:hover { background: #faf9f6; }

.entity-row__date {
  width: 56px;
  flex: 0 0 56px;
  text-align: center;
}

.entity-row__date strong, .entity-row__date small,
.entity-row__body strong, .entity-row__body small,
.person-row__main strong, .person-row__main small,
.module-row strong, .module-row small, .timeline-item small {
  display: block;
}

.entity-row__date strong { font-size: 1.125rem; }

.entity-row__date small, .entity-row__body small,
.person-row__main small, .module-row small, .timeline-item small {
  color: var(--color-muted);
  font-size: 0.8125rem;
}

.entity-row__body, .person-row__main, .module-row > span:first-child {
  min-width: 0;
  flex: 1;
}

.entity-row__arrow { color: var(--color-subtle); font-size: 1.25rem; }

.module-row {
  margin: 0 calc(var(--space-5) * -1);
  padding-right: var(--space-5);
  padding-left: var(--space-5);
}

.module-row--disabled { color: var(--color-subtle); cursor: default; }
.module-row--disabled:hover { background: transparent; }

.facts, .compact-facts { display: grid; margin: var(--space-5) 0; }

.facts {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-3);
}

.facts > div {
  padding: var(--space-4);
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
}

.compact-facts { gap: 0; }

.compact-facts > div {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: var(--space-4);
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--color-line);
}

.compact-facts > div:last-child { border-bottom: 0; }
dt { color: var(--color-muted); font-size: 0.8125rem; }

dd {
  min-width: 0;
  margin: 0;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.stack { display: grid; gap: var(--space-4); }

.field {
  display: grid;
  gap: 6px;
  font-size: 0.875rem;
  font-weight: 650;
}

.field--grow { min-width: 260px; flex: 1; }

input, select, textarea {
  width: 100%;
  min-height: var(--control-height);
  padding: 9px 12px;
  color: var(--color-ink);
  background: var(--color-surface);
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-sm);
}

textarea { resize: vertical; }
input:hover, select:hover, textarea:hover { border-color: var(--color-ink); }
input[type="file"] { padding: 8px; }

input[type="checkbox"] {
  width: 20px;
  min-height: 20px;
  justify-self: start;
}

.button, .primary, .secondary {
  min-height: var(--control-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 16px;
  color: var(--color-ink);
  background: var(--color-surface);
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}

.button--primary, .primary {
  background: var(--color-accent);
  border-color: var(--color-accent);
}

.button--primary:hover, .primary:hover {
  background: var(--color-accent-hover);
  border-color: var(--color-accent-hover);
}

.button--secondary, .secondary {
  color: #fff;
  background: var(--color-ink);
  border-color: var(--color-ink);
}

.button--ghost { background: transparent; border-color: transparent; }

.button--danger {
  color: var(--color-danger-text);
  background: var(--color-danger-bg);
  border-color: #ebbbb6;
}

.button--full { width: 100%; }
.button--small { min-height: 36px; padding: 6px 12px; font-size: 0.8125rem; }
.is-hidden { display: none !important; }

.button:disabled, .primary:disabled, .secondary:disabled {
  color: var(--color-subtle);
  background: #eceae5;
  border-color: #eceae5;
  cursor: not-allowed;
}

.inline-form, .search {
  display: flex;
  align-items: flex-end;
  gap: var(--space-3);
}

.search { margin: var(--space-5) 0 var(--space-4); }
.search input { max-width: 420px; }
.disclosure { margin-bottom: var(--space-5); }

.disclosure--nested {
  margin: var(--space-4) 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.disclosure summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  cursor: pointer;
  font-weight: 700;
}

.disclosure summary::marker { color: var(--color-muted); }
.disclosure > form { margin-top: var(--space-3); }
.person-row { min-height: 68px; }

.status, .attention {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.status { color: #42403b; background: #eceae5; }

.status--registered, .status--point_confirmed, .status--completed {
  color: var(--color-success-text);
  background: var(--color-success-bg);
}

.status--accepted {
  color: var(--color-success-text);
  background: var(--color-success-bg);
}

.status--draft {
  color: var(--color-warning-text);
  background: var(--color-warning-bg);
}

.status--superseded { color: var(--color-muted); background: #eceae5; }

.status--assigned { color: #245a8b; background: #e5f0fb; }

.status--left, .status--missing_timesheet {
  color: var(--color-danger-text);
  background: var(--color-danger-bg);
}

.attention {
  color: var(--color-warning-text);
  background: var(--color-warning-bg);
}

.status-line { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.person-row .status, .person-row .attention { justify-self: start; }

.two-column {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr);
  gap: var(--space-4);
}

.timeline-panel { margin-top: var(--space-4); }

.timeline-item {
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: var(--space-3);
  padding: var(--space-3) 0;
}

.timeline-item__dot {
  width: 8px;
  height: 8px;
  margin-top: 7px;
  background: var(--color-ink);
  border-radius: 50%;
}

.timeline-item p { margin: var(--space-1) 0 0; }

.notice {
  margin-bottom: var(--space-4);
  padding: var(--space-3) var(--space-4);
  color: var(--color-success-text);
  background: var(--color-success-bg);
  border-radius: var(--radius-md);
}

.network-banner {
  background: var(--color-danger-bg);
  border-bottom: 1px solid var(--color-danger-text);
  color: var(--color-danger-text);
}

.network-banner--restored {
  background: var(--color-success-bg);
  border-bottom-color: var(--color-success-text);
  color: var(--color-success-text);
}

.network-banner__inner {
  width: min(var(--content-width), calc(100% - 40px));
  min-height: 48px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) 0;
  font-size: 0.875rem;
}

.network-banner__inner strong { flex: 0 0 auto; }

.notice--error, .error, .errorlist {
  color: var(--color-danger-text);
  background: var(--color-danger-bg);
}

.notice--warning {
  color: var(--color-warning-text);
  background: var(--color-warning-bg);
}

.section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
}

.section-heading h2 { margin-bottom: var(--space-2); }
.facts--compact { margin-bottom: var(--space-4); }

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

.form-grid--wide { grid-template-columns: repeat(4, minmax(130px, 1fr)); }
.form-grid--wide > :last-child { align-self: end; }

.issue-list, .demand-list, .point-list, .roster-list { display: grid; }

.issue-row, .point-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--color-line);
}

.issue-row:last-child, .point-row:last-child { border-bottom: 0; }
.issue-row p { margin: var(--space-1) 0; }
.issue-row small, .point-row small { display: block; color: var(--color-muted); }
.text-link { display: inline-block; margin-top: var(--space-1); color: var(--color-muted); font-size: 0.8125rem; }
.narrow-panel { max-width: 620px; }

.demand-row {
  padding: var(--space-5) 0;
  border-bottom: 1px solid var(--color-line);
}

.demand-row:last-child { border-bottom: 0; }
.demand-row--excluded { opacity: 0.68; }

.demand-row__heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
}

.demand-row h3 { margin: var(--space-1) 0; font-size: 1.125rem; }
.demand-row p { margin: 0; }
.demand-row__mapping { display: grid; justify-items: end; gap: var(--space-1); text-align: right; }
.demand-row__mapping small { color: var(--color-muted); }

.demand-lines {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-4);
}

.demand-line {
  min-height: 42px;
  display: grid;
  grid-template-columns: minmax(150px, 1fr) 60px minmax(0, 1.5fr);
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-3);
  background: #faf9f6;
  border-radius: var(--radius-sm);
}

.demand-line small { display: block; color: var(--color-muted); }
.error-text { color: var(--color-danger-text) !important; }
.inline-form--compact { justify-content: end; }
.inline-form--compact select { min-width: 180px; }

.resolution-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
  margin-top: var(--space-4);
}

.action-panel { display: grid; grid-template-columns: 1fr minmax(320px, 0.8fr); gap: var(--space-6); }
.action-panel p { margin: 0; }

.point-setting {
  display: grid;
  grid-template-columns: 100px auto auto;
  align-items: end;
  gap: var(--space-3);
}

.check-field {
  min-height: var(--control-height);
  display: flex;
  align-items: center;
  gap: var(--space-2);
  white-space: nowrap;
  font-size: 0.875rem;
  font-weight: 650;
}

.check-field input { flex: 0 0 20px; }

.tag-list { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); }
.tag { display: inline-flex; align-items: center; gap: var(--space-2); padding: 6px 10px; background: #eceae5; border-radius: 999px; font-size: 0.8125rem; }
.tag form { display: inline-flex; margin: 0; }
.tag__remove { width: 24px; height: 24px; padding: 0; color: var(--color-muted); background: transparent; border: 0; border-radius: 50%; cursor: pointer; font-size: 1.1rem; line-height: 1; }
.tag__remove:hover { color: var(--color-danger-text); background: var(--color-danger-bg); }

.roster-row {
  display: grid;
  grid-template-columns: minmax(240px, 1.2fr) minmax(260px, 1fr) auto;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--color-line);
}

.roster-row:last-child { border-bottom: 0; }
.roster-row h3 { margin: var(--space-1) 0; font-size: 1rem; }
.roster-row small { color: var(--color-muted); overflow-wrap: anywhere; }
.roster-row__data { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.roster-row__data span, .roster-row__data small, .roster-row__data strong { display: block; }
.roster-row__issue { grid-column: 1 / -1; display: grid; gap: var(--space-2); padding: var(--space-3); background: var(--color-danger-bg); border-radius: var(--radius-sm); }
.status--change-new_worker, .status--change-new_shift { color: #245a8b; background: #e5f0fb; }
.status--change-changed { color: var(--color-warning-text); background: var(--color-warning-bg); }
.status--change-unchanged { color: var(--color-success-text); background: var(--color-success-bg); }
.status--change-invalid { color: var(--color-danger-text); background: var(--color-danger-bg); }
.pagination { display: flex; align-items: center; justify-content: center; gap: var(--space-4); margin-top: var(--space-5); }

.pool-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
  font-size: 0.875rem;
}

.live-toolbar {
  min-height: 38px;
  margin: 0 0 var(--space-4);
  padding: 0 var(--space-1);
}

.distribution-summary { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
.distribution-summary dd { font-size: 1.375rem; }

.distribution-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.distribution-card {
  min-width: 0;
  padding: var(--space-4);
  color: inherit;
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-top: 4px solid var(--color-line-strong);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
  text-decoration: none;
}

.distribution-card:hover { border-color: var(--color-ink); }
.distribution-card--complete { border-top-color: #6ba879; }
.distribution-card--assigned { border-top-color: #d7aa4b; }
.distribution-card--deficit { border-top-color: #db746b; }

.distribution-card__heading {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-3);
}

.distribution-card__heading strong,
.distribution-card__heading small,
.distribution-card__metric strong,
.distribution-card__metric small {
  display: block;
}

.distribution-card__heading small,
.distribution-card__metric small { color: var(--color-muted); font-size: 0.8125rem; }

.priority {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-muted);
  background: var(--color-canvas);
  border-radius: 50%;
  font-size: 0.8125rem;
  font-weight: 750;
}

.distribution-card__metric { margin: var(--space-5) 0 var(--space-4); }
.distribution-card__metric strong { font-size: 1.75rem; line-height: 1; }
.distribution-card__collection,
.distribution-card__nearby { display: grid; gap: var(--space-1); margin-bottom: var(--space-4); font-size: 0.8125rem; }
.distribution-card__collection { padding-top: var(--space-3); border-top: 1px solid var(--color-line); }
.distribution-card__collection small,
.distribution-card__nearby small { color: var(--color-muted); }
.distribution-card__nearby { padding: var(--space-3); background: var(--color-canvas); border-radius: var(--radius-sm); }

.staffing-overview {
  display: grid;
  grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.25fr);
  gap: var(--space-5);
  margin: var(--space-5) 0;
  padding: var(--space-5);
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
}
.staffing-overview h2,
.staffing-overview p { margin: 0; }
.staffing-overview > div { display: grid; align-content: start; gap: var(--space-2); }
.staffing-overview > div > p:last-child { color: var(--color-muted); font-size: 0.875rem; }
.staffing-overview__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
  margin: 0;
}
.staffing-overview__facts div {
  min-width: 0;
  padding: var(--space-3);
  background: var(--color-canvas);
  border-radius: var(--radius-sm);
}
.staffing-overview__facts dt { color: var(--color-muted); font-size: 0.75rem; }
.staffing-overview__facts dd { margin: var(--space-1) 0 0; font-size: 1.25rem; font-weight: 800; }
.staffing-overview__facts .staffing-overview__urgent { color: var(--color-danger-text); background: var(--color-danger-bg); }

.risk-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
  gap: var(--space-2);
  margin: calc(var(--space-2) * -1) 0 var(--space-5);
}
.risk-filter {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-3);
  color: var(--color-muted);
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 700;
}
.risk-filter:hover { color: var(--color-ink); border-color: var(--color-line-strong); }
.risk-filter--active { color: var(--color-ink); background: var(--color-warning-bg); border-color: #d7aa4b; }
.risk-filter strong { color: var(--color-ink); font-size: 1rem; }

.status-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
  gap: var(--space-2);
  margin: 0 0 var(--space-4);
}

.status-filter {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-3);
  color: var(--color-muted);
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.status-filter:hover { color: var(--color-ink); border-color: var(--color-line-strong); }
.status-filter--active { color: var(--color-ink); background: var(--color-warning-bg); border-color: #d7aa4b; }
.status-filter strong { color: var(--color-ink); font-size: 1rem; }

.staffing-risk-card {
  display: grid;
  gap: var(--space-3);
  margin: 0 0 var(--space-4);
  padding: var(--space-3);
  color: var(--color-ink);
  background: var(--color-canvas);
  border-radius: var(--radius-sm);
}
.staffing-risk-card__title,
.staffing-risk-card__action { color: var(--color-muted); font-size: 0.75rem; }
.staffing-risk-card__professions,
.staffing-risk-card__signals { display: grid; gap: var(--space-2); }
.staffing-risk-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-2);
  background: var(--color-surface);
  border-left: 3px solid #6ba879;
  border-radius: var(--radius-sm);
}
.staffing-risk-line > span { display: grid; min-width: 0; }
.staffing-risk-line > span:last-child { text-align: right; }
.staffing-risk-line small { color: var(--color-muted); }
.staffing-risk-line--warning { border-left-color: #d7aa4b; }
.staffing-risk-line--urgent { color: var(--color-danger-text); background: var(--color-danger-bg); border-left-color: #d95b51; }
.staffing-risk-card__signals {
  padding-top: var(--space-2);
  border-top: 1px solid var(--color-line);
  color: var(--color-warning-text);
  font-size: 0.8125rem;
}
.staffing-risk-card__action { font-weight: 700; }

.experience-balance {
  display: grid;
  gap: var(--space-1);
  margin-bottom: var(--space-4);
  padding: var(--space-3);
  color: var(--color-ink);
  background: var(--color-canvas);
  border-left: 3px solid var(--color-line-strong);
  border-radius: var(--radius-sm);
  font-size: 0.8125rem;
}
.experience-balance small { color: var(--color-muted); }
.experience-balance--attention { border-left-color: #d7aa4b; }
.experience-balance--wide { max-width: 620px; }

.choice-panel {
  margin: 0;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
}
.choice-panel legend { padding: 0 var(--space-2); font-weight: 700; }
.choice-panel ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: var(--space-2) var(--space-4);
  margin: var(--space-3) 0 0;
  padding: 0;
  list-style: none;
}
.choice-panel label { display: flex; align-items: flex-start; gap: var(--space-2); }
.companion-group-summary { margin-top: var(--space-2); }
.companion-group-summary summary { cursor: pointer; width: fit-content; }
.companion-group-summary__body,
.companion-member-list { display: grid; gap: var(--space-2); margin-top: var(--space-2); }
.companion-group-summary__body > span,
.companion-member-list > span { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-2); }
.companion-group-summary__body small,
.companion-member-list small { color: var(--color-muted); }
.companion-group-card { align-items: flex-start; }

.need-list { display: grid; gap: var(--space-1); }
.need-line { display: flex; justify-content: space-between; gap: var(--space-3); padding: 5px 8px; background: #f4f7f4; border-radius: var(--radius-sm); font-size: 0.8125rem; }
.need-line--deficit { color: var(--color-danger-text); background: var(--color-danger-bg); }

.need-strip { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-5); }
.need-chip { display: inline-flex; align-items: center; gap: var(--space-3); padding: 8px 12px; color: var(--color-success-text); background: var(--color-success-bg); border-radius: 999px; font-size: 0.8125rem; }
.need-chip--deficit { color: var(--color-danger-text); background: var(--color-danger-bg); }

.composition-draft { border-color: #c9d9cd; background: #fbfdfb; }
.draft-candidate-list { display: grid; gap: var(--space-3); }
.draft-candidate { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, 0.55fr); gap: var(--space-5); padding: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); }
.draft-candidate__identity { display: grid; align-content: start; gap: var(--space-2); min-width: 0; }
.draft-candidate__identity > div { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.draft-candidate__identity > small { color: var(--color-muted); }
.draft-candidate__action { display: grid; align-content: end; gap: var(--space-3); }
.signal-list { display: grid; gap: var(--space-1); margin: 0; padding: 0; list-style: none; font-size: 0.8125rem; }
.signal-list li { position: relative; padding-left: 18px; }
.signal-list li::before { position: absolute; left: 0; top: 0; font-weight: 800; }
.signal-list__positive { color: var(--color-success-text); }
.signal-list__positive::before { content: "✓"; }
.signal-list__warning { color: var(--color-warning-text); }
.signal-list__warning::before { content: "!"; }
.draft-remainder { display: grid; gap: var(--space-2); margin-top: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--color-line); }
.draft-remainder .need-strip { margin: 0; }
.draft-group-notes { margin-top: var(--space-4); }
.draft-group-notes > summary { min-height: 40px; display: flex; align-items: center; cursor: pointer; color: var(--color-muted); font-size: 0.8125rem; font-weight: 700; }

.assignment-list, .free-pool-list { display: grid; }
.assignment-row, .free-person { padding: var(--space-4) 0; border-bottom: 1px solid var(--color-line); }
.assignment-row:last-child, .free-person:last-child { border-bottom: 0; }
.assignment-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: var(--space-4); }
.assignment-row__person { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.assignment-row__person > strong, .assignment-row__person > small { width: 100%; display: block; }
.assignment-row__person small, .free-person__identity small { color: var(--color-muted); font-size: 0.8125rem; }

.row-actions { min-width: 120px; }
.row-actions > summary, .assign-options > summary { min-height: 40px; display: flex; align-items: center; cursor: pointer; color: var(--color-muted); font-size: 0.8125rem; font-weight: 700; }
.row-actions__body { width: min(680px, 75vw); display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); margin-top: var(--space-3); padding: var(--space-4); background: var(--color-canvas); border-radius: var(--radius-md); }
.compact-form { align-content: start; }
.compact-form--danger { padding-left: var(--space-4); border-left: 1px solid var(--color-line); }

.free-person { display: grid; grid-template-columns: minmax(190px, 0.7fr) minmax(0, 1.3fr); align-items: end; gap: var(--space-4); }
.free-person__identity { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.free-person__identity > strong, .free-person__identity > small { width: 100%; display: block; }
.assign-form { display: grid; grid-template-columns: minmax(170px, 1fr) minmax(150px, 0.8fr) auto; align-items: end; gap: var(--space-3); }
.assign-options { align-self: end; }
.assign-options[open] { grid-column: span 2; padding: var(--space-3); background: var(--color-canvas); border-radius: var(--radius-sm); }
.empty-inline { padding: var(--space-5) 0 var(--space-2); color: var(--color-muted); }

.sync-status { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-success-text); }
.sync-status__dot { width: 8px; height: 8px; background: currentColor; border-radius: 50%; }
.sync-status--offline { color: var(--color-danger-text); }

.collection-summary { grid-template-columns: repeat(4, minmax(120px, 1fr)); }
.collection-dashboard-summary { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.collection-summary dd { font-size: 1.375rem; }
.collection-view-switch { display: inline-flex; gap: 4px; padding: 4px; background: var(--color-surface); border: 1px solid var(--color-line); border-radius: 999px; }
.collection-view-switch a { padding: 8px 14px; color: var(--color-muted); border-radius: 999px; text-decoration: none; font-weight: 700; }
.collection-view-switch a.is-active { color: var(--color-ink); background: var(--color-accent-soft); }
.collection-point-grid, .collection-coordinator-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.collection-point-overview, .collection-coordinator-card { display: grid; gap: var(--space-4); padding: var(--space-4); background: var(--color-surface); border: 1px solid var(--color-line); border-left: 5px solid var(--color-line-strong); border-radius: var(--radius-lg); box-shadow: var(--shadow-1); }
.collection-point-overview--collecting { border-left-color: var(--color-warning-text); }
.collection-point-overview--ready { border-left-color: var(--color-success-text); }
.collection-point-overview--partial { border-left-color: var(--color-danger-text); }
.collection-point-overview--delivered { border-left-color: #5688b4; }
.collection-point-overview > header, .collection-coordinator-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); }
.collection-point-overview h2, .collection-point-overview p, .collection-coordinator-card h2, .collection-coordinator-card p { margin: 0; }
.collection-point-overview header p:not(.eyebrow), .collection-coordinator-card header p { margin-top: 4px; color: var(--color-muted); }
.collection-point-overview__progress { display: grid; gap: 4px; padding: var(--space-3); background: var(--color-canvas); border-radius: var(--radius-sm); }
.collection-point-overview__progress strong { font-size: 1.25rem; }
.collection-point-overview__progress span { color: var(--color-muted); }
.collection-point-overview dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: var(--space-2); margin: 0; }
.collection-point-overview dl > div { padding: var(--space-2); background: var(--color-canvas); border-radius: var(--radius-sm); }
.collection-point-overview dt, .collection-point-overview dd { margin: 0; }
.collection-point-overview dt { color: var(--color-muted); font-size: .75rem; }
.collection-point-overview dd { margin-top: 4px; font-weight: 800; }
.collection-point-overview footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.collection-coordinator-card__points { display: grid; gap: var(--space-2); }
.collection-coordinator-card__points > div { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3); background: var(--color-canvas); border-radius: var(--radius-sm); }
.collection-coordinator-card__points strong, .collection-coordinator-card__points small { display: block; }
.collection-coordinator-card__points small { margin-top: 3px; color: var(--color-muted); }

.choice-fieldset {
  margin: 0;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
}

.choice-fieldset legend { padding: 0 var(--space-2); font-weight: 700; }
.choice-fieldset ul { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.choice-fieldset label { min-height: 40px; display: flex; align-items: center; gap: var(--space-3); cursor: pointer; }
.choice-fieldset input { width: 20px; height: 20px; margin: 0; }

.collection-job-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.collection-job-card {
  min-width: 0;
  padding: var(--space-4);
  color: inherit;
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-left: 4px solid var(--color-line-strong);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
  text-decoration: none;
}

.collection-job-card:hover { border-color: var(--color-ink); }
.collection-job-card__primary { display: block; color: inherit; text-decoration: none; }
.collection-job-card--attention { border-left-color: var(--color-warning-text); }
.collection-job-card--p1 { border-left-color: var(--color-danger-text); }
.collection-job-card--ready { border-left-color: #6ba879; }
.collection-job-card--dispatched { border-left-color: #5688b4; }
.collection-job-card__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); }
.collection-job-card__heading strong,
.collection-job-card__heading small { display: block; }
.collection-job-card__heading small { margin-top: var(--space-1); color: var(--color-muted); }
.collection-next-step {
  display: grid;
  gap: var(--space-1);
  margin: var(--space-4) 0;
  padding: var(--space-3);
  border-radius: var(--radius-sm);
  color: var(--color-warning-text);
  background: var(--color-warning-bg);
}
.collection-next-step small,
.collection-next-step span { color: inherit; }
.collection-next-step small { font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.collection-next-step strong { font-size: 1rem; }
.collection-next-step span { font-size: .8125rem; line-height: 1.4; }
.collection-next-step--p1 { color: var(--color-danger-text); background: var(--color-danger-bg); }
.collection-next-step--confirm_points,
.collection-next-step--dispatch,
.collection-next-step--ready { color: var(--color-success-text); background: var(--color-success-bg); }

.collection-route-preview,
.collection-route-list {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.collection-route-preview { margin-bottom: var(--space-4); }
.collection-route-preview li,
.collection-route-list__item a {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
}
.collection-route-preview b,
.collection-route-list__item b {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: var(--color-surface);
  background: var(--color-ink);
}
.collection-route-preview strong,
.collection-route-preview small,
.collection-route-list strong,
.collection-route-list small { display: block; }
.collection-route-preview small,
.collection-route-list small { margin-top: 2px; color: var(--color-muted); font-size: .75rem; line-height: 1.35; }
.collection-progress { height: 7px; margin: var(--space-5) 0 var(--space-4); overflow: hidden; background: #eceae5; border-radius: 999px; }
.collection-progress span { width: var(--progress); height: 100%; display: block; background: var(--color-ink); border-radius: inherit; }
.collection-job-card__metrics { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: var(--space-4); }
.collection-job-card__metrics strong,
.collection-job-card__metrics small { display: block; }
.collection-job-card__metrics strong { font-size: 1.25rem; }
.collection-job-card__metrics small { color: var(--color-muted); font-size: 0.8125rem; }
.collection-job-card__issues {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  margin-top: var(--space-4);
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-line);
}
.collection-job-card__issues span { min-width: 0; }
.collection-job-card__issues strong,
.collection-job-card__issues small { display: block; }
.collection-job-card__issues strong { font-size: 1rem; }
.collection-job-card__issues small { color: var(--color-muted); font-size: 0.75rem; }
.collection-job-card__issues .attention strong { color: var(--color-danger-text); }
.collection-job-card__quick-links {
  display: flex;
  gap: var(--space-4);
  margin-top: var(--space-3);
  color: var(--color-link);
  font-size: .8125rem;
  font-weight: 700;
}

/* Полевое рабочее место координатора: один экран, одна текущая задача. */
.collector-home {
  width: min(760px, 100%);
  display: grid;
  gap: var(--space-5);
  padding: clamp(24px, 5vw, 48px);
  color: var(--color-surface);
  background: var(--color-ink);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
}
.collector-home h2 { margin: 0; font-size: clamp(1.75rem, 4vw, 2.75rem); }
.collector-home p { margin: 0; }
.collector-home .eyebrow { color: #d4d0c7; }
.collector-home__point { display: grid; gap: 3px; color: #d4d0c7; font-size: 1rem; }
.collector-home__point strong { color: var(--color-surface); font-size: 1.125rem; }
.collector-home__point small { color: #d4d0c7; }
.collector-home__metrics,
.collector-point-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  margin: 0;
}
.collector-home__metrics > div {
  padding: var(--space-3);
  color: var(--color-ink);
  background: var(--color-surface);
  border-radius: var(--radius-sm);
}
.collector-home__metrics dt,
.collector-point-metrics dt { color: var(--color-muted); font-size: .75rem; }
.collector-home__metrics dd,
.collector-point-metrics dd { margin: var(--space-1) 0 0; font-size: 1.5rem; font-weight: 800; }
.collector-home__cta { min-height: 60px; font-size: 1.05rem; }
.collector-home__alert {
  display: block;
  padding: var(--space-3);
  color: var(--color-danger-text);
  background: var(--color-danger-bg);
  border-radius: var(--radius-sm);
  font-weight: 700;
}
.collector-home__secondary { display: flex; flex-wrap: wrap; gap: var(--space-4); }
.collector-home__secondary a { color: #d4d0c7; }

.collector-work-heading { margin-bottom: var(--space-4); }
.collector-work-heading h1 { margin-bottom: var(--space-2); }
.collector-work-live { display: grid; gap: var(--space-3); }
.collector-work-sync { color: var(--color-success-text); font-size: .8125rem; }
.collector-current-point {
  display: grid;
  gap: var(--space-5);
  padding: clamp(20px, 4vw, 36px);
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-top: 6px solid var(--color-ink);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
}
.collector-current-point__top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); }
.collector-current-point__top h2 { margin: var(--space-1) 0; font-size: clamp(1.5rem, 4vw, 2.25rem); }
.collector-current-point__top p { margin: 0; color: var(--color-muted); }
.collector-current-point__top .eyebrow { color: var(--color-ink); }
.collector-current-point__position {
  flex: 0 0 auto;
  padding: 8px 12px;
  background: var(--color-canvas);
  border-radius: 999px;
  font-weight: 800;
}
.collector-point-metrics > div { padding: var(--space-3); background: var(--color-canvas); border-radius: var(--radius-sm); }
.collector-point-metrics__danger { color: var(--color-danger-text); background: var(--color-danger-bg) !important; }
.collector-main-progress { display: grid; gap: 4px; padding: var(--space-4); color: var(--color-surface); background: var(--color-ink); border-radius: var(--radius-md); }
.collector-main-progress strong { font-size: clamp(1.35rem, 5vw, 2rem); }
.collector-main-progress span { color: #d4d0c7; }
.collector-compact-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2); margin: 0; }
.collector-compact-facts > div { padding: var(--space-3); background: var(--color-canvas); border-radius: var(--radius-sm); }
.collector-compact-facts dt, .collector-compact-facts dd { margin: 0; }
.collector-compact-facts dt { color: var(--color-muted); font-size: .75rem; }
.collector-compact-facts dd { margin-top: 4px; font-weight: 800; }
.collector-dispatch-action { display: grid; gap: var(--space-3); padding-top: var(--space-4); border-top: 1px solid var(--color-line); }
.collector-dispatch-action p { margin: 0; padding: var(--space-3); color: var(--color-warning-text); background: var(--color-warning-bg); border-radius: var(--radius-sm); }
.collector-waiting-note { margin: 0; padding: var(--space-3); color: var(--color-success-text); background: var(--color-success-bg); border-radius: var(--radius-sm); }
.collector-other-point-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); }
.collector-other-point-heading h3, .collector-other-point-heading p { margin: 0; }
.collector-other-point-heading p { margin-top: 4px; color: var(--color-muted); }
.collector-inline-alert { display: block; padding: var(--space-3); color: var(--color-danger-text); background: var(--color-danger-bg); border-radius: var(--radius-sm); font-weight: 700; }
.collector-people-title { margin: 0; }
.collector-person-list { display: grid; gap: var(--space-3); }
.collector-person-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr);
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4);
  background: var(--color-canvas);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  scroll-margin-top: var(--space-4);
}
.collector-person-card--done { background: var(--color-success-bg); border-color: #b9d6bf; }
.collector-person-card--replacement { background: var(--color-warning-bg); border-color: #dfc46e; }
.collector-person-card__identity { display: grid; gap: 4px; min-width: 0; }
.collector-person-card__identity strong { font-size: 1.05rem; }
.collector-person-card__identity small { color: var(--color-muted); }
.collector-person-card__actions { display: grid; grid-template-columns: .7fr 1.3fr; gap: var(--space-2); }
.collector-person-card__actions form { margin: 0; }
.collector-person-card__actions .button { min-height: 52px; }
.collector-person-card__result { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-3); }
.collector-replacement-state { display: flex; align-items: center; min-height: 52px; padding: 0 var(--space-3); color: var(--color-warning-text); font-weight: 800; }
.collector-replace { border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-surface); }
.collector-replace > summary { min-height: 52px; display: flex; align-items: center; padding: 0 var(--space-3); font-weight: 800; cursor: pointer; }
.collector-replace[open] > summary { border-bottom: 1px solid var(--color-line); }
.collector-replace form { padding: var(--space-3); }
.collector-escalate { border-top: 1px solid var(--color-line); text-align: center; }
.replacement-candidates { display: grid; gap: 6px; max-height: 248px; overflow: auto; }
.replacement-candidate { width: 100%; padding: 12px; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-ink); text-align: left; cursor: pointer; }
.replacement-candidate:hover, .replacement-candidate:focus-visible { border-color: var(--color-ink); background: var(--color-surface-soft); }
.replacement-candidate strong, .replacement-candidate small { display: block; }
.replacement-candidate small { margin-top: 3px; color: var(--color-muted); }
.replacement-candidate--manual { border-style: dashed; }
.replacement-selection { margin: 0; color: var(--color-muted); font-size: .875rem; }
.distribution-command-heading { align-items: end; }
.distribution-command-heading__actions { justify-content: flex-end; }
.distribution-command-strip { display: grid; grid-template-columns: 1.6fr repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin: var(--space-4) 0; }
.distribution-command-metric { min-width: 0; padding: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); color: inherit; text-decoration: none; box-shadow: var(--shadow-1); }
.distribution-command-metric span, .distribution-command-metric strong, .distribution-command-metric small { display: block; }
.distribution-command-metric > strong { margin: 10px 0; font-size: clamp(1.45rem, 3vw, 2.4rem); line-height: 1.05; }
.distribution-command-metric small { color: var(--color-muted); }
.distribution-command-metric--primary { background: var(--color-ink); color: #fff; }
.distribution-command-metric--primary small { color: #d9d7d1; }
.distribution-command-metric--danger { border-color: #dd7e72; background: var(--color-danger-bg); }
.distribution-signal-summary, .distribution-history { margin: var(--space-4) 0; border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); }
.distribution-signal-summary > summary, .distribution-history > summary { padding: var(--space-4); font-weight: 800; cursor: pointer; }
.distribution-signal-summary__body { padding: 0 var(--space-4) var(--space-4); color: var(--color-muted); }
.risk-filters--compact { margin: var(--space-4) 0; }
.distribution-command-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.distribution-command-point { min-width: 0; padding: var(--space-4); border: 1px solid var(--color-line); border-left: 5px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--shadow-1); }
.distribution-command-point--deficit { border-left-color: #de6557; }
.distribution-command-point--complete { border-left-color: #26723f; }
.distribution-command-point__header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--space-3); align-items: start; }
.distribution-command-point__name { min-width: 0; color: inherit; text-decoration: none; }
.distribution-command-point__name strong, .distribution-command-point__name small { display: block; }
.distribution-command-point__name strong { font-size: 1.25rem; }
.distribution-command-point__name small { margin-top: 3px; color: var(--color-muted); }
.distribution-command-point__numbers { display: flex; flex-wrap: wrap; gap: var(--space-4); margin: var(--space-4) 0; padding: var(--space-3) 0; border-block: 1px solid var(--color-line); }
.distribution-command-point__numbers span { min-width: 92px; }
.distribution-command-point__numbers strong, .distribution-command-point__numbers small { display: block; }
.distribution-command-point__numbers strong { font-size: 1.35rem; }
.distribution-command-point__numbers small { color: var(--color-muted); }
.distribution-command-point__owner { display: flex; justify-content: space-between; gap: var(--space-3); align-items: center; }
.distribution-command-point__owner span, .distribution-command-point__owner strong, .distribution-command-point__owner small { display: block; }
.distribution-command-point__owner small { color: var(--color-muted); }
.distribution-command-point__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); }
.distribution-command-point__manage, .distribution-command-point__nearby { margin-top: var(--space-3); border-top: 1px solid var(--color-line); }
.distribution-command-point__manage > summary, .distribution-command-point__nearby > summary { padding: var(--space-3) 0 0; font-weight: 700; cursor: pointer; }
.distribution-command-point__manage form { padding-top: var(--space-3); }
.distribution-command-point__nearby p { margin: 8px 0 0; color: var(--color-muted); }
.distribution-board-heading { align-items: end; }
.distribution-summary { display: flex; gap: 1px; margin: var(--space-3) 0; overflow-x: auto; border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-line); }
.distribution-summary > div { min-width: 108px; flex: 1; padding: var(--space-3); background: var(--color-surface); }
.distribution-summary strong, .distribution-summary span { display: block; }
.distribution-summary strong { font-size: 1.7rem; line-height: 1; }
.distribution-summary span { margin-top: 5px; color: var(--color-muted); font-size: .8125rem; }
.distribution-toolbar { display: grid; grid-template-columns: minmax(190px, 1.4fr) repeat(3, minmax(145px, .7fr)) auto auto minmax(150px, auto); gap: 8px; align-items: center; margin-bottom: var(--space-4); }
.distribution-toolbar input, .distribution-toolbar select { width: 100%; min-height: 44px; }
.distribution-view-switch { display: flex; padding: 3px; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-surface-soft); }
.distribution-view-switch a { padding: 8px 12px; border-radius: 7px; color: var(--color-muted); text-decoration: none; font-weight: 700; }
.distribution-view-switch a.is-active { color: var(--color-ink); background: var(--color-surface); box-shadow: var(--shadow-1); }
.distribution-kanban { display: grid; grid-template-columns: repeat(4, minmax(250px, 1fr)); gap: var(--space-3); align-items: start; overflow-x: auto; padding-bottom: var(--space-3); }
.distribution-kanban__column { min-width: 250px; padding: 8px; border-radius: var(--radius-md); background: #efede7; }
.distribution-kanban__column > header { display: flex; justify-content: space-between; align-items: center; padding: 8px; }
.distribution-kanban__column > header h2 { margin: 0; font-size: 1rem; }
.distribution-kanban__column > header span { display: grid; min-width: 28px; min-height: 28px; place-items: center; border-radius: 50%; background: var(--color-surface); font-weight: 800; }
.distribution-kanban__column > div { display: grid; gap: 8px; }
.distribution-kanban__empty { margin: 0; padding: var(--space-4); color: var(--color-muted); text-align: center; }
.distribution-point-list { display: grid; gap: 8px; }
.distribution-point-list .distribution-point-card { display: grid; grid-template-columns: minmax(290px, 1.5fr) minmax(170px, .5fr) minmax(260px, 1fr) minmax(260px, .8fr); gap: var(--space-3); align-items: center; }
.distribution-point-card { padding: var(--space-3); border: 1px solid var(--color-line); border-left: 4px solid #a8a49a; border-radius: var(--radius-sm); background: var(--color-surface); box-shadow: var(--shadow-1); }
.distribution-point-card--collecting { border-left-color: #d0a300; }
.distribution-point-card--ready { border-left-color: #2b7a45; }
.distribution-point-card--dispatched { border-left-color: #3571b8; }
.distribution-point-card--deficit { box-shadow: inset 0 0 0 1px #df8a80; }
.distribution-point-card > header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: start; }
.distribution-point-card > header strong, .distribution-point-card > header small { display: block; }
.distribution-point-card > header small { margin-top: 2px; color: var(--color-muted); }
.distribution-point-card__numbers { display: flex; gap: var(--space-3); margin: var(--space-3) 0; }
.distribution-point-card__numbers strong, .distribution-point-card__numbers small { display: block; }
.distribution-point-card__numbers strong { font-size: 1.35rem; }
.distribution-point-card__numbers small { color: var(--color-muted); }
.distribution-point-card__needs { display: flex; flex-wrap: wrap; gap: 5px; }
.distribution-point-card__needs span { padding: 5px 8px; border-radius: 999px; background: var(--color-surface-soft); font-size: .78rem; }
.distribution-point-card > footer { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: var(--space-3); }
.distribution-point-card > footer > span { min-width: 0; color: var(--color-muted); font-size: .82rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.distribution-point-list .distribution-point-card__numbers, .distribution-point-list .distribution-point-card > footer { margin: 0; }
.distribution-dialog { width: min(1380px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 0; border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: 0 28px 80px rgba(0,0,0,.28); }
.distribution-dialog::backdrop { background: rgba(20,20,18,.55); backdrop-filter: blur(2px); }
.distribution-dialog__loading { padding: var(--space-6); text-align: center; }
.distribution-point-panel { padding: var(--space-4); }
.distribution-point-panel__header { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; gap: var(--space-4); margin: calc(var(--space-4) * -1) calc(var(--space-4) * -1) var(--space-3); padding: var(--space-4); border-bottom: 1px solid var(--color-line); background: var(--color-surface); }
.distribution-point-panel__header h2, .distribution-point-panel__header p { margin: 0; }
.distribution-panel-progress { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-3); padding: var(--space-3); background: var(--color-canvas); border-radius: var(--radius-sm); }
.distribution-panel-progress span { color: var(--color-muted); }
.dialog-close { width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--color-surface-soft); font-size: 1.75rem; cursor: pointer; }
.need-strip--compact { margin: 0 0 var(--space-3); }
.distribution-panel-status { min-height: 20px; margin: 0 0 var(--space-2); color: var(--color-success-text); font-weight: 700; }
.distribution-panel-status.is-error { color: var(--color-danger-text); }
.distribution-point-panel__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.distribution-point-panel__grid > section { min-width: 0; padding: var(--space-3); border: 1px solid var(--color-line); border-radius: var(--radius-sm); }
.distribution-panel-people, .distribution-panel-pool { display: grid; gap: 6px; max-height: min(52vh, 620px); overflow-y: auto; }
.distribution-panel-person, .distribution-panel-candidate { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 10px; border: 1px solid var(--color-line); border-radius: 8px; background: var(--color-surface); }
.distribution-panel-candidate { grid-template-columns: minmax(0, 1fr) minmax(130px, .5fr) auto; }
.distribution-panel-person strong, .distribution-panel-person small, .distribution-panel-candidate strong, .distribution-panel-candidate small { display: block; }
.distribution-panel-person small, .distribution-panel-candidate small { color: var(--color-muted); }
.distribution-panel-person__edit { position: relative; }
.distribution-panel-person__edit > summary { cursor: pointer; font-weight: 700; }
.distribution-panel-person__forms { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr .7fr; gap: var(--space-3); margin-top: 8px; padding: var(--space-3); background: var(--color-surface-soft); }
.distribution-panel-person:has(details[open]) { grid-template-columns: 1fr; }
.distribution-panel-remove { display: grid; gap: 8px; align-content: end; }
.distribution-panel-search { width: 100%; margin-bottom: 8px; }
.distribution-panel-extra, .distribution-panel-actions > details { margin-top: 8px; border: 1px solid var(--color-line); border-radius: 8px; }
.distribution-panel-extra > summary, .distribution-panel-actions > details > summary { padding: 12px; font-weight: 800; cursor: pointer; }
.distribution-panel-extra form, .distribution-panel-actions > details > form { padding: 0 12px 12px; }
.distribution-panel-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: var(--space-3); }
.distribution-panel-checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; max-height: min(48vh, 520px); overflow-y: auto; }
.distribution-panel-checklist .check-field { min-width: 0; padding: 10px; border-radius: 8px; background: var(--color-surface-soft); }
.distribution-panel-checklist .check-field strong,
.distribution-panel-checklist .check-field small { display: block; overflow-wrap: anywhere; }
.distribution-panel-checklist .check-field small { margin-top: 2px; color: var(--color-muted); }
.batch-selected-count { position: sticky; top: 0; z-index: 1; margin: 0; padding: 8px 10px; border-radius: 8px; color: var(--color-success-text); background: var(--color-success-bg); font-weight: 800; }
.distribution-panel-requests { margin-top: var(--space-3); padding: var(--space-3); border-radius: var(--radius-sm); background: var(--color-warning-bg); }
.distribution-panel-requests h3 { margin-top: 0; }
.distribution-panel-requests p { display: flex; justify-content: space-between; gap: var(--space-3); }
.distribution-panel-requests span { color: var(--color-muted); }
.distribution-point-panel__footer { position: sticky; bottom: calc(var(--space-4) * -1); display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); margin: var(--space-4) calc(var(--space-4) * -1) calc(var(--space-4) * -1); padding: var(--space-3) var(--space-4); border-top: 1px solid var(--color-line); background: var(--color-surface); }
.need-list--compact { margin-top: var(--space-3); }
.batch-assignment__people { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; max-height: 320px; overflow: auto; padding: var(--space-3); border: 1px solid var(--color-line); border-radius: var(--radius-sm); }
.batch-assignment__people legend { padding: 0 6px; font-weight: 800; }
.batch-assignment__people .check-field { align-items: flex-start; padding: 10px; border-radius: var(--radius-sm); background: var(--color-surface-soft); }
.batch-assignment__people strong, .batch-assignment__people small { display: block; }
.batch-assignment__people small { color: var(--color-muted); }
.distribution-history .composition-feed { margin: 0; border: 0; box-shadow: none; }
.collector-finish-card {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-5);
  padding: var(--space-5);
  color: var(--color-surface);
  background: var(--color-ink);
  border-radius: var(--radius-lg);
}
.collector-finish-card h2,
.collector-finish-card p { margin: 0; }
.collector-finish-card .eyebrow { color: #d4d0c7; }
.collector-finish-card--done { color: var(--color-success-text); background: var(--color-success-bg); }
.collector-finish-card--done .eyebrow { color: var(--color-success-text); }
.collector-route-details,
.collector-secondary { margin-top: var(--space-5); }
.collector-other-points { display: grid; gap: var(--space-6); margin-top: var(--space-5); }
.collector-other-points section { scroll-margin-top: var(--space-4); }

.distribution-next-step { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-5); align-items: center; margin: 0 0 var(--space-4); }
.distribution-next-step h2 { margin: 0 0 var(--space-2); font-size: 1.25rem; }
.distribution-next-step p:last-child { margin: 0; }
.distribution-alert-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin-bottom: var(--space-5); }
.distribution-alert-grid .notice { margin: 0; }

.collection-next-step-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-5);
  align-items: center;
  margin: 0 0 var(--space-5);
  padding: var(--space-5);
  border: 1px solid #e0c36b;
  border-left: 4px solid var(--color-warning-text);
  border-radius: var(--radius-md);
  background: var(--color-warning-bg);
}
.collection-next-step-panel--p1 { border-color: var(--color-danger-text); background: var(--color-danger-bg); }
.collection-next-step-panel--confirm_points,
.collection-next-step-panel--dispatch,
.collection-next-step-panel--ready { border-color: var(--color-success-text); background: var(--color-success-bg); }
.collection-next-step-panel h2 { margin: 0 0 var(--space-2); font-size: 1.25rem; }
.collection-next-step-panel p:last-child { margin: 0; }

.collection-route { margin: 0 0 var(--space-5); }
.collection-route .section-heading { margin-bottom: var(--space-3); }
.collection-route-list { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.collection-route-list__item a {
  min-height: 72px;
  padding: var(--space-3);
  color: inherit;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  text-decoration: none;
}
.collection-route-list__item--adjacent a { border-color: #9ac7a4; }
.collection-route-list__item a:hover { border-color: var(--color-ink); }
.collection-point-progress { max-width: 520px; grid-template-columns: repeat(3, minmax(100px, 1fr)); }

.status--collection-in_progress { color: var(--color-warning-text); background: var(--color-warning-bg); }
.status--collection-ready { color: var(--color-success-text); background: var(--color-success-bg); }
.status--collection-dispatched { color: #245a8b; background: #e5f0fb; }
.status--collection-canceled { color: var(--color-muted); background: #eceae5; }

.collection-point-panel { margin-top: var(--space-4); }
.collection-person-list { display: grid; }
.collection-person {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--color-line);
}

.collection-person:last-child { border-bottom: 0; }
.collection-person--done { color: var(--color-muted); }
.collection-person__identity { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.collection-person__identity > strong,
.collection-person__identity > small { width: 100%; display: block; }
.collection-person__identity small { color: var(--color-muted); }
.collection-person__state { display: flex; align-items: center; gap: var(--space-3); }

.collection-issue-feed {
  margin: var(--space-5) 0;
  padding: var(--space-5);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.collection-issue-feed__heading,
.collection-issue__top,
.collection-issue__footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
}

.collection-issue-feed__heading { margin-bottom: var(--space-3); }
.collection-issue-feed__sync { display: grid; justify-items: end; gap: var(--space-2); }
.collection-issue-feed__heading h2 { margin: 0 0 var(--space-1); }
.collection-issue-feed__heading p:last-child { margin: 0; color: var(--color-muted); }
.collection-issue-list { display: grid; }
.collection-issue {
  min-width: 0;
  padding: var(--space-4) 0 var(--space-4) var(--space-3);
  border-bottom: 1px solid var(--color-line);
  border-left: 4px solid var(--color-line-strong);
}
.collection-issue:last-child { border-bottom: 0; }
.collection-issue--p1 { border-left-color: #d95b51; }
.collection-issue--p2 { border-left-color: #e0a748; }
.collection-issue h3 { margin: var(--space-2) 0 0; overflow-wrap: anywhere; }
.collection-issue > p { margin: var(--space-3) 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.collection-issue__footer { align-items: center; flex-wrap: wrap; color: var(--color-muted); font-size: .8125rem; }
.collection-issue__footer strong { color: #245a8b; }
.collection-issue-feed__empty { box-shadow: none; }
.row-action-form { min-width: min(360px, 70vw); padding: var(--space-3); background: var(--color-canvas); border-radius: var(--radius-sm); }
.collection-completion { margin-top: var(--space-5); }
.collection-completion > p { max-width: 720px; }
.section-heading__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-3); }

.confirmation-summary { grid-template-columns: repeat(4, minmax(120px, 1fr)); }
.confirmation-summary dd { font-size: 1.375rem; }
.confirmation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.confirmation-card {
  min-width: 0;
  padding: var(--space-4);
  color: inherit;
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-top: 4px solid var(--color-line-strong);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
  text-decoration: none;
}

.confirmation-card:hover { border-color: var(--color-ink); }
.confirmation-card--complete { border-top-color: #6ba879; }
.confirmation-card--deficit { border-top-color: #db746b; }
.confirmation-card__heading { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); }
.confirmation-card__heading strong,
.confirmation-card__heading small,
.confirmation-card__metrics strong,
.confirmation-card__metrics small { display: block; }
.confirmation-card__heading small,
.confirmation-card__metrics small { color: var(--color-muted); font-size: 0.8125rem; }
.confirmation-card__metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); margin-top: var(--space-5); }
.confirmation-card__metrics strong { font-size: 1.25rem; }
.confirmation-card__verification { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin-top: var(--space-3); color: var(--color-muted); font-size: .8125rem; }
.confirmation-card__verification strong { color: var(--color-ink); }

.point-verification-queue { margin: var(--space-5) 0; }
.point-verification-queue__heading { align-items: flex-start; }
.point-verification-queue__heading h2 { margin-bottom: var(--space-1); }
.point-verification-queue__heading p:last-child { margin: 0; color: var(--color-muted); }
.point-walk-next {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-5);
  margin: var(--space-4) 0;
  padding: var(--space-5);
  border: 1px solid var(--color-line);
  border-left: 4px solid var(--color-accent);
  border-radius: var(--radius-md);
  background: #fffaf0;
}
.point-walk-next h3 { margin: 0 0 var(--space-1); }
.point-walk-next p:not(.eyebrow) { margin: 0 0 var(--space-2); }
.point-walk-next small { color: var(--color-muted); }
.point-walk-next--discrepancy { border-left-color: #c64b44; }
.point-walk-location-filter {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr)) auto auto;
  align-items: end;
  gap: var(--space-3);
  margin: 0 0 var(--space-4);
}
.point-walk-location-filter .field { margin: 0; }
.point-walk-location-filter .text-link { align-self: center; }
.point-walk-row--discrepancy { border-left: 4px solid #c64b44; padding-left: var(--space-3); }
.point-walk-row--pending,
.point-walk-row--transferred { border-left: 4px solid #e0a748; padding-left: var(--space-3); }
.point-walk-row .status { display: inline-flex; margin-bottom: var(--space-2); }
.point-walk-row .verification-queue-row__time p { margin: 0 0 var(--space-1); }
.verification-filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-2);
  margin: var(--space-4) 0;
}
.verification-filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  min-height: 48px;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  color: inherit;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  text-decoration: none;
}
.verification-filter:hover { border-color: var(--color-ink); }
.verification-filter--active { border-color: var(--color-ink); background: #f4f2ed; }
.verification-filter span { min-width: 0; font-size: .8125rem; line-height: 1.25; }
.verification-filter strong { flex: 0 0 auto; }
.verification-queue-list { display: grid; }
.verification-queue-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(130px, auto) minmax(190px, auto);
  align-items: center;
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--color-line);
}
.verification-queue-row:last-child { border-bottom: 0; }
.verification-queue-row--discrepancy { border-left: 4px solid #e0a748; padding-left: var(--space-3); }
.verification-queue-row__person,
.verification-queue-row__time { min-width: 0; }
.verification-queue-row__person strong,
.verification-queue-row__person small,
.verification-queue-row__time time,
.verification-queue-row__time small { display: block; overflow-wrap: anywhere; }
.verification-queue-row__person small,
.verification-queue-row__time small { color: var(--color-muted); }
.verification-queue-row__state {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.verification-queue-row__state .button { min-height: 44px; }

.identity-readiness { max-width: 980px; }
.identity-readiness__toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}
.identity-readiness__toolbar h2 { margin: 0; }
.identity-readiness__summary {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  padding: var(--space-4);
  background: #f4f2ed;
  border-radius: var(--radius-md);
}
.identity-readiness__summary strong { font-size: 1.5rem; }
.identity-readiness__summary span { color: var(--color-muted); }
.identity-readiness-filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--space-2);
  margin: var(--space-4) 0;
}
.identity-readiness-filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  min-height: 48px;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  color: inherit;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  text-decoration: none;
}
.identity-readiness-filter:hover { border-color: var(--color-ink); }
.identity-readiness-filter--active { border-color: var(--color-ink); background: #f4f2ed; }
.identity-readiness-filter span { min-width: 0; font-size: .8125rem; line-height: 1.25; }
.identity-readiness-filter strong { flex: 0 0 auto; }
.identity-readiness-list { display: grid; }
.identity-readiness-row {
  display: grid;
  grid-template-columns: minmax(190px, .8fr) minmax(280px, 1.2fr) minmax(180px, auto);
  align-items: center;
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--color-line);
}
.identity-readiness-row:last-child { border-bottom: 0; }
.identity-readiness-row__person,
.identity-readiness-row__reason { min-width: 0; }
.identity-readiness-row__person > strong,
.identity-readiness-row__reason > strong,
.identity-readiness-row__reason small { display: block; overflow-wrap: anywhere; }
.identity-readiness-row__person .status { margin-top: var(--space-2); }
.identity-readiness-row__reason small { margin-top: var(--space-1); color: var(--color-muted); }
.identity-readiness-row__actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.identity-readiness-row__actions .button { min-height: 44px; }
.identity-readiness__empty { box-shadow: none; }

.reconciliation-heading .status { flex: 0 0 auto; }
.reconciliation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}
.reconciliation-card { min-width: 0; }
.reconciliation-card strong { font-size: 1.75rem; }
.reconciliation-card small { overflow-wrap: anywhere; }
.reconciliation-details,
.reconciliation-source { max-width: 980px; }
.reconciliation-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.reconciliation-source__facts {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.reconciliation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-5);
}
.reconciliation-actions .button { min-height: 44px; }

.confirmation-person-list { display: grid; }
.confirmation-person {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto minmax(120px, auto);
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--color-line);
}

.confirmation-person:last-child { border-bottom: 0; }
.confirmation-person--done { color: var(--color-muted); }
.confirmation-person__identity { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.confirmation-person__identity > strong,
.confirmation-person__identity > small { width: 100%; display: block; }
.confirmation-person__identity small { color: var(--color-muted); }
.confirmation-person__state { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); }
.confirmation-person__correction[open] { grid-column: 1 / -1; }
.confirmation-person__correction .row-action-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: var(--space-3); min-width: 0; }
.confirmation-person__correction .check-field,
.confirmation-person__correction .button { align-self: end; }
.confirmation-person__correction .check-field { white-space: normal; }
.confirmation-person__correction .check-field span { min-width: 0; overflow-wrap: anywhere; }
.row-action-form--danger { margin-top: var(--space-3); border-top: 1px solid var(--color-line); }
.confirmation-discrepancies { margin-top: var(--space-5); }
.confirmation-discrepancy { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--color-line); }
.confirmation-discrepancy:last-child { border-bottom: 0; }
.confirmation-discrepancy strong,
.confirmation-discrepancy small { display: block; }
.confirmation-discrepancy small { color: var(--color-muted); }
.confirmation-discrepancy form { margin-top: var(--space-2); }

.module-row--featured { background: #fff7cf; }
.module-row--featured:hover { background: #fff1a8; }

.event-hub-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-5); margin-bottom: var(--space-5); }
.event-hub-heading h1 { margin-bottom: var(--space-2); }
.event-hub-heading .lede { margin: 0; }
.event-title-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.event-title-row h1 { margin: 0; }
.fan-id-badge { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid #e0ad00; border-radius: 999px; background: #fff4bd; color: #5f4700; font-size: .78rem; font-weight: 900; letter-spacing: .02em; }
.task-dashboard { margin-bottom: var(--space-6); padding: var(--space-5); border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--shadow-1); }
.task-dashboard__heading, .task-dashboard__heading-actions { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); }
.task-dashboard__heading h2 { margin: 0; }
.task-dashboard__heading-actions { align-items: center; }
.task-dashboard__heading-actions form { margin: 0; }
.task-dashboard__updated { color: var(--color-muted); font-size: .78rem; font-weight: 750; white-space: nowrap; }
.task-dashboard__filters { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto auto; align-items: end; gap: var(--space-3); margin: var(--space-4) 0; }
.task-dashboard__filters label { color: var(--color-muted); font-size: .78rem; font-weight: 800; }
.task-dashboard__filters select { display: block; width: 100%; margin-top: 5px; }
.task-dashboard__metrics { display: grid; grid-template-columns: 1.2fr repeat(4, 1fr); gap: 1px; margin: 0; overflow: hidden; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-line); }
.task-dashboard__metrics > div { min-width: 0; padding: var(--space-3); background: var(--color-surface); }
.task-dashboard__metrics dt { color: var(--color-muted); font-size: .75rem; font-weight: 800; }
.task-dashboard__metrics dd { margin: 4px 0 0; font-size: 1.9rem; font-weight: 900; font-variant-numeric: tabular-nums; }
.task-dashboard__metrics small { color: var(--color-muted); }
.task-dashboard__metric--primary { color: white; background: var(--color-ink) !important; }
.task-dashboard__metric--primary dt, .task-dashboard__metric--primary small { color: #d8d6cf; }
.task-dashboard__professions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-4); }
.task-dashboard__profession { padding: var(--space-3); border: 1px solid var(--color-line); border-radius: var(--radius-sm); }
.task-dashboard__profession > div:first-child { display: flex; justify-content: space-between; gap: var(--space-3); }
.task-dashboard__profession > div:first-child span { font-weight: 900; font-variant-numeric: tabular-nums; }
.task-dashboard__profession small { display: block; margin-top: 8px; color: var(--color-muted); }
.task-dashboard__bar { display: flex; height: 8px; margin-top: 10px; overflow: hidden; border-radius: 999px; background: #ece9e2; }
.task-dashboard__bar i { display: block; height: 100%; }
.task-dashboard__bar-accepted { background: #168348; }
.task-dashboard__bar-pending { background: #ffb000; }
.task-dashboard__bar-wait { background: #5b71d8; }
.task-dashboard__notice, .task-dashboard__empty { display: flex; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-4); padding: 12px 14px; border-radius: var(--radius-sm); background: #f4f2ec; }
.task-dashboard__notice a, .task-dashboard__empty a { flex: 0 0 auto; font-weight: 800; }
.event-hub-jump { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-6); padding: var(--space-2); border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); }
.event-hub-jump a { padding: 9px 12px; border-radius: var(--radius-sm); color: inherit; text-decoration: none; font-weight: 700; }
.event-hub-jump a:hover { background: #f3f1ea; }
.event-hub-section { margin: 0 0 var(--space-7); scroll-margin-top: var(--space-4); }
.event-hub-section__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-3); }
.event-hub-section__heading h2 { margin: 0; }
.event-hub-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.event-hub-grid--primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.event-hub-card { position: relative; display: grid; min-height: 150px; padding: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); color: inherit; text-decoration: none; box-shadow: var(--shadow-1); }
.event-hub-card:hover { border-color: var(--color-ink); transform: translateY(-1px); }
.event-hub-card strong { align-self: end; font-size: 1.25rem; }
.event-hub-card small { margin-top: var(--space-2); padding-right: var(--space-5); color: var(--color-muted); }
.event-hub-card__step { color: var(--color-muted); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; }
.event-hub-card__arrow { position: absolute; right: var(--space-4); bottom: var(--space-4); font-size: 1.25rem; }
.event-hub-card--accent { min-height: 180px; background: #fff7cf; }
.event-hub-card--accent strong { font-size: 1.5rem; }
.event-hub-card--muted { color: var(--color-muted); background: #f8f7f3; box-shadow: none; }
.event-hub-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--color-line); border-radius: var(--radius-md); overflow: hidden; background: var(--color-surface); }
.event-hub-links a { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-width: 0; padding: var(--space-3) var(--space-4); border-right: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); color: inherit; text-decoration: none; }
.event-hub-links a:nth-child(2n) { border-right: 0; }
.event-hub-links a:hover { background: #faf9f6; }
.event-hub-links span { color: var(--color-muted); text-align: right; }
.filter-banner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin: calc(var(--space-2) * -1) 0 var(--space-4); padding: var(--space-3) var(--space-4); background: #f4f2ed; border-radius: var(--radius-sm); font-size: 0.875rem; }
.filter-banner a { color: var(--color-muted); }
.overview-heading { align-items: end; }
.overview-source { color: var(--color-muted); font-size: 0.8125rem; }
.overview-flow { display: flex; flex-direction: column; gap: var(--space-5); }
.overview-metrics { order: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); }
.overview-problems { order: 2; margin: 0; }
.overview-metric { min-width: 0; padding: var(--space-4); color: inherit; background: var(--color-surface); border: 1px solid var(--color-line); border-radius: var(--radius-md); box-shadow: var(--shadow-1); text-decoration: none; }
.overview-metric:hover { border-color: var(--color-ink); }
.overview-metric strong, .overview-metric span, .overview-metric small { display: block; }
.overview-metric strong { margin-bottom: var(--space-3); font-size: 2rem; line-height: 1; }
.overview-metric span { font-weight: 750; }
.overview-metric small { margin-top: var(--space-1); color: var(--color-muted); font-size: 0.75rem; }
.overview-metric--secondary { background: #f8f7f3; box-shadow: none; }

.overview-command-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); margin-bottom: var(--space-5); }
.overview-command-card { min-width: 0; padding: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); color: inherit; text-decoration: none; box-shadow: var(--shadow-1); }
.overview-command-card span, .overview-command-card strong, .overview-command-card small { display: block; }
.overview-command-card strong { margin: var(--space-3) 0; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1; font-variant-numeric: tabular-nums; }
.overview-command-card small { color: var(--color-muted); }
.overview-command-card--primary { color: #fff; background: var(--color-ink); }
.overview-command-card--primary small { color: #d9d7d1; }
.overview-system-alerts { margin-top: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--color-line); }
.overview-system-alerts summary { cursor: pointer; font-weight: 750; }
.overview-point-owner { display: grid; grid-template-columns: 1fr auto; gap: var(--space-3); padding: var(--space-3) 0; border-bottom: 1px solid var(--color-line); }
.overview-point-owner span, .overview-point-owner small, .overview-point-owner strong { display: block; }
.overview-point-owner small { color: var(--color-muted); }
.overview-issue-list { display: grid; }
.overview-issue { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); padding: var(--space-4) 0; color: inherit; border-bottom: 1px solid var(--color-line); text-decoration: none; }
.overview-issue:last-child { border-bottom: 0; }
.overview-issue:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.overview-issue__marker { width: 8px; height: 32px; background: #e0a748; border-radius: 999px; }
.overview-issue--p1 .overview-issue__marker { background: #d95b51; }
.overview-issue strong, .overview-issue small { display: block; }
.overview-issue small { margin-top: var(--space-1); color: var(--color-muted); }
.overview-points-section { margin-top: var(--space-7); }
.overview-point-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.overview-point { min-width: 0; padding: var(--space-4); color: inherit; background: var(--color-surface); border: 1px solid var(--color-line); border-left: 4px solid var(--color-line-strong); border-radius: var(--radius-lg); box-shadow: var(--shadow-1); text-decoration: none; }
.overview-point:hover { border-color: var(--color-ink); }
.overview-point--complete { border-left-color: #6ba879; }
.overview-point--deficit { border-left-color: #db746b; }
.overview-point__heading { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); }
.overview-point__heading strong, .overview-point__heading small, .overview-point__stages strong, .overview-point__stages small { display: block; }
.overview-point__heading small, .overview-point__stages small { color: var(--color-muted); font-size: 0.75rem; }
.overview-point__stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin: var(--space-5) 0 var(--space-4); padding: var(--space-3) 0; border-top: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); }
.overview-point__stages strong { font-size: 1.25rem; }

.errorlist {
  margin: 0;
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  list-style-position: inside;
}

.empty p { margin: var(--space-1) 0 0; color: var(--color-muted); }

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

.timesheet-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

.timesheet-summary > div {
  min-width: 0;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius);
  background: var(--color-surface);
}

.timesheet-summary strong {
  display: block;
  margin-bottom: var(--space-1);
  font-size: 2rem;
  line-height: 1;
}

.timesheet-summary span,
.timesheet-issue small,
.version-row small {
  display: block;
  color: var(--color-muted);
}

.timesheet-issue-list,
.version-list {
  display: grid;
  gap: var(--space-3);
}

.timesheet-issue,
.version-row {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(320px, 1.4fr);
  gap: var(--space-4);
  align-items: start;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: var(--color-background);
}

.timesheet-issue__main {
  display: grid;
  justify-items: start;
  gap: var(--space-2);
}

.timesheet-link-form {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(190px, 1fr) auto;
  gap: var(--space-2);
  align-items: end;
}

.timesheet-link-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.timesheet-link-form label > span {
  color: var(--color-muted);
  font-size: .8125rem;
}

.timesheet-link-form select,
.timesheet-link-form input {
  width: 100%;
  min-width: 0;
}

.table-scroll { overflow-x: auto; }

.data-table {
  width: 100%;
  border-collapse: collapse;
}

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

.data-table th {
  color: var(--color-muted);
  font-size: .8125rem;
  font-weight: 600;
}

.release-form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin-top: var(--space-4);
}

.checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
}

.checkbox-row small { display: block; color: var(--color-muted); }

.version-row {
  grid-template-columns: minmax(180px, 1fr) minmax(240px, auto) auto auto;
  align-items: center;
}

.version-row__counts { display: flex; gap: var(--space-3); color: var(--color-muted); }

.version-row code { margin-right: var(--space-2); }

.timesheet-review-list {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-5);
}

.timesheet-review-pages {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.timesheet-review-pages a,
.timesheet-review-pages span {
  padding: 8px 12px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--color-ink);
  font-size: .8125rem;
  text-decoration: none;
}

.timesheet-review-pages [aria-current="page"] {
  border-color: var(--color-ink);
  font-weight: 600;
}

.timesheet-verified-create,
.timesheet-verified-version,
.timesheet-verified-warning,
.timesheet-verified-current {
  grid-column: 1 / -1;
}

.timesheet-verified-version {
  align-items: center;
  flex-wrap: wrap;
}

.status--needs_attention {
  color: var(--color-warning-text);
  background: var(--color-warning-bg);
}

.status--failed {
  color: var(--color-danger-text);
  background: var(--color-danger-bg);
}

.timesheet-review-image img {
  display: block;
  width: 100%;
  max-height: 720px;
  margin-top: var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: #fff;
  object-fit: contain;
}

.timesheet-review-row--verified {
  border-color: var(--color-success);
}

.timesheet-review-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  align-items: end;
}

.timesheet-review-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.timesheet-review-form label > span {
  color: var(--color-muted);
  font-size: .8125rem;
}

.timesheet-review-form input,
.timesheet-review-form select {
  width: 100%;
  min-width: 0;
}

.timesheet-review-form .field--wide { grid-column: 1 / -1; }

.team-grant-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(210px, 1fr) minmax(230px, 1fr) auto;
  gap: var(--space-3);
  align-items: end;
}

.team-grant-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.team-grant-form label > span,
.team-grant-form small,
.team-row small,
.form-note {
  color: var(--color-muted);
}

.team-grant-form input,
.team-grant-form select { width: 100%; min-width: 0; }

.form-note { margin: var(--space-3) 0 0; }

.team-list { display: grid; }

.team-row {
  display: grid;
  grid-template-columns: minmax(200px, 1fr) minmax(180px, auto) minmax(160px, auto) auto;
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--color-line);
}

.team-row:last-child { border-bottom: 0; }

.team-row__person strong,
.team-row__person small { display: block; }

.section-heading--registration {
  margin: 0 0 var(--space-3);
}

.registration-station-state {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  width: 100%;
  margin: 0 0 var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.registration-station-state__dot {
  flex: 0 0 10px;
  width: 10px;
  height: 10px;
  margin-top: 6px;
  border-radius: 50%;
  background: var(--color-muted);
}

.registration-station-state strong,
.registration-station-state small { display: block; }
.registration-station-state small { margin-top: 2px; color: var(--color-muted); }
.registration-station-state--ready .registration-station-state__dot,
.registration-station-state--saved .registration-station-state__dot,
.registration-station-state--duplicate .registration-station-state__dot { background: var(--color-success-text); }
.registration-station-state--scanning .registration-station-state__dot { background: var(--color-focus); }
.registration-station-state--review .registration-station-state__dot,
.registration-station-state--manual_review .registration-station-state__dot { background: var(--color-warning-text); }
.registration-station-state--not_found .registration-station-state__dot { background: var(--color-danger-text); }
.registration-station-state--offline .registration-station-state__dot { background: var(--color-danger-text); }

.scan-panel { width: 100%; }
.scan-camera-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-3);
}
.scan-camera {
  overflow: hidden;
  margin-top: var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: #111;
}
.scan-camera video {
  display: block;
  width: 100%;
  max-height: 52vh;
  object-fit: cover;
}
.scan-summary { max-width: 760px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.registration-metrics { max-width: 760px; margin: var(--space-6) 0; }
.registration-metrics .section-heading p:last-child { max-width: 640px; margin: 0; }
.registration-metrics__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.registration-metrics__grid dd { margin-top: var(--space-1); font-size: 1.5rem; line-height: 1.1; }
.registration-metrics__grid small { display: block; margin-top: var(--space-2); color: var(--color-muted); line-height: 1.35; }
.scan-manual { max-width: 760px; }

.registration-command-strip {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(260px, 1fr) minmax(190px, 0.8fr);
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

.registration-arrived-hero,
.registration-timer-card,
.registration-review-card {
  min-width: 0;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: inherit;
  text-decoration: none;
  box-shadow: var(--shadow-1);
}

.registration-arrived-hero {
  background: var(--color-ink);
  color: #fff;
}

.registration-arrived-hero > span,
.registration-arrived-hero > strong,
.registration-arrived-hero > small,
.registration-timer-card > span,
.registration-timer-card > strong,
.registration-timer-card > small,
.registration-review-card > span,
.registration-review-card > strong,
.registration-review-card > small { display: block; }

.registration-arrived-hero strong { margin: var(--space-2) 0; font-size: clamp(3rem, 7vw, 5.5rem); line-height: 0.9; }
.registration-arrived-hero small { color: #d9d7d1; }
.registration-timer-card strong { margin: var(--space-2) 0; font-variant-numeric: tabular-nums; font-size: clamp(1.8rem, 4vw, 2.75rem); }
.registration-timer-card small,
.registration-review-card small { color: var(--color-muted); }
.registration-review-card strong { margin: var(--space-2) 0; font-size: 2.75rem; line-height: 1; }
.registration-timer-actions { margin-top: var(--space-3); }
.registration-timer-actions form { margin: 0; }

.registration-workspace {
  display: grid;
  grid-template-columns: minmax(340px, .9fr) minmax(360px, 1.15fr) minmax(290px, .75fr);
  gap: var(--space-4);
  align-items: start;
}

.registration-workspace__main,
.registration-workspace__side,
.registration-workspace__directory { display: grid; gap: var(--space-3); min-width: 0; }
.registration-workspace__side { position: sticky; top: var(--space-4); grid-column: 3; grid-row: 1; }
.registration-workspace__directory { grid-column: 2; grid-row: 1; }
.registration-person-card { margin: 0; }
.registration-note-form { margin-top: var(--space-4); }
.registration-directory { margin: 0; padding: 0; overflow: hidden; }
.registration-directory .section-heading { padding: var(--space-4); margin: 0; border-bottom: 1px solid var(--color-line); }
.registration-directory__search { display: block; padding: var(--space-3); border-bottom: 1px solid var(--color-line); }
.registration-directory__search input { width: 100%; min-height: 46px; }
.registration-directory__list { max-height: 520px; overflow-y: auto; }
.registration-directory__person { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--color-line); color: inherit; text-decoration: none; }
.registration-directory__person:last-child { border-bottom: 0; }
.registration-directory__person:hover { background: #faf9f6; }
.registration-directory__person strong,
.registration-directory__person small { display: block; }
.registration-directory__person small { margin-top: 3px; color: var(--color-muted); }
.registration-directory__person .status { flex: 0 0 auto; }
.registration-professions { margin-top: 0; }
.registration-workspace__side .registration-metrics { margin-top: 0; }
.registration-profession-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--space-3); }
.registration-profession-grid > div { padding: var(--space-3); border-radius: var(--radius-sm); background: #f8f7f3; }
.registration-profession-grid strong,
.registration-profession-grid span { display: block; }
.registration-profession-grid strong { font-size: 1.75rem; }

.worker-experience { display: grid; grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr); gap: var(--space-3); margin-bottom: var(--space-4); }
.worker-experience__total, .worker-experience__breakdown { padding: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--shadow-1); }
.worker-experience__total span, .worker-experience__total strong, .worker-experience__total small { display: block; }
.worker-experience__total strong { margin: var(--space-2) 0; font-size: clamp(2.5rem, 6vw, 4.5rem); line-height: 1; }
.worker-experience__total small { color: var(--color-muted); }
.worker-experience__breakdown { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.worker-experience__breakdown h2 { margin: 0 0 var(--space-2); font-size: 1rem; }
.worker-experience__breakdown p { display: flex; justify-content: space-between; gap: var(--space-3); margin: 0; padding: 8px 0; border-bottom: 1px solid var(--color-line); }
.worker-experience__breakdown p:last-child { border-bottom: 0; }

.scan-form {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: var(--space-3);
  align-items: end;
}

.scan-form input {
  min-height: 56px;
  font-size: 1.125rem;
}

.scan-result { max-width: 760px; }
.scan-result:focus,
.manual-review:focus { outline: 3px solid var(--color-focus); outline-offset: 3px; }

.scan-result__heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
}

.scan-result__heading h2 { margin: 0; }

.scan-attention,
.scan-complete {
  margin: 0 0 var(--space-4);
  padding: var(--space-3);
  border-radius: var(--radius-sm);
}

.scan-attention {
  color: var(--color-warning-text);
  background: var(--color-warning-bg);
}

.scan-complete {
  color: var(--color-success-text);
  background: var(--color-success-bg);
}

.scan-empty { max-width: 760px; margin-top: var(--space-5); }
.scan-empty .button { margin-top: var(--space-3); }
.registration-next-action { margin-top: var(--space-3); }

.scan-form.is-submitting,
[data-registration-action-form].is-submitting { opacity: .72; }

.registration-submit-status { min-height: 1.35em; margin: var(--space-2) 0 0; }

.manual-review {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-line);
}

.manual-review__heading h2 { margin: 0 0 var(--space-2); font-size: 1.25rem; }
.manual-review__heading p:last-child { margin: 0; color: var(--color-muted); }
.manual-candidates { display: grid; gap: var(--space-3); }

.manual-candidate {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.manual-candidate__main {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}

.manual-candidate__facts { margin: 0; }
.manual-candidate .scan-complete { margin: 0; }
.manual-create-separate { padding-top: var(--space-2); }
.manual-create-separate form { margin-top: var(--space-3); }
.manual-create-separate p { margin: 0; }
.checkbox-row { display: flex; gap: var(--space-2); align-items: flex-start; }
.checkbox-row input { flex: 0 0 auto; margin-top: 3px; }

.registration-feed { max-width: 760px; margin-top: var(--space-7); }

.registration-feed__heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-5);
  margin-bottom: var(--space-3);
}

.registration-feed__heading h2 { margin: 0 0 var(--space-1); }
.registration-feed__heading p:last-child { max-width: 580px; margin: 0; color: var(--color-muted); }
.registration-feed__heading .sync-status { flex: 0 0 auto; margin-top: var(--space-1); }
.registration-feed__row { min-height: 64px; }
.registration-feed__row .status { max-width: 300px; text-align: right; }
.registration-feed__empty { box-shadow: none; }

.composition-feed {
  margin: var(--space-5) 0;
  padding: var(--space-5);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.composition-feed__heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-5);
  margin-bottom: var(--space-3);
}

.composition-feed__heading h2 { margin: 0 0 var(--space-1); }
.composition-feed__heading p:last-child { margin: 0; color: var(--color-muted); }
.composition-change-list { display: grid; }

.composition-change {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-3) 0;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid var(--color-line);
}

.composition-change:last-child { border-bottom: 0; }
.composition-change:hover strong { text-decoration: underline; }
.composition-change__main { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); }
.composition-change p { margin: 0; }
.composition-change small { color: var(--color-muted); }
.composition-feed__empty { box-shadow: none; }

.capability-list { margin-top: var(--space-5); border-top: 1px solid var(--color-line); }

.accreditation-create { max-width: 1180px; }

.accreditation-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: var(--space-3);
  align-items: end;
}

.accreditation-form .button { justify-self: start; }

.accreditation-list { display: grid; }

.accreditation-row {
  display: grid;
  grid-template-columns: minmax(230px, 1fr) auto minmax(460px, 1.3fr);
  gap: var(--space-4);
  align-items: center;
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--color-line);
}

.accreditation-row:last-child { border-bottom: 0; }
.accreditation-row__person strong,
.accreditation-row__person small { display: block; }
.accreditation-row__person small { color: var(--color-muted); }

.accreditation-status-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(200px, 1.4fr) auto;
  gap: var(--space-2);
  align-items: end;
}

.accreditation-status-form label { display: grid; gap: 6px; min-width: 0; }
.accreditation-status-form label > span { color: var(--color-muted); font-size: .8125rem; }
.status--submitted { color: #245a8b; background: #e5f0fb; }
.status--needs_clarification { color: var(--color-danger-text); background: var(--color-danger-bg); }
.status--accepted_for_package { color: var(--color-success-text); background: var(--color-success-bg); }
.status--sent_to_zls { color: var(--color-success-text); background: var(--color-success-bg); }

.accreditation-heading { margin-bottom: var(--space-4); }

.accreditation-desk {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: var(--space-5);
  margin-bottom: var(--space-3);
  padding: var(--space-5);
  color: #fff;
  border-radius: var(--radius-lg);
  background: var(--color-ink);
}

.accreditation-desk--attention { color: var(--color-ink); background: var(--color-warning-bg); border: 2px solid var(--color-accent); }
.accreditation-desk--closed { color: var(--color-success-text); background: var(--color-success-bg); }
.accreditation-desk h2, .accreditation-desk p { margin: 0; }
.accreditation-desk__main { display: grid; gap: var(--space-1); }
.accreditation-desk__metric { display: grid; text-align: right; }
.accreditation-desk__metric strong { font-size: 2rem; line-height: 1; }
.accreditation-desk__metric span { font-size: .875rem; opacity: .75; }
.accreditation-live { margin-bottom: var(--space-4); }
.accreditation-queue { margin-bottom: var(--space-4); }
.accreditation-row--action { grid-template-columns: minmax(230px, 1fr) auto; }
.accreditation-row--action .disclosure { grid-column: 1 / -1; padding: 0; border: 0; box-shadow: none; }
.accreditation-row__person { display: grid; gap: var(--space-1); }
.accreditation-row__person .status { justify-self: start; }
.accreditation-initial-list { display: grid; max-height: 420px; overflow: auto; }
.accreditation-initial-row { display: grid; gap: 2px; padding: var(--space-3) 0; border-bottom: 1px solid var(--color-line); }
.accreditation-initial-row span { color: var(--color-muted); font-size: .875rem; }
.accreditation-signal { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-3) var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); }
.accreditation-signal--compact { margin-bottom: var(--space-4); }
.accreditation-signal > div { display: grid; }
.accreditation-signal span { color: var(--color-muted); font-size: .875rem; }
.button--large { min-height: 52px; padding-inline: var(--space-5); }

.issue-layout {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.4fr);
  gap: var(--space-5);
  align-items: start;
}
.issue-layout--single { grid-template-columns: minmax(0, 1fr); }
.preparation-summary { margin-bottom: var(--space-5); }
.preparation-row .issue-row__facts { margin-top: var(--space-3); }
.notification-list { gap: var(--space-3); }
.notification-row { border-bottom: 1px solid var(--color-line); }
.notification-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); }
.notification-actions form { margin: 0; }

.payment-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  margin: var(--space-5) 0;
}

.metric-card {
  min-width: 0;
  padding: var(--space-4);
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-1);
}

.metric-card span,
.metric-card strong,
.metric-card small { display: block; }
.metric-card span { font-weight: 750; }
.metric-card strong { margin: var(--space-2) 0; font-size: 2rem; line-height: 1; }
.metric-card small { color: var(--color-muted); font-size: .75rem; }
.metric-card--danger { border-left: 4px solid #d95b51; }
.metric-card--success { border-left: 4px solid #6ba879; }

.payment-risk-section > .muted { margin: calc(var(--space-2) * -1) 0 var(--space-4); }
.payment-risk-list { display: grid; gap: var(--space-3); }
.payment-risk-row {
  padding: var(--space-4);
  background: #faf9f6;
  border: 1px solid var(--color-line);
  border-left: 4px solid var(--color-line-strong);
  border-radius: var(--radius-md);
}
.payment-risk-row--urgent { border-left-color: #d95b51; }
.payment-risk-row--protected { border-left-color: #6ba879; }
.payment-risk-row__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); }
.payment-risk-row__heading h3 { margin: var(--space-1) 0 0; }
.payment-risk-row__reason { margin: var(--space-3) 0; }
.payment-risk-row__facts { margin: 0; }
.payment-risk-row__shifts { margin-top: var(--space-3); padding: var(--space-3); box-shadow: none; }
.payment-risk-shifts { margin-top: var(--space-3); }
.payment-risk-shifts p { margin: var(--space-2) 0 0; overflow-wrap: anywhere; }
.payment-protected { margin-top: var(--space-5); }
.payment-protected > summary { font-weight: 750; }

.funnel-overall {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin: var(--space-5) 0;
}

.funnel-stage {
  min-width: 0;
  padding: var(--space-4);
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-left: 4px solid var(--color-line-strong);
  border-radius: var(--radius-md);
}
.funnel-stage--deficit { border-left-color: #d95b51; }
.funnel-stage--corridor { border-left-color: #6ba879; }
.funnel-stage--above_buffer { border-left-color: #e0a748; }
.funnel-stage__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); font-weight: 750; }
.funnel-stage__value { display: block; margin: var(--space-3) 0; font-size: 2rem; line-height: 1; }
.funnel-stage__value small { color: var(--color-muted); font-size: .875rem; }
.funnel-stage p { margin: 0 0 var(--space-1); }
.funnel-stage > small { color: var(--color-muted); }
.funnel-statuses .facts { margin-bottom: 0; }
.funnel-statuses .notice { margin: var(--space-4) 0 0; }
.funnel-professions > .muted { margin: calc(var(--space-2) * -1) 0 var(--space-4); }
.funnel-profession-list { display: grid; gap: var(--space-3); }
.funnel-profession-row {
  display: grid;
  grid-template-columns: minmax(180px, .7fr) repeat(2, minmax(240px, 1fr));
  gap: var(--space-3);
  align-items: stretch;
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--color-line);
}
.funnel-profession-row:last-child { border-bottom: 0; }
.funnel-profession-row__title { padding: var(--space-3) 0; }
.funnel-profession-row__title h3 { margin: var(--space-1) 0 0; }

.issue-create-panel { position: sticky; top: var(--space-4); margin: 0; }
.issue-create-form { gap: var(--space-3); }
.issue-create-form .field--wide { grid-column: 1 / -1; }
.issue-queue .section-heading { margin-bottom: var(--space-3); }
.issue-list { gap: var(--space-3); }

.panel.issue-row {
  display: block;
  margin: 0;
  padding: var(--space-4);
  border: 1px solid var(--color-line);
  border-left: 4px solid var(--color-line-strong);
  border-radius: var(--radius-md);
}

.panel.issue-row--p1 { border-left-color: #d95b51; }
.panel.issue-row--p2 { border-left-color: #e0a748; }

.issue-row__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
}

.issue-row__top h3 { margin: var(--space-2) 0 0; }
.issue-row__meta { display: flex; flex-wrap: wrap; gap: var(--space-2); color: var(--color-muted); font-size: .8125rem; }
.issue-row__meta .priority { color: var(--color-ink); }
.issue-row__details { margin: var(--space-3) 0; white-space: pre-wrap; }
.issue-row__facts { display: grid; gap: var(--space-2); margin: 0; }
.issue-row__facts > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: var(--space-3); }
.issue-row__facts dt { color: var(--color-muted); font-size: .8125rem; }
.issue-row__facts dd { margin: 0; }
.issue-action { margin-top: var(--space-4); }
.issue-action.disclosure { padding: 0; background: transparent; border: 0; }
.issue-action.disclosure summary { color: var(--color-muted); }
.issue-status-form { margin-top: var(--space-3); padding: var(--space-3); background: var(--color-canvas); border-radius: var(--radius-sm); }

.panel--subtle { background: transparent; box-shadow: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}

@media (max-width: 720px) {
  .topbar__inner, .page { width: min(100% - 32px, var(--content-width)); }
  .page { margin-top: var(--space-6); }
  .account__name { display: none; }
  .event-mode-nav { display: grid; gap: 6px; margin-top: -12px; padding: 8px; }
  .event-mode-nav__event { max-width: 100%; padding: 0 4px; }
  .event-mode-nav__links a { min-height: 42px; display: inline-flex; align-items: center; }

  .page-heading, .title-row, .inline-form, .search, .two-column,
  .form-grid, .form-grid--wide, .resolution-grid, .action-panel {
    display: grid;
    grid-template-columns: 1fr;
  }

  .field--grow, .search input { min-width: 0; max-width: none; }

  .button, .primary, .secondary {
    width: 100%;
    min-height: 48px;
  }

  .person-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-2) var(--space-3);
  }

  .person-row__main { grid-column: 1 / -1; }
  .person-row .entity-row__arrow { display: none; }

  .compact-facts > div {
    grid-template-columns: 1fr;
    gap: var(--space-1);
  }

  .panel, .empty, .disclosure { padding: var(--space-4); }

  .module-row {
    margin: 0 calc(var(--space-4) * -1);
    padding-right: var(--space-4);
    padding-left: var(--space-4);
  }

  .section-heading, .issue-row, .point-row, .demand-row__heading {
    align-items: stretch;
    flex-direction: column;
  }

  .demand-row__mapping { justify-items: start; text-align: left; }

  .demand-line {
    grid-template-columns: 1fr auto;
  }

  .demand-line .inline-form { grid-column: 1 / -1; }
  .inline-form--compact select { min-width: 0; }

  .point-setting {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .roster-row { grid-template-columns: 1fr auto; }
  .roster-row__person, .roster-row__data, .roster-row__issue { grid-column: 1 / -1; }
  .roster-row__data { grid-template-columns: 1fr 1fr; }
  .pagination { display: grid; grid-template-columns: 1fr; text-align: center; }
  .pool-toolbar { align-items: flex-start; flex-direction: column; }
  .live-toolbar .button { width: auto; }
  .registration-feed__heading { display: grid; gap: var(--space-3); }
  .registration-feed__heading .sync-status { justify-self: start; }
  .registration-feed__row .status { max-width: none; text-align: left; }
  .manual-candidate__main { display: grid; }
  .manual-candidate__main .status { justify-self: start; }
  .registration-metrics__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .composition-feed { padding: var(--space-4); }
  .composition-feed__heading, .composition-change__main { display: grid; gap: var(--space-3); }
  .composition-feed__heading .sync-status,
  .composition-change__main .status { justify-self: start; }
  .distribution-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .distribution-next-step { grid-template-columns: 1fr; padding: var(--space-4); }
  .distribution-next-step .button { width: 100%; }
  .distribution-alert-grid { grid-template-columns: 1fr; }
  .staffing-overview { grid-template-columns: 1fr; padding: var(--space-4); }
  .staffing-risk-line { grid-template-columns: 1fr; gap: var(--space-1); }
  .staffing-risk-line > span:last-child { text-align: left; }
  .distribution-grid { grid-template-columns: 1fr; }
  .collection-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collection-point-grid, .collection-coordinator-grid { grid-template-columns: 1fr; }
  .collection-point-overview > header, .collection-coordinator-card > header, .collection-point-overview footer, .collector-other-point-heading { align-items: stretch; flex-direction: column; }
  .collection-point-overview footer .button { width: 100%; }
  .collection-job-grid { grid-template-columns: 1fr; }
  .collection-job-card__issues { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2); }
  .collection-next-step-panel { grid-template-columns: 1fr; padding: var(--space-4); }
  .collection-next-step-panel .button { width: 100%; }
  .collection-route-list { grid-template-columns: 1fr; }
  .collection-point-progress { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .collection-job-card__heading,
  .collection-person,
  .collection-person__state { align-items: stretch; flex-direction: column; }
  .collection-person { grid-template-columns: 1fr; }
  .collection-person__state { display: flex; }
  .collection-person form .button { width: 100%; }
  .collector-home { padding: var(--space-5); }
  .collector-home__metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .collector-home__metrics > div { padding: var(--space-2); }
  .collector-home__metrics dd { font-size: 1.25rem; }
  .collector-work-heading .back { margin-bottom: var(--space-3); }
  .collector-work-live,
  .collector-work-live > *,
  .collector-current-point,
  .collector-current-point__top,
  .collector-person-list,
  .collector-person-card {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
  .collector-work-live { align-items: stretch; }
  .collector-current-point { gap: var(--space-4); padding: var(--space-4); }
  .collector-current-point__top { display: grid; }
  .collector-current-point__position { grid-row: 1; justify-self: start; }
  .collector-point-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collector-compact-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .collector-person-card { grid-template-columns: minmax(0, 1fr); padding: var(--space-3); }
  .collector-person-card__actions { grid-template-columns: 1fr; }
  .collector-person-card__result { align-items: stretch; flex-direction: column; }
  .collector-person-card__result .status { align-self: flex-start; }
  .collector-replace .check-field { white-space: normal; }
  .collector-replacement-state { justify-content: center; text-align: center; }
  .collector-finish-card { padding: var(--space-4); }
  .collection-issue-feed { padding: var(--space-4); }
  .collection-issue-feed__heading,
  .collection-issue__top,
  .collection-issue__footer { align-items: stretch; flex-direction: column; }
  .collection-issue-feed__heading .sync-status,
  .collection-issue__top .status { align-self: flex-start; }
  .collection-issue-feed__sync { justify-items: start; }
  .row-action-form { min-width: 0; width: 100%; }
  .section-heading__actions { justify-content: flex-start; }
  .confirmation-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .verification-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .point-walk-next,
  .point-walk-location-filter { grid-template-columns: minmax(0, 1fr); }
  .point-walk-next { align-items: stretch; padding: var(--space-4); }
  .point-walk-next .button,
  .point-walk-location-filter .button { width: 100%; }
  .verification-queue-row { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .verification-queue-row__state { align-items: stretch; justify-content: flex-start; flex-direction: column; }
  .verification-queue-row__state form,
  .verification-queue-row__state .button { width: 100%; }
  .identity-readiness__toolbar { display: grid; }
  .identity-readiness__toolbar .sync-status { justify-self: start; }
  .identity-readiness-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .identity-readiness-filter:first-child { grid-column: 1 / -1; }
  .identity-readiness-row { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .identity-readiness-row__actions { justify-content: stretch; }
  .identity-readiness-row__actions .button { width: 100%; }
  .reconciliation-heading { display: grid; }
  .reconciliation-heading .status { justify-self: start; }
  .reconciliation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reconciliation-facts,
  .reconciliation-source__facts { grid-template-columns: minmax(0, 1fr); }
  .reconciliation-actions { display: grid; }
  .reconciliation-actions .button { width: 100%; }
  .confirmation-grid { grid-template-columns: 1fr; }
  .confirmation-person { grid-template-columns: 1fr; }
  .confirmation-person__correction[open] { grid-column: auto; }
  .confirmation-person__correction .row-action-form { grid-template-columns: minmax(0, 1fr); }
  .confirmation-discrepancy { align-items: flex-start; flex-direction: column; }
  .filter-banner { align-items: flex-start; flex-direction: column; }
  .overview-heading { align-items: stretch; }
  .event-hub-heading { align-items: stretch; flex-direction: column; }
  .event-hub-grid,
  .event-hub-grid--primary,
  .event-hub-links { grid-template-columns: 1fr; }
  .event-hub-card,
  .event-hub-card--accent { min-height: 132px; }
  .event-hub-links a,
  .event-hub-links a:nth-child(2n) { border-right: 0; }
  .overview-flow { gap: var(--space-4); }
  .overview-problems { order: 1; }
  .overview-metrics { order: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .overview-command-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .overview-metric { padding: var(--space-3); }
  .overview-metric strong { font-size: 1.625rem; }
  .overview-point-grid { grid-template-columns: 1fr; }
  .overview-point__heading { grid-template-columns: 34px minmax(0, 1fr); }
  .overview-point__heading .status { grid-column: 2; justify-self: start; }
  .timesheet-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .timesheet-issue, .version-row, .timesheet-link-form { grid-template-columns: 1fr; }
  .timesheet-review-form { grid-template-columns: 1fr; }
  .timesheet-review-form .field--wide { grid-column: auto; }
  .release-form { align-items: stretch; flex-direction: column; }
  .version-row__counts { flex-wrap: wrap; }
  .team-grant-form, .team-row { grid-template-columns: 1fr; }
  .team-row form .button { width: 100%; }
  .scan-form { grid-template-columns: 1fr; }
  .registration-command-strip,
  .registration-workspace { grid-template-columns: 1fr; }
  .registration-workspace__directory { grid-column: auto; grid-row: auto; }
  .registration-workspace__side { position: static; grid-column: auto; grid-row: auto; }
  .registration-directory__list { max-height: 420px; }
  .worker-experience, .worker-experience__breakdown { grid-template-columns: 1fr; }
  .scan-result__heading { align-items: flex-start; flex-direction: column; }
  .accreditation-form, .accreditation-row, .accreditation-status-form { grid-template-columns: 1fr; }
  .accreditation-row { align-items: stretch; }
  .accreditation-desk { position: sticky; top: 58px; z-index: 20; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); padding: var(--space-4); }
  .accreditation-desk form { grid-column: 1 / -1; }
  .accreditation-desk form .button { width: 100%; }
  .accreditation-desk__metric strong { font-size: 1.5rem; }
  .accreditation-row--action { grid-template-columns: 1fr; }
  .accreditation-row--action form .button { width: 100%; }
  .accreditation-signal { align-items: stretch; flex-direction: column; }
  .accreditation-signal form .button { width: 100%; min-height: 48px; }
  .issue-layout { grid-template-columns: 1fr; }
  .issue-create-panel { position: static; }
  .issue-create-form .field--wide { grid-column: auto; }
  .issue-row__top { align-items: flex-start; flex-direction: column; }
  .issue-row__facts > div { grid-template-columns: 1fr; gap: var(--space-1); }
  .issue-status-form { grid-template-columns: 1fr; }
  .notification-actions, .notification-actions form, .notification-actions .button { width: 100%; }
  .payment-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .payment-risk-row__heading { align-items: flex-start; flex-direction: column; }
  .funnel-overall, .funnel-profession-row { grid-template-columns: 1fr; }
  .funnel-stage__heading { align-items: flex-start; flex-direction: column; }
  .assignment-row, .free-person, .assign-form, .row-actions__body, .draft-candidate { grid-template-columns: 1fr; }
  .distribution-command-heading { align-items: stretch; }
  .distribution-command-heading__actions { justify-content: stretch; }
  .distribution-command-heading__actions .button { width: 100%; }
  .distribution-command-strip, .distribution-command-grid { grid-template-columns: 1fr; }
  .distribution-board-heading { align-items: flex-start; }
  .distribution-toolbar { grid-template-columns: 1fr 1fr; }
  .distribution-toolbar > label:first-of-type, .distribution-view-switch { grid-column: 1 / -1; }
  .distribution-toolbar .button { width: 100%; }
  .distribution-kanban { grid-template-columns: repeat(4, minmax(82vw, 1fr)); scroll-snap-type: x mandatory; }
  .distribution-kanban__column { scroll-snap-align: start; }
  .distribution-point-list .distribution-point-card { display: block; }
  .distribution-dialog { width: 100vw; max-width: none; max-height: 100dvh; height: 100dvh; border-radius: 0; }
  .distribution-point-panel { padding: var(--space-3); }
  .distribution-point-panel__header { margin: calc(var(--space-3) * -1) calc(var(--space-3) * -1) var(--space-3); padding: var(--space-3); }
  .distribution-point-panel__grid, .distribution-panel-actions, .distribution-panel-person__forms { grid-template-columns: 1fr; }
  .distribution-panel-progress { align-items: flex-start; flex-direction: column; }
  .distribution-panel-candidate { grid-template-columns: minmax(0, 1fr) auto; }
  .distribution-panel-candidate select { grid-column: 1; }
  .distribution-point-panel__footer { margin-inline: calc(var(--space-3) * -1); margin-bottom: calc(var(--space-3) * -1); }
  .distribution-command-point { padding: var(--space-3); }
  .distribution-command-point__header { grid-template-columns: auto minmax(0, 1fr); }
  .distribution-command-point__header .status { grid-column: 2; justify-self: start; }
  .distribution-command-point__owner { align-items: flex-start; flex-direction: column; }
  .distribution-command-point__actions { display: grid; }
  .distribution-command-point__actions .button { width: 100%; }
  .batch-assignment__people { grid-template-columns: 1fr; }
  .row-actions { width: 100%; }
  .row-actions__body { width: 100%; }
  .compact-form--danger { padding: var(--space-4) 0 0; border-top: 1px solid var(--color-line); border-left: 0; }
  .assign-options[open] { grid-column: auto; }
}

.collector-timer { text-align: right; font-variant-numeric: tabular-nums; }
.collector-timer small, .collector-timer strong { display: block; }
.collector-timer strong { margin-top: 4px; font-size: clamp(1.45rem, 4vw, 2.2rem); }
.collector-dispatch-action--prominent { margin: var(--space-4) 0; padding: var(--space-4); border: 2px solid var(--color-ink); border-radius: var(--radius-md); background: #fff6c8; }
.collector-person-card__actions { align-items: stretch; }
@media (max-width: 720px) {
  .collector-current-point__top { align-items: flex-start; }
  .collector-compact-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collector-person-card__actions { width: 100%; }
}

.overview-professions { margin: var(--space-4) 0; }
.overview-profession-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: var(--space-3); }
.overview-profession-grid > div { display: grid; grid-template-columns: 1fr auto; gap: 6px 14px; padding: var(--space-3); border: 1px solid var(--color-line); border-radius: var(--radius-sm); }
.overview-profession-grid > div strong { grid-column: 1 / -1; }
.overview-point-filters { display: grid; grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(150px, .55fr)) auto auto; gap: var(--space-2); margin-bottom: var(--space-4); }
.overview-kanban { display: grid; grid-template-columns: repeat(4, minmax(230px, 1fr)); gap: var(--space-3); align-items: start; overflow-x: auto; }
.overview-kanban > section { display: grid; gap: var(--space-2); min-width: 230px; padding: var(--space-3); border-radius: var(--radius-md); background: #efeee9; }
.overview-kanban > section > h3 { margin: 0; }
.overview-point-list { display: grid; gap: var(--space-2); }
.overview-point-list .overview-point { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(220px, .75fr) auto; align-items: center; gap: var(--space-3); }
.overview-point { padding: var(--space-3); }
.overview-point__coordinator { margin: var(--space-2) 0; color: var(--color-muted); }
.overview-point__plain-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-2); margin: 0; }
.overview-point__plain-metrics div { min-width: 0; }
.overview-point__plain-metrics dt { color: var(--color-muted); font-size: .78rem; }
.overview-point__plain-metrics dd { margin: 2px 0 0; font-size: 1.2rem; font-weight: 800; }
@media (max-width: 900px) { .overview-point-filters { grid-template-columns: 1fr 1fr; } .overview-kanban { grid-template-columns: repeat(4, minmax(78vw, 1fr)); } .overview-point-list .overview-point { display: block; } }

/* Registration uses the screen for the working list instead of a narrow middle column. */
.registration-workspace { grid-template-columns: minmax(560px, 1.55fr) minmax(300px, .65fr); }
.registration-workspace__main { grid-column: 1; }
.registration-workspace__directory { grid-column: auto; grid-row: auto; }
.registration-workspace__side { grid-column: 2; grid-row: 1; }
.registration-directory__list { max-height: 640px; }
.registration-directory__person > span:first-child { min-width: 0; overflow: hidden; }
.registration-directory__person strong, .registration-directory__person small { overflow-wrap: anywhere; }
.registration-profession-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 980px) {
  .registration-workspace { grid-template-columns: 1fr; }
  .registration-workspace__main, .registration-workspace__side { grid-column: auto; grid-row: auto; }
  .registration-workspace__side { position: static; }
}
@media (max-width: 560px) {
  .registration-directory__person { align-items: flex-start; flex-direction: column; }
  .registration-directory__person > span:first-child { width: 100%; overflow: visible; }
  .registration-directory__person strong,
  .registration-directory__person small { overflow-wrap: break-word; word-break: normal; }
  .registration-directory__person .status { max-width: 100%; white-space: normal; }
}

.accreditation-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); margin: var(--space-4) 0; }
.accreditation-stats > div { padding: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); }
.accreditation-stats strong, .accreditation-stats span { display: block; }
.accreditation-stats strong { font-size: 2rem; }
.accreditation-stats span { color: var(--color-muted); }
.accreditation-search { display: grid; grid-template-columns: 1fr auto; gap: var(--space-2); margin: var(--space-4) 0; }
.accreditation-row--select { display: grid; grid-template-columns: auto 1fr; align-items: center; cursor: pointer; }
.accreditation-row--select > input { width: 24px; height: 24px; }
@media (max-width: 720px) { .accreditation-stats { grid-template-columns: 1fr 1fr; } .accreditation-search { grid-template-columns: 1fr; } }

/* TOCH content workspace lives inside the match, with compact point rows. */
.toch-admin-header { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--space-4); }
.toch-admin-header h1 { margin: 0; }
.toch-admin-header__links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); }
.toch-admin-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin-top: var(--space-4); }
.toch-admin-summary > div { display: grid; gap: 2px; min-width: 0; padding: var(--space-3); border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface); }
.toch-admin-summary strong { font-size: 1.18rem; overflow-wrap: anywhere; }
.toch-admin-summary span, .toch-admin-point span, .toch-admin-version span { color: var(--color-muted); font-size: .86rem; }
.toch-admin-panel { margin-top: var(--space-4); }
.toch-admin-section-head h2 { margin: 0 0 var(--space-2); }
.toch-profession-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .45fr); gap: var(--space-3); align-items: end; }
.toch-profession-form > label { grid-column: 1 / -1; font-weight: 700; }
.toch-profession-form textarea { display: block; width: 100%; margin-top: var(--space-2); resize: vertical; }
.toch-profession-form > div { display: grid; gap: var(--space-2); align-self: stretch; }
.toch-profession-form > div .help { margin: 0; }
.toch-admin-filter { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(130px, 180px) auto; align-items: end; gap: var(--space-2); }
.toch-admin-filter input, .toch-admin-filter select { display: block; width: 100%; margin-top: var(--space-2); }
.toch-admin-point__facts { justify-content: flex-end; }
.toch-admin-clone { display: flex; align-items: flex-end; gap: var(--space-3); margin-top: var(--space-3); }
.toch-admin-clone label { flex: 1; max-width: 460px; }
.toch-admin-clone select { width: 100%; margin-top: var(--space-2); }
.toch-admin-points, .toch-admin-versions { margin-top: var(--space-3); border-top: 1px solid var(--color-line); }
.toch-admin-point, .toch-admin-version { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); min-width: 0; padding: var(--space-3) 0; border-bottom: 1px solid var(--color-line); }
.toch-admin-point > div, .toch-admin-version > div { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; }
.toch-admin-point strong { overflow-wrap: anywhere; }
.toch-admin-version form { display: inline; }
.toch-admin-version .button { min-height: 36px; padding: 6px 10px; }
.toch-admin-blocks { display: grid; gap: var(--space-3); margin: var(--space-4) 0; }
.toch-admin-block { min-width: 0; margin: 0; padding: var(--space-3); border: 1px solid var(--color-line); border-radius: var(--radius-md); }
.toch-admin-block legend { padding: 0 var(--space-2); font-weight: 700; }
.toch-admin-block__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.toch-admin-block__grid label { min-width: 0; font-weight: 600; }
.toch-admin-block__grid input, .toch-admin-block__grid select, .toch-admin-block__grid textarea { display: block; width: 100%; min-width: 0; margin-top: var(--space-2); }
.toch-admin-block__wide { grid-column: 1 / -1; }
.toch-admin-block__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-2); }
.toch-admin-actions { display: flex; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-4); }
.nfc-ready-card { border: 2px solid var(--color-success, #2f7a45); }
.nfc-ready-card input[readonly] { width: 100%; margin-top: var(--space-2); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.nfc-ready-card__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }
.nfc-write-steps { display: grid; gap: var(--space-2); margin: var(--space-4) 0 0; padding-left: 1.35rem; }
.nfc-prepare-form { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: end; gap: var(--space-3); margin-top: var(--space-4); }
.nfc-prepare-form input, .nfc-prepare-form select { width: 100%; margin-top: var(--space-2); }
.nfc-prepare-form .button { min-height: 48px; }
.nfc-registry-card { display: block; }
.toch-preview-head { margin-bottom: var(--space-4); }
.toch-preview-phone { width: min(100%, 390px); margin: 0 auto; padding: 18px; border: 1px solid var(--color-line); border-radius: 20px; background: #f2eee2; color: #181817; }
.toch-preview-phone__brand { font-size: 1.35rem; font-weight: 800; }
.toch-preview-phone__hint { margin: var(--space-4) 0; padding: var(--space-3); border-left: 4px solid #f47d27; background: white; }
.toch-preview-block, .toch-preview-checkin { margin: var(--space-3) 0; padding: var(--space-4); background: white; border-radius: 10px; }
.toch-preview-block h2, .toch-preview-checkin h2 { margin: 0 0 var(--space-2); font-size: 1.2rem; }
.toch-preview-block p { white-space: pre-wrap; }
.toch-preview-button { display: inline-block; padding: 10px 16px; background: #181817; color: white; border-radius: 6px; font-weight: 700; }
@media (max-width: 720px) {
  .toch-admin-header, .toch-admin-clone, .toch-admin-point, .toch-admin-version { align-items: stretch; flex-direction: column; }
  .toch-admin-header__links, .toch-admin-actions { justify-content: stretch; }
  .toch-admin-header__links .button, .toch-admin-actions .button { flex: 1; }
  .toch-admin-summary { grid-template-columns: 1fr; }
  .toch-admin-filter { grid-template-columns: 1fr; }
  .nfc-prepare-form { grid-template-columns: 1fr; }
  .nfc-ready-card__actions { display: grid; }
  .toch-admin-block__grid { grid-template-columns: minmax(0, 1fr); }
  .toch-admin-block__wide { grid-column: auto; }
  .toch-profession-form { grid-template-columns: 1fr; }
}

/* TOCH workspace v2: compact editing, clear tag modes and an honest mobile preview. */
.toch-admin-header { align-items: flex-start; margin-bottom: var(--space-4); }
.toch-admin-header > div:first-child { max-width: 760px; }
.toch-admin-header h1 { font-size: clamp(2rem, 5vw, 3.4rem); letter-spacing: -.035em; }
.toch-admin-header .help { max-width: 680px; }
.toch-admin-summary > div { position: relative; gap: 5px; padding: 18px; border-radius: 8px; }
.toch-admin-summary > div::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: #c8c5be; }
.toch-admin-summary > div.is-ready::before { background: #277746; }
.toch-admin-summary > div > span { order: -1; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.toch-admin-summary > div > small { color: var(--color-muted); }
.toch-admin-summary strong { font-size: 1.45rem; }
.toch-admin-panel { border-radius: 10px; }
.toch-admin-panel > summary { display: flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; }
.toch-admin-panel > summary::-webkit-details-marker { display: none; }
.toch-admin-panel > summary > span:first-child { display: grid; gap: 3px; }
.toch-admin-panel > summary small { color: var(--color-muted); font-weight: 400; }
.toch-admin-collapsible { padding-top: var(--space-4); border-top: 1px solid var(--color-line); }
.toch-admin-point { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(260px, auto) auto; }
.toch-admin-point__name { display: grid !important; gap: 3px !important; }
.toch-admin-point__facts { display: flex; flex-wrap: wrap; justify-content: flex-start; }
.toch-admin-point__facts span { padding: 5px 8px; background: #f2f1ed; border-radius: 4px; }
.toch-admin-point__open { font-weight: 700; white-space: nowrap; }
.toch-editor-panel { padding: clamp(18px, 3vw, 32px); }
.toch-admin-section-head h2 { margin: 3px 0 6px; font-size: clamp(1.55rem, 3vw, 2.1rem); }
.toch-editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: 28px; align-items: start; }
.toch-quick-add { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; padding-bottom: 16px; border-bottom: 1px solid var(--color-line); }
.toch-quick-add > span { margin-right: 3px; color: var(--color-muted); font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.toch-quick-add button { min-height: 38px; padding: 7px 11px; color: #4e2508; background: #fff4ec; border: 1px solid #ffc89e; border-radius: 5px; font-weight: 700; cursor: pointer; }
.toch-quick-add button:hover, .toch-quick-add button:focus-visible { color: #fff; background: #b64b00; border-color: #b64b00; }
.toch-admin-blocks { margin-top: 16px; }
.toch-admin-block { padding: 18px; border-radius: 7px; background: #fbfaf8; }
.toch-admin-block legend { display: flex; align-items: center; gap: 8px; }
.toch-admin-block__kind { padding: 4px 7px; color: #914000; background: #fff0e5; border-radius: 4px; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.toch-admin-block__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 13px; }
.toch-admin-block__grid label { font-size: .84rem; }
.toch-admin-block__grid input, .toch-admin-block__grid select, .toch-admin-block__grid textarea { margin-top: 6px; }
.toch-admin-block__schedule { margin-top: 12px; }
.toch-admin-block__schedule summary { color: var(--color-muted); cursor: pointer; font-size: .86rem; }
.toch-admin-block__schedule > div { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 10px; }
.toch-admin-block__schedule input { width: 100%; margin-top: 5px; }
.toch-admin-block__actions { padding-top: 12px; border-top: 1px solid var(--color-line); }
.toch-admin-block__actions button { color: #4f4b45; font-size: .85rem; }
.toch-admin-block__actions .toch-remove { margin-left: auto; color: #a33b32; }
.toch-editor-empty { padding: 32px; color: var(--color-muted); background: #f4f2ed; border: 1px dashed #bbb7af; border-radius: 7px; text-align: center; }
.toch-editor-preview { position: sticky; top: 18px; }
.toch-editor-preview__head { display: flex; justify-content: space-between; margin-bottom: 9px; }
.toch-editor-preview__head span { color: var(--color-muted); font-size: .8rem; }
.toch-preview-phone { width: 100%; padding: 12px; color: #191919; background: #efeee9; border: 1px solid #cbc7bf; border-radius: 22px; box-shadow: 0 12px 35px rgba(20,20,20,.08); }
.toch-preview-phone--live { max-height: 680px; overflow: auto; }
.toch-preview-phone__brand { display: flex; align-items: center; gap: 7px; padding: 4px 3px 12px; }
.toch-preview-phone__brand img { width: 72px; height: auto; }
.toch-preview-phone__brand span { padding-left: 7px; color: #66625d; border-left: 1px solid #aaa69f; font-size: .68rem; font-weight: 400; }
.toch-preview-point { display: grid; gap: 7px; min-height: 125px; align-content: end; padding: 17px; background: #ff6c02; border-radius: 7px; }
.toch-preview-point small, .toch-preview-block small, .toch-preview-checkin small { font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.toch-preview-point strong { font-size: 1.35rem; line-height: 1.05; }
.toch-preview-block, .toch-preview-checkin { margin: 8px 0 0; padding: 16px; background: #fff; border-radius: 7px; }
.toch-preview-block h2, .toch-preview-checkin h2, .toch-preview-checkin h3 { margin: 5px 0 7px; font-size: 1rem; line-height: 1.15; }
.toch-preview-block p { margin: 0; color: #625f59; font-size: .8rem; line-height: 1.4; white-space: pre-wrap; }
.toch-preview-block--announcement { border-left: 3px solid #ff6c02; }
.toch-preview-block--job { background: #272727; color: #fff; }
.toch-preview-block--job p, .toch-preview-block--telegram p { color: rgba(255,255,255,.75); }
.toch-preview-block--telegram { background: #168dca; color: #fff; }
.toch-preview-button, .toch-preview-link { display: inline-block; margin-top: 12px; font-size: .76rem; font-weight: 800; }
.toch-preview-button { padding: 9px 11px; color: #191919; background: #fff; border-radius: 4px; }
.toch-preview-button--light { color: #116996; }
.toch-preview-link { text-decoration: underline; text-underline-offset: 2px; }
.toch-preview-checkin { border: 2px solid #191919; }
.toch-preview-checkin div, .toch-preview-checkin span { display: block; padding: 10px; color: #77736c; border: 1px solid #aaa69f; border-radius: 4px; font-size: .76rem; }
.toch-preview-divider { margin: 9px 0; color: #77736c; font-size: .7rem; text-align: center; }
.toch-publish-bar { position: sticky; z-index: 4; bottom: 8px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 24px; padding: 14px 16px; background: rgba(255,255,255,.96); border: 1px solid var(--color-line); border-radius: 8px; box-shadow: 0 7px 25px rgba(0,0,0,.1); backdrop-filter: blur(8px); }
.toch-publish-bar p, .toch-publish-bar span { display: block; margin: 0; }
.toch-publish-bar span { margin-top: 2px; color: var(--color-muted); font-size: .8rem; }
.toch-publish-bar > div { display: flex; gap: 8px; flex: 0 0 auto; }
.toch-admin-advanced h3 + form, .toch-admin-advanced h3 + div { margin-top: 10px; }
.toch-admin-advanced h3:not(:first-child) { margin-top: 28px; }

.nfc-ready-card { border: 2px solid #277746; border-radius: 10px; }
.nfc-ready-card__status { display: flex; align-items: center; gap: 14px; }
.nfc-ready-card__status > span { display: grid; place-items: center; width: 42px; height: 42px; color: #fff; background: #277746; border-radius: 50%; font-size: 1.2rem; font-weight: 900; }
.nfc-ready-card__status h2, .nfc-ready-card__status p { margin: 0; }
.nfc-create-panel { margin-top: var(--space-4); border-radius: 10px; }
.nfc-prepare-form { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 20px; align-items: start; }
.nfc-prepare-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.nfc-prepare-form legend { margin-bottom: 12px; font-weight: 800; }
.nfc-type-picker { display: grid; gap: 8px; }
.nfc-type-card { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 12px; padding: 14px; border: 1px solid var(--color-line); border-radius: 7px; cursor: pointer; }
.nfc-type-card:has(input:checked) { border-color: #c75000; box-shadow: 0 0 0 2px rgba(255,108,2,.17); background: #fff9f5; }
.nfc-type-card input { position: absolute; opacity: 0; }
.nfc-type-card__icon { display: grid; place-items: center; width: 43px; height: 43px; color: #fff; background: #272727; border-radius: 6px; font-size: .72rem; font-weight: 900; }
.nfc-type-card > span:last-child { display: grid; gap: 4px; }
.nfc-type-card strong, .nfc-type-card small, .nfc-type-card em { display: block; }
.nfc-type-card small { color: var(--color-muted); line-height: 1.35; }
.nfc-type-card em { width: fit-content; padding: 3px 5px; color: #6d350e; background: #fff0e5; border-radius: 3px; font-size: .68rem; font-style: normal; font-weight: 800; text-transform: uppercase; }
.nfc-create-fields { display: grid; gap: 12px; }
.nfc-create-fields input, .nfc-create-fields select { width: 100%; margin-top: 5px; }
.nfc-create-submit { grid-column: 1 / -1; justify-self: end; }
.nfc-origin-note { margin-bottom: 0; }
.nfc-registry { margin-top: var(--space-4); border-radius: 10px; }
.nfc-registry-tools { display: grid; grid-template-columns: 1fr 220px; gap: 10px; margin: 18px 0; }
.nfc-registry-tools input, .nfc-registry-tools select { width: 100%; margin-top: 5px; }
.nfc-registry-list { display: grid; gap: 9px; }
.nfc-registry-card { border: 1px solid var(--color-line); border-radius: 7px; background: #fff; }
.nfc-registry-card[hidden] { display: none; }
.nfc-registry-card__summary { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; padding: 15px; }
.nfc-registry-card__summary > div { display: grid; gap: 3px; }
.nfc-registry-card__summary > div span { color: var(--color-muted); font-size: .82rem; }
.nfc-chip-badge, .nfc-status { padding: 5px 7px; border-radius: 4px; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.nfc-chip-badge { color: #4a4742; background: #ebe9e4; }
.nfc-chip-badge--ntag424 { color: #6c390e; background: #fff0e5; }
.nfc-status--active { color: #176036; background: #e2f2e8; }
.nfc-status--disabled, .nfc-status--replaced { color: #7d302a; background: #f8e6e4; }
.nfc-registry-card__activation { margin: 0; padding: 0 15px 13px; color: var(--color-muted); font-size: .82rem; }
.nfc-registry-card__manage { border-top: 1px solid var(--color-line); }
.nfc-registry-card__manage > summary { display: flex; justify-content: space-between; padding: 13px 15px; cursor: pointer; list-style: none; font-weight: 700; }
.nfc-registry-card__manage > summary::-webkit-details-marker { display: none; }
.nfc-registry-card__manage > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 15px; background: #f6f5f2; }
.nfc-operation { display: grid; align-content: start; gap: 10px; min-width: 0; padding: 14px; background: #fff; border: 1px solid var(--color-line); border-radius: 6px; }
.nfc-operation h3 { margin: 0; font-size: .95rem; }
.nfc-operation input, .nfc-operation select { width: 100%; margin-top: 4px; }
.nfc-operation > div { display: flex; flex-wrap: wrap; gap: 7px; }
.nfc-operation--compact { grid-column: 1 / -1; grid-template-columns: 1fr auto; align-items: end; }
.nfc-operation--danger { border-color: #e3c3c0; }
.nfc-source-badge { display: inline-block; width: fit-content; padding: 5px 7px; color: #3f4741; background: #e9efe9; border-radius: 4px; font-size: .7rem; font-weight: 800; }
.nfc-source-badge--nfc_ntag424 { color: #5d390d; background: #fff0d7; }
.nfc-source-badge--template { color: #3f4858; background: #e9eef7; }
.nfc-source-badge--manual_correction { color: #7c332d; background: #f8e7e5; }

@media (max-width: 980px) {
  .toch-editor-layout { grid-template-columns: minmax(0, 1fr); }
  .toch-editor-preview { position: static; }
  .toch-preview-phone--live { width: min(100%, 390px); max-height: none; margin: 0 auto; }
  .nfc-prepare-form { grid-template-columns: 1fr 1fr; }
  .nfc-type-picker, .nfc-create-submit { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .toch-admin-point { grid-template-columns: 1fr; }
  .toch-admin-point__facts { justify-content: flex-start; }
  .toch-admin-point__open { margin-top: 4px; }
  .toch-admin-block__grid, .toch-admin-block__schedule > div { grid-template-columns: 1fr; }
  .toch-publish-bar { position: static; align-items: stretch; flex-direction: column; }
  .toch-publish-bar > div { display: grid; }
  .nfc-prepare-form, .nfc-registry-tools { grid-template-columns: 1fr; }
  .nfc-type-picker, .nfc-create-submit { grid-column: auto; }
  .nfc-create-submit { width: 100%; }
  .nfc-registry-card__summary { grid-template-columns: auto 1fr; }
  .nfc-status { grid-column: 2; justify-self: start; }
  .nfc-registry-card__manage > div { grid-template-columns: 1fr; }
  .nfc-operation--compact { grid-column: auto; grid-template-columns: 1fr; }
}

/* Standalone timesheet workspace: queues first, individual edits on demand. */
.timesheet-page-heading { margin-bottom: var(--space-4); }
.timesheet-flow-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 var(--space-5); }
.timesheet-flow-nav a { display: grid; grid-template-columns: 32px 1fr; column-gap: 10px; padding: 13px; color: inherit; background: #fff; border: 1px solid var(--color-line); border-radius: 7px; text-decoration: none; }
.timesheet-flow-nav a[aria-current="page"] { border-color: #20201f; box-shadow: inset 0 -3px #ff6c02; }
.timesheet-flow-nav a > span { grid-row: 1 / 3; display: grid; place-items: center; width: 32px; height: 32px; color: #fff; background: #262625; border-radius: 50%; font-weight: 850; }
.timesheet-flow-nav strong, .timesheet-flow-nav small { display: block; }
.timesheet-flow-nav small { margin-top: 2px; color: var(--color-muted); font-size: .74rem; }
.timesheet-source-panel { margin-bottom: var(--space-4); }
.timesheet-source-form { display: grid; grid-template-columns: minmax(260px, 560px) auto; align-items: end; gap: 10px; margin-top: 14px; }
.timesheet-source-form select { width: 100%; margin-top: 5px; }
.timesheet-source-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.timesheet-source-option { display: grid; grid-template-rows: auto 1fr auto; gap: 9px; padding: 18px; border: 1px solid var(--color-line); border-radius: 12px; background: #fff; }
.timesheet-source-option.is-current { border-color: #ef6500; box-shadow: 0 0 0 2px rgba(239,101,0,.12); background: #fffaf6; }
.timesheet-source-option > strong { font-size: 1.05rem; }
.timesheet-source-option > span { color: var(--color-muted); font-size: .88rem; line-height: 1.45; }
.timesheet-source-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr); gap: 24px; align-items: end; margin-top: 16px; padding: 18px; border-radius: 12px; background: #f5f3ef; }
.timesheet-source-workspace h3 { margin: 0 0 7px; }
.timesheet-template-upload { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; }
.timesheet-template-upload input[type="file"] { width: 100%; }
.timesheet-template-decision { margin-bottom: var(--space-4); }
.timesheet-template-accept { display: grid; gap: 16px; margin-top: 18px; }
.plain-list { display: grid; gap: 8px; padding-left: 22px; color: #55514b; }
.timesheet-template-table { margin-top: 18px; border: 1px solid var(--color-line); border-radius: 10px; overflow: hidden; }
.timesheet-template-table__head, .timesheet-template-table__row { display: grid; grid-template-columns: 70px minmax(220px, 1.4fr) minmax(110px, .7fr) minmax(150px, 1fr) minmax(150px, 1fr) minmax(210px, 1.2fr); gap: 12px; align-items: start; padding: 12px 14px; }
.timesheet-template-table__head { background: #efede8; color: #666159; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.timesheet-template-table__row { border-top: 1px solid var(--color-line); font-size: .84rem; }
.timesheet-template-table__row--error { background: #fff4f2; }
.timesheet-template-table__row span { min-width: 0; overflow-wrap: anywhere; }
.timesheet-template-table__row small { display: block; margin-top: 3px; color: var(--color-muted); }
.text-danger { color: #9d3028 !important; }
.timesheet-people { margin-bottom: var(--space-4); }
.timesheet-filter-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0 12px; }
.timesheet-filter-tabs a { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 7px 10px; color: #4a4742; background: #f1f0ec; border: 1px solid transparent; border-radius: 5px; font-size: .82rem; font-weight: 750; text-decoration: none; }
.timesheet-filter-tabs a[aria-current="page"] { color: #fff; background: #242423; }
.timesheet-filter-tabs span { min-width: 23px; padding: 2px 5px; color: inherit; background: rgba(255,255,255,.18); border-radius: 999px; text-align: center; }

/* Events calendar and reusable customer presets. */
.event-calendar__heading,
.preset-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-5);
  margin-bottom: var(--space-5);
}
.event-calendar__heading h1,
.preset-heading h1 { margin-bottom: var(--space-2); }
.event-calendar__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.event-calendar__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: 12px;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
}
.event-calendar__period { display: flex; align-items: center; gap: var(--space-2); }
.event-calendar__period strong { min-width: 150px; text-align: center; text-transform: capitalize; }
.calendar-icon-button,
.calendar-today,
.calendar-view-switch a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  color: var(--color-ink);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: #fff;
  font-size: .875rem;
  font-weight: 750;
  text-decoration: none;
}
.calendar-icon-button { width: 38px; padding: 0; font-size: 1.1rem; }
.calendar-today { color: var(--color-focus); border-color: transparent; }
.calendar-view-switch { display: flex; }
.calendar-view-switch a { border-radius: 0; }
.calendar-view-switch a:first-child { border-radius: var(--radius-sm) 0 0 var(--radius-sm); }
.calendar-view-switch a:last-child { margin-left: -1px; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.calendar-view-switch a[aria-current="page"] { color: #fff; border-color: var(--color-ink); background: var(--color-ink); }
.event-calendar__filters {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.4fr) auto auto;
  align-items: end;
  gap: var(--space-3);
  padding: var(--space-4);
  background: #fff;
  border: 1px solid var(--color-line);
  border-top: 0;
}
.event-calendar__filters label { color: var(--color-muted); font-size: .8125rem; font-weight: 700; }
.event-calendar__filters select { display: block; width: 100%; margin-top: 5px; }
.event-calendar__filters .text-link { align-self: center; }
.month-calendar {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--color-line);
  border-top: 0;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  box-shadow: var(--shadow-1);
}
.month-calendar__weekdays,
.month-calendar__week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.month-calendar__weekdays span {
  padding: 10px 12px;
  color: var(--color-muted);
  border-right: 1px solid var(--color-line);
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
}
.month-calendar__weekdays span:nth-child(n+6) { color: #26813c; background: #edf8ef; }
.month-calendar__day {
  min-width: 0;
  min-height: 150px;
  padding: 8px;
  border-top: 1px solid var(--color-line);
  border-right: 1px solid var(--color-line);
  background: #fff;
}
.month-calendar__day:nth-child(n+6) { background: #f7fbf7; }
.month-calendar__day time {
  display: inline-flex;
  min-width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  margin-bottom: 6px;
  font-size: .8rem;
  font-weight: 800;
}
.month-calendar__day--today time { color: #fff; background: var(--color-ink); border-radius: 50%; }
.month-calendar__day--outside { opacity: .38; }
.month-calendar__events { display: grid; gap: 6px; }
.event-calendar-card {
  position: relative;
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 14px 16px;
  color: var(--color-ink);
  background: #fff;
  border: 1px solid var(--color-line);
  border-left-width: 5px;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-1);
  text-decoration: none;
}
.event-calendar-card:hover { border-color: var(--color-line-strong); box-shadow: 0 5px 16px rgba(24,24,23,.08); }
.event-calendar-card__top { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; }
.event-calendar-card strong { min-width: 0; overflow: hidden; overflow-wrap: break-word; line-height: 1.25; }
.event-calendar-card__time { color: var(--color-muted); font-size: .75rem; font-weight: 800; }
.event-calendar-card__ratio {
  flex: 0 0 auto;
  padding: 2px 6px;
  color: var(--color-ink);
  background: #f0eee9;
  border-radius: 999px;
  font-size: .72rem;
  font-variant-numeric: tabular-nums;
  font-weight: 850;
}
.event-calendar-card__context {
  display: flex;
  min-width: 0;
  gap: 4px;
  overflow: hidden;
  color: var(--color-muted);
  font-size: .75rem;
  white-space: nowrap;
}
.event-calendar-card__context span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.event-calendar-card__bar { height: 3px; overflow: hidden; background: #e8e5df; border-radius: 999px; }
.event-calendar-card__bar i { display: block; height: 100%; border-radius: inherit; }
.event-calendar-card--compact { gap: 6px; padding: 9px; border-left-width: 4px; border-radius: 6px; }
.event-calendar-card--compact strong { display: -webkit-box; font-size: .78rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.event-calendar-card--compact .event-calendar-card__context span { width: 100%; }
.event-calendar-list,
.calendar-mobile-agenda { display: grid; gap: var(--space-3); margin-top: var(--space-4); }
.event-calendar-list .event-calendar-card__time { font-size: .875rem; }
.calendar-mobile-agenda { display: none; }
.event-create-panel { max-width: 760px; margin-right: auto; margin-left: auto; }
.event-create-form { margin-top: var(--space-5); }
.event-settings-panel { max-width: 1180px; margin-right: auto; margin-left: auto; }
.event-settings-form { margin-top: var(--space-5); }
.settings-section { display: grid; grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr); gap: var(--space-5); padding-top: var(--space-5); border-top: 1px solid var(--color-line); }
.settings-section h2 { margin-bottom: 4px; }
.event-danger-zone { display: flex; max-width: 1180px; align-items: center; justify-content: space-between; gap: var(--space-5); margin: var(--space-5) auto 0; border-color: #ebbbb6; }
.event-danger-zone h2 { margin-bottom: var(--space-2); }
.event-danger-zone p { margin-bottom: 0; }
.event-danger-zone .button { flex: 0 0 auto; }
.event-delete-confirmation { max-width: 760px; margin-right: auto; margin-left: auto; }
.event-delete-warning { margin: var(--space-5) 0; padding: var(--space-4); border: 1px solid #ebbbb6; border-radius: var(--radius-sm); background: var(--color-danger-bg); color: var(--color-danger-text); }
.event-delete-warning p { margin: var(--space-2) 0 0; }
.event-delete-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.settings-toggles { display: grid; gap: var(--space-2); }
.setting-toggle { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 12px; padding: 14px; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-surface-soft); }
.setting-toggle input { width: 20px; height: 20px; margin-top: 2px; }
.setting-toggle span { display: grid; gap: 3px; }
.setting-toggle small { color: var(--color-muted); line-height: 1.35; }
.demand-source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: var(--space-4); }
.demand-source-card { border-top: 4px solid var(--color-line); }
.demand-source-card--active { border-top-color: var(--color-accent); }
.integration-filters { display: grid; grid-template-columns: 1fr 1fr 1fr auto auto; align-items: end; gap: var(--space-3); margin-bottom: var(--space-5); }
.integration-table { overflow: hidden; border: 1px solid var(--color-line); border-radius: var(--radius-sm); }
.integration-table__head, .integration-table__row { display: grid; grid-template-columns: 110px minmax(160px, 1.3fr) minmax(150px, 1fr) repeat(4, minmax(82px, .55fr)); align-items: center; gap: var(--space-3); min-width: 900px; padding: 11px 13px; }
.integration-table__head { color: var(--color-muted); background: var(--color-surface-soft); font-size: .75rem; font-weight: 800; }
.integration-table__row { border-top: 1px solid var(--color-line); font-size: .875rem; }
.integration-table__row b { font-variant-numeric: tabular-nums; }
.demand-upload-form, .base-demand-form { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--color-line); }
.button-row { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.base-demand-list { display: grid; gap: 0; margin-top: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-sm); }
.base-demand-list article, .base-demand-total { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: var(--space-3); padding: 11px 13px; border-bottom: 1px solid var(--color-line); }
.base-demand-list article div { display: grid; gap: 2px; }
.base-demand-list small { color: var(--color-muted); }
.base-demand-total { grid-template-columns: 1fr auto; border-bottom: 0; background: var(--color-surface-soft); }
.base-demand-edit summary { color: var(--color-focus); cursor: pointer; font-size: .8rem; font-weight: 750; }
.base-demand-edit[open] { grid-column: 1 / -1; width: 100%; padding-top: 8px; border-top: 1px solid var(--color-line); }
.base-demand-edit form { margin-top: 10px; }
.point-import-panel { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr); align-items: end; gap: var(--space-5); }
.preset-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.preset-directory { margin-top: var(--space-5); }
.preset-client { margin-top: var(--space-4); padding: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-md); }
.preset-client > header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: var(--space-3); }
.preset-client > header div { display: grid; }
.preset-client small { color: var(--color-muted); }
.preset-client__swatch { width: 18px; height: 42px; background: var(--client-color); border-radius: 4px; }
.preset-arenas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2); margin-top: var(--space-3); }
.preset-arenas a { display: grid; gap: 3px; padding: var(--space-3); border: 1px solid var(--color-line); border-radius: var(--radius-sm); text-decoration: none; }
.preset-arenas a:hover { border-color: var(--client-color); }
.preset-arenas span { color: var(--color-muted); font-size: .8125rem; }
.preset-empty-note { display: block; margin-top: 7px; color: #8a4b00; font-weight: 700; }
.preset-empty-note a { color: inherit; text-decoration: underline; }
.settings-venue-actions { display: grid; align-content: start; gap: 10px; }
.settings-venue-actions .button { justify-self: start; }

@media (max-width: 900px) {
  .task-dashboard__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .task-dashboard__professions { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .task-dashboard { padding: var(--space-4); }
  .task-dashboard__heading, .task-dashboard__heading-actions { align-items: stretch; flex-direction: column; }
  .task-dashboard__filters { grid-template-columns: 1fr; }
  .task-dashboard__metrics { grid-template-columns: 1fr 1fr; }
  .task-dashboard__metric--primary { grid-column: 1 / -1; }
  .task-dashboard__notice, .task-dashboard__empty { align-items: flex-start; flex-direction: column; }
  .event-danger-zone { align-items: stretch; flex-direction: column; }
  .event-delete-actions { display: grid; grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .event-calendar__heading, .preset-heading { align-items: flex-start; flex-direction: column; }
  .event-calendar__filters { grid-template-columns: 1fr 1fr; }
  .preset-layout { grid-template-columns: 1fr; }
  .demand-source-grid, .settings-section, .point-import-panel, .integration-filters { grid-template-columns: 1fr; }
  .integration-table { overflow-x: auto; }
  .preset-arenas { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  .event-calendar__actions { width: 100%; }
  .event-calendar__actions a { flex: 1 1 auto; }
  .event-calendar__toolbar { align-items: stretch; flex-direction: column; }
  .event-calendar__period { justify-content: space-between; }
  .calendar-today { display: none; }
  .calendar-view-switch a { flex: 1; }
  .event-calendar__filters { grid-template-columns: 1fr; }
  .event-calendar__filters .secondary { width: 100%; }
  .month-calendar { display: none; }
  .calendar-mobile-agenda { display: grid; }
  .preset-arenas { grid-template-columns: 1fr; }
}
.timesheet-search-form { display: grid; grid-template-columns: minmax(260px, 1fr) auto auto; align-items: end; gap: 9px; margin-bottom: 14px; }
.timesheet-search-form input { width: 100%; margin-top: 5px; }
.timesheet-search-form > a { align-self: center; margin-top: 20px; }
.timesheet-person-list { display: grid; gap: 7px; }
.timesheet-person-row { overflow: hidden; border: 1px solid var(--color-line); border-left: 4px solid #c9c5bd; border-radius: 7px; background: #fff; }
.timesheet-person-row--ready { border-left-color: #3a8754; }
.timesheet-person-row--attention { border-left-color: #c74a40; }
.timesheet-person-row--excluded { border-left-color: #817d75; opacity: .84; }
.timesheet-person-row__main { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(220px, .8fr) auto; align-items: center; gap: 14px; padding: 13px 14px; }
.timesheet-person-row__main > div:first-child { display: grid; gap: 3px; }
.timesheet-person-row__main small { color: var(--color-muted); }
.timesheet-person-row__fact { display: flex; flex-wrap: wrap; gap: 5px 12px; color: #57534d; font-size: .82rem; }
.timesheet-person-row__issue { display: grid; grid-template-columns: auto minmax(220px, 1fr); align-items: center; gap: 8px 12px; padding: 11px 14px; color: #87332d; background: #fff2f0; border-top: 1px solid #f1d2cf; font-size: .82rem; }
.timesheet-inline-link { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(190px, 1fr) minmax(220px, 1fr) auto; gap: 8px; }
.timesheet-inline-link select, .timesheet-inline-link input { width: 100%; }
.timesheet-person-row__edit { border-top: 1px solid var(--color-line); }
.timesheet-person-row__edit > summary { display: flex; justify-content: space-between; padding: 10px 14px; cursor: pointer; list-style: none; color: #55514b; font-size: .82rem; font-weight: 750; }
.timesheet-person-row__edit > summary::-webkit-details-marker { display: none; }
.timesheet-correction-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 14px; background: #f6f5f2; }
.timesheet-correction-form input, .timesheet-correction-form select { width: 100%; margin-top: 5px; }
.timesheet-correction-form__reason, .timesheet-correction-form__actions { grid-column: 1 / -1; }
.timesheet-correction-form__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.timesheet-pagination { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--color-line); }
.timesheet-pagination span { color: var(--color-muted); }

@media (max-width: 900px) {
  .timesheet-flow-nav { grid-template-columns: 1fr; }
  .timesheet-source-workspace { grid-template-columns: 1fr; }
  .timesheet-person-row__main { grid-template-columns: 1fr auto; }
  .timesheet-person-row__fact { grid-column: 1 / -1; grid-row: 2; }
  .timesheet-correction-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .timesheet-source-form, .timesheet-search-form, .timesheet-person-row__main, .timesheet-inline-link, .timesheet-correction-form, .timesheet-source-options, .timesheet-template-upload { grid-template-columns: 1fr; }
  .timesheet-person-row__fact, .timesheet-correction-form__reason, .timesheet-correction-form__actions { grid-column: auto; grid-row: auto; }
  .timesheet-filter-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
  .timesheet-filter-tabs a { flex: 0 0 auto; }
  .timesheet-template-table { overflow-x: auto; }
  .timesheet-template-table__head, .timesheet-template-table__row { min-width: 920px; }
}
