.admin-root {
  min-height: 100vh;
  background:
    radial-gradient(circle at 14% 10%, rgba(105, 56, 239, 0.18), transparent 30%),
    radial-gradient(circle at 86% 18%, rgba(69, 58, 112, 0.16), transparent 34%),
    var(--pearl);
  color: var(--text);
}

.is-hidden {
  display: none !important;
}

.admin-muted {
  color: var(--text-muted);
  font-size: 14px;
  line-height: 1.5;
}

.admin-eyebrow {
  color: var(--salmon-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  margin: 0 0 6px;
  text-transform: uppercase;
}

.admin-button {
  align-items: center;
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 12px;
  color: var(--text);
  cursor: pointer;
  display: inline-flex;
  font: 700 13px var(--sans);
  gap: 8px;
  justify-content: center;
  min-height: 38px;
  padding: 9px 14px;
  transition: background 160ms ease, border-color 160ms ease, transform 120ms ease;
}

.admin-button:hover {
  background: var(--indigo-50);
  border-color: var(--indigo-100);
}

.admin-button:active {
  transform: scale(0.98);
}

.admin-button--primary {
  background: var(--salmon);
  border-color: var(--salmon);
  box-shadow: 0 8px 18px rgba(105, 56, 239, 0.28);
  color: #fff;
}

.admin-button--primary:hover {
  background: var(--salmon-dark);
  border-color: var(--salmon-dark);
}

.admin-button--danger {
  color: #5025D1;
}

.admin-login {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 100vh;
  padding: 28px;
}

.admin-login__card {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(216, 218, 223, 0.9);
  border-radius: 28px;
  box-shadow: var(--shadow-xl);
  max-width: 460px;
  padding: 34px;
  width: 100%;
}

.admin-mark {
  color: var(--indigo);
  font-family: var(--serif);
  font-size: 34px;
  font-weight: 600;
  letter-spacing: -0.03em;
  margin-bottom: 18px;
}

.admin-login h1 {
  font-size: 42px;
  margin-bottom: 10px;
}

.admin-login__form {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}

.admin-login__form label,
.admin-form-grid label,
.admin-block-label {
  display: grid;
  gap: 7px;
}

.admin-login__form span,
.admin-form-grid span,
.admin-block-label span {
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-login input,
.admin-list-tools input,
.admin-list-tools select,
.admin-form-grid input,
.admin-form-grid select,
.admin-block-label textarea,
.admin-notes-box textarea {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 12px;
  color: var(--text);
  font: 500 14px var(--sans);
  min-height: 42px;
  padding: 10px 12px;
  width: 100%;
}

.admin-login input:focus,
.admin-list-tools input:focus,
.admin-list-tools select:focus,
.admin-form-grid input:focus,
.admin-form-grid select:focus,
.admin-block-label textarea:focus,
.admin-notes-box textarea:focus {
  border-color: var(--indigo-400);
  box-shadow: 0 0 0 3px rgba(180, 155, 250, 0.16);
  outline: none;
}

.admin-login__feedback {
  color: var(--salmon-dark);
  font: 700 13px var(--sans);
  min-height: 18px;
}

.admin-login__footnote {
  border-top: 1px solid var(--neutral-200);
  color: var(--text-soft);
  font: 500 12px/1.45 var(--sans);
  margin-top: 24px;
  padding-top: 16px;
}

.admin-app {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  min-height: 100vh;
}

.admin-sidebar {
  background:
    radial-gradient(circle at 0 0, rgba(105, 56, 239, 0.22), transparent 32%),
    var(--indigo-900);
  color: rgba(255, 255, 255, 0.9);
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 22px 16px;
}

.admin-sidebar__brand {
  align-items: center;
  display: flex;
  gap: 12px;
  padding: 4px 8px 8px;
}

.admin-sidebar__brand img {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 11px;
  height: 38px;
  object-fit: cover;
  width: 38px;
}

.admin-sidebar__brand strong {
  color: #fff;
  display: block;
  font-family: var(--serif);
  font-size: 21px;
  letter-spacing: -0.03em;
  line-height: 1;
}

.admin-sidebar__brand span {
  color: rgba(255, 255, 255, 0.56);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

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

.admin-nav button {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.74);
  cursor: pointer;
  display: flex;
  font: 700 13px var(--sans);
  justify-content: space-between;
  padding: 11px 12px;
  text-align: left;
}

.admin-nav button:hover {
  background: rgba(255, 255, 255, 0.07);
  color: #fff;
}

.admin-nav button.is-active {
  background: rgba(105, 56, 239, 0.18);
  border-color: rgba(105, 56, 239, 0.32);
  color: #fff;
}

.admin-nav small {
  color: rgba(255, 255, 255, 0.48);
  font-size: 11px;
}

/* Phase 5z+13 — Nav badge: single clean number per tab. Active state
   inherits from the parent button; zero-count badges grey out to skip
   the eye. Replaces the pre-5z+13 "live + draft" split (the +N
   notation Tom found cryptic). */
.admin-nav-badge {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.72);
  font: 700 11px var(--sans);
  letter-spacing: 0.02em;
  min-width: 22px;
  padding: 2px 8px;
  text-align: center;
}

.admin-nav button.is-active .admin-nav-badge {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

.admin-nav-badge--zero {
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.32);
}

.admin-sidebar__footer {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: grid;
  gap: 10px;
  margin-top: auto;
  padding: 14px 8px 0;
}

.admin-sidebar__footer span {
  color: rgba(255, 255, 255, 0.62);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-sidebar__footer button {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  padding: 8px 10px;
}

.admin-main {
  display: grid;
  grid-template-rows: auto auto 1fr;
  min-width: 0;
}

.admin-topbar {
  align-items: center;
  background: rgba(248, 249, 250, 0.88);
  border-bottom: 1px solid var(--neutral-200);
  display: flex;
  gap: 24px;
  justify-content: space-between;
  padding: 22px 30px;
  position: sticky;
  top: 0;
  z-index: 5;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.admin-topbar h2 {
  font-size: 30px;
  margin: 0 0 3px;
}

.admin-topbar__actions {
  display: flex;
  gap: 10px;
}

.admin-warning {
  background: #F4F0FE;
  border-bottom: 1px solid rgba(105, 56, 239, 0.22);
  color: #5025D1;
  font: 600 13px/1.45 var(--sans);
  padding: 12px 30px;
}

.admin-layout {
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(340px, 0.9fr) minmax(520px, 1.25fr);
  min-height: 0;
  padding: 24px 30px 44px;
}

/* Phase 86A — Today command center wants the full viewport so the
   cards and three-section layout have room to breathe. The right-side
   detail rail is hidden by renderTodayView, the search + status filter
   row hides too (entity-list controls don't apply here), and stat tiles
   spread out into a 5-up row. */
.admin-layout.admin-layout--single {
  grid-template-columns: 1fr;
}
.admin-layout.admin-layout--single .admin-detail-panel {
  display: none;
}
.admin-layout.admin-layout--single .admin-list-tools {
  display: none;
}
.admin-layout.admin-layout--single .admin-stats {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media (max-width: 900px) {
  .admin-layout.admin-layout--single .admin-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.admin-list-panel,
.admin-detail-panel {
  min-width: 0;
}

.admin-list-tools {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 150px;
  margin-bottom: 12px;
}

.admin-stats {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 12px;
}

/* Phase 5z+8 — When the Notes view nests stat tiles + filter rows
   inside el.stats, switch the outer container to a column flex so the
   tile grid stays 3-up at the top and the facet rows stack underneath
   without inheriting the parent's 3-column grid. */
.admin-stats:has(.admin-stats__tiles) {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.admin-stats__tiles {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.admin-facets--notes {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.admin-stat {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  padding: 12px;
}

.admin-stat strong {
  display: block;
  font-family: var(--serif);
  font-size: 25px;
  line-height: 1;
}

.admin-stat span {
  color: var(--text-soft);
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-top: 6px;
  text-transform: uppercase;
}

.admin-list {
  display: grid;
  gap: 8px;
  max-height: calc(100vh - 220px);
  overflow: auto;
  padding-right: 4px;
}

.admin-list-item {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 15px;
  cursor: pointer;
  display: grid;
  gap: 8px;
  padding: 13px 14px;
  text-align: left;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.admin-list-item:hover,
.admin-list-item.is-active {
  border-color: rgba(105, 56, 239, 0.55);
  box-shadow: 0 8px 20px rgba(15, 10, 40, 0.08);
  transform: translateY(-1px);
}

.admin-list-item__top {
  align-items: start;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

/* Phase 5z+6 — Pills cluster tightly on the right. The 4px gap keeps
   them visually grouped instead of scattered across the row width. */
.admin-list-item__pills {
  align-items: center;
  display: inline-flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  gap: 4px;
  justify-content: flex-end;
  max-width: 60%;
}
.admin-list-item__pills .admin-pill {
  font-size: 10px;
  letter-spacing: 0.02em;
  padding: 2px 8px;
}

.admin-list-item strong {
  color: var(--text);
  font-size: 14px;
  line-height: 1.28;
}

.admin-list-item p {
  color: var(--text-muted);
  font-size: 12px;
  line-height: 1.4;
  margin: 0;
}

.admin-list-item__meta {
  color: var(--text-soft);
  display: flex;
  flex-wrap: wrap;
  font-size: 11px;
  font-weight: 700;
  gap: 6px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-pill {
  background: var(--neutral-200);
  border-radius: 999px;
  color: var(--text-muted);
  display: inline-flex;
  flex: none;
  font: 800 10.5px var(--sans);
  letter-spacing: 0.08em;
  padding: 5px 8px;
  text-transform: uppercase;
}

.admin-pill[data-tone="active"] {
  background: rgba(10, 10, 15, 0.12);
  color: #0A0A0A;
}

.admin-pill[data-tone="cut"] {
  background: rgba(105, 56, 239, 0.12);
  color: #5025D1;
}

.admin-pill[data-tone="defer"],
.admin-pill[data-tone="reshape"] {
  background: rgba(105, 56, 239, 0.12);
  color: #5025D1;
}

/* Admin Lab v2 — Phase 4 list-row badges */
.admin-pill--note {
  background: rgba(69, 58, 112, 0.12);
  color: var(--indigo-700);
}

.admin-pill--lint {
  background: rgba(105, 56, 239, 0.14);
  color: var(--salmon-dark);
}

/* Phase 5p — handyman bundle / library tier pills */
.admin-pill--bundle-spring {
  background: rgba(10, 10, 15, 0.16);
  color: #0A0A0A;
}
.admin-pill--bundle-fall {
  background: rgba(105, 56, 239, 0.18);
  color: #5025D1;
}
.admin-pill--library {
  background: rgba(69, 58, 112, 0.10);
  color: var(--indigo-700);
}

/* Phase 5q — Tasks/Recommended/Handyman row badges + facet pill rows */
.admin-pill--bundle-child {
  background: rgba(105, 56, 239, 0.12);
  color: #6938EF;
  font: 600 11px var(--sans);
  white-space: nowrap;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin-pill--optin {
  background: rgba(105, 56, 239, 0.14);
  color: #5025D1;
}
/* Phase 5z+16 — Auto-seeds badges. The ✨ Auto-seeds pill marks
   templates that fire automatically at quiz completion (every
   household). The conditional variant marks templates that fire
   only when the household's subtype gates match. Green tones make
   them feel "this happens automatically, you don't have to do
   anything" vs. the indigo/yellow tones used for opt-in. */
.admin-pill--autoseed {
  background: rgba(10, 10, 15, 0.16);
  color: rgba(10, 10, 10, 1);
}
.admin-pill--autoseed-conditional {
  background: rgba(10, 10, 15, 0.08);
  border: 1px dashed rgba(10, 10, 15, 0.5);
  color: rgba(10, 10, 10, 1);
}
.admin-pill--season {
  background: rgba(10, 10, 15, 0.12);
  color: #0A0A0A;
}

/* Phase 5q — routing-tier pills, color-coded for fast scanning */
.admin-pill--routing-vendor {
  background: rgba(69, 58, 112, 0.14);
  color: var(--indigo-700);
}
.admin-pill--routing-vendor_or_handyman {
  background: rgba(107, 107, 123, 0.16);
  color: #6B6B7B;
}
.admin-pill--routing-handyman {
  background: rgba(105, 56, 239, 0.14);
  color: var(--salmon-dark);
}
.admin-pill--routing-bundled {
  background: rgba(105, 56, 239, 0.12);
  color: #6938EF;
  font: 600 11px var(--sans);
  white-space: nowrap;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-facets {
  background: rgba(0, 0, 0, 0.025);
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  display: grid;
  gap: 14px;
  margin-bottom: 14px;
  padding: 14px 16px;
}
.admin-facet-row {
  align-items: start;
  display: grid;
  gap: 10px;
  grid-template-columns: 130px 1fr;
}
.admin-facet-row__head {
  display: grid;
  gap: 2px;
  padding-top: 4px;
}
.admin-facet-row__label {
  color: var(--text);
  font: 700 11px var(--sans);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.admin-facet-row__caption {
  color: var(--text-muted);
  font: 500 11px var(--sans);
  line-height: 1.35;
}
.admin-facet-row__pills {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.admin-facet-pill {
  align-items: center;
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  font: 600 13px var(--sans);
  gap: 8px;
  min-height: 32px;
  padding: 6px 12px;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}
.admin-facet-pill:hover {
  background: rgba(105, 56, 239, 0.06);
  border-color: rgba(105, 56, 239, 0.4);
}
.admin-facet-pill.is-active {
  background: var(--indigo-700);
  border-color: var(--indigo-700);
  color: #fff;
}
.admin-facet-pill.is-active .admin-facet-pill__count {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
}
.admin-facet-pill__label {
  white-space: nowrap;
}
.admin-facet-pill__count {
  background: rgba(0, 0, 0, 0.06);
  border-radius: 999px;
  color: var(--text-muted);
  font: 700 11px var(--sans);
  padding: 2px 8px;
}

@media (max-width: 720px) {
  .admin-facet-row {
    grid-template-columns: 1fr;
  }
  .admin-facet-row__head {
    padding-top: 0;
  }
}

/* =============================================================================
   Admin Lab v2 — Phase 4b: schema-driven form, diff strip, preview modal
   ============================================================================= */

.admin-form {
  display: grid;
  gap: 14px;
}

.admin-form__group {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 14px 16px 12px;
}

.admin-form__group legend {
  background: var(--indigo-50, rgba(69, 58, 112, 0.08));
  border-radius: 999px;
  color: var(--indigo-700);
  font: 800 10.5px var(--sans);
  letter-spacing: 0.16em;
  padding: 4px 10px;
  text-transform: uppercase;
}

.admin-form__field {
  display: grid;
  gap: 4px;
}

.admin-form__field.is-changed {
  background: rgba(105, 56, 239, 0.06);
  border-radius: 10px;
  margin: 0 -8px;
  padding: 6px 8px;
}

.admin-form__label {
  align-items: center;
  color: var(--text-muted);
  display: flex;
  font: 800 10.5px var(--sans);
  gap: 8px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.admin-form__changed {
  background: var(--salmon-dark, #5025D1);
  border-radius: 999px;
  color: #fff;
  font: 700 9px var(--sans);
  letter-spacing: 0.14em;
  padding: 2px 7px;
  text-transform: uppercase;
}

.admin-form__help {
  color: var(--text-muted);
  font: 500 12px var(--sans);
  line-height: 1.4;
}

.admin-form__field input[type="text"],
.admin-form__field input[type="number"],
.admin-form__field textarea,
.admin-form__field select {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  color: var(--text);
  font: 600 13px var(--sans);
  padding: 9px 11px;
  width: 100%;
}

.admin-form__field textarea {
  font: 500 13px var(--sans);
  line-height: 1.5;
  min-height: 60px;
  resize: vertical;
}

.admin-form__field input:focus,
.admin-form__field textarea:focus,
.admin-form__field select:focus {
  border-color: var(--indigo-700);
  outline: none;
}

.admin-form__field input[disabled],
.admin-form__field textarea[disabled],
.admin-form__field select[disabled],
.admin-form__field input[readonly] {
  background: rgba(0, 0, 0, 0.04);
  color: var(--text-muted);
}

.admin-form__toggle {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}

.admin-form__toggle input {
  height: 18px;
  width: 18px;
}

.admin-form__toggle-label {
  color: var(--text-muted);
  font: 600 12px var(--sans);
  text-transform: uppercase;
}

.admin-form__code {
  background: rgba(69, 58, 112, 0.05);
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  color: var(--indigo-700);
  font: 500 12px ui-monospace, "SF Mono", Menlo, monospace;
  margin: 0;
  max-height: 140px;
  overflow: auto;
  padding: 10px 12px;
  white-space: pre-wrap;
}

.admin-form__chips {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 30px;
}

.admin-chip {
  background: rgba(69, 58, 112, 0.08);
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--indigo-700);
  font: 600 12px var(--sans);
  padding: 4px 10px;
}

.admin-chip--toggle {
  cursor: pointer;
  transition: background 120ms ease, color 120ms ease;
}

.admin-chip--toggle:hover {
  background: rgba(69, 58, 112, 0.16);
}

.admin-chip--toggle.is-active {
  background: var(--indigo-700);
  color: #fff;
}

.admin-chip--toggle[disabled] {
  cursor: not-allowed;
  opacity: 0.6;
}

.admin-form__chip-input {
  background: transparent;
  border: 1px dashed var(--neutral-300);
  border-radius: 999px;
  color: var(--text);
  font: 500 12px var(--sans);
  min-width: 200px;
  padding: 4px 10px;
}

.admin-form__answer-options {
  background: rgba(0, 0, 0, 0.02);
  border: 1px solid var(--neutral-200);
  border-radius: 12px;
  display: grid;
  gap: 10px;
  padding: 12px 14px;
}
.admin-form__answer-options ol {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.admin-form__answer-option {
  align-items: stretch;
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  display: grid;
  gap: 10px;
  grid-template-columns: 32px 1fr auto;
  padding: 10px 12px;
  transition: border-color 120ms ease;
}
.admin-form__answer-option:hover {
  border-color: rgba(69, 58, 112, 0.3);
}
.admin-form__answer-num {
  align-items: center;
  background: rgba(69, 58, 112, 0.08);
  border-radius: 6px;
  color: var(--indigo-700);
  display: flex;
  font: 700 13px var(--sans);
  height: 28px;
  justify-content: center;
  margin-top: 2px;
  width: 28px;
}
.admin-form__answer-body {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.admin-form__answer-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.admin-form__answer-row--bottom {
  gap: 6px;
}
.admin-form__answer-meta-label {
  color: var(--text-muted);
  font: 700 9px var(--sans);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.admin-form__answer-label-input {
  border: 1px solid transparent;
  border-radius: 6px;
  flex: 1;
  font: 600 14px var(--sans);
  min-width: 200px;
  padding: 4px 6px;
}
.admin-form__answer-label-input:hover,
.admin-form__answer-label-input:focus {
  background: rgba(0, 0, 0, 0.025);
  border-color: var(--neutral-200);
  outline: none;
}
.admin-form__answer-id-input {
  background: rgba(69, 58, 112, 0.06);
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--indigo-700);
  font: 600 12px ui-monospace, monospace;
  max-width: 180px;
  padding: 3px 6px;
}
.admin-form__answer-id-input:hover,
.admin-form__answer-id-input:focus {
  background: rgba(69, 58, 112, 0.12);
  border-color: rgba(69, 58, 112, 0.3);
  outline: none;
}
.admin-form__answer-icon-input {
  background: rgba(0, 0, 0, 0.025);
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--text-muted);
  font: 500 12px ui-monospace, monospace;
  max-width: 180px;
  padding: 3px 6px;
}
.admin-form__answer-icon-input:hover,
.admin-form__answer-icon-input:focus {
  background: rgba(0, 0, 0, 0.05);
  border-color: var(--neutral-200);
  outline: none;
}
.admin-form__answer-remove {
  align-items: center;
  background: transparent;
  border: 1px solid var(--neutral-200);
  border-radius: 6px;
  color: var(--text-muted);
  cursor: pointer;
  display: flex;
  font: 700 16px var(--sans);
  height: 28px;
  justify-content: center;
  margin-top: 2px;
  width: 28px;
}
.admin-form__answer-remove:hover {
  background: rgba(105, 56, 239, 0.1);
  border-color: var(--salmon-dark);
  color: var(--salmon-dark);
}
.admin-form__answer-add {
  margin-top: 4px;
}

/* Phase 5r — Entity summary card (hero card before the form). */
.admin-summary {
  background: linear-gradient(135deg, #fff, rgba(69, 58, 112, 0.025));
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  display: grid;
  gap: 16px;
  margin-bottom: 16px;
  padding: 18px 20px;
}
.admin-summary__head {
  border-bottom: 1px solid var(--neutral-200);
  padding-bottom: 12px;
}
.admin-summary__eyebrow {
  color: var(--text-muted);
  font: 700 10px var(--sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.admin-summary__title {
  color: var(--text);
  font: 700 20px var(--sans);
  margin: 4px 0 6px;
}
.admin-summary__placement {
  font: 500 12px var(--sans);
  margin: 0;
}
.admin-summary__body {
  display: grid;
  gap: 14px;
}
.admin-summary__section h4 {
  color: var(--text);
  font: 700 11px var(--sans);
  letter-spacing: 0.04em;
  margin: 0 0 6px;
  text-transform: uppercase;
}
.admin-summary__section p {
  color: var(--text);
  font: 500 14px var(--sans);
  line-height: 1.5;
  margin: 0;
}
.admin-summary__bullets {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.admin-summary__bullets li {
  border-left: 3px solid rgba(69, 58, 112, 0.18);
  font: 500 13px var(--sans);
  line-height: 1.5;
  padding-left: 10px;
}
.admin-jump-link {
  background: rgba(105, 56, 239, 0.08);
  border: 1px solid rgba(105, 56, 239, 0.3);
  border-radius: 999px;
  color: var(--salmon-dark);
  cursor: pointer;
  font: 600 12px var(--sans);
  padding: 2px 10px;
  transition: background 120ms ease, color 120ms ease;
}
.admin-jump-link:hover {
  background: var(--salmon-dark);
  color: #fff;
}
.admin-jump-link--prominent {
  font-size: 14px;
  padding: 4px 14px;
}
/* Phase 5z — Recommendations panel above the Tasks/Handyman/Recommended
   list. Three sections (voice / duplicates / bundle candidates), each
   row has Open + Draft note buttons. */
.admin-recs {
  background: linear-gradient(135deg, rgba(105, 56, 239, 0.1), rgba(105, 56, 239, 0.04));
  border: 1px solid rgba(105, 56, 239, 0.45);
  border-left: 4px solid var(--salmon-dark);
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(105, 56, 239, 0.1);
  margin-bottom: 14px;
  padding: 0;
}
.admin-recs:not(.admin-recs--empty) > summary {
  font-weight: 700;
}

/* Phase 67E/F + Approach A Step 6 — Tasks tab explainer card.
   Indigo-tinted to distinguish from the salmon recommendations panel —
   this is reference info, not action items. Dismissible via the × in
   the head row; persists in localStorage. */
.admin-explainer {
  background: linear-gradient(135deg, rgba(69, 58, 112, 0.05), rgba(105, 56, 239, 0.06));
  border: 1px solid rgba(69, 58, 112, 0.2);
  border-radius: 14px;
  margin-bottom: 14px;
  padding: 14px 18px 12px;
}
.admin-explainer__head {
  align-items: center;
  display: flex;
  gap: 10px;
  margin-bottom: 6px;
}
.admin-explainer__head strong {
  flex: 1;
  font: 600 14px var(--sans);
}
.admin-explainer__icon {
  font-size: 16px;
  line-height: 1;
}
.admin-explainer__dismiss {
  background: transparent;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--text-muted);
  cursor: pointer;
  font: 700 18px var(--sans);
  height: 26px;
  line-height: 1;
  padding: 0;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
  width: 26px;
}
.admin-explainer__dismiss:hover {
  background: rgba(69, 58, 112, 0.08);
  border-color: rgba(69, 58, 112, 0.25);
  color: var(--text);
}
.admin-explainer p {
  color: var(--text);
  font: 500 13px var(--sans);
  line-height: 1.5;
  margin: 6px 0 0;
}
.admin-explainer p:first-of-type {
  margin-top: 0;
}
.admin-explainer code {
  background: rgba(69, 58, 112, 0.08);
  border-radius: 4px;
  font: 600 12px var(--mono, ui-monospace, "SF Mono", Menlo, Consolas, monospace);
  padding: 1px 5px;
}
.admin-recs--empty {
  background: rgba(10, 10, 15, 0.06);
  border-color: rgba(10, 10, 15, 0.3);
  border-left-color: rgba(10, 10, 15, 0.7);
  box-shadow: none;
}
.admin-recs--empty > summary::before {
  color: rgba(10, 10, 15, 0.7);
}
.admin-recs > summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 12px;
  list-style: none;
  padding: 14px 18px;
}
.admin-recs > summary::-webkit-details-marker {
  display: none;
}
.admin-recs > summary::before {
  content: "▸";
  color: var(--salmon-dark);
  font: 700 14px var(--sans);
  transition: transform 120ms ease;
}
.admin-recs[open] > summary::before {
  transform: rotate(90deg);
}
.admin-recs__title {
  color: var(--text);
  font: 700 15px var(--sans);
}
.admin-recs__badge {
  background: var(--salmon-dark);
  border-radius: 999px;
  color: #fff;
  font: 700 12px var(--sans);
  margin-left: 6px;
  padding: 3px 10px;
}
.admin-recs__badge--total {
  background: var(--salmon-dark);
  color: #fff;
}
.admin-recs__body {
  border-top: 1px solid var(--neutral-200);
  display: grid;
  gap: 14px;
  padding: 14px 16px;
}
.admin-recs__section h4 {
  color: var(--text);
  font: 700 12px var(--sans);
  margin: 0 0 4px;
}
.admin-recs__section p {
  font: 500 11px var(--sans);
  margin: 0 0 8px;
}

/* Phase 5z+1 — "What this is / Why it matters / Primary action" header
   above each section's row list. Three short lines, tight spacing. */
.admin-recs__what {
  background: rgba(255, 255, 255, 0.6);
  border-radius: 8px;
  color: var(--text);
  font: 500 11px var(--sans) !important;
  line-height: 1.55;
  margin: 4px 0 10px !important;
  padding: 8px 12px;
}
.admin-recs__what strong {
  color: var(--text);
  font-weight: 700;
}
.admin-recs__what code {
  background: rgba(0, 0, 0, 0.06);
  border-radius: 4px;
  font: 600 10px ui-monospace, monospace;
  padding: 1px 5px;
}
.admin-recs__what em {
  color: var(--salmon-dark);
  font-style: normal;
  font-weight: 600;
}

/* Per-row description (replaces the old .admin-muted span) */
.admin-rec__description {
  color: var(--text);
  font: 500 12px var(--sans);
  line-height: 1.45;
  margin: 4px 0 0;
}
.admin-rec__description code {
  background: rgba(69, 58, 112, 0.08);
  border-radius: 4px;
  color: var(--indigo-700);
  font: 600 11px ui-monospace, monospace;
  padding: 1px 5px;
}
.admin-rec__description strong {
  color: var(--text);
  font-weight: 700;
}
.admin-rec__description em {
  color: var(--salmon-dark);
  font-style: normal;
  font-weight: 600;
}

.admin-button--primary {
  background: var(--indigo-700);
  border-color: var(--indigo-700);
  color: #fff;
}
.admin-button--primary:hover {
  background: var(--indigo-600, #5025D1);
}

/* Phase 5z+3 — Delete-note buttons. Per-row × on the Notes tab list,
   per-card "Delete" on entity detail thread. Both visually subdued
   so the destructive intent stands out only on hover. */
.admin-button--danger:hover {
  background: rgba(105, 56, 239, 0.12) !important;
  border-color: var(--salmon-dark) !important;
  color: var(--salmon-dark) !important;
}
.admin-list-item-wrap {
  align-items: stretch;
  display: flex;
  gap: 4px;
  margin-bottom: 4px;
  position: relative;
}
.admin-list-item-wrap > .admin-list-item {
  flex: 1;
  margin-bottom: 0;
}
.admin-list-item__delete {
  align-items: center;
  background: transparent;
  border: 1px solid var(--neutral-200);
  border-radius: 8px;
  color: var(--text-muted);
  cursor: pointer;
  display: flex;
  font: 700 18px var(--sans);
  justify-content: center;
  min-width: 32px;
  opacity: 0.5;
  padding: 0;
  transition: all 120ms ease;
}
.admin-list-item-wrap:hover .admin-list-item__delete {
  opacity: 1;
}
.admin-list-item__delete:hover {
  background: rgba(105, 56, 239, 0.12);
  border-color: var(--salmon-dark);
  color: var(--salmon-dark);
}
.admin-button--xs {
  font: 600 10px var(--sans);
  padding: 3px 8px;
}
.admin-rec {
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-left-width: 3px;
  border-radius: 8px;
  display: flex;
  gap: 12px;
  margin-bottom: 6px;
  padding: 8px 12px;
}
.admin-rec--salmon { border-left-color: var(--salmon-dark); }
.admin-rec--indigo { border-left-color: var(--indigo-700); }
.admin-rec--purple { border-left-color: #6938EF; }
.admin-rec__main {
  display: grid;
  flex: 1;
  gap: 2px;
  min-width: 0;
}
.admin-rec__main strong {
  font: 600 13px var(--sans);
}
.admin-rec__main span {
  font: 500 11px var(--sans);
  line-height: 1.4;
}
.admin-rec__actions {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}
.admin-button--small {
  font: 600 11px var(--sans);
  padding: 4px 10px;
}
.admin-button--ghost {
  background: transparent;
  border: 1px solid var(--neutral-200);
  color: var(--text);
}

/* Phase 5w — Entity-flavor pill in the detail panel eyebrow. Replaces
   the bare "admin task" / "live task" text with a labeled, color-coded
   pill so Tom always knows what kind of entity he's looking at. */
.admin-eyebrow__flavor {
  border-radius: 999px;
  display: inline-block;
  font: 700 11px var(--sans);
  letter-spacing: 0.04em;
  padding: 3px 10px;
  text-transform: uppercase;
  cursor: help;
}
.admin-eyebrow__flavor--live {
  background: rgba(10, 10, 15, 0.14);
  color: #0A0A0A;
}
.admin-eyebrow__flavor--overlay {
  background: rgba(105, 56, 239, 0.14);
  color: #5025D1;
}
.admin-eyebrow__flavor--draft {
  background: rgba(105, 56, 239, 0.12);
  color: #6938EF;
}
.admin-eyebrow__flavor--neutral {
  background: rgba(0, 0, 0, 0.06);
  color: var(--text-muted);
}

/* Phase 5u — Empty form fields fade so set fields stand out. Vendor
   auto-seed templates have many nil fields (no diyEffortMinutes, no
   bundleId, etc.) — those should fade into the background so the
   meaningful fields read first. */
.admin-form__field.is-empty {
  opacity: 0.55;
}
.admin-form__field.is-empty:hover,
.admin-form__field.is-empty:focus-within {
  opacity: 1;
}
.admin-form__field.is-set {
  opacity: 1;
}
.admin-form__field.is-changed {
  opacity: 1;
}

/* Phase 5u — Group caption below legend for context */
.admin-form__group-caption {
  color: var(--text-muted);
  font: 500 12px var(--sans);
  line-height: 1.45;
  margin: 0 0 8px;
}

/* Phase 5u — Summary card visual treatment: heavier, more prominent
   so it doesn't get scrolled past when reading a task detail. */
.admin-summary {
  border-width: 2px;
  box-shadow: 0 2px 6px rgba(69, 58, 112, 0.06);
}

/* Phase 5t — Quick-scan stats strip just below the entity title */
.admin-summary__stats {
  border-bottom: 1px solid var(--neutral-200);
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  padding-bottom: 14px;
}
.admin-summary__stat {
  display: grid;
  gap: 2px;
}
.admin-summary__stat-label {
  color: var(--text-muted);
  font: 700 9px var(--sans);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.admin-summary__stat strong {
  color: var(--text);
  font: 700 14px var(--sans);
}

/* Phase 5t — Stats bar admin-draft variant */
.admin-stat--draft {
  background: rgba(105, 56, 239, 0.08);
  border-color: rgba(105, 56, 239, 0.3);
}
.admin-stat--draft strong {
  color: #5025D1;
}

/* Phase 5t — Gating pills (region + subtype + opt-in) */
.admin-pill--gating-region {
  background: rgba(105, 56, 239, 0.14);
  color: #5025D1;
}
.admin-pill--gating-subtype {
  background: rgba(10, 10, 15, 0.12);
  color: #0A0A0A;
}
.admin-pill--gating-subtype code {
  background: rgba(0, 0, 0, 0.06);
  border-radius: 4px;
  font-family: ui-monospace, monospace;
  padding: 1px 4px;
}

/* Phase 5t (deprecated by 5z+13) — Nav badge "live + draft" delta.
   Pre-5z+13 the badge was "{live}+{drafts}". Tom: "if it says +23
   for instance next to tasks…I have no idea what that means." Now
   folded into a single total — the rule below is kept as a no-op for
   any cached HTML still in flight. */
.admin-nav-badge__delta {
  display: none;
}

.admin-summary__section--proactive {
  background: linear-gradient(135deg, rgba(10, 10, 15, 0.06), rgba(10, 10, 15, 0.02));
  border: 1px solid rgba(10, 10, 15, 0.2);
  border-radius: 10px;
  padding: 12px 14px;
}
.admin-summary__section--proactive h4 {
  color: #0A0A0A;
}
.admin-summary__section--proactive p:first-of-type {
  font: 600 15px var(--sans);
}

.admin-summary__bundle-map {
  background: rgba(105, 56, 239, 0.04);
  border: 1px solid rgba(105, 56, 239, 0.18);
  border-radius: 10px;
  display: grid;
  gap: 8px;
  padding: 12px 14px;
}
.admin-summary__bundle-parent {
  display: grid;
  gap: 2px;
}
.admin-summary__bundle-parent strong {
  color: #6938EF;
  font: 700 14px var(--sans);
}
.admin-summary__bundle-parent span {
  font: 500 12px var(--sans);
}
.admin-summary__siblings {
  display: grid;
  gap: 4px;
  list-style: decimal inside;
  margin: 6px 0 0;
  padding: 0;
}
.admin-summary__sibling {
  font: 500 13px var(--sans);
  padding: 2px 0;
}
.admin-summary__sibling.is-self {
  background: rgba(105, 56, 239, 0.08);
  border-radius: 6px;
  font-weight: 700;
  padding: 4px 8px;
}
.admin-summary__sibling-title {
  background: none;
  border: none;
  color: inherit;
  cursor: pointer;
  font: inherit;
  padding: 0;
  text-align: left;
}
.admin-summary__sibling-title:hover:not(:disabled) {
  color: var(--salmon-dark);
  text-decoration: underline;
}
.admin-summary__sibling-marker {
  color: #6938EF;
  font: 600 11px var(--sans);
  margin-left: 6px;
}
.admin-summary__system-templates {
  display: grid;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.admin-summary__system-templates li {
  font: 500 13px var(--sans);
  padding: 2px 0;
}

.admin-form__hint {
  color: var(--text-muted);
  font: 500 11px var(--sans);
  margin: 8px 0 0;
}

/* -- Diff strip ----------------------------------------------------------- */

.admin-diff-strip {
  background: linear-gradient(135deg, rgba(105, 56, 239, 0.08), rgba(105, 56, 239, 0.02));
  border: 1px solid rgba(105, 56, 239, 0.3);
  border-radius: 14px;
  display: grid;
  gap: 10px;
  padding: 14px 16px;
}

.admin-diff-strip__header {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-diff-strip__header strong {
  color: var(--salmon-dark, #5025D1);
  font: 800 12px var(--sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-diff-strip__list {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.admin-diff__item {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(105, 56, 239, 0.2);
  border-radius: 10px;
  display: grid;
  font: 500 12px var(--sans);
  gap: 8px;
  grid-template-columns: minmax(140px, 0.8fr) 1fr 16px 1fr;
  padding: 6px 10px;
}

.admin-diff__field {
  color: var(--indigo-700);
  font: 700 12px ui-monospace, monospace;
}

.admin-diff__from {
  color: var(--text-muted);
  text-decoration: line-through;
  word-break: break-word;
}

.admin-diff__arrow {
  color: var(--salmon-dark, #5025D1);
  font: 800 14px var(--sans);
  text-align: center;
}

.admin-diff__to {
  color: var(--text);
  font-weight: 700;
  word-break: break-word;
}

.admin-button--has-changes {
  animation: admin-pulse 1.6s ease-in-out infinite;
}

@keyframes admin-pulse {
  0%, 100% { box-shadow: 0 8px 18px rgba(105, 56, 239, 0.28); }
  50% { box-shadow: 0 8px 24px rgba(105, 56, 239, 0.55); }
}

.admin-button--secondary {
  background: rgba(69, 58, 112, 0.08);
  border-color: transparent;
  color: var(--indigo-700);
}

.admin-button--secondary:hover {
  background: rgba(69, 58, 112, 0.16);
}

.admin-detail__quick-actions {
  display: flex;
  gap: 8px;
}

/* -- Preview modal -------------------------------------------------------- */

.qp-modal {
  align-items: center;
  display: grid;
  inset: 0;
  position: fixed;
  z-index: 800;
}

.qp-modal__scrim {
  background: rgba(10, 10, 10, 0.5);
  backdrop-filter: blur(4px);
  inset: 0;
  position: absolute;
}

.qp-modal__panel {
  background: var(--pearl, #FAFAFC);
  border-radius: 24px;
  box-shadow: 0 32px 80px rgba(10, 10, 10, 0.4);
  display: grid;
  gap: 0;
  grid-template-rows: auto 1fr;
  margin: 32px auto;
  max-height: calc(100vh - 64px);
  max-width: 920px;
  overflow: hidden;
  position: relative;
  width: 92vw;
}

.qp-modal--wide .qp-modal__panel {
  max-width: 1080px;
}

.qp-modal__header {
  align-items: start;
  background: var(--indigo-700);
  color: #fff;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 20px 24px;
}

.qp-modal--salmon .qp-modal__header {
  background: var(--salmon, #6938EF);
}

.qp-modal__eyebrow {
  font: 800 10.5px var(--sans);
  letter-spacing: 0.16em;
  margin: 0 0 4px;
  opacity: 0.78;
  text-transform: uppercase;
}

.qp-modal__header h2 {
  font: 700 22px Fraunces, Georgia, serif;
  margin: 0;
}

.qp-modal__subtitle {
  font: 500 12px ui-monospace, "SF Mono", monospace;
  margin: 6px 0 0;
  opacity: 0.85;
}

.qp-modal__close {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  font: 700 22px var(--sans);
  height: 32px;
  line-height: 1;
  width: 32px;
}

.qp-modal__close:hover {
  background: rgba(255, 255, 255, 0.2);
}

.qp-modal__body {
  background: var(--pearl, #FAFAFC);
  overflow: auto;
  padding: 24px;
}

/* -- Single-question preview (qp = quiz preview) -------------------------- */

.qp {
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(280px, 360px) 1fr;
}

.qp__chrome {
  display: grid;
  justify-items: center;
}

.qp__phone {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 32px;
  box-shadow: 0 16px 38px rgba(10, 10, 10, 0.18);
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  height: 640px;
  overflow: hidden;
  width: 320px;
}

.qp__statusbar {
  color: var(--indigo-800, #6938EF);
  font: 700 13px var(--sans);
  padding: 12px 24px 4px;
}

.qp__nav {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 4px 18px;
}

.qp__nav-back {
  color: var(--salmon, #6938EF);
  font: 600 13px var(--sans);
}

.qp__chapter-pill {
  background: rgba(69, 58, 112, 0.1);
  border-radius: 999px;
  color: var(--indigo-800, #6938EF);
  font: 700 10px var(--sans);
  letter-spacing: 0.12em;
  padding: 4px 10px;
  text-transform: uppercase;
}

.qp__progress {
  background: var(--neutral-200, #edeef0);
  height: 3px;
  margin: 12px 18px 0;
}

.qp__progress-bar {
  background: var(--salmon, #6938EF);
  height: 100%;
}

.qp__body {
  display: grid;
  gap: 18px;
  padding: 22px 22px 0;
}

.qp__title {
  color: var(--indigo-800, #6938EF);
  font: 700 22px Fraunces, Georgia, serif;
  line-height: 1.25;
  margin: 0;
}

.qp__subtitle {
  color: rgba(69, 58, 112, 0.72);
  font: 500 14px var(--sans);
  line-height: 1.45;
  margin: 0;
}

.qp__answers {
  display: grid;
  gap: 8px;
}

.qp__answer-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
}

.qp__answer-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.qp__answer-row--stacked {
  flex-direction: column;
}

.qp__answer-btn {
  align-items: center;
  background: #fff;
  border: 1.5px solid var(--neutral-200, #edeef0);
  border-radius: 12px;
  color: var(--indigo-800, #6938EF);
  cursor: default;
  display: flex;
  font: 600 13px var(--sans);
  gap: 8px;
  justify-content: center;
  min-height: 44px;
  padding: 8px 12px;
  text-align: center;
}

.qp__answer-btn--multi {
  border-style: dashed;
}

.qp__answer-btn--primary {
  background: var(--salmon, #6938EF);
  border-color: var(--salmon, #6938EF);
  color: #fff;
}

.qp__answer-btn--ghost {
  background: transparent;
  border-color: rgba(69, 58, 112, 0.2);
}

.qp__answer-btn--count {
  flex: 1;
  min-width: 56px;
}

.qp__option-icon {
  color: var(--salmon, #6938EF);
  font: 700 14px var(--sans);
}

.qp__option-custom {
  background: rgba(105, 56, 239, 0.12);
  border-radius: 999px;
  color: var(--salmon-dark, #5025D1);
  font: 700 9px var(--sans);
  letter-spacing: 0.1em;
  padding: 1px 6px;
  text-transform: uppercase;
}

.qp__select-all {
  background: rgba(69, 58, 112, 0.08);
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--indigo-700);
  cursor: default;
  font: 700 10px var(--sans);
  letter-spacing: 0.16em;
  padding: 4px 12px;
  text-transform: uppercase;
  width: max-content;
}

.qp__currency {
  align-items: center;
  background: var(--neutral-200, #edeef0);
  border-radius: 16px;
  display: flex;
  font: 700 24px var(--sans);
  gap: 8px;
  padding: 14px 18px;
}

.qp__currency-prefix {
  color: var(--text-muted);
}

.qp__currency-input {
  background: transparent;
  border: 0;
  color: var(--indigo-800, #6938EF);
  flex: 1;
  font: 700 28px var(--sans);
  outline: none;
}

.qp__provider-input {
  background: var(--neutral-200, #edeef0);
  border: 0;
  border-radius: 12px;
  color: var(--indigo-800);
  font: 500 14px var(--sans);
  padding: 12px 14px;
  width: 100%;
}

.qp__provider-hint {
  color: var(--text-muted);
  font: 500 11px var(--sans);
  margin: 6px 2px 0;
}

.qp__custom-form-pill {
  background: var(--indigo-50, rgba(69, 58, 112, 0.08));
  border-radius: 999px;
  color: var(--indigo-700);
  font: 700 10px var(--sans);
  letter-spacing: 0.16em;
  margin-bottom: 8px;
  padding: 4px 10px;
  text-transform: uppercase;
  width: max-content;
}

.qp__custom-form-note {
  color: var(--text-muted);
  font: 500 12px var(--sans);
  line-height: 1.5;
  margin: 0 0 8px;
}

.qp__cta {
  background: #fff;
  border-top: 1px solid var(--neutral-200, #edeef0);
  padding: 14px 22px 22px;
}

.qp__cta-btn {
  background: var(--salmon, #6938EF);
  border: 0;
  border-radius: 16px;
  color: #fff;
  font: 700 15px var(--sans);
  height: 50px;
  width: 100%;
}

.qp__meta {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 16px;
  display: grid;
  gap: 14px;
  padding: 18px 20px;
}

.qp__meta h3 {
  font: 700 13px var(--sans);
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}

.qp__dl {
  display: grid;
  gap: 4px 16px;
  grid-template-columns: max-content 1fr;
  margin: 0;
}

.qp__dl dt {
  color: var(--text-muted);
  font: 700 11px var(--sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.qp__dl dd {
  color: var(--text);
  font: 500 13px var(--sans);
  margin: 0;
}

.qp__skip-note,
.qp__impact,
.qp__lint {
  background: rgba(105, 56, 239, 0.08);
  border: 1px solid rgba(105, 56, 239, 0.24);
  border-radius: 10px;
  color: #5025D1;
  font: 500 12px var(--sans);
  line-height: 1.5;
  margin: 0;
  padding: 8px 10px;
}

.qp__lint {
  background: rgba(105, 56, 239, 0.08);
  border-color: rgba(105, 56, 239, 0.32);
  color: var(--salmon-dark, #5025D1);
}

.qp__lint ul {
  margin: 6px 0 0;
  padding-left: 18px;
}

.qp__token-controls h4 {
  color: var(--text);
  font: 700 12px var(--sans);
  letter-spacing: 0.06em;
  margin: 8px 0 6px;
  text-transform: uppercase;
}

.qp__token-row {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: 110px 1fr;
  margin-bottom: 4px;
}

.qp__token-row span {
  color: var(--text-muted);
  font: 600 11px ui-monospace, monospace;
}

.qp__token-row input {
  background: rgba(0, 0, 0, 0.04);
  border: 1px solid var(--neutral-200);
  border-radius: 8px;
  font: 500 12px var(--sans);
  padding: 5px 8px;
}

/* -- Quiz flow preview (qf) ---------------------------------------------- */

.qf__legend {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 20px;
}

.qf__legend-item {
  align-items: center;
  color: var(--text-muted);
  display: inline-flex;
  font: 500 12px var(--sans);
  gap: 6px;
}

.qf__legend-dot {
  border-radius: 999px;
  height: 10px;
  width: 10px;
}

.qf__legend-dot--ok { background: var(--indigo-700); }
.qf__legend-dot--skip { background: rgba(105, 56, 239, 0.7); }
.qf__legend-dot--lint { background: var(--salmon, #6938EF); }
.qf__legend-dot--token { background: rgba(69, 58, 112, 0.5); }

.qf__chapter {
  margin-bottom: 28px;
}

.qf__chapter-header {
  align-items: baseline;
  display: flex;
  gap: 12px;
  margin-bottom: 10px;
}

.qf__chapter-header h2 {
  color: var(--indigo-800, #6938EF);
  font: 700 24px Fraunces, Georgia, serif;
  margin: 0;
}

.qf__chapter-count {
  color: var(--text-muted);
  font: 500 12px var(--sans);
}

.qf__list {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.qf__item-btn {
  align-items: start;
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 12px;
  cursor: pointer;
  display: grid;
  font: inherit;
  gap: 12px;
  grid-template-columns: 32px 1fr auto;
  padding: 10px 14px;
  text-align: left;
  transition: background 120ms ease, border-color 120ms ease;
  width: 100%;
}

.qf__item-btn:hover {
  background: rgba(69, 58, 112, 0.04);
  border-color: var(--indigo-700);
}

.qf__item-num {
  background: rgba(69, 58, 112, 0.08);
  border-radius: 999px;
  color: var(--indigo-700);
  font: 700 12px ui-monospace, monospace;
  height: 28px;
  line-height: 28px;
  text-align: center;
  width: 28px;
}

.qf__item-body {
  display: grid;
  gap: 4px;
}

.qf__item-title {
  color: var(--text);
  font: 600 14px var(--sans);
}

.qf__item-subtitle {
  color: var(--text-muted);
  font: 500 12px var(--sans);
}

.qf__item-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.qf__item-meta code {
  background: rgba(69, 58, 112, 0.08);
  border-radius: 6px;
  color: var(--indigo-700);
  font: 600 11px ui-monospace, monospace;
  padding: 1px 5px;
}

.qf__item-meta span {
  color: var(--text-muted);
  font: 500 11px var(--sans);
}

.qf__item-opts {
  color: rgba(69, 58, 112, 0.6) !important;
  font-style: italic;
}

.qf__item-flags {
  align-items: center;
  display: flex;
  gap: 6px;
}

.qf__flag {
  background: rgba(69, 58, 112, 0.08);
  border-radius: 999px;
  color: var(--indigo-700);
  font: 700 10px var(--sans);
  letter-spacing: 0.06em;
  padding: 2px 6px;
}

.qf__flag--skip { background: rgba(105, 56, 239, 0.16); color: #5025D1; }
.qf__flag--lint { background: rgba(105, 56, 239, 0.18); color: var(--salmon-dark, #5025D1); }
.qf__flag--token { background: rgba(69, 58, 112, 0.16); }

.qf__notes {
  background: rgba(69, 58, 112, 0.12);
  border-radius: 999px;
  color: var(--indigo-700);
  font: 700 10px var(--sans);
  letter-spacing: 0.06em;
  padding: 2px 7px;
}

@media (max-width: 760px) {
  .qp { grid-template-columns: 1fr; }
  .qp__phone { width: 100%; max-width: 360px; }
  .qf__list { gap: 8px; }
}

/* =============================================================================
   Phase 5d — Assignment tier callout
   ============================================================================= */

.admin-form__field[data-field-key="_tier"] select,
[data-control="assignment-tier"] {
  background: rgba(105, 56, 239, 0.06);
  border-color: rgba(105, 56, 239, 0.32);
  color: var(--indigo-800, #6938EF);
  font: 700 14px var(--sans);
  padding: 11px 12px;
}

[data-control="assignment-tier"]:focus {
  border-color: var(--salmon, #6938EF);
}

/* Phase 5d — System picker: render as full-width select */
.admin-form__system-picker select {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  font: 600 13px var(--sans);
  padding: 9px 11px;
  width: 100%;
}

/* =============================================================================
   Phase 5i — Cmd+K global search palette
   ============================================================================= */

.admin-palette {
  align-items: flex-start;
  display: grid;
  inset: 0;
  position: fixed;
  z-index: 1000;
}

.admin-palette[hidden] { display: none; }

.admin-palette__scrim {
  background: rgba(10, 10, 10, 0.55);
  backdrop-filter: blur(4px);
  inset: 0;
  position: absolute;
}

.admin-palette__panel {
  background: #fff;
  border: 1px solid rgba(69, 58, 112, 0.2);
  border-radius: 16px;
  box-shadow: 0 32px 80px rgba(10, 10, 10, 0.4);
  display: grid;
  margin: 80px auto 0;
  max-height: calc(100vh - 160px);
  max-width: 720px;
  overflow: hidden;
  position: relative;
  width: 92vw;
}

.admin-palette__input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--neutral-200);
  font: 500 18px var(--sans);
  padding: 18px 20px;
  width: 100%;
}

.admin-palette__input:focus {
  outline: none;
}

.admin-palette__results {
  display: grid;
  gap: 2px;
  max-height: 460px;
  overflow-y: auto;
  padding: 6px;
}

.admin-palette__empty {
  color: var(--text-muted);
  font: 500 14px var(--sans);
  padding: 24px;
  text-align: center;
}

.admin-palette__result {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 10px;
  color: var(--text);
  cursor: pointer;
  display: grid;
  font: inherit;
  gap: 12px;
  grid-template-columns: 28px 1fr;
  padding: 10px 12px;
  text-align: left;
  width: 100%;
}

.admin-palette__result.is-active {
  background: var(--indigo-700);
  color: #fff;
}

.admin-palette__result.is-active .admin-palette__result-subtitle {
  color: rgba(255, 255, 255, 0.78);
}

.admin-palette__result-emoji {
  font-size: 20px;
  text-align: center;
}

.admin-palette__result-body {
  display: grid;
  gap: 2px;
}

.admin-palette__result-title {
  font: 600 14px var(--sans);
}

.admin-palette__result-subtitle {
  color: var(--text-muted);
  font: 500 12px var(--sans);
}

.admin-palette__hint {
  border-top: 1px solid var(--neutral-200);
  font: 500 11px var(--sans);
  margin: 0;
  padding: 8px 16px;
  text-align: center;
}

/* =============================================================================
   Phase 5g — Edge function inventory inside architecture detail
   ============================================================================= */

.admin-arch__panel--edge {
  background: linear-gradient(135deg, rgba(69, 58, 112, 0.05), rgba(69, 58, 112, 0.01));
}

.admin-arch__edge-buckets {
  display: grid;
  gap: 14px;
}

.admin-arch__edge-bucket header {
  align-items: baseline;
  border-bottom: 1px solid var(--neutral-200);
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 8px;
  padding-bottom: 4px;
}

.admin-arch__edge-bucket header h5 {
  color: var(--indigo-800, #6938EF);
  font: 700 14px var(--sans);
  margin: 0;
}

.admin-arch__edge-bucket ul {
  display: grid;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.admin-arch__edge-fn {
  align-items: center;
  background: rgba(69, 58, 112, 0.04);
  border: 0;
  border-radius: 8px;
  color: var(--text);
  cursor: pointer;
  display: grid;
  font: inherit;
  gap: 12px;
  grid-template-columns: 1fr auto;
  padding: 7px 10px;
  text-align: left;
  width: 100%;
}

.admin-arch__edge-fn:hover {
  background: rgba(69, 58, 112, 0.12);
}

.admin-arch__edge-fn code {
  background: transparent;
  color: var(--indigo-800, #6938EF);
  font: 600 12px ui-monospace, monospace;
}

.admin-arch__edge-fn-meta {
  align-items: center;
  display: inline-flex;
  gap: 8px;
}

.admin-arch__edge-fn-meta span {
  color: var(--text-muted);
  font: 500 11px var(--sans);
}

.admin-arch__edge-fn-warn {
  color: var(--salmon-dark, #5025D1) !important;
}

/* =============================================================================
   Phase 5e — Architecture view (overview + single-object detail)
   ============================================================================= */

.admin-arch {
  display: grid;
  gap: 24px;
}

.admin-arch__intro {
  background: rgba(69, 58, 112, 0.04);
  border-radius: 14px;
  padding: 14px 18px;
}

.admin-arch__intro p {
  font: 500 14px var(--sans);
  line-height: 1.55;
  margin: 0;
}

/* ---- Overview mode (cluster bands + chip rows) ----------------------- */

.admin-arch__cluster {
  display: grid;
  gap: 10px;
}

.admin-arch__cluster header {
  border-bottom: 1px solid var(--neutral-200);
  padding-bottom: 6px;
}

.admin-arch__cluster header h3 {
  font: 700 22px Fraunces, Georgia, serif;
  margin: 0 0 4px;
}

.admin-arch__cluster header p {
  color: var(--text-muted);
  font: 500 13px var(--sans);
  margin: 0;
}

.admin-arch__chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-arch__chip {
  align-items: center;
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 999px;
  color: var(--text);
  cursor: pointer;
  display: inline-flex;
  font: 600 13px var(--sans);
  gap: 8px;
  padding: 8px 14px;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.admin-arch__chip:hover {
  background: rgba(69, 58, 112, 0.06);
  border-color: var(--indigo-700);
  color: var(--indigo-800, #6938EF);
}

.admin-arch__chip--small {
  font: 500 12px var(--sans);
  padding: 5px 10px;
}

.admin-arch__chip-emoji {
  font-size: 16px;
}

/* ---- Detail mode (single object) ------------------------------------- */

.admin-arch--detail {
  display: grid;
  gap: 18px;
}

.admin-arch__breadcrumb {
  align-items: center;
  display: flex;
  gap: 12px;
}

.admin-arch__breadcrumb-btn {
  background: rgba(69, 58, 112, 0.08);
  border: 0;
  border-radius: 8px;
  color: var(--indigo-700);
  cursor: pointer;
  font: 700 12px var(--sans);
  padding: 6px 12px;
}

.admin-arch__breadcrumb-btn:hover {
  background: rgba(69, 58, 112, 0.16);
}

.admin-arch__breadcrumb-cluster {
  color: var(--text-muted);
  font: 500 12px var(--sans);
}

.admin-arch__hero {
  align-items: start;
  background: linear-gradient(135deg, rgba(69, 58, 112, 0.08), rgba(69, 58, 112, 0.02));
  border: 1px solid rgba(69, 58, 112, 0.18);
  border-radius: 16px;
  display: grid;
  gap: 16px;
  grid-template-columns: 56px 1fr;
  padding: 20px;
}

.admin-arch__hero-emoji {
  background: rgba(69, 58, 112, 0.16);
  border-radius: 14px;
  font-size: 32px;
  height: 56px;
  line-height: 56px;
  text-align: center;
  width: 56px;
}

.admin-arch__hero h2 {
  font: 700 28px Fraunces, Georgia, serif;
  margin: 0 0 4px;
}

.admin-arch__hero code {
  background: rgba(69, 58, 112, 0.12);
  border-radius: 6px;
  color: var(--indigo-700);
  font: 600 12px ui-monospace, monospace;
  padding: 2px 8px;
}

.admin-arch__hero p {
  color: var(--text);
  font: 500 14px var(--sans);
  line-height: 1.55;
  margin: 10px 0 0;
}

.admin-arch__panel {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  padding: 14px 16px;
}

.admin-arch__panel h4 {
  color: var(--indigo-700);
  font: 700 11px var(--sans);
  letter-spacing: 0.1em;
  margin: 0 0 10px;
  text-transform: uppercase;
}

.admin-arch__keylist {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.admin-arch__keylist code {
  background: rgba(69, 58, 112, 0.08);
  border-radius: 5px;
  color: var(--indigo-700);
  font: 600 11px ui-monospace, monospace;
  padding: 2px 8px;
}

.admin-arch__fields-list {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.admin-arch__fields-list li {
  background: rgba(69, 58, 112, 0.04);
  border-radius: 8px;
  padding: 8px 12px;
}

.admin-arch__fields-list li strong {
  color: var(--indigo-700);
  display: block;
  font: 700 12px ui-monospace, monospace;
  margin-bottom: 3px;
}

.admin-arch__fields-list li span {
  color: var(--text);
  font: 500 13px var(--sans);
  line-height: 1.5;
}

/* ---- Relationship panels (grid of 4: belongs-to / owns / refs / incoming) ---- */

.admin-arch__rel-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.admin-arch__rel-panel {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-left-width: 4px;
  border-radius: 14px;
  display: grid;
  gap: 10px;
  padding: 14px 16px;
}

.admin-arch__rel-panel--belongs-to { border-left-color: var(--salmon, #6938EF); }
.admin-arch__rel-panel--owns       { border-left-color: #0A0A0A; }
.admin-arch__rel-panel--references { border-left-color: rgba(105, 56, 239, 0.85); }
.admin-arch__rel-panel--incoming   { border-left-color: var(--indigo-700); }

.admin-arch__rel-panel header h4 {
  font: 700 12px var(--sans);
  letter-spacing: 0.06em;
  margin: 0 0 2px;
  text-transform: uppercase;
}

.admin-arch__rel-panel--belongs-to header h4 { color: var(--salmon-dark, #5025D1); }
.admin-arch__rel-panel--owns header h4 { color: #0A0A0A; }
.admin-arch__rel-panel--references header h4 { color: #5025D1; }
.admin-arch__rel-panel--incoming header h4 { color: var(--indigo-700); }

.admin-arch__rel-panel header p {
  color: var(--text-muted);
  font: 500 11px var(--sans);
  line-height: 1.4;
  margin: 0;
}

.admin-arch__rel-panel ul {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.admin-arch__rel-panel li {
  display: grid;
  gap: 4px;
}

.admin-arch__rel-link {
  background: rgba(69, 58, 112, 0.08);
  border: 0;
  border-radius: 8px;
  color: var(--indigo-800, #6938EF);
  cursor: pointer;
  font: 700 13px var(--sans);
  padding: 6px 10px;
  text-align: left;
  transition: background 120ms ease, color 120ms ease;
  width: max-content;
}

.admin-arch__rel-link:hover {
  background: var(--indigo-700);
  color: #fff;
}

.admin-arch__rel-label {
  color: var(--text);
  font: 500 12px var(--sans);
  line-height: 1.45;
  margin: 0;
}

.admin-arch__rel-label em {
  color: var(--text-muted);
  font-style: italic;
}

/* ---- Sibling chips (lateral-hop nav within cluster) ------------------ */

.admin-arch__siblings {
  background: rgba(69, 58, 112, 0.04);
  border-radius: 12px;
  padding: 12px 14px;
}

.admin-arch__siblings strong {
  color: var(--text-muted);
  display: block;
  font: 800 10.5px var(--sans);
  letter-spacing: 0.1em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

/* ---- Left-rail nav (cluster-grouped, current object highlighted) ----- */

.admin-arch__nav {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  padding: 14px 16px;
  position: sticky;
  top: 8px;
}

.admin-arch__nav > strong {
  color: var(--text-muted);
  display: block;
  font: 800 10.5px var(--sans);
  letter-spacing: 0.12em;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.admin-arch__nav-cluster {
  margin-bottom: 12px;
}

.admin-arch__nav-cluster:last-child { margin-bottom: 0; }

.admin-arch__nav-cluster-label {
  color: var(--indigo-700);
  display: block;
  font: 700 11px var(--sans);
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}

.admin-arch__nav-cluster ul {
  display: grid;
  gap: 1px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.admin-arch__nav-cluster button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 6px;
  color: var(--text);
  cursor: pointer;
  display: flex;
  font: 600 12px var(--sans);
  gap: 8px;
  padding: 5px 8px;
  text-align: left;
  transition: background 120ms ease, color 120ms ease;
  width: 100%;
}

.admin-arch__nav-cluster button:hover {
  background: rgba(69, 58, 112, 0.06);
  color: var(--indigo-800, #6938EF);
}

.admin-arch__nav-cluster button.is-active {
  background: var(--indigo-700);
  color: #fff;
}

.admin-arch__nav-cluster button.is-active:hover {
  background: var(--indigo-800, #6938EF);
  color: #fff;
}

/* Notes view — "Open X →" jump hint */
.admin-list-item__jump {
  background: rgba(105, 56, 239, 0.1);
  border-radius: 999px;
  color: var(--salmon-dark, #5025D1);
  font: 700 10px var(--sans);
  letter-spacing: 0.06em;
  margin-left: auto;
  padding: 2px 8px;
  text-transform: uppercase;
}

.admin-list-item:hover .admin-list-item__jump {
  background: var(--salmon, #6938EF);
  color: #fff;
}

/* =============================================================================
   Phase 5b — CLAUDE_ADMIN_NOTES.md live preview view
   ============================================================================= */

.admin-claude-file {
  display: grid;
  gap: 16px;
}

.admin-claude-file__header {
  background: linear-gradient(135deg, rgba(69, 58, 112, 0.1), rgba(69, 58, 112, 0.02));
  border: 1px solid rgba(69, 58, 112, 0.2);
  border-radius: 14px;
  padding: 16px 20px;
}

.admin-claude-file__header h2 {
  font: 700 22px Fraunces, Georgia, serif;
  margin: 4px 0 6px;
}

.admin-claude-file__header code {
  background: rgba(69, 58, 112, 0.1);
  border-radius: 5px;
  font: 600 12px ui-monospace, monospace;
  padding: 1px 6px;
}

.admin-claude-file__section {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  padding: 14px 16px 12px;
}

.admin-claude-file__section h3 {
  color: var(--indigo-700);
  font: 700 14px var(--sans);
  letter-spacing: 0.04em;
  margin: 0 0 10px;
}

.admin-claude-file__section--question {
  background: rgba(105, 56, 239, 0.05);
  border-color: rgba(105, 56, 239, 0.32);
}

.admin-claude-file__section--question h3 {
  color: #5025D1;
}

.admin-claude-file__section--pending {
  background: rgba(105, 56, 239, 0.05);
  border-color: rgba(105, 56, 239, 0.3);
}

.admin-claude-file__section--pending h3 {
  color: var(--salmon-dark, #5025D1);
}

.admin-claude-file__section--applied {
  background: rgba(10, 10, 15, 0.04);
  border-color: rgba(10, 10, 15, 0.28);
}

.admin-claude-file__section--applied h3 {
  color: #0A0A0A;
}

.admin-claude-file__entity {
  background: rgba(69, 58, 112, 0.03);
  border-radius: 10px;
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
  padding: 10px 12px;
}

.admin-claude-file__entity header {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-claude-file__entity header strong {
  font: 700 14px var(--sans);
}

.admin-claude-file__entity code {
  background: rgba(69, 58, 112, 0.1);
  border-radius: 5px;
  color: var(--indigo-700);
  font: 600 11px ui-monospace, monospace;
  padding: 1px 6px;
}

.admin-claude-file__note {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  display: grid;
  gap: 6px;
  padding: 10px 12px;
}

.admin-claude-file__note + .admin-claude-file__note {
  margin-top: 8px;
}

.admin-claude-file__note--reply {
  background: rgba(69, 58, 112, 0.04);
  border-left: 3px solid var(--indigo-700);
  margin-left: 22px;
}

.admin-claude-file__note header {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.admin-claude-file__note-meta {
  color: var(--text-muted);
  font: 600 11px var(--sans);
}

.admin-claude-file__note pre {
  background: transparent;
  color: var(--text);
  font: 500 13px var(--sans);
  line-height: 1.5;
  margin: 0;
  white-space: pre-wrap;
}

.admin-claude-file__diff {
  font: 500 11px ui-monospace, monospace;
}

.admin-claude-file__diff summary {
  color: var(--indigo-700);
  cursor: pointer;
  font: 600 11px var(--sans);
}

.admin-claude-file__diff pre {
  background: rgba(69, 58, 112, 0.04);
  border-radius: 6px;
  font: 500 11px ui-monospace, monospace;
  margin: 6px 0 0;
  max-height: 220px;
  overflow: auto;
  padding: 8px 10px;
  white-space: pre-wrap;
}

.admin-claude-file__attachments {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.admin-claude-file__attachment {
  background: rgba(69, 58, 112, 0.08);
  border-radius: 999px;
  color: var(--indigo-700);
  font: 600 11px var(--sans);
  padding: 3px 10px;
  text-decoration: none;
}

.admin-claude-file__attachment:hover {
  background: rgba(69, 58, 112, 0.16);
}

/* =============================================================================
   Phase 4b — Info buttons + popover, walkthrough nav, live notes in preview
   ============================================================================= */

.admin-form__info {
  align-items: center;
  background: rgba(69, 58, 112, 0.08);
  border: 0;
  border-radius: 999px;
  color: var(--indigo-700);
  cursor: help;
  display: inline-flex;
  font: 700 10px var(--sans);
  height: 16px;
  justify-content: center;
  margin-left: 6px;
  width: 16px;
}

.admin-form__info:hover {
  background: var(--indigo-700);
  color: #fff;
}

.admin-info-popover {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(10, 10, 10, 0.22);
  max-width: 360px;
  padding: 14px 16px 12px;
  position: fixed;
  width: 360px;
  z-index: 900;
}

.admin-info-popover header {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 6px;
}

.admin-info-popover header strong {
  color: var(--indigo-800, #6938EF);
  font: 700 13px var(--sans);
}

.admin-info-popover__close {
  background: transparent;
  border: 0;
  color: var(--text-muted);
  cursor: pointer;
  font: 700 18px var(--sans);
  line-height: 1;
}

.admin-info-popover p {
  color: var(--text);
  font: 500 12.5px var(--sans);
  line-height: 1.5;
  margin: 0;
}

/* -- Walkthrough nav strip --------------------------------------------- */

.qp-nav {
  align-items: center;
  background: rgba(69, 58, 112, 0.04);
  border-radius: 14px;
  display: grid;
  gap: 12px;
  grid-template-columns: max-content 1fr max-content;
  margin-bottom: 16px;
  padding: 10px 14px;
}

.qp-nav__btn {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  color: var(--text);
  cursor: pointer;
  font: 700 13px var(--sans);
  padding: 8px 14px;
  transition: background 120ms ease, color 120ms ease;
}

.qp-nav__btn:hover {
  background: rgba(69, 58, 112, 0.08);
}

.qp-nav__btn--primary {
  background: var(--salmon, #6938EF);
  border-color: var(--salmon, #6938EF);
  color: #fff;
}

.qp-nav__btn--primary:hover {
  background: var(--salmon-dark, #5025D1);
}

.qp-nav__btn--ghost {
  background: transparent;
  border-color: rgba(69, 58, 112, 0.2);
  color: var(--indigo-700);
}

.qp-nav__btn[disabled] {
  cursor: not-allowed;
  opacity: 0.4;
}

.qp-nav__progress {
  display: grid;
  gap: 4px;
}

.qp-nav__progress-bar {
  background: var(--neutral-200);
  border-radius: 999px;
  height: 4px;
  overflow: hidden;
}

.qp-nav__progress-bar > div {
  background: var(--salmon, #6938EF);
  border-radius: 999px;
  height: 100%;
  transition: width 240ms ease;
  width: 0%;
}

.qp-nav__counter {
  color: var(--text-muted);
  font: 500 11px var(--sans);
}

.qp-nav__counter strong {
  color: var(--indigo-800);
}

.qp-nav__counter code {
  background: rgba(69, 58, 112, 0.08);
  border-radius: 5px;
  color: var(--indigo-700);
  font: 600 10px ui-monospace, monospace;
  padding: 1px 5px;
}

/* -- Explainer sections (right rail of preview) ------------------------ */

.qp__exp-section {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  margin-bottom: 12px;
  padding: 12px 14px;
}

.qp__exp-section h3 {
  color: var(--indigo-700);
  font: 700 11px var(--sans);
  letter-spacing: 0.08em;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.qp__exp-section--lint {
  background: rgba(105, 56, 239, 0.06);
  border-color: rgba(105, 56, 239, 0.32);
}

.qp__exp-section--lint h3 {
  color: var(--salmon-dark, #5025D1);
}

.qp__effect-list {
  display: grid;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.qp__effect-list li {
  background: rgba(69, 58, 112, 0.04);
  border-radius: 6px;
  color: var(--text);
  font: 500 12px var(--sans);
  padding: 4px 8px;
}

.qp__effect-list code {
  background: rgba(69, 58, 112, 0.12);
  border-radius: 4px;
  color: var(--indigo-700);
  font: 600 11px ui-monospace, monospace;
  padding: 1px 5px;
}

.qp__exp-details {
  margin-top: 8px;
}

.qp__exp-details summary {
  color: var(--indigo-700);
  cursor: pointer;
  font: 600 12px var(--sans);
}

.qp__exp-details pre {
  background: rgba(69, 58, 112, 0.04);
  border-radius: 6px;
  font: 500 11px ui-monospace, monospace;
  margin: 6px 0 0;
  max-height: 200px;
  overflow: auto;
  padding: 8px 10px;
  white-space: pre-wrap;
}

.qp__answers-table {
  border-collapse: collapse;
  font: 500 12px var(--sans);
  width: 100%;
}

.qp__answers-table th,
.qp__answers-table td {
  border-bottom: 1px solid var(--neutral-200);
  padding: 6px 8px;
  text-align: left;
}

.qp__answers-table th {
  color: var(--text-muted);
  font: 800 10.5px var(--sans);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.qp__answers-table code {
  background: rgba(69, 58, 112, 0.08);
  border-radius: 4px;
  color: var(--indigo-700);
  font: 600 11px ui-monospace, monospace;
  padding: 1px 5px;
}

.qp__jump {
  margin-top: 8px;
  text-align: right;
}

/* -- Live notes panel inside preview ----------------------------------- */

.qp__notes {
  background: linear-gradient(135deg, rgba(105, 56, 239, 0.06), rgba(105, 56, 239, 0.02));
  border: 1px solid rgba(105, 56, 239, 0.25);
  border-radius: 14px;
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding: 14px 16px;
}

.qp__notes h3 {
  color: var(--salmon-dark, #5025D1);
  font: 700 11px var(--sans);
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}

.qp__notes-help {
  font: 500 12px var(--sans);
  margin: 0;
}

.qp__notes-row {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
}

.qp__notes-row label {
  display: grid;
  gap: 3px;
}

.qp__notes-row span {
  color: var(--text-muted);
  font: 800 10px var(--sans);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.qp__notes-row select {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 8px;
  font: 500 12px var(--sans);
  padding: 6px 8px;
}

.qp__notes textarea {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  color: var(--text);
  font: 500 13px var(--sans);
  line-height: 1.5;
  padding: 10px 12px;
  resize: vertical;
}

.qp__notes textarea:focus {
  border-color: var(--salmon, #6938EF);
  outline: none;
}

.qp__notes-actions {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.qp__notes-feedback {
  font: 600 11px var(--sans);
}

.qp__notes-feedback[data-tone="ok"] {
  color: #0A0A0A;
}

.qp__notes-feedback[data-tone="warn"] {
  color: var(--salmon-dark, #5025D1);
}

.qp__notes-recent {
  border-top: 1px dashed rgba(105, 56, 239, 0.32);
  margin-top: 6px;
  padding-top: 8px;
}

.qp__notes-recent h4 {
  color: var(--text-muted);
  font: 800 10px var(--sans);
  letter-spacing: 0.08em;
  margin: 0 0 6px;
  text-transform: uppercase;
}

.qp__notes-recent-item {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  display: grid;
  gap: 4px;
  margin-bottom: 6px;
  padding: 8px 10px;
}

.qp__notes-recent-item header {
  align-items: center;
  display: flex;
  gap: 8px;
}

.qp__notes-recent-item small {
  color: var(--text-muted);
  font: 500 11px var(--sans);
}

.qp__notes-recent-item pre {
  background: transparent;
  color: var(--text);
  font: 500 12px var(--sans);
  line-height: 1.4;
  margin: 0;
  white-space: pre-wrap;
}

/* =============================================================================
   Phase 5o — Handyman punch list section in simulator output
   ============================================================================= */

.admin-sim__lane--punch {
  background: linear-gradient(135deg, rgba(105, 56, 239, 0.06), rgba(105, 56, 239, 0.01));
  border-color: rgba(105, 56, 239, 0.32);
}

.admin-sim__punch-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.admin-sim__punch-col {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  padding: 10px 12px;
}

.admin-sim__punch-col header {
  align-items: baseline;
  border-bottom: 1px dashed var(--neutral-200);
  display: flex;
  font: 800 11px var(--sans);
  gap: 6px;
  letter-spacing: 0.06em;
  margin-bottom: 6px;
  padding-bottom: 4px;
  text-transform: uppercase;
}

.admin-sim__punch-col ul {
  display: grid;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.admin-sim__punch-col li {
  align-items: baseline;
  display: grid;
  gap: 6px;
  grid-template-columns: 16px 1fr;
  padding: 4px 0;
}

.admin-sim__punch-check {
  color: #0A0A0A;
  font: 700 13px var(--sans);
}

.admin-sim__punch-title {
  color: var(--text);
  font: 600 13px var(--sans);
  line-height: 1.35;
}

.admin-sim__punch-meta {
  color: var(--text-muted);
  font: 500 11px var(--sans);
  grid-column: 2;
  margin-top: 2px;
}

/* =============================================================================
   Phase 67 (C4) — Vendor coverage gaps callout. Mirrors VendorCoverageSheet
   on the iOS dashboard: a single section per system category that needs a
   contractor, replacing the legacy "Find a contractor for X" tasks in the
   vendor lane.
   ============================================================================= */

.admin-sim__lane--gaps {
  background: linear-gradient(135deg, rgba(105, 56, 239, 0.07), rgba(105, 56, 239, 0.01));
  border-color: rgba(105, 56, 239, 0.34);
}

.admin-sim__gap-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.admin-sim__gap-card {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  padding: 10px 12px;
}

.admin-sim__gap-card header {
  align-items: baseline;
  border-bottom: 1px dashed var(--neutral-200);
  display: flex;
  gap: 8px;
  justify-content: space-between;
  margin-bottom: 6px;
  padding-bottom: 4px;
}

.admin-sim__gap-card h5 {
  font: 800 13px var(--sans);
  margin: 0;
}

.admin-pill--warn {
  background: rgba(105, 56, 239, 0.14);
  color: #5025D1;
}

.admin-sim__gap-list {
  color: var(--text);
  display: grid;
  font: 500 12px var(--sans);
  gap: 3px;
  list-style: disc;
  margin: 4px 0 0 18px;
  padding: 0;
}

/* =============================================================================
   Phase 5m — Routine bucket in simulator output
   ============================================================================= */

.admin-sim__lane--routine {
  background: linear-gradient(135deg, rgba(10, 10, 15, 0.06), rgba(10, 10, 15, 0.01));
  border-color: rgba(10, 10, 15, 0.3);
}

.admin-sim__routines {
  display: grid;
  gap: 8px;
}

.admin-sim__routine {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-left-width: 4px;
  border-radius: 12px;
  padding: 10px 14px;
}

.admin-sim__routine.is-active {
  border-left-color: #0A0A0A;
  background: linear-gradient(135deg, rgba(10, 10, 15, 0.06), #fff);
}

.admin-sim__routine.is-pending {
  border-left-color: rgba(105, 56, 239, 0.85);
  background: linear-gradient(135deg, rgba(105, 56, 239, 0.06), #fff);
}

.admin-sim__routine header {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 4px;
}

.admin-sim__routine header strong {
  flex: 1;
  font: 700 14px var(--sans);
}

.admin-sim__routine-status {
  border-radius: 999px;
  font: 800 9.5px var(--sans);
  letter-spacing: 0.1em;
  padding: 2px 8px;
  text-transform: uppercase;
}

.admin-sim__routine.is-active .admin-sim__routine-status {
  background: rgba(10, 10, 15, 0.18);
  color: #0A0A0A;
}

.admin-sim__routine.is-pending .admin-sim__routine-status {
  background: rgba(105, 56, 239, 0.18);
  color: #5025D1;
}

.admin-sim__routine-blurb {
  color: var(--text);
  font: 500 12px var(--sans);
  line-height: 1.45;
  margin: 0 0 6px;
}

.admin-sim__routine details summary {
  color: var(--indigo-700);
  cursor: pointer;
  font: 600 11px var(--sans);
}

.admin-sim__routine details ul {
  display: grid;
  gap: 3px;
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
}

.admin-sim__routine details li {
  align-items: baseline;
  display: flex;
  font: 500 12px var(--sans);
  gap: 8px;
  justify-content: space-between;
}

.admin-sim__routine details code {
  background: rgba(69, 58, 112, 0.08);
  border-radius: 4px;
  color: var(--indigo-700);
  font: 600 11px ui-monospace, monospace;
  padding: 1px 5px;
}

/* Phase 5q — Funnel breakdown card in the simulator. Visualizes why
   only X% of templates fire as tasks: each step shows a real cut. */
.admin-sim__funnel {
  background: linear-gradient(135deg, rgba(69, 58, 112, 0.04), rgba(105, 56, 239, 0.04));
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  display: grid;
  gap: 12px;
  margin: 14px 0;
  padding: 14px 18px;
}
.admin-sim__funnel header {
  display: grid;
  gap: 4px;
}
.admin-sim__funnel header h4 {
  color: var(--text);
  font: 700 14px var(--sans);
  margin: 0;
}
.admin-sim__funnel header span {
  font: 500 12px var(--sans);
}
.admin-sim__funnel-steps {
  display: grid;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.admin-sim__funnel-steps li {
  align-items: baseline;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  grid-template-columns: 60px 1fr;
  padding: 6px 12px;
}
.admin-sim__funnel-steps li strong {
  color: var(--text);
  font: 800 18px var(--sans);
  text-align: right;
}
.admin-sim__funnel-steps li span {
  color: var(--text-muted);
  font: 500 12px var(--sans);
  line-height: 1.4;
}
.admin-sim__funnel-step--cut {
  background: rgba(105, 56, 239, 0.06);
}
.admin-sim__funnel-step--cut strong {
  color: var(--salmon-dark);
}
.admin-sim__funnel-step--final {
  background: rgba(10, 10, 15, 0.10);
}
.admin-sim__funnel-step--final strong {
  color: #0A0A0A;
}
.admin-sim__funnel-note {
  font: 500 12px var(--sans);
  margin: 0;
}

/* Phase 5p — clickable simulator rows jump to entity detail panels.
   Cards (routines) get a salmon outline on hover; rows (tasks, punch
   list, bundle children) get a subtle salmon background tint. */
.admin-sim__task.is-clickable,
.admin-sim__routine.is-clickable,
.admin-sim__punch-col li.is-clickable,
.admin-sim__children li.is-clickable {
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease, transform 120ms ease;
}
.admin-sim__task.is-clickable:hover,
.admin-sim__punch-col li.is-clickable:hover,
.admin-sim__children li.is-clickable:hover {
  background: rgba(105, 56, 239, 0.08);
}
.admin-sim__routine.is-clickable:hover {
  border-color: rgba(105, 56, 239, 0.55);
  transform: translateY(-1px);
}

/* =============================================================================
   Phase 5k — Quiz Mode in simulator
   ============================================================================= */

.admin-sim__mode-toggle {
  background: rgba(0, 0, 0, 0.04);
  border-radius: 999px;
  display: flex;
  margin-bottom: 14px;
  padding: 3px;
}

.admin-sim__mode {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: var(--text-muted);
  cursor: pointer;
  flex: 1;
  font: 700 12px var(--sans);
  padding: 8px 12px;
  transition: background 120ms ease, color 120ms ease;
}

.admin-sim__mode.is-active {
  background: #fff;
  box-shadow: 0 2px 6px rgba(10, 10, 10, 0.12);
  color: var(--indigo-800, #6938EF);
}

.admin-sim__lane-blurb {
  font: 500 11px var(--sans);
  margin: -4px 0 6px;
}

.admin-quizsim {
  display: grid;
  gap: 14px;
}

.admin-quizsim__presets {
  background: linear-gradient(135deg, rgba(105, 56, 239, 0.06), rgba(105, 56, 239, 0.01));
  border: 1px solid rgba(105, 56, 239, 0.25);
  border-radius: 12px;
  padding: 12px 14px;
}

.admin-quizsim__presets > strong {
  color: var(--salmon-dark, #5025D1);
  display: block;
  font: 800 10px var(--sans);
  letter-spacing: 0.12em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.admin-quizsim__preset-row {
  display: grid;
  gap: 6px;
}

.admin-quizsim__preset {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  cursor: pointer;
  display: grid;
  font: inherit;
  gap: 2px;
  padding: 8px 12px;
  text-align: left;
  width: 100%;
}

.admin-quizsim__preset:hover {
  background: rgba(105, 56, 239, 0.04);
  border-color: var(--salmon, #6938EF);
}

.admin-quizsim__preset strong {
  color: var(--text);
  font: 700 13px var(--sans);
}

.admin-quizsim__preset span {
  color: var(--text-muted);
  font: 500 11px var(--sans);
  line-height: 1.4;
}

.admin-quizsim__preset--reset {
  border-style: dashed;
}

.admin-quizsim__section {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 12px;
  padding: 12px 14px;
}

.admin-quizsim__section > strong {
  color: var(--indigo-700);
  display: block;
  font: 800 10.5px var(--sans);
  letter-spacing: 0.12em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.admin-quizsim__hint {
  font: 500 11px var(--sans);
  line-height: 1.4;
  margin: 0 0 6px;
}

.admin-quizsim__question {
  border-bottom: 1px dashed rgba(0, 0, 0, 0.06);
  padding: 6px 0;
}

.admin-quizsim__question:last-child {
  border-bottom: 0;
}

.admin-quizsim__question header {
  align-items: baseline;
  display: flex;
  gap: 8px;
  justify-content: space-between;
  margin-bottom: 4px;
}

.admin-quizsim__q-label {
  color: var(--indigo-800, #6938EF);
  font: 700 12px var(--sans);
}

.admin-quizsim__question header code {
  background: rgba(69, 58, 112, 0.06);
  border-radius: 4px;
  color: var(--indigo-700);
  font: 600 9px ui-monospace, monospace;
  padding: 1px 5px;
}

.admin-quizsim__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.admin-quizsim__chip {
  background: rgba(69, 58, 112, 0.06);
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--text);
  cursor: pointer;
  font: 600 11px var(--sans);
  padding: 3px 9px;
}

.admin-quizsim__chip:hover {
  background: rgba(69, 58, 112, 0.14);
}

.admin-quizsim__chip.is-active {
  background: var(--indigo-700);
  color: #fff;
}

.admin-quizsim__clear {
  background: transparent;
  border: 1px dashed var(--neutral-300);
  border-radius: 999px;
  color: var(--text-muted);
  cursor: pointer;
  font: 500 10px var(--sans);
  padding: 2px 8px;
}

.admin-quizsim__clear:hover {
  background: rgba(0, 0, 0, 0.04);
}

/* =============================================================================
   Phase 7 — Reconciler simulator
   ============================================================================= */

.admin-sim__form {
  display: grid;
  gap: 14px;
}

.admin-sim__form fieldset {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 14px 16px;
}

.admin-sim__form legend {
  background: rgba(69, 58, 112, 0.08);
  border-radius: 999px;
  color: var(--indigo-700);
  font: 800 10.5px var(--sans);
  letter-spacing: 0.16em;
  padding: 4px 10px;
  text-transform: uppercase;
}

.admin-sim__form label {
  display: grid;
  gap: 4px;
}

.admin-sim__form label > span {
  color: var(--text-muted);
  font: 800 10.5px var(--sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.admin-sim__form input,
.admin-sim__form select {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  font: 600 13px var(--sans);
  padding: 8px 10px;
}

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

.admin-sim__output {
  display: grid;
  gap: 16px;
}

.admin-sim__summary {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.admin-sim__filter-summary {
  background: rgba(0, 0, 0, 0.03);
  border-radius: 10px;
  font: 500 12px var(--sans);
  line-height: 1.6;
  padding: 10px 12px;
}

.admin-sim__lane {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  display: grid;
  gap: 10px;
  padding: 14px 16px;
}

.admin-sim__lane header {
  align-items: baseline;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.admin-sim__lane h4 {
  color: var(--indigo-700);
  font: 700 12px var(--sans);
  letter-spacing: 0.06em;
  margin: 0;
  text-transform: uppercase;
}

.admin-sim__tasks {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.admin-sim__task {
  background: rgba(69, 58, 112, 0.04);
  border-radius: 10px;
  display: grid;
  gap: 4px;
  padding: 8px 12px;
}

.admin-sim__task[data-lane="vendor"] {
  border-left: 3px solid var(--indigo-700);
}

.admin-sim__task[data-lane="findContractor"] {
  border-left: 3px solid var(--salmon, #6938EF);
}

.admin-sim__task[data-lane="personal"] {
  border-left: 3px solid #0A0A0A;
}

.admin-sim__task-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-sim__task-meta span {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 6px;
  color: var(--text-muted);
  font: 500 11px var(--sans);
  padding: 1px 7px;
}

.admin-sim__children {
  font: 500 12px var(--sans);
}

.admin-sim__children summary {
  color: var(--indigo-700);
  cursor: pointer;
  font: 600 12px var(--sans);
}

.admin-sim__children ul {
  margin: 6px 0 0;
  padding-left: 18px;
}

.admin-sim__children li {
  color: var(--text);
  font: 500 12px var(--sans);
  margin-bottom: 2px;
}

.admin-sim__children code {
  background: rgba(69, 58, 112, 0.08);
  border-radius: 5px;
  color: var(--indigo-700);
  font: 600 10px ui-monospace, monospace;
  padding: 1px 5px;
}

/* =============================================================================
   Phase 4b — Detail panel tabs (Edit / Impact / Usage)
   ============================================================================= */

.admin-tabs {
  border-bottom: 1px solid var(--neutral-200);
  display: flex;
  gap: 0;
  margin: 0 -22px;
  padding: 0 22px;
}

.admin-tab {
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  color: var(--text-muted);
  cursor: pointer;
  font: 700 13px var(--sans);
  letter-spacing: 0.04em;
  margin-bottom: -1px;
  padding: 12px 16px;
  transition: color 120ms ease, border-color 120ms ease;
}

.admin-tab:hover {
  color: var(--indigo-700);
}

.admin-tab.is-active {
  border-bottom-color: var(--salmon, #6938EF);
  color: var(--indigo-800, #6938EF);
}

.admin-tab-pane {
  display: grid;
  gap: 16px;
}

.admin-tab-pane:not(.is-active) {
  display: none;
}

/* Impact panel */
.admin-impact__section {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  padding: 14px 16px;
}

.admin-impact__section h4 {
  color: var(--indigo-700);
  font: 700 12px var(--sans);
  letter-spacing: 0.08em;
  margin: 0 0 10px;
  text-transform: uppercase;
}

.admin-impact__section--lint {
  background: rgba(105, 56, 239, 0.05);
  border-color: rgba(105, 56, 239, 0.32);
}

.admin-impact__section--lint h4 {
  color: var(--salmon-dark, #5025D1);
}

.admin-impact__section--lint code {
  background: rgba(105, 56, 239, 0.14);
  border-radius: 6px;
  padding: 1px 6px;
}

.admin-impact__list {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.admin-impact__list li {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-impact__label {
  background: rgba(69, 58, 112, 0.08);
  border-radius: 6px;
  color: var(--indigo-700);
  font: 600 12px ui-monospace, "SF Mono", Menlo, monospace;
  padding: 2px 8px;
}

.admin-impact__label[data-nav-to] {
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: rgba(69, 58, 112, 0.3);
  text-underline-offset: 3px;
}

.admin-impact__label[data-nav-to]:hover {
  background: rgba(69, 58, 112, 0.16);
}

.admin-impact__hint {
  color: var(--text-muted);
  font: 500 12px var(--sans);
}

/* Usage panel */
.admin-usage {
  display: grid;
  gap: 14px;
}

.admin-usage__row {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.admin-stat-tile {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 12px;
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  text-align: left;
}

.admin-stat-tile strong {
  color: var(--indigo-800, #6938EF);
  font: 700 22px Fraunces, Georgia, serif;
}

.admin-stat-tile span {
  color: var(--text-muted);
  font: 600 11px var(--sans);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-usage__list {
  display: grid;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.admin-usage__list li {
  align-items: center;
  background: rgba(69, 58, 112, 0.04);
  border-radius: 8px;
  display: flex;
  font: 500 13px var(--sans);
  gap: 8px;
  justify-content: space-between;
  padding: 6px 12px;
}

.admin-usage__list code {
  background: rgba(69, 58, 112, 0.1);
  border-radius: 5px;
  color: var(--indigo-700);
  font: 600 12px ui-monospace, monospace;
  padding: 1px 6px;
}

.admin-usage__recommendation {
  border: 1px solid;
  border-radius: 12px;
  padding: 12px 14px;
}

.admin-usage__recommendation strong {
  display: block;
  font: 800 11px var(--sans);
  letter-spacing: 0.1em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.admin-usage__recommendation p {
  font: 500 13px var(--sans);
  line-height: 1.45;
  margin: 0;
}

.admin-usage__recommendation[data-tone="active"] {
  background: rgba(10, 10, 15, 0.08);
  border-color: rgba(10, 10, 15, 0.32);
  color: #0A0A0A;
}

.admin-usage__recommendation[data-tone="reshape"] {
  background: rgba(105, 56, 239, 0.08);
  border-color: rgba(105, 56, 239, 0.32);
  color: #5025D1;
}

.admin-usage__recommendation[data-tone="cut"] {
  background: rgba(105, 56, 239, 0.08);
  border-color: rgba(105, 56, 239, 0.32);
  color: #5025D1;
}

.admin-usage__recommendation[data-tone="defer"] {
  background: rgba(69, 58, 112, 0.08);
  border-color: rgba(69, 58, 112, 0.32);
  color: var(--indigo-700);
}

.admin-usage__recommendation[data-tone="draft"] {
  background: rgba(0, 0, 0, 0.04);
  border-color: var(--neutral-200);
  color: var(--text-muted);
}

/* =============================================================================
   Phase 7.5 — Launch lifecycle, Decisions, Activity, Readiness
   ============================================================================= */

/* Launch lifecycle pills (draft / staged / approved / shipped / sunset) */
.admin-pill--launch[data-tone="draft"] {
  background: rgba(0, 0, 0, 0.06);
  color: var(--text-muted);
}

.admin-pill--launch[data-tone="staged"] {
  background: rgba(105, 56, 239, 0.14);
  color: #5025D1;
}

.admin-pill--launch[data-tone="approved"] {
  background: rgba(10, 10, 15, 0.18);
  color: #0A0A0A;
}

.admin-pill--launch[data-tone="shipped"] {
  background: rgba(10, 10, 15, 0.32);
  color: #0A0A0A;
}

.admin-pill--launch[data-tone="sunset"] {
  background: rgba(105, 56, 239, 0.18);
  color: #5025D1;
}

/* Lock button — when locked, render as solid green */
.admin-button--lock {
  background: rgba(10, 10, 15, 0.1);
  border-color: rgba(10, 10, 15, 0.3);
  color: #0A0A0A;
}

.admin-button--lock:hover {
  background: rgba(10, 10, 15, 0.18);
}

.admin-button--lock.admin-button--locked {
  background: #0A0A0A;
  border-color: #0A0A0A;
  box-shadow: 0 8px 18px rgba(10, 10, 15, 0.28);
  color: #fff;
}

.admin-button--lock.admin-button--locked:hover {
  background: #0A0A0A;
}

/* Topbar readiness pill */
.admin-readiness {
  align-items: center;
  display: grid;
  gap: 8px 12px;
  grid-template-columns: max-content 1fr max-content;
  margin-top: 8px;
  max-width: 540px;
}

.admin-readiness__count {
  color: var(--text);
  font: 700 12px var(--sans);
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.admin-readiness__bar {
  background: var(--neutral-200);
  border-radius: 999px;
  height: 8px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.admin-readiness__bar > div {
  background: linear-gradient(90deg, var(--salmon, #6938EF), #0A0A0A);
  border-radius: 999px;
  height: 100%;
  transition: width 240ms ease;
  width: 0%;
}

.admin-readiness__hint {
  color: var(--text-muted);
  font: 500 11px var(--sans);
  white-space: nowrap;
}

/* Decisions list */
.admin-decision {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-left: 3px solid var(--salmon, #6938EF);
  border-radius: 14px;
  cursor: pointer;
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  transition: background 120ms ease, border-color 120ms ease;
}

.admin-decision:hover {
  background: rgba(105, 56, 239, 0.04);
}

/* Phase 5z+14 — Active row when its focused panel is open. Same
   pattern as Apple Mail / Linear: a stronger left strip + a fill so
   the user sees which decision the right pane belongs to. */
.admin-decision.is-active {
  background: rgba(105, 56, 239, 0.08);
  border-color: rgba(105, 56, 239, 0.5);
  border-left-width: 4px;
}

.admin-decision__top {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-decision__top strong {
  flex: 1;
  font: 700 14px var(--sans);
}

.admin-decision__reason {
  color: var(--text-muted);
  font: 500 13px var(--sans);
  line-height: 1.4;
  margin: 0;
}

.admin-decision__rec {
  color: var(--indigo-700);
  font: 600 12px var(--sans);
  margin: 0;
}

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

.admin-button--danger {
  background: rgba(105, 56, 239, 0.08);
  border-color: rgba(105, 56, 239, 0.3);
  color: #5025D1;
}

.admin-button--danger:hover {
  background: rgba(105, 56, 239, 0.16);
}

/* Activity feed */
.admin-activity {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  display: grid;
  gap: 6px;
  margin-bottom: 8px;
  padding: 12px 16px;
}

.admin-activity header {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-activity header strong {
  flex: 1;
  font: 700 13px var(--sans);
}

.admin-activity pre {
  background: rgba(69, 58, 112, 0.04);
  border-radius: 8px;
  color: var(--text);
  font: 500 12px ui-monospace, "SF Mono", Menlo, monospace;
  margin: 4px 0 0;
  padding: 8px 10px;
  white-space: pre-wrap;
}

.admin-activity--applied { border-left: 3px solid #0A0A0A; }
.admin-activity--reverted { border-left: 3px solid #5025D1; }
.admin-activity--locked { border-left: 3px solid var(--indigo-700); }

/* Admin Lab v2 — admin-note-card layout */
.admin-note-card__top {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 4px;
}

.admin-note-card__top strong {
  flex: 1;
  font: 700 13px var(--sans);
}

/* Phase 5 — threaded replies + attachments */
.admin-note-card[data-reply="true"] {
  background: rgba(69, 58, 112, 0.04);
  border-left: 2px solid var(--indigo-700);
  margin-left: 22px;
  margin-top: 6px;
}

.admin-note-card--depth-1 { margin-left: 22px; }
.admin-note-card--depth-2 { margin-left: 44px; }

.admin-note-card__actions {
  display: flex;
  gap: 6px;
  margin-top: 6px;
}

.admin-button--xs {
  font-size: 11px;
  min-height: 28px;
  padding: 4px 10px;
}

.admin-note-card__attachments {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.admin-note-card__attachment {
  border: 1px solid var(--neutral-200);
  border-radius: 8px;
  height: 80px;
  object-fit: cover;
  width: 120px;
}

.admin-note-controls__attachment {
  grid-column: 1 / -1;
}

.admin-note-controls__attachment-status {
  color: var(--text-muted);
  display: block;
  font: 500 11px var(--sans);
  margin-top: 4px;
  min-height: 14px;
}

.admin-note-controls__attachment input[type="file"] {
  background: rgba(0, 0, 0, 0.03);
  border: 1px dashed var(--neutral-300);
  border-radius: 10px;
  color: var(--text-muted);
  font: 500 12px var(--sans);
  padding: 8px 10px;
  width: 100%;
}

/* Admin Lab v2 — note form intent + target controls */
.admin-note-controls {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 8px;
}

.admin-note-controls label {
  display: grid;
  gap: 4px;
}

.admin-note-controls span {
  color: var(--text-muted);
  font: 800 10.5px var(--sans);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.admin-note-controls select {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  font: 600 13px var(--sans);
  padding: 8px 10px;
}

.admin-note-controls select:focus {
  border-color: var(--indigo-700);
  outline: none;
}

.admin-empty-detail,
.admin-detail {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 22px;
  box-shadow: var(--shadow);
  min-height: calc(100vh - 170px);
  padding: 22px;
}

.admin-empty-detail {
  align-content: center;
  display: grid;
  justify-items: center;
  text-align: center;
}

.admin-empty-detail h3 {
  font-size: 28px;
}

.admin-empty-detail p {
  max-width: 440px;
}

.admin-detail {
  display: grid;
  gap: 18px;
}

.admin-detail__header {
  align-items: start;
  border-bottom: 1px solid var(--neutral-200);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding-bottom: 18px;
}

.admin-detail__header h3 {
  font-size: 28px;
  margin: 0 0 4px;
}

.admin-form-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 1.5fr 0.75fr 1fr 0.6fr;
}

.admin-block-label textarea,
.admin-notes-box textarea {
  line-height: 1.5;
  resize: vertical;
}

.admin-detail__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-notes-box {
  background:
    radial-gradient(circle at 100% 0, rgba(105, 56, 239, 0.12), transparent 36%),
    var(--indigo-50);
  border: 1px solid var(--indigo-100);
  border-radius: 18px;
  display: grid;
  gap: 14px;
  padding: 18px;
}

.admin-notes-box h4 {
  font-family: var(--serif);
  font-size: 22px;
  margin: 0 0 4px;
}

.admin-notes-box p {
  color: var(--text-muted);
  font-size: 13px;
  margin: 0;
}

.admin-note-feed {
  display: grid;
  gap: 12px;
}

.admin-note-card {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 16px;
  padding: 14px;
}

.admin-note-card pre {
  color: var(--text-muted);
  font: 500 13px/1.5 var(--sans);
  margin: 8px 0 0;
  white-space: pre-wrap;
}

/* Phase 72.5 fix: the original 1100px breakpoint hid the sidebar on
   any laptop with dev tools open or a vertical browser-tabs sidebar.
   Lowered to 900px so a 13" MacBook (1280) with ~380px of side chrome
   still shows the sidebar; only true tablet/phone widths collapse it.
   Replacing the hidden sidebar with a hamburger menu is a follow-up. */
@media (max-width: 900px) {
  .admin-app {
    grid-template-columns: 1fr;
  }

  .admin-sidebar {
    display: none;
  }

  .admin-layout {
    grid-template-columns: 1fr;
  }

  .admin-list {
    max-height: none;
  }

  .admin-form-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 720px) {
  .admin-topbar {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-topbar__actions,
  .admin-list-tools,
  .admin-stats,
  .admin-form-grid {
    grid-template-columns: 1fr;
  }
}

/* =============================================================================
   Phase 5z+9 — Focused note panel (Notes tab → click a row)
   =============================================================================
   Renders inside the admin-detail panel when a note is selected. Replaces
   the legacy "click a note → jump to entity" behavior with a focused
   note view that surfaces the body, entity preview, Claude analysis,
   and inline edit/delete/applied/revert/reply controls in one place. */

.admin-note-focused {
  display: block;
}

.admin-note-focused__body {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.admin-note-focused__header {
  align-items: flex-start;
  border-bottom: 1px solid var(--neutral-200);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  padding-bottom: 12px;
}

.admin-note-focused__header-pills {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.admin-note-focused__header-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.admin-note-focused__section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.admin-note-focused__section--analysis {
  background: rgba(69, 58, 112, 0.03);
  border: 1px solid rgba(69, 58, 112, 0.12);
  border-radius: 12px;
  padding: 14px 16px;
}

.admin-note-focused__section-head {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.admin-note-focused__section-head h4 {
  color: var(--text);
  font: 700 11px var(--sans);
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}

.admin-note-focused__analysis-source {
  font-size: 11px;
}

.admin-note-focused__body-text {
  background: rgba(69, 58, 112, 0.04);
  border-radius: 10px;
  color: var(--text);
  font: 500 14px/1.55 var(--sans);
  margin: 0;
  padding: 12px 14px;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.admin-note-focused__attachments {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.admin-note-focused__attachment {
  border: 1px solid var(--neutral-200);
  border-radius: 8px;
  height: 96px;
  object-fit: cover;
  width: 96px;
}

/* Inline edit form */
.admin-note-focused__edit {
  background: rgba(105, 56, 239, 0.04);
  border: 1px solid rgba(105, 56, 239, 0.18);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
}

.admin-note-focused__edit-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.admin-note-focused__edit-row span,
.admin-note-focused__edit-grid span {
  color: var(--text-soft);
  font: 700 11px var(--sans);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.admin-note-focused__edit-row textarea {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  font: 500 14px/1.5 var(--sans);
  min-height: 120px;
  padding: 10px 12px;
  resize: vertical;
}

.admin-note-focused__edit-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
}

.admin-note-focused__edit-grid label {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.admin-note-focused__edit-grid select {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  font: 500 13px var(--sans);
  padding: 8px 10px;
}

.admin-note-focused__edit-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

/* Entity preview card */
.admin-note-focused__entity {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 12px;
  padding: 14px 16px;
}

.admin-note-focused__entity strong {
  display: block;
  font: 700 14px var(--sans);
  margin-bottom: 4px;
}

.admin-note-focused__entity-desc {
  font-size: 13px;
  margin: 0 0 10px;
}

.admin-note-focused__entity-fields {
  display: grid;
  font: 500 12px var(--sans);
  gap: 4px 14px;
  grid-template-columns: max-content 1fr;
  margin: 0;
}

.admin-note-focused__entity-fields dt {
  color: var(--text-soft);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-note-focused__entity-fields dd {
  color: var(--text);
  margin: 0;
  word-wrap: break-word;
}

.admin-note-focused__entity--orphaned {
  background: rgba(0, 0, 0, 0.02);
  border-color: rgba(0, 0, 0, 0.08);
  border-style: dashed;
}

.admin-note-focused__entity--orphaned strong {
  color: var(--text-muted);
}

.admin-note-focused__snapshot summary {
  color: var(--text-muted);
  cursor: pointer;
  font: 600 11px var(--sans);
  letter-spacing: 0.04em;
  margin-top: 8px;
  text-transform: uppercase;
}

.admin-note-focused__snapshot pre {
  background: rgba(0, 0, 0, 0.04);
  border-radius: 8px;
  font: 500 11px/1.4 var(--mono, ui-monospace, "SF Mono", Menlo, Consolas, monospace);
  margin-top: 6px;
  max-height: 240px;
  overflow: auto;
  padding: 10px;
}

/* Analysis card sub-rows */
.admin-note-focused__analysis {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.admin-note-focused__analysis-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-note-focused__analysis-row--block {
  align-items: stretch;
  flex-direction: column;
  gap: 6px;
}

.admin-note-focused__analysis-row strong {
  color: var(--text);
  font: 700 11px var(--sans);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.admin-note-focused__analysis-list {
  color: var(--text);
  font: 500 13px/1.5 var(--sans);
  margin: 0;
  padding-left: 18px;
}

.admin-note-focused__analysis-list li {
  margin-bottom: 4px;
}

.admin-note-focused__analysis-list li:last-child {
  margin-bottom: 0;
}

.admin-note-focused__blast {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-note-focused__blast-pill {
  align-items: baseline;
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 999px;
  display: inline-flex;
  font: 500 12px var(--sans);
  gap: 6px;
  padding: 4px 12px;
}

.admin-note-focused__blast-pill strong {
  color: var(--indigo-700);
  font: 700 13px var(--sans);
  letter-spacing: 0;
  text-transform: none;
}

.admin-note-focused__alternative {
  background: rgba(10, 10, 15, 0.06);
  border: 1px solid rgba(10, 10, 15, 0.18);
  border-radius: 10px;
  padding: 10px 12px;
}

.admin-note-focused__alternative p {
  font: 500 13px/1.5 var(--sans);
  margin: 4px 0 0;
}

.admin-note-focused__alternative p:first-of-type {
  margin: 0;
}

/* Replies + reply form */
.admin-note-focused__replies {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.admin-note-focused__empty-replies {
  font-size: 13px;
  margin: 0;
}

.admin-note-focused__reply {
  background: rgba(69, 58, 112, 0.03);
  border: 1px solid var(--neutral-200);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
}

.admin-note-focused__reply textarea {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  font: 500 14px/1.5 var(--sans);
  padding: 10px 12px;
  resize: vertical;
}

.admin-note-focused__reply-actions {
  display: flex;
  justify-content: flex-end;
}

/* =============================================================================
   Phase 5z+10 — Segmented control for Notes tab Not Applied / Applied
   ============================================================================= */
.admin-segments {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 12px;
}

.admin-segment {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  text-align: left;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.admin-segment:hover {
  background: rgba(69, 58, 112, 0.04);
  border-color: rgba(69, 58, 112, 0.25);
}

.admin-segment.is-active {
  background: var(--indigo-700);
  border-color: var(--indigo-700);
  color: #fff;
}

.admin-segment.is-active .admin-muted {
  color: rgba(255, 255, 255, 0.78);
}

.admin-segment__label {
  font: 700 13px var(--sans);
}

.admin-segment__count {
  font: 700 22px var(--serif);
  line-height: 1;
}

.admin-segment__sub {
  font: 500 11px var(--sans);
}

/* =============================================================================
   Phase 5z+10 — Refresh button + last-sync indicator
   ============================================================================= */
.admin-refresh {
  align-items: center;
  display: inline-flex;
  gap: 6px;
}

.admin-refresh__icon {
  display: inline-flex;
  font: 700 14px var(--sans);
  transition: transform 600ms ease;
}

.admin-refresh.is-flashing .admin-refresh__icon {
  transform: rotate(360deg);
}

.admin-refresh__indicator {
  background: var(--indigo-700);
  border-radius: 50%;
  height: 6px;
  opacity: 0;
  transition: opacity 200ms ease;
  width: 6px;
}

.admin-refresh.is-flashing .admin-refresh__indicator {
  opacity: 1;
}

.admin-refresh__time {
  font-size: 11px;
}

/* =============================================================================
   Phase 5z+10 — Analysis headline + history card
   ============================================================================= */
.admin-note-focused__analysis-headline {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}

.admin-note-focused__analysis-headline strong {
  color: var(--text);
  font: 700 14px var(--sans);
  letter-spacing: 0;
  text-transform: none;
}

.admin-note-focused__section--history {
  background: rgba(10, 10, 15, 0.06);
  border: 1px solid rgba(10, 10, 15, 0.18);
  border-radius: 12px;
  padding: 14px 16px;
}

.admin-note-focused__history p {
  font: 500 13px/1.5 var(--sans);
  margin: 0 0 6px;
}

.admin-note-focused__history p:last-child {
  margin-bottom: 0;
}

.admin-note-focused__history code {
  background: rgba(0, 0, 0, 0.06);
  border-radius: 4px;
  font: 600 12px var(--mono, ui-monospace, "SF Mono", Menlo, Consolas, monospace);
  padding: 1px 5px;
}

/* =============================================================================
   Phase 5z+10 — Search input wrapper with magnifier + clear-X
   ============================================================================= */
.admin-search {
  align-items: center;
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 12px;
  display: flex;
  gap: 8px;
  min-height: 42px;
  padding: 0 10px 0 12px;
  position: relative;
  width: 100%;
}

.admin-search:focus-within {
  border-color: var(--indigo-400);
  box-shadow: 0 0 0 3px rgba(180, 155, 250, 0.16);
}

.admin-search__icon {
  color: var(--text-muted);
  font-size: 16px;
  line-height: 1;
}

/* Override the generic input styling inside the search wrapper so the
   X + magnifier sit cleanly on either side. */
.admin-search input[data-search] {
  background: transparent;
  border: 0;
  border-radius: 0;
  flex: 1;
  font: 500 14px var(--sans);
  min-height: 0;
  padding: 0;
  width: auto;
}

.admin-search input[data-search]:focus {
  border: 0;
  box-shadow: none;
  outline: none;
}

.admin-search__clear {
  align-items: center;
  background: rgba(0, 0, 0, 0.04);
  border: 0;
  border-radius: 50%;
  color: var(--text);
  cursor: pointer;
  display: inline-flex;
  font: 700 16px var(--sans);
  height: 22px;
  justify-content: center;
  line-height: 1;
  padding: 0;
  transition: background 120ms ease;
  width: 22px;
}

.admin-search__clear:hover {
  background: rgba(0, 0, 0, 0.1);
}

/* =============================================================================
   Phase 5z+11 — Compact filter bar with dropdown buttons + popovers
   ============================================================================= */
.admin-facet-bar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px; /* matches admin-recs / admin-explainer rhythm */
}

.admin-facet-dd {
  position: relative;
}

.admin-facet-dd__trigger {
  align-items: center;
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  font: 600 13px var(--sans);
  gap: 6px;
  min-height: 32px;
  padding: 6px 12px;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.admin-facet-dd__trigger:hover {
  background: rgba(69, 58, 112, 0.04);
  border-color: rgba(69, 58, 112, 0.25);
}

.admin-facet-dd__trigger.is-active {
  background: var(--indigo-700);
  border-color: var(--indigo-700);
  color: #fff;
}

.admin-facet-dd.is-open .admin-facet-dd__trigger {
  border-color: var(--indigo-700);
  box-shadow: 0 0 0 3px rgba(180, 155, 250, 0.16);
}

.admin-facet-dd__label {
  color: var(--text-muted);
  font: 600 11px var(--sans);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.admin-facet-dd__trigger.is-active .admin-facet-dd__label {
  color: rgba(255, 255, 255, 0.75);
}

.admin-facet-dd__value {
  color: var(--text);
  font: 600 13px var(--sans);
}

.admin-facet-dd__trigger.is-active .admin-facet-dd__value {
  color: #fff;
}

.admin-facet-dd__count {
  background: rgba(0, 0, 0, 0.06);
  border-radius: 999px;
  color: var(--text-muted);
  font: 700 11px var(--sans);
  padding: 1px 7px;
}

.admin-facet-dd__trigger.is-active .admin-facet-dd__count {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
}

.admin-facet-dd__chevron {
  color: var(--text-muted);
  font-size: 10px;
  margin-left: 2px;
}

.admin-facet-dd__trigger.is-active .admin-facet-dd__chevron {
  color: rgba(255, 255, 255, 0.78);
}

.admin-facet-dd__popover {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  box-shadow: 0 8px 28px rgba(69, 58, 112, 0.18);
  display: flex;
  flex-direction: column;
  gap: 10px;
  left: 0;
  max-width: min(420px, calc(100vw - 32px));
  min-width: 280px;
  padding: 12px;
  position: absolute;
  top: calc(100% + 6px);
  z-index: 30;
}

.admin-facet-dd__popover[hidden] {
  display: none;
}

.admin-facet-dd__caption {
  font: 500 12px/1.45 var(--sans);
  margin: 0;
}

.admin-facet-dd__pills {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.admin-facet-bar__clear {
  background: transparent;
  border: 0;
  color: var(--text-muted);
  cursor: pointer;
  font: 600 13px var(--sans);
  margin-left: 4px;
  padding: 6px 10px;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
}

.admin-facet-bar__clear:hover {
  color: var(--salmon-dark);
}

/* =============================================================================
   Phase 5z+14 — Focused decision panel (Decisions tab → click a row)
   ============================================================================= */

.admin-decision-focused {
  display: block;
}

.admin-decision-focused__body {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.admin-decision-focused__section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Recommendation section — salmon-tinted card. The action card. */
.admin-decision-focused__section--rec {
  background: linear-gradient(135deg, rgba(105, 56, 239, 0.1), rgba(105, 56, 239, 0.04));
  border: 1px solid rgba(105, 56, 239, 0.45);
  border-left: 4px solid var(--salmon-dark);
  border-radius: 12px;
  padding: 14px 16px;
}

.admin-decision-focused__rec {
  color: var(--text);
  font: 500 14px/1.5 var(--sans);
  margin: 0;
}

/* Section heads — same pattern as the focused note panel. */
.admin-decision-focused__section-head {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
}

.admin-decision-focused__section-head h4 {
  color: var(--text);
  font: 700 11px var(--sans);
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}

.admin-decision-focused__action-hint {
  font-size: 11px;
}

/* Quote block — for question / proposal severity (the source note). */
.admin-decision-focused__quote {
  background: rgba(69, 58, 112, 0.04);
  border-left: 3px solid rgba(69, 58, 112, 0.3);
  border-radius: 0 10px 10px 0;
  padding: 10px 14px;
}

.admin-decision-focused__quote p {
  font: 500 11px var(--sans);
  letter-spacing: 0.04em;
  margin: 0 0 6px;
  text-transform: uppercase;
}

.admin-decision-focused__quote blockquote {
  color: var(--text);
  font: 500 14px/1.55 var(--sans);
  margin: 0;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* Lint detail — before / after blocks. */
.admin-decision-focused__lint {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.admin-decision-focused__lint p {
  font: 500 12px var(--sans);
  margin: 0;
}

.admin-decision-focused__lint code {
  background: rgba(0, 0, 0, 0.06);
  border-radius: 4px;
  font: 600 11px var(--mono, ui-monospace, "SF Mono", Menlo, Consolas, monospace);
  padding: 1px 5px;
}

.admin-decision-focused__lint-block {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  padding: 10px 12px;
}

.admin-decision-focused__lint-block strong {
  color: var(--text-muted);
  display: block;
  font: 700 10px var(--sans);
  letter-spacing: 0.08em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.admin-decision-focused__lint-block pre {
  color: var(--text);
  font: 500 13px/1.5 var(--sans);
  margin: 0;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.admin-decision-focused__lint-block--suggested {
  background: rgba(10, 10, 15, 0.06);
  border-color: rgba(10, 10, 15, 0.3);
}

.admin-decision-focused__lint-block--suggested strong {
  color: rgba(10, 10, 15, 0.9);
}

/* Phase 5z+15 — "What Claude will do" block for lint hits without a
   mechanical fix. Indigo-tinted to distinguish from the green
   suggested-fix block. */
.admin-decision-focused__lint-block--rewrite {
  background: rgba(69, 58, 112, 0.05);
  border-color: rgba(69, 58, 112, 0.3);
}

.admin-decision-focused__lint-block--rewrite strong {
  color: var(--indigo-700);
}

.admin-decision-focused__lint-block--rewrite p {
  color: var(--text);
  font: 500 13px/1.5 var(--sans);
  margin: 0;
}

/* Impact severity — value verdict row + reasoning + substitutes. */
.admin-decision-focused__impact {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.admin-decision-focused__impact p {
  color: var(--text);
  font: 500 14px/1.5 var(--sans);
  margin: 0;
}

/* Phase 5z+16 — Value-tier verdict row: tier pill + reasoning. */
.admin-decision-focused__value-row {
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  display: flex;
  gap: 12px;
  padding: 10px 12px;
}

.admin-decision-focused__value-row .admin-pill {
  flex-shrink: 0;
}

.admin-decision-focused__value-summary {
  color: var(--text);
  flex: 1;
  font: 500 13px/1.5 var(--sans);
  margin: 0;
}

.admin-decision-focused__value-why {
  font: 500 12px/1.5 var(--sans);
  margin: 0;
}

/* Phase 5z+16 — Substitutes block. The "if you cut this, here are
   higher-value HNW services to consider instead" panel. Indigo-tinted
   to feel like inspiration, not a directive. */
.admin-decision-focused__substitutes {
  background: rgba(69, 58, 112, 0.04);
  border: 1px solid rgba(69, 58, 112, 0.2);
  border-radius: 12px;
  padding: 12px 14px;
}

.admin-decision-focused__substitutes strong {
  color: var(--text);
  display: block;
  font: 700 11px var(--sans);
  letter-spacing: 0.08em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.admin-decision-focused__substitutes p {
  font: 500 12px/1.5 var(--sans);
  margin: 0 0 8px;
}

.admin-decision-focused__substitutes ul {
  display: flex;
  flex-direction: column;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.admin-decision-focused__substitutes li {
  align-items: center;
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 8px;
  display: flex;
  gap: 10px;
  padding: 8px 10px;
}

.admin-decision-focused__substitute-text {
  color: var(--text);
  flex: 1;
  font: 500 13px/1.4 var(--sans);
}

/* "What happens if you act" block — bulleted plain-English. */
.admin-decision-focused__what ul {
  color: var(--text);
  font: 500 13px/1.5 var(--sans);
  margin: 0;
  padding-left: 18px;
}

.admin-decision-focused__what li {
  margin-bottom: 4px;
}

.admin-decision-focused__what li:last-child {
  margin-bottom: 0;
}

/* Action button row at the bottom. The primary action sits on the
   left so eye-flow ends on the recommended path. */
.admin-decision-focused__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-decision-focused__section--actions {
  background: rgba(0, 0, 0, 0.02);
  border-radius: 12px;
  padding: 12px 14px;
}


/* =============================================================================
   Phase 5z+18 — Left nav groups
   ============================================================================= */
.admin-nav__group {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 12px;
}
.admin-nav__group:last-child {
  margin-bottom: 0;
}
.admin-nav__group-label {
  color: rgba(255, 255, 255, 0.4);
  font: 700 10px var(--sans);
  letter-spacing: 0.1em;
  margin: 4px 12px 4px;
  text-transform: uppercase;
}

/* Phase 86A.1 — primary (Daily) group sits at the top with no label; the
   eye lands on Today / Homes / Concierge first, every reload. Adds a
   subtle divider before the first collapsible group below so the
   primary set reads as a distinct block. */
.admin-nav__group--primary {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 16px;
  padding-bottom: 12px;
}

/* Collapsible groups (Catalog / Reference / Notes & history / Tools)
   render with a clickable header that doubles as the collapse toggle.
   When `is-collapsed`, the body is hidden via `[hidden]` (set by the
   renderer); the chevron flips from "−" to "+". */
.admin-nav__group--collapsible {
  margin-bottom: 8px;
}

.admin-nav__group-toggle {
  align-items: center;
  background: transparent;
  border: 0;
  color: rgba(255, 255, 255, 0.4);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  margin: 4px 8px 4px;
  padding: 4px 4px;
  text-align: left;
  width: calc(100% - 16px);
  transition: color 120ms ease, background 120ms ease;
}
.admin-nav__group-toggle:hover {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.6);
}
.admin-nav__group-toggle:hover .admin-nav__group-label,
.admin-nav__group-toggle:hover .admin-nav__group-chevron {
  color: rgba(255, 255, 255, 0.7);
}

.admin-nav__group-toggle .admin-nav__group-label {
  margin: 0;
}

.admin-nav__group-chevron {
  color: rgba(255, 255, 255, 0.35);
  font: 700 12px / 1 var(--sans);
}

.admin-nav__group--collapsible.is-collapsed .admin-nav__group-toggle {
  /* Subtle dimmer treatment when collapsed so the eye skips past unless
     intentionally seeking. */
  opacity: 0.6;
}
.admin-nav__group--collapsible.is-collapsed .admin-nav__group-toggle:hover {
  opacity: 1;
}

.admin-nav__group-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
/* [hidden] attribute is normally `display: none` by UA stylesheet, but
   our `display: flex` rule above overrides it. Re-apply explicitly so
   collapsed groups actually hide their children. */
.admin-nav__group-body[hidden] {
  display: none;
}

/* Phase 86E.5 — Concierge sub-nav. Nested categorization under the
   Concierge button so the operator can see at a glance "3 cases need a
   reply, 2 waiting on customer." Indented + smaller font so the eye
   reads the parent first. Same colors as the parent nav buttons. */
.admin-nav__sub-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 2px 0 6px 14px;
  padding-left: 8px;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

.admin-nav__sub {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  display: flex;
  font: 500 12px var(--sans);
  gap: 8px;
  justify-content: space-between;
  margin: 0 0 1px 0;
  padding: 5px 10px;
  text-align: left;
  transition: background 120ms ease, color 120ms ease;
  width: calc(100% - 2px);
}
.admin-nav__sub:hover {
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.85);
}
.admin-nav__sub.is-active {
  background: rgba(105, 56, 239, 0.15);
  color: #fff;
}
.admin-nav__sub.is-active .admin-nav-badge {
  background: var(--salmon, #6938EF);
  color: #fff;
}

/* =============================================================================
   Phase 5z+18 — Coverage Audit view
   ============================================================================= */
.admin-audit {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 4px 4px 24px;
}
.admin-audit__intro {
  background: rgba(69, 58, 112, 0.05);
  border: 1px solid rgba(69, 58, 112, 0.2);
  border-radius: 12px;
  color: var(--text);
  font: 500 13px/1.5 var(--sans);
  margin: 0;
  padding: 12px 14px;
}
.admin-audit__section {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px;
}
.admin-audit__section-head {
  align-items: baseline;
  border-bottom: 1px solid var(--neutral-200);
  display: flex;
  gap: 10px;
  padding-bottom: 8px;
}
/* Phase 67I.5: bulk-approve button on the needs-review section header. */
.admin-audit__bulk-btn {
  background: var(--salmon);
  border: none;
  border-radius: 8px;
  color: white;
  cursor: pointer;
  font: 600 12px var(--sans);
  margin-left: auto;
  padding: 6px 12px;
  transition: background 0.15s;
}
.admin-audit__bulk-btn:hover {
  background: var(--salmon-dark);
}
.admin-audit__bulk-btn:disabled {
  background: var(--neutral-300);
  cursor: wait;
}
.admin-audit__section-head h3 {
  align-items: baseline;
  color: var(--text);
  display: flex;
  font: 700 14px var(--sans);
  gap: 8px;
  margin: 0;
}
.admin-audit__count {
  background: rgba(105, 56, 239, 0.18);
  border-radius: 999px;
  color: var(--salmon-dark);
  font: 700 11px var(--sans);
  padding: 2px 8px;
}
.admin-audit__empty {
  font: 500 13px/1.5 var(--sans);
  margin: 0;
  padding: 4px 2px;
}
.admin-audit__row {
  background: rgba(105, 56, 239, 0.04);
  border: 1px solid rgba(105, 56, 239, 0.2);
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  font: inherit;
  gap: 6px;
  padding: 10px 12px;
  text-align: left;
  transition: background 120ms ease, border-color 120ms ease;
  width: 100%;
}
.admin-audit__row:hover {
  background: rgba(105, 56, 239, 0.08);
  border-color: rgba(105, 56, 239, 0.4);
}
.admin-audit__row.is-active {
  background: rgba(105, 56, 239, 0.14);
  border-color: rgba(105, 56, 239, 0.6);
  border-left-width: 4px;
}
.admin-audit__row--gap {
  background: rgba(69, 58, 112, 0.04);
  border-color: rgba(69, 58, 112, 0.25);
}
.admin-audit__row--gap:hover {
  background: rgba(69, 58, 112, 0.08);
  border-color: rgba(69, 58, 112, 0.5);
}
.admin-audit__row--gap.is-active {
  background: rgba(69, 58, 112, 0.14);
  border-color: rgba(69, 58, 112, 0.65);
  border-left-width: 4px;
}
.admin-audit__row-cta {
  font: 600 11px var(--sans);
  letter-spacing: 0.04em;
  margin-top: 2px;
}
.admin-audit-focused__context p {
  font: 500 13px/1.5 var(--sans);
  margin: 0 0 6px;
}
.admin-audit-focused__context p:last-child {
  margin-bottom: 0;
}
.admin-audit-focused__context code {
  background: rgba(0, 0, 0, 0.06);
  border-radius: 4px;
  font: 600 12px var(--mono, ui-monospace, "SF Mono", Menlo, Consolas, monospace);
  padding: 1px 5px;
}
.admin-audit__row-top {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.admin-audit__row-top strong {
  color: var(--text);
  flex: 1;
  font: 700 14px var(--sans);
}
.admin-audit__row-reason {
  color: var(--text);
  font: 500 13px/1.5 var(--sans);
  margin: 0;
}
.admin-audit__row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}

/* =============================================================================
   Phase 5z+18 — Summary lead block (quiz "What this question does")
   ============================================================================= */
.admin-summary__lead {
  background: linear-gradient(135deg, rgba(105, 56, 239, 0.08), rgba(105, 56, 239, 0.02));
  border: 1px solid rgba(105, 56, 239, 0.35);
  border-left: 4px solid var(--salmon-dark);
  border-radius: 12px;
  margin: 14px 0 0;
  padding: 12px 16px;
}
.admin-summary__lead-eyebrow {
  color: var(--salmon-dark);
  display: block;
  font: 700 10px var(--sans);
  letter-spacing: 0.08em;
  margin-bottom: 4px;
  text-transform: uppercase;
}
.admin-summary__lead-body {
  color: var(--text);
  font: 500 14px/1.5 var(--sans);
  margin: 0;
}
.admin-summary__lead-body code {
  background: rgba(0, 0, 0, 0.06);
  border-radius: 4px;
  font: 600 12px var(--mono, ui-monospace, "SF Mono", Menlo, Consolas, monospace);
  padding: 1px 5px;
}

/* =============================================================================
   Phase 5z+20 — In-panel "Note for Claude" form (focused decision +
   focused audit panels)
   ============================================================================= */
.admin-decision-focused__section--notes {
  border-top: 1px solid var(--neutral-200);
  margin-top: 4px;
  padding-top: 14px;
}

.admin-focused-note-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.admin-focused-note-form textarea {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  font: 500 14px/1.5 var(--sans);
  padding: 10px 12px;
  resize: vertical;
}

.admin-focused-note-form textarea:focus {
  border-color: var(--indigo-400);
  box-shadow: 0 0 0 3px rgba(180, 155, 250, 0.16);
  outline: none;
}

.admin-focused-note-form__row {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}

.admin-focused-note-form__field {
  display: flex;
  flex: 1 1 220px;
  flex-direction: column;
  gap: 4px;
}

.admin-focused-note-form__field span {
  color: var(--text-soft);
  font: 700 11px var(--sans);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.admin-focused-note-form__field select {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 10px;
  font: 500 13px var(--sans);
  min-height: 36px;
  padding: 6px 10px;
}

/* =============================================================================
   Phase 5z+21 — Needs-review content card (focused audit panel)
   ============================================================================= */
.admin-audit-needsreview {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.admin-audit-needsreview__audience {
  background: rgba(69, 58, 112, 0.05);
  border-left: 3px solid rgba(69, 58, 112, 0.4);
  border-radius: 0 8px 8px 0;
  color: var(--text);
  font: 500 13px/1.5 var(--sans);
  margin: 0;
  padding: 8px 12px;
}

.admin-audit-needsreview__card {
  background: #fff;
  border: 1px solid var(--neutral-200);
  border-radius: 12px;
  padding: 12px 14px;
}

.admin-audit-needsreview__title {
  color: var(--text);
  font: 700 16px var(--sans);
  margin: 0 0 6px;
}

.admin-audit-needsreview__desc {
  color: var(--text);
  font: 500 13px/1.55 var(--sans);
  margin: 0 0 10px;
}

.admin-audit-needsreview__fields {
  display: grid;
  font: 500 12px var(--sans);
  gap: 4px 14px;
  grid-template-columns: max-content 1fr;
  margin: 0;
}

.admin-audit-needsreview__fields dt {
  color: var(--text-soft);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-audit-needsreview__fields dd {
  color: var(--text);
  margin: 0;
}


/* =========================================================================
   Phase 80 — Chez Concierge admin tab
   ========================================================================= */

.admin-chez__row {
  position: relative;
}

.admin-chez__unread-dot {
  background: var(--salmon);
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin-left: 6px;
  vertical-align: middle;
  width: 8px;
}

.admin-pill[data-tone="green"] {
  background: rgba(10, 10, 15, 0.14);
  color: rgb(21, 128, 61);
}
.admin-pill[data-tone="amber"] {
  background: rgba(105, 56, 239, 0.16);
  color: rgb(161, 98, 7);
}
.admin-pill[data-tone="red"] {
  background: rgba(10, 10, 15, 0.16);
  color: rgb(185, 28, 28);
}
.admin-pill[data-tone="muted"] {
  background: rgba(107, 107, 123, 0.14);
  color: rgb(71, 85, 105);
}

.admin-chez__focused {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 18px;
}

.admin-chez__focused header.admin-focused__head {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.admin-chez__focused h2 {
  font: 700 22px var(--serif, "New York", Georgia, serif);
  line-height: 1.2;
  margin: 0;
}

.admin-focused__meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-focused__meta select {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #d8dadf);
  border-radius: 8px;
  color: var(--text);
  font: 500 12px var(--sans);
  padding: 4px 8px;
}

.admin-chez__context {
  background: rgba(239, 234, 254, 0.35);
  border-radius: 12px;
  padding: 12px 14px;
}
.admin-chez__context h3 {
  font: 600 11px var(--sans);
  letter-spacing: 0.08em;
  margin: 0 0 8px;
  text-transform: uppercase;
}
.admin-chez__ctx-grid {
  display: grid;
  gap: 6px;
}
.admin-chez__ctx-row {
  align-items: baseline;
  display: grid;
  font: 500 13px var(--sans);
  grid-template-columns: 140px 1fr;
}
.admin-chez__ctx-row span {
  color: var(--text-soft);
  text-transform: capitalize;
}

.admin-chez__thread {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.admin-chez__thread h3 {
  font: 600 11px var(--sans);
  letter-spacing: 0.08em;
  margin: 0;
  text-transform: uppercase;
}
.admin-chez__msg {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #edeef0);
  border-radius: 12px;
  padding: 10px 12px;
}
.admin-chez__msg--admin {
  background: rgba(239, 234, 254, 0.5);
  border-color: rgba(105, 56, 239, 0.25);
}
.admin-chez__msg-head {
  align-items: baseline;
  display: flex;
  font: 500 12px var(--sans);
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 4px;
}
.admin-chez__msg p {
  font: 400 14px var(--sans);
  margin: 0;
  white-space: pre-wrap;
}
.admin-chez__attach {
  background: rgba(0, 0, 0, 0.04);
  border-radius: 8px;
  display: flex;
  font: 500 12px var(--sans);
  gap: 8px;
  margin-top: 6px;
  padding: 6px 10px;
}
.admin-chez__system {
  align-items: center;
  display: flex;
  font: 500 12px var(--sans);
  gap: 12px;
  justify-content: center;
}
.admin-chez__system span:first-child {
  background: rgba(107, 107, 123, 0.14);
  border-radius: 999px;
  padding: 4px 10px;
}

.admin-chez__composer {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #d8dadf);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
}
.admin-chez__composer-label {
  font: 600 11px var(--sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.admin-chez__composer textarea {
  background: var(--bg, #FAFAFC);
  border: 1px solid var(--border, #d8dadf);
  border-radius: 10px;
  color: var(--text);
  font: 400 14px var(--sans);
  min-height: 96px;
  padding: 10px 12px;
  resize: vertical;
  width: 100%;
}
.admin-chez__ack {
  align-items: flex-start;
  display: flex;
  font: 400 13px var(--sans);
  gap: 8px;
  line-height: 1.4;
}
.admin-chez__ack input {
  margin-top: 3px;
}
.admin-chez__composer-row {
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
.admin-chez__composer-row select {
  background: var(--bg, #FAFAFC);
  border: 1px solid var(--border, #d8dadf);
  border-radius: 8px;
  color: var(--text);
  font: 500 12px var(--sans);
  padding: 6px 10px;
}
.admin-chez__composer-feedback {
  font: 400 12px var(--sans);
}

.admin-chez__resolved-bar {
  align-items: center;
  background: rgba(10, 10, 15, 0.08);
  border: 1px solid rgba(10, 10, 15, 0.25);
  border-radius: 12px;
  display: flex;
  font: 500 13px var(--sans);
  gap: 10px;
  justify-content: space-between;
  padding: 12px 14px;
}

.admin-chez__quick-actions {
  display: flex;
  gap: 10px;
  margin-top: 4px;
}

/* Phase 80.1 — Profile + proposal cards in the focused chez panel */

.admin-chez__profile {
  background: rgba(239, 234, 254, 0.35);
  border-radius: 12px;
  padding: 12px 14px;
}
.admin-chez__profile h3 {
  font: 600 11px var(--sans);
  letter-spacing: 0.08em;
  margin: 0 0 8px;
  text-transform: uppercase;
}
.admin-chez__profile--empty {
  background: rgba(107, 107, 123, 0.06);
}
.admin-chez__profile-tier {
  background: rgba(105, 56, 239, 0.16);
  border-radius: 8px;
  color: rgb(161, 98, 7);
  font: 600 12px var(--sans);
  margin-bottom: 8px;
  padding: 6px 10px;
}
.admin-chez__profile-lines {
  display: grid;
  font: 400 13px var(--sans);
  gap: 4px;
}

.admin-chez__proposal {
  background: rgba(105, 56, 239, 0.06);
  border: 1px solid rgba(105, 56, 239, 0.3);
  border-radius: 10px;
  margin-top: 8px;
  padding: 10px 12px;
}
.admin-chez__proposal-head {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
  margin-bottom: 6px;
}
.admin-chez__proposal-body {
  font: 400 13px var(--sans);
}
.admin-chez__proposal-body div {
  margin-top: 2px;
}

/* ================================================================
   Phase 81 — Customer dossier + drilldown drawer + proposal modal
   ================================================================ */

/* Dossier */

.admin-chez__dossier {
  background: rgba(239, 234, 254, 0.35);
  border-radius: 14px;
  padding: 16px 18px;
}
.admin-chez__dossier h3 {
  font: 700 18px var(--serif, "New York", Georgia, serif);
  margin: 0;
}
.admin-chez__dossier--empty {
  background: rgba(107, 107, 123, 0.06);
}
.admin-chez__dossier-head {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 12px;
}
.admin-chez__dossier-tier {
  background: rgba(105, 56, 239, 0.16);
  border-radius: 8px;
  color: rgb(161, 98, 7);
  font: 600 12px var(--sans);
  padding: 6px 10px;
  white-space: nowrap;
}
.admin-chez__dossier-profile {
  background: rgba(255, 255, 255, 0.6);
  border-radius: 10px;
  margin-bottom: 12px;
  padding: 10px 12px;
}
.admin-chez__dossier-profile summary {
  cursor: pointer;
  font: 600 12px var(--sans);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.admin-chez__dossier-profile-lines {
  display: grid;
  font: 400 13px var(--sans);
  gap: 4px;
  margin-top: 8px;
}

.admin-chez__dossier-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.admin-chez__dossier-card {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #edeef0);
  border-radius: 12px;
  padding: 12px 14px;
}
.admin-chez__dossier-card-head {
  font: 600 11px var(--sans);
  letter-spacing: 0.06em;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.admin-chez__dossier-card-body {
  display: grid;
  font: 400 13px var(--sans);
  gap: 4px;
}
.admin-chez__dossier-card-body .admin-chez__dossier-meta {
  color: var(--text-soft);
  font-size: 12px;
}
.admin-chez__dossier-chips {
  flex-wrap: wrap;
  display: flex !important;
  gap: 6px;
}
.admin-chez__dossier-chip {
  align-items: center;
  background: var(--bg, #FAFAFC);
  border: 1px solid var(--border, #edeef0);
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  font: 500 12px var(--sans);
  gap: 6px;
  padding: 4px 10px;
  transition: background-color 100ms ease;
}
.admin-chez__dossier-chip:hover {
  background: rgba(105, 56, 239, 0.08);
}
.admin-chez__dossier-chip-title {
  font-weight: 600;
}
.admin-chez__dossier-chip-sub {
  color: var(--text-soft);
}
.admin-chez__dossier-chip-badge {
  background: rgba(105, 56, 239, 0.18);
  border-radius: 999px;
  color: rgb(196, 60, 40);
  font: 700 9px var(--sans);
  padding: 2px 6px;
  text-transform: uppercase;
}
.admin-chez__chez-badge {
  background: rgba(105, 56, 239, 0.18);
  border-radius: 999px;
  color: rgb(196, 60, 40);
  font: 700 9px var(--sans);
  padding: 1px 6px;
  text-transform: uppercase;
}
.admin-chez__dossier-row {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  font: 400 13px var(--sans);
  gap: 8px;
  justify-content: space-between;
  padding: 6px 4px;
  text-align: left;
  width: 100%;
}
.admin-chez__dossier-row:hover {
  background: rgba(0, 0, 0, 0.04);
}
.admin-chez__dossier-row-title {
  flex: 1;
  font-weight: 500;
}
.admin-chez__dossier-row-meta {
  color: var(--text-soft);
  font-size: 12px;
  white-space: nowrap;
}

/* Dossier drilldown drawer */

.admin-chez__dossier-drawer {
  bottom: 0; left: 0; position: fixed; right: 0; top: 0;
  z-index: 9000;
}
.admin-chez__dossier-drawer-backdrop {
  background: rgba(0, 0, 0, 0.3);
  bottom: 0; left: 0; position: absolute; right: 0; top: 0;
}
.admin-chez__dossier-drawer-panel {
  background: var(--surface, #fff);
  bottom: 0;
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
  max-width: 480px;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}
.admin-chez__dossier-drawer-panel header {
  align-items: flex-start;
  border-bottom: 1px solid var(--border, #edeef0);
  display: flex;
  justify-content: space-between;
  padding: 16px 20px;
}
.admin-chez__dossier-drawer-panel header h2 {
  font: 700 20px var(--serif, "New York", Georgia, serif);
  margin: 4px 0 0;
}
.admin-chez__dossier-drawer-panel header span {
  font: 600 11px var(--sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.admin-chez__dossier-drawer-panel header button {
  background: transparent;
  border: 0;
  color: var(--text-soft);
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}
.admin-chez__dossier-drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
}
.admin-chez__dossier-drawer-body h4 {
  font: 600 11px var(--sans);
  letter-spacing: 0.06em;
  margin: 16px 0 6px;
  text-transform: uppercase;
}
.admin-chez__dossier-drawer-kv {
  align-items: baseline;
  display: grid;
  font: 400 13px var(--sans);
  gap: 4px;
  grid-template-columns: 130px 1fr;
  margin-bottom: 6px;
}
.admin-chez__dossier-drawer-kv span {
  color: var(--text-soft);
}

/* Modal infrastructure */

.admin-modal {
  align-items: center;
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 8500;
}
.admin-modal__backdrop {
  background: rgba(0, 0, 0, 0.4);
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.admin-modal__panel {
  background: var(--surface, #fff);
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.16);
  display: flex;
  flex-direction: column;
  max-height: 90vh;
  max-width: 720px;
  position: relative;
  width: 90vw;
}
.admin-modal__head {
  align-items: flex-start;
  border-bottom: 1px solid var(--border, #edeef0);
  display: flex;
  justify-content: space-between;
  padding: 18px 22px;
}
.admin-modal__head h2 {
  font: 700 22px var(--serif, "New York", Georgia, serif);
  margin: 0 0 4px;
}
.admin-modal__close {
  background: transparent;
  border: 0;
  color: var(--text-soft);
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}
.admin-modal__body {
  flex: 1;
  overflow-y: auto;
  padding: 18px 22px;
}
.admin-modal__foot {
  border-top: 1px solid var(--border, #edeef0);
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding: 14px 22px;
}

/* Proposal builder modal */

.admin-chez__proposal-tabs {
  background: var(--bg, #FAFAFC);
  border-radius: 10px;
  display: flex;
  gap: 2px;
  margin-bottom: 14px;
  padding: 4px;
}
.admin-chez__proposal-tabs button {
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  flex: 1;
  font: 600 13px var(--sans);
  padding: 8px 12px;
}
.admin-chez__proposal-tabs button.is-active {
  background: var(--surface, #fff);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  color: rgb(196, 60, 40);
}
.admin-chez__proposal-tab-pane.is-hidden { display: none; }
.admin-chez__proposal-tab-pane label {
  display: block;
  font: 600 12px var(--sans);
  margin-bottom: 10px;
}
.admin-chez__proposal-tab-pane label > span {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}
.admin-chez__proposal-tab-pane input,
.admin-chez__proposal-tab-pane textarea {
  background: var(--bg, #FAFAFC);
  border: 1px solid var(--border, #d8dadf);
  border-radius: 8px;
  font: 400 14px var(--sans);
  padding: 8px 10px;
  width: 100%;
}
.admin-chez__proposal-tab-pane textarea {
  resize: vertical;
}
.admin-chez__proposal-grid-2 {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
}
.admin-chez__proposal-intro {
  align-items: center;
  background: rgba(239, 234, 254, 0.4);
  border-radius: 10px;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 12px;
  padding: 10px 14px;
}
.admin-chez__proposal-intro p {
  font: 400 13px var(--sans);
  margin: 0;
}
.admin-chez__proposal-existing {
  background: var(--bg, #FAFAFC);
  border-radius: 10px;
  margin-bottom: 14px;
  padding: 10px 12px;
}
.admin-chez__proposal-existing h4 {
  font: 600 12px var(--sans);
  margin: 0 0 4px;
}
.admin-chez__proposal-existing p {
  color: var(--text-soft);
  font-size: 11px;
  margin: 0 0 8px;
}
.admin-chez__proposal-existing-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.admin-chez__proposal-existing-chip {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #d8dadf);
  border-radius: 999px;
  cursor: pointer;
  font: 500 12px var(--sans);
  padding: 4px 10px;
}
.admin-chez__proposal-existing-chip:hover {
  background: rgba(105, 56, 239, 0.08);
}
.admin-chez__proposal-vendor-row {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #edeef0);
  border-radius: 10px;
  margin-bottom: 10px;
  padding: 12px 14px;
}
.admin-chez__proposal-vendor-head {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}
.admin-chez__proposal-vendor-head strong {
  font: 700 13px var(--sans);
}
.admin-chez__proposal-row-remove {
  background: transparent;
  border: 0;
  color: var(--text-soft);
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}
.admin-chez__proposal-row-remove:hover { color: rgb(185, 28, 28); }
.admin-chez__proposal-rationale span {
  color: var(--text-soft);
  font-size: 11px;
}
.admin-chez__proposal-ai-suggest {
  background: rgba(105, 56, 239, 0.12);
  border: 0;
  border-radius: 999px;
  color: rgb(196, 60, 40);
  cursor: pointer;
  font: 600 11px var(--sans);
  padding: 3px 10px;
}
.admin-chez__proposal-ai-suggest:hover {
  background: rgba(105, 56, 239, 0.22);
}
.admin-chez__proposal-ai-suggest:disabled {
  opacity: 0.6;
}
.admin-chez__proposal-date-row {
  align-items: center;
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}
.admin-chez__proposal-date-row input {
  flex: 1;
}
.admin-chez__proposal-message {
  margin-top: 14px;
}

/* Vendor picker overlay (inside proposal modal) */

.admin-chez__vendor-picker-overlay {
  align-items: center;
  background: rgba(0, 0, 0, 0.45);
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 100;
}
.admin-chez__vendor-picker {
  background: var(--surface, #fff);
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
  display: flex;
  flex-direction: column;
  max-height: 80vh;
  max-width: 540px;
  width: 90%;
}
.admin-chez__vendor-picker header {
  align-items: center;
  border-bottom: 1px solid var(--border, #edeef0);
  display: flex;
  justify-content: space-between;
  padding: 14px 18px;
}
.admin-chez__vendor-picker header h3 {
  font: 700 16px var(--sans);
  margin: 0;
}
.admin-chez__vendor-picker header button {
  background: transparent;
  border: 0;
  cursor: pointer;
  font-size: 22px;
}
.admin-chez__vendor-picker-list {
  flex: 1;
  overflow-y: auto;
  padding: 10px;
}
.admin-chez__vendor-picker-row {
  align-items: center;
  background: var(--bg, #FAFAFC);
  border: 1px solid var(--border, #edeef0);
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  font: 400 13px var(--sans);
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 6px;
  padding: 10px 12px;
  text-align: left;
  width: 100%;
}
.admin-chez__vendor-picker-row:hover {
  background: rgba(105, 56, 239, 0.08);
}
.admin-chez__vendor-picker-row.is-picked {
  background: rgba(10, 10, 15, 0.14);
  border-color: rgba(10, 10, 15, 0.4);
}
.admin-chez__vendor-picker-meta {
  color: var(--text-soft);
  font-size: 12px;
  white-space: nowrap;
}

/* ================================================================
   Phase 81.1 — Compact header + AI analysis panel + vendor cards
   ================================================================ */

/* Compact one-line header */

.admin-chez__hdr-line {
  align-items: center;
  background: rgba(239, 234, 254, 0.35);
  border-radius: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  padding: 10px 14px;
}
.admin-chez__hdr-line-main {
  align-items: center;
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  font: 400 13px var(--sans);
  gap: 8px;
}
.admin-chez__hdr-flags {
  display: flex;
  gap: 6px;
}
.admin-chez__hdr-flags span {
  background: rgba(255, 255, 255, 0.6);
  border-radius: 999px;
  font-size: 11px;
  padding: 2px 8px;
}
.admin-chez__hdr-line-meta {
  align-items: center;
  display: flex;
  gap: 10px;
}
.admin-chez__hdr-tier {
  background: rgba(105, 56, 239, 0.16);
  border-radius: 6px;
  color: rgb(161, 98, 7);
  font: 600 11px var(--sans);
  padding: 4px 8px;
  white-space: nowrap;
}
.admin-button--small {
  font-size: 12px;
  padding: 4px 10px;
}

/* Collapsible context + thread sections */

.admin-chez__context-collapsible,
.admin-chez__thread-collapsible {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #edeef0);
  border-radius: 12px;
  padding: 0;
}
.admin-chez__context-collapsible summary,
.admin-chez__thread-collapsible summary {
  cursor: pointer;
  font: 600 12px var(--sans);
  letter-spacing: 0.04em;
  padding: 10px 14px;
  text-transform: uppercase;
}
.admin-chez__context-collapsible[open] summary,
.admin-chez__thread-collapsible[open] summary {
  border-bottom: 1px solid var(--border, #edeef0);
}
.admin-chez__context-collapsible .admin-chez__ctx-grid {
  padding: 12px 14px;
}
.admin-chez__thread-collapsible .admin-chez__thread {
  padding: 12px 14px;
}

/* AI analysis panel */

.admin-chez__analysis {
  background: linear-gradient(135deg, rgba(105, 56, 239, 0.06) 0%, rgba(239, 234, 254, 0.4) 100%);
  border: 1px solid rgba(105, 56, 239, 0.18);
  border-radius: 14px;
  padding: 14px 16px;
}
.admin-chez__analysis--loading {
  background: rgba(239, 234, 254, 0.3);
}
.admin-chez__analysis--empty {
  background: rgba(107, 107, 123, 0.06);
}
.admin-chez__analysis > header {
  align-items: center;
  display: flex;
  font: 700 12px var(--sans);
  justify-content: space-between;
  letter-spacing: 0.04em;
  margin-bottom: 10px;
  text-transform: uppercase;
}
.admin-chez__analysis-summary {
  font: 500 14px var(--sans);
  margin: 0 0 12px;
}
.admin-chez__analysis-section {
  background: rgba(255, 255, 255, 0.6);
  border-radius: 10px;
  margin-bottom: 8px;
  padding: 10px 12px;
}
.admin-chez__analysis-section h4 {
  font: 600 11px var(--sans);
  letter-spacing: 0.06em;
  margin: 0 0 4px;
  text-transform: uppercase;
}
.admin-chez__analysis-section p {
  font: 400 13px var(--sans);
  margin: 0;
}
details.admin-chez__analysis-section {
  padding: 0;
}
details.admin-chez__analysis-section summary {
  cursor: pointer;
  font: 600 11px var(--sans);
  letter-spacing: 0.06em;
  padding: 8px 12px;
  text-transform: uppercase;
}
details.admin-chez__analysis-section[open] summary {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
details.admin-chez__analysis-section ul,
details.admin-chez__analysis-section pre {
  margin: 0;
  padding: 8px 12px 12px 28px;
  white-space: pre-wrap;
}
details.admin-chez__analysis-section pre {
  background: rgba(0, 0, 0, 0.04);
  font: 400 12px var(--sans);
  padding-left: 12px;
}

/* Vendor candidates section */

.admin-chez__candidates {
  margin-top: 14px;
}
.admin-chez__candidates > header {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 8px;
}
.admin-chez__candidates h4 {
  font: 600 11px var(--sans);
  letter-spacing: 0.06em;
  margin: 0;
  text-transform: uppercase;
}

/* Per-vendor card */

.admin-chez__vendor-card {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #edeef0);
  border-radius: 12px;
  margin-bottom: 8px;
  padding: 12px 14px;
  transition: border-color 100ms ease;
}
.admin-chez__vendor-card.is-recommended {
  background: rgba(10, 10, 15, 0.06);
  border-color: rgba(10, 10, 15, 0.35);
}
.admin-chez__vendor-card.is-noanswer {
  border-color: rgba(105, 56, 239, 0.4);
}
.admin-chez__vendor-card-head {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 8px;
}
.admin-chez__vendor-card-title {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.admin-chez__vendor-card-title strong {
  font: 600 14px var(--sans);
}
.admin-chez__vendor-card-meta {
  align-items: flex-end;
  color: var(--text-soft);
  display: flex;
  flex-direction: column;
  font: 400 12px var(--sans);
  gap: 2px;
  text-align: right;
}
.admin-chez__vendor-card-actions {
  display: flex;
  gap: 8px;
}
.admin-chez__vendor-card-actions .admin-button {
  font-size: 12px;
}

/* Vendor call form */

.admin-chez__vendor-call-form {
  border-top: 1px solid var(--border, #edeef0);
  margin-top: 10px;
  padding-top: 10px;
}
.admin-chez__vendor-call-form label {
  display: block;
  font: 600 11px var(--sans);
  margin-bottom: 8px;
}
.admin-chez__vendor-call-form input,
.admin-chez__vendor-call-form select,
.admin-chez__vendor-call-form textarea {
  background: var(--bg, #FAFAFC);
  border: 1px solid var(--border, #d8dadf);
  border-radius: 8px;
  font: 400 13px var(--sans);
  margin-top: 4px;
  padding: 6px 10px;
  width: 100%;
}
.admin-chez__vendor-call-form textarea {
  resize: vertical;
}
.admin-chez__vendor-call-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
}
.admin-chez__vendor-rationale span {
  align-items: center;
  display: flex;
  font: 600 11px var(--sans);
  justify-content: space-between;
  margin-bottom: 4px;
}
.admin-chez__vendor-call-actions {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-top: 6px;
}
.admin-chez__vendor-recommend {
  align-items: center;
  cursor: pointer;
  display: flex !important;
  font: 500 13px var(--sans) !important;
  gap: 8px;
  margin: 0 !important;
}
.admin-chez__vendor-recommend input {
  margin: 0;
  width: auto !important;
}

/* Wider drawer for the full profile */

.admin-chez__dossier-drawer-panel--wide {
  max-width: 640px;
}

/* Phase 81.2 — Multi-slot availability picker + cost combobox */

.admin-chez__slot-section {
  background: var(--bg, #FAFAFC);
  border-radius: 8px;
  margin-bottom: 12px;
  padding: 10px 12px;
}
.admin-chez__slot-section-head {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  font: 600 11px var(--sans);
  gap: 8px;
  margin-bottom: 8px;
}
.admin-chez__slot-section-head .admin-muted {
  font-weight: 400;
  font-size: 11px;
}
.admin-chez__slot-row {
  align-items: center;
  display: flex;
  gap: 6px;
  margin-bottom: 6px;
}
.admin-chez__slot-row input {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #d8dadf);
  border-radius: 6px;
  flex: 1;
  font: 400 13px var(--sans);
  padding: 6px 10px;
}
.admin-chez__slot-row .admin-chez__proposal-row-remove {
  font-size: 16px;
}

.admin-chez__vendor-call-form select {
  appearance: none;
  background: var(--bg, #FAFAFC) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23677' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E") no-repeat right 10px center;
  padding-right: 28px;
}

.admin-chez__vendor-call-form label.is-hidden {
  display: none;
}

/* ================================================================
   Phase 82 — Stage tracker + visit cards
   ================================================================ */

/* Stage tracker — vertical (dot-above-label) stepper. Dot-above-label
   instead of dot-beside-label means the labels never crash into adjacent
   dots at narrow workspace widths, and 7 stages fit in any column width
   ≥420px. Rails connect dots horizontally between stage columns.
   Phase 83.2 rewrote this from the original horizontal layout. */

.admin-chez__stage-tracker {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #edeef0);
  border-radius: 12px;
  display: flex;
  align-items: flex-start;
  margin: 16px 24px 0;
  padding: 14px 12px 12px;
  position: relative;
}
.admin-chez__stage {
  flex: 1 1 0;
  min-width: 0;             /* let labels narrow + truncate */
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  /* Phase 83.5 — clickable button. Reset chrome so stages look identical
     to the prior div + add a hover affordance. */
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
  color: inherit;
  transition: transform 0.15s;
}
.admin-chez__stage:hover { transform: translateY(-1px); }
.admin-chez__stage:hover .admin-chez__stage-label {
  color: var(--indigo, #6938EF);
}
.admin-chez__stage:focus-visible {
  outline: 2px solid var(--indigo-500, #6B6B7B);
  outline-offset: 4px;
  border-radius: 6px;
}
.admin-chez__stage-dot {
  align-items: center;
  background: var(--bg, #EDEEF0);
  border: 2px solid var(--border, #d8dadf);
  border-radius: 999px;
  color: var(--text-soft);
  display: flex;
  flex-shrink: 0;
  font: 700 10px var(--sans);
  height: 22px;
  justify-content: center;
  width: 22px;
  position: relative;
  z-index: 2;
}
.admin-chez__stage-label {
  font: 600 9.5px var(--sans);
  letter-spacing: 0.08em;
  margin-top: 6px;
  text-transform: uppercase;
  color: var(--text-soft);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.admin-chez__stage-rail {
  background: var(--border, #edeef0);
  position: absolute;
  top: 11px;                /* center on dot (22px / 2) */
  left: 50%;
  right: -50%;
  height: 2px;
  z-index: 1;
  pointer-events: none;
}
.admin-chez__stage.is-done .admin-chez__stage-dot {
  background: rgb(34, 197, 94);
  border-color: rgb(34, 197, 94);
  color: #fff;
}
.admin-chez__stage.is-done .admin-chez__stage-label {
  color: rgb(21, 128, 61);
}
.admin-chez__stage.is-current .admin-chez__stage-dot {
  background: rgb(237, 105, 85);
  border-color: rgb(237, 105, 85);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(105, 56, 239, 0.18);
}
.admin-chez__stage.is-current .admin-chez__stage-label {
  color: rgb(196, 60, 40);
}
.admin-chez__stage-rail.is-done {
  background: rgb(34, 197, 94);
}

/* At very narrow widths (workspace <420px), let the dots survive even
   if labels truncate to 1-2 chars. */
@media (max-width: 1099px) {
  .admin-chez__stage-label { font-size: 9px; letter-spacing: 0.04em; }
}

/* Visits panel */

.admin-chez__visits {
  background: rgba(10, 10, 15, 0.04);
  border: 1px solid rgba(10, 10, 15, 0.18);
  border-radius: 14px;
  padding: 14px 16px;
}
.admin-chez__visits > header {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 12px;
}
.admin-chez__visits > header h3 {
  font: 700 14px var(--sans);
  margin: 0;
}
.admin-chez__visits > header span.admin-muted {
  font-size: 12px;
}

/* Individual visit card */

.admin-chez__visit-card {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #edeef0);
  border-radius: 12px;
  margin-bottom: 10px;
  padding: 12px 14px;
}
.admin-chez__visit-card header {
  align-items: flex-start;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 10px;
}
.admin-chez__visit-card-title {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.admin-chez__visit-card-title strong {
  font: 600 14px var(--sans);
}
.admin-chez__visit-slots {
  align-items: center;
  background: var(--bg, #FAFAFC);
  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
  padding: 8px 10px;
}
.admin-chez__visit-slots .admin-muted {
  font-size: 11px;
  margin-right: 4px;
}
.admin-chez__visit-slot-chip {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #d8dadf);
  border-radius: 999px;
  cursor: pointer;
  font: 500 12px var(--sans);
  padding: 3px 10px;
  transition: background-color 100ms ease;
}
.admin-chez__visit-slot-chip:hover {
  background: rgba(105, 56, 239, 0.08);
  border-color: rgba(105, 56, 239, 0.3);
}
.admin-chez__visit-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 10px;
}
.admin-chez__visit-card label {
  display: block;
  font: 600 11px var(--sans);
  margin-bottom: 8px;
}
.admin-chez__visit-card input,
.admin-chez__visit-card textarea {
  background: var(--bg, #FAFAFC);
  border: 1px solid var(--border, #d8dadf);
  border-radius: 8px;
  font: 400 13px var(--sans);
  margin-top: 4px;
  padding: 6px 10px;
  width: 100%;
}
.admin-chez__visit-card textarea {
  resize: vertical;
}
.admin-chez__visit-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

/* Compact (completed/cancelled) visit row */

.admin-chez__visit-card--compact {
  align-items: center;
  display: flex;
  font: 400 13px var(--sans);
  gap: 10px;
  padding: 8px 12px;
}
.admin-chez__visit-card--compact strong {
  font-weight: 600;
}
.admin-chez__visits-completed,
.admin-chez__visits-cancelled {
  margin-top: 10px;
}
.admin-chez__visits-completed summary,
.admin-chez__visits-cancelled summary {
  cursor: pointer;
  font: 600 11px var(--sans);
  letter-spacing: 0.06em;
  padding: 6px 0;
  text-transform: uppercase;
}

/* Collapsed analysis line — Phase 82 */

.admin-chez__analysis--collapsed-line {
  align-items: center;
  background: rgba(239, 234, 254, 0.3);
  border: 1px solid rgba(105, 56, 239, 0.15);
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  font: 600 12px var(--sans);
  gap: 10px;
  padding: 8px 14px;
}
.admin-chez__analysis--collapsed-line .admin-muted {
  flex: 1;
  font-weight: 400;
}


/* =============================================================================
 * Phase 83 — CONCIERGE COCKPIT
 * =============================================================================
 *
 * Customer service cockpit. Replaces the legacy single-column "Chez Requests"
 * admin view with a desktop 4-pane layout per the design handoff.
 *
 * Tokens used:
 *   --indigo (#6938EF), --salmon (#6938EF), --pearl (#FAFAFC), --white,
 *   --indigo-50/100/500/600/700/800/900, --salmon-pale/light/50/dark,
 *   --neutral-200/300/400/500, --text/-muted/-soft.
 *
 * Salmon usage is strictly limited per the spec: primary CTA, active tab
 * indicator, fit meter fill at success tier, salmon accent bars on the
 * active queue case + highlighted system row, and SLA-critical pills.
 * No salmon decoration anywhere else.
 * ============================================================================= */

/* Hide the legacy admin-layout / admin-topbar when the cockpit is active. */
.is-hidden-by-concierge { display: none !important; }
.admin-concierge-host {
  display: block;
  min-height: 0;
  /* Spans every row of admin-main's grid (auto auto 1fr) so the cockpit
     fills the full viewport when the legacy chrome is hidden. The
     `min-width: 0` + `overflow: hidden` are critical: without them, the
     grid item sizes to its children's min-content (queue 304 + homeowner
     320 + workspace minimum + Alfred 360) which pushes past the parent.
     Constraining the host to the grid cell width forces the cockpit-body
     flex children to shrink (workspace via min-width:0, others clipped). */
  grid-row: 1 / -1;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}
.admin-concierge-host.is-hidden { display: none !important; }
.admin-layout.is-hidden { display: none !important; }
.admin-topbar.is-hidden { display: none !important; }
/* The cockpit owns its own height — the shell sizes to viewport so the
   queue / homeowner panel / workspace / Alfred all scroll independently. */
.admin-concierge-host > .cockpit-shell {
  height: 100vh;
  max-height: 100vh;
  width: 100%;
  max-width: 100%;
}

/* Shell — fills the remaining admin-main viewport. The sidebar nav stays
   visible; the cockpit takes the rest. */
.cockpit-shell {
  display: flex;
  flex-direction: column;
  height: 100vh;
  max-height: 100vh;
  min-height: 720px;
  width: 100%;
  max-width: 100%;
  background: var(--pearl, #FAFAFC);
  font-family: var(--sans, system-ui);
  color: var(--text, #0A0A0A);
  overflow: hidden;
}
.cockpit-body {
  flex: 1;
  display: flex;
  min-height: 0;
  /* Defensive: when the viewport is narrower than the sum of fixed columns,
     the body clips its trailing children rather than letting them push past
     the right edge. Combined with the responsive breakpoints below, this
     guarantees the rightmost visible pane is always reachable. */
  overflow: hidden;
}

/* ===== Top bar (52px) ====================================================== */

.cockpit-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 52px;
  padding: 0 18px;
  background: rgba(248, 249, 250, 0.86);
  backdrop-filter: blur(14px) saturate(180%);
  -webkit-backdrop-filter: blur(14px) saturate(180%);
  border-bottom: 1px solid var(--neutral-200, #EDEEF0);
  flex: none;
  position: relative;
  z-index: 5;
}
.cockpit-topbar__brand {
  display: flex;
  align-items: center;
  gap: 14px;
}
.cockpit-topbar__mark {
  width: 28px; height: 28px;
  border-radius: 7px;
  background: var(--indigo, #6938EF);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif, Georgia);
  font-weight: 700;
  font-size: 16px;
}
.cockpit-topbar__wordmark {
  font-family: var(--serif, Georgia);
  font-weight: 600;
  font-size: 16px;
  color: var(--text, #0A0A0A);
  letter-spacing: -0.01em;
  margin-right: 4px;
}
.cockpit-topbar__eyebrow {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-soft, #A1A1AC);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.cockpit-topbar__right {
  display: flex;
  align-items: center;
  gap: 8px;
}
.cockpit-topbar__divider {
  width: 1px; height: 22px;
  background: var(--neutral-200, #EDEEF0);
  margin: 0 4px;
}
.cockpit-topbar__agent {
  font-size: 12px;
  font-weight: 600;
  color: var(--text, #0A0A0A);
}

.cockpit-search {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 32px;
  padding: 0 12px;
  background: #fff;
  border: 1px solid var(--neutral-200, #EDEEF0);
  border-radius: 8px;
  min-width: 280px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.cockpit-search:focus-within {
  border-color: var(--indigo, #6938EF);
  box-shadow: 0 0 0 3px rgba(69, 58, 112, 0.08);
}
.cockpit-search__icon {
  color: var(--text-soft, #A1A1AC);
  font-size: 13px;
}
.cockpit-search input {
  flex: 1;
  border: 0;
  outline: none;
  background: transparent;
  font-size: 12px;
  color: var(--text, #0A0A0A);
  font-family: inherit;
}
.cockpit-search input::placeholder { color: var(--text-muted, #6B6B7B); }
.cockpit-search__hint {
  font-size: 10px;
  color: var(--text-soft, #A1A1AC);
  font-weight: 600;
  letter-spacing: 0.06em;
}

/* ===== Buttons (cockpit-styled) ============================================ */

.cockpit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  font-weight: 600;
  letter-spacing: -0.005em;
  transition: transform 0.15s, box-shadow 0.15s, background 0.15s, border-color 0.15s;
  white-space: nowrap;
  text-decoration: none;
}
.cockpit-btn:active { transform: scale(0.97); }
.cockpit-btn--sm  { height: 28px; padding: 0 12px; font-size: 12px; border-radius: 8px; }
.cockpit-btn--md  { height: 34px; padding: 0 14px; font-size: 13px; border-radius: 10px; }
.cockpit-btn--lg  { height: 42px; padding: 0 18px; font-size: 14px; border-radius: 12px; }
.cockpit-btn--full { width: 100%; }

.cockpit-btn--primary {
  background: var(--salmon, #6938EF);
  color: #fff;
  box-shadow: 0 4px 12px rgba(105, 56, 239, 0.28);
}
.cockpit-btn--primary:hover {
  background: var(--salmon-dark, #5025D1);
}
.cockpit-btn--indigo {
  background: var(--indigo, #6938EF);
  color: #fff;
  box-shadow: 0 4px 12px rgba(15, 10, 40, 0.18);
}
.cockpit-btn--indigo:hover { background: var(--indigo-700, #8B6FF5); }
.cockpit-btn--secondary {
  background: #fff;
  color: var(--indigo, #6938EF);
  border: 1px solid var(--neutral-300, #D8DADF);
}
.cockpit-btn--secondary:hover {
  border-color: var(--indigo, #6938EF);
}
.cockpit-btn--ghost {
  background: transparent;
  color: var(--indigo-500, #6B6B7B);
}
.cockpit-btn--ghost:hover { background: rgba(69, 58, 112, 0.06); }
.cockpit-btn--ai {
  background: linear-gradient(135deg, #FFFFFF 0%, #F4F0FE 100%);
  color: var(--indigo, #6938EF);
  border: 1px solid var(--indigo-100, #B49BFA);
}
.cockpit-btn--ai:hover {
  border-color: var(--indigo-500, #6B6B7B);
}
.cockpit-btn[disabled] { opacity: 0.5; cursor: not-allowed; }

.cockpit-spark {
  display: inline-block;
  font-size: 12px;
  color: var(--salmon-dark, #5025D1);
  line-height: 1;
}
.cockpit-spark--sm  { font-size: 10px; }
.cockpit-spark--light { color: var(--salmon-light, #B49BFA); }

/* ===== Pills (cockpit) ===================================================== */

.cockpit-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border-radius: 999px;
  background: #EDEEF0;
  color: var(--text-muted, #6B6B7B);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.005em;
  white-space: nowrap;
}
.cockpit-pill--xs { padding: 1px 7px; font-size: 9.5px; }
.cockpit-pill--success  { background: rgba(10, 10, 15, 0.12); color: #0A0A0A; }
.cockpit-pill--warning  { background: rgba(105, 56, 239, 0.14); color: #5025D1; }
.cockpit-pill--critical { background: rgba(105, 56, 239, 0.14); color: #0A0A0A; }
.cockpit-pill--info     { background: rgba(105, 56, 239, 0.14); color: #6B6B7B; }
.cockpit-pill--salmon   { background: var(--salmon-pale, #EFEAFE); color: #2A0F75; }
.cockpit-pill--indigo   { background: var(--indigo-50, #F4F0FE); color: var(--indigo, #6938EF); }
.cockpit-pill--neutral  { background: #EDEEF0; color: var(--text-muted, #6B6B7B); }
.cockpit-pill--solid-salmon { background: var(--salmon, #6938EF); color: #fff; }
/* Phase 2.5: salmon-tinted "Quiz" badge on requests sourced from the
 * homeowner's House Quiz. Distinct from `salmon` so operators can tell
 * the wave apart at a glance without crowding the other tones. */
.cockpit-pill--quiz {
  background: rgba(105, 56, 239, 0.12);
  color: var(--salmon-dark, #5025D1);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.cockpit-aichip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(105, 56, 239, 0.08);
  color: var(--salmon-dark, #5025D1);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* ===== Avatars ============================================================= */

.cockpit-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--indigo, #6938EF);
  color: #fff;
  font-family: var(--serif, Georgia);
  font-weight: 700;
  letter-spacing: -0.01em;
  flex: none;
  border-radius: 50%;
}
.cockpit-avatar--sm { width: 28px; height: 28px; font-size: 11px; background: var(--indigo-600, #7A55F0); }
.cockpit-avatar--md { width: 30px; height: 30px; font-size: 12px; border-radius: 8px; }
.cockpit-avatar--lg { width: 44px; height: 44px; font-size: 16px; border-radius: 50%; }
.cockpit-avatar--soft   { background: var(--indigo-100, #B49BFA); color: var(--indigo, #6938EF); }
.cockpit-avatar--vendor { background: var(--indigo-500, #6B6B7B); border-radius: 8px; }
.cockpit-avatar--indigo { background: var(--indigo, #6938EF); }

.cockpit-icon-tile {
  width: 30px; height: 30px;
  border-radius: 8px;
  background: var(--indigo-50, #F4F0FE);
  color: var(--indigo, #6938EF);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex: none;
}

/* ===== Tabs (segmented + underline) ========================================= */

.cockpit-tabs {
  display: flex;
  gap: 2px;
}
.cockpit-tabs--filled {
  padding: 3px;
  background: var(--neutral-200, #EDEEF0);
  border-radius: 10px;
  width: fit-content;
}
.cockpit-tab {
  padding: 5px 12px;
  height: 26px;
  border: 0;
  background: transparent;
  color: var(--text-muted, #6B6B7B);
  font-family: inherit;
  font-weight: 600;
  font-size: 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.cockpit-tab.is-active {
  background: #fff;
  color: var(--text, #0A0A0A);
  box-shadow: 0 1px 2px rgba(15, 10, 40, 0.08);
}
.cockpit-tab__count {
  color: var(--text-soft, #A1A1AC);
  font-weight: 500;
  font-size: 11px;
}

/* ===== Cards / Eyebrow / Rows ============================================== */

.cockpit-card {
  background: #fff;
  border-radius: 14px;
  border: 1px solid var(--neutral-200, #EDEEF0);
  box-shadow: 0 1px 3px rgba(15, 10, 40, 0.04);
  overflow: hidden;
  margin-bottom: 16px;
}
.cockpit-eyebrow {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 18px 0 8px;
  font-family: inherit;
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-soft, #A1A1AC);
}
.cockpit-eyebrow--inline { margin: 0; display: inline; }
.cockpit-eyebrow--space { margin-top: 22px; }
.cockpit-eyebrow__count {
  color: var(--indigo-500, #6B6B7B);
  font-weight: 600;
  letter-spacing: 0.08em;
}
.cockpit-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-top: 1px solid var(--neutral-200, #EDEEF0);
  background: transparent;
  text-align: left;
  width: 100%;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
  font-family: inherit;
  position: relative;
}
.cockpit-row:first-child { border-top: 0; }
.cockpit-row--clickable { cursor: pointer; transition: background 0.15s; }
.cockpit-row--clickable:hover { background: rgba(69, 58, 112, 0.03); }
.cockpit-row.is-highlight {
  background: var(--salmon-50, #F4F0FE);
}
.cockpit-row__accent {
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 3px;
  border-radius: 2px;
  background: var(--salmon, #6938EF);
}
.cockpit-row__main {
  flex: 1;
  min-width: 0;
}
.cockpit-row__title {
  font-size: 13px;
  font-weight: 600;
  color: var(--text, #0A0A0A);
  display: flex;
  align-items: center;
  gap: 6px;
}
.cockpit-row__sub {
  font-size: 11px;
  color: var(--text-muted, #6B6B7B);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cockpit-row__meta {
  font-size: 11px;
  color: var(--text-soft, #A1A1AC);
  font-weight: 600;
  flex: none;
}
.cockpit-row--note { padding-top: 10px; padding-bottom: 10px; }
.cockpit-row__note-author { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; }
.cockpit-row__note-author > span:first-child { font-weight: 600; font-size: 11px; color: var(--text, #0A0A0A); }
.cockpit-row__note-time { font-size: 11px; color: var(--text-soft, #A1A1AC); }
.cockpit-row__note-text { font-size: 12px; color: var(--text-muted, #6B6B7B); line-height: 1.5; }

.cockpit-coverage { display: flex; gap: 2px; flex: none; }
.cockpit-coverage__seg {
  width: 4px; height: 12px; border-radius: 2px;
  background: var(--neutral-200, #EDEEF0);
}
.cockpit-coverage__seg.is-on { background: var(--salmon, #6938EF); }

.cockpit-stars {
  font-size: 11px; color: var(--warning, #6938EF); font-weight: 600;
}

.cockpit-muted { color: var(--text-muted, #6B6B7B); font-size: 12px; }

/* ===== Queue rail (304px) ================================================== */

.cockpit-queue {
  width: 304px;
  flex: none;
  background: var(--pearl, #FAFAFC);
  border-right: 1px solid var(--neutral-200, #EDEEF0);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: width 0.18s ease-out;
}
/* Phase 83.1 — chat-mode queue rail (master-detail). Wider so the
   conversation thread reads comfortably. */
.cockpit-queue--chat {
  width: 384px;
  background: #fff;
}
.cockpit-queue__head { padding: 14px 14px 10px; }
.cockpit-queue__head-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 12px;
}
.cockpit-queue__head h2 {
  margin: 0;
  font-family: var(--serif, Georgia);
  font-size: 17px;
  font-weight: 600;
  color: var(--text, #0A0A0A);
  letter-spacing: -0.01em;
}
.cockpit-queue__refresh {
  background: transparent;
  border: 0;
  color: var(--text-soft, #A1A1AC);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
}
.cockpit-queue__refresh:hover { color: var(--indigo, #6938EF); }

.cockpit-queue__stats {
  padding: 4px 14px 12px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.cockpit-stat {
  background: #fff;
  border: 1px solid var(--neutral-200, #EDEEF0);
  border-radius: 8px;
  padding: 8px 10px;
}
.cockpit-stat__num {
  font-family: var(--serif, Georgia);
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--indigo, #6938EF);
}
.cockpit-stat[data-tone="critical"] .cockpit-stat__num { color: var(--critical, #0A0A0A); }
.cockpit-stat[data-tone="salmon"] .cockpit-stat__num   { color: var(--salmon-dark, #5025D1); }
.cockpit-stat__label {
  margin-top: 4px;
  font-size: 9.5px;
  font-weight: 600;
  color: var(--text-soft, #A1A1AC);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cockpit-queue__list {
  flex: 1;
  overflow-y: auto;
  padding: 0 8px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cockpit-queue__empty {
  padding: 20px 12px;
  font-size: 12px;
  color: var(--text-muted, #6B6B7B);
  text-align: center;
}

.cockpit-queue__case {
  position: relative;
  padding: 10px 12px;
  border-radius: 10px;
  cursor: pointer;
  background: transparent;
  border: 1px solid transparent;
  text-align: left;
  font-family: inherit;
  width: 100%;
  transition: background 0.15s, border-color 0.15s, box-shadow 0.15s;
}
.cockpit-queue__case:hover { background: rgba(255, 255, 255, 0.55); }
.cockpit-queue__case.is-active {
  background: #fff;
  border-color: var(--neutral-200, #EDEEF0);
  box-shadow: 0 1px 3px rgba(15, 10, 40, 0.06);
}
.cockpit-queue__case-accent {
  position: absolute;
  left: -9px;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 2px;
  background: var(--salmon, #6938EF);
}
.cockpit-queue__case-top {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
  font-size: 10px;
}
.cockpit-queue__case-icon { font-size: 13px; }
.cockpit-queue__case-type {
  flex: 1;
  font-weight: 700;
  color: var(--text-soft, #A1A1AC);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.cockpit-queue__case-id {
  color: var(--text-soft, #A1A1AC);
  font-weight: 600;
  font-family: ui-monospace, "SF Mono", monospace;
}
.cockpit-queue__case-title {
  font-weight: 600;
  font-size: 13px;
  color: var(--text, #0A0A0A);
  line-height: 1.35;
  margin-bottom: 6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cockpit-queue__case-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cockpit-queue__case-awaiting {
  font-size: 10px;
  color: var(--text-soft, #A1A1AC);
  font-weight: 500;
}

.cockpit-tip {
  margin: 8px 6px 0;
  padding: 12px;
  background: linear-gradient(135deg, #F4F0FE 0%, #F4F0FE 100%);
  border: 1px solid var(--indigo-100, #B49BFA);
  border-radius: 10px;
  cursor: pointer;
  transition: transform 0.15s, box-shadow 0.15s;
}
.cockpit-tip:hover { transform: translateY(-1px); box-shadow: 0 4px 10px rgba(15, 10, 40, 0.08); }
.cockpit-tip__head {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
.cockpit-tip__eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--salmon-dark, #5025D1);
}
.cockpit-tip__body {
  font-size: 12px;
  color: var(--text, #0A0A0A);
  line-height: 1.5;
}

/* ===== Homeowner panel (320px) ============================================= */

.cockpit-homeowner {
  width: 320px;
  flex: none;
  border-right: 1px solid var(--neutral-200, #EDEEF0);
  overflow-y: auto;
  padding: 20px 18px;
  background: var(--pearl, #FAFAFC);
}
.cockpit-homeowner__loading {
  padding: 20px 4px;
  color: var(--text-muted, #6B6B7B);
  font-size: 13px;
}
.cockpit-homeowner__profile {
  background: #fff;
  border-radius: 14px;
  border: 1px solid var(--neutral-200, #EDEEF0);
  overflow: hidden;
  margin-bottom: 18px;
}
.cockpit-homeowner__profile-top {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
}
.cockpit-homeowner__profile-id { min-width: 0; }
.cockpit-homeowner__name {
  font-family: var(--serif, Georgia);
  font-weight: 600;
  font-size: 17px;
  color: var(--text, #0A0A0A);
  letter-spacing: -0.012em;
  line-height: 1.2;
}
.cockpit-homeowner__sub {
  font-size: 11px;
  color: var(--text-muted, #6B6B7B);
  margin-top: 2px;
}
.cockpit-homeowner__kv {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 10px;
  row-gap: 6px;
  font-size: 12px;
  padding: 0 16px 12px;
}
.cockpit-homeowner__kv > div {
  display: contents;
}
.cockpit-homeowner__kv span { color: var(--text-soft, #A1A1AC); font-weight: 500; }
.cockpit-homeowner__kv strong { color: var(--text, #0A0A0A); font-weight: 500; }
.cockpit-homeowner__strip {
  display: flex;
  justify-content: space-between;
  padding: 12px 16px;
  background: var(--indigo-50, #F4F0FE);
}
.cockpit-homeowner__strip-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--indigo-500, #6B6B7B);
}
.cockpit-homeowner__strip-num {
  font-family: var(--serif, Georgia);
  font-weight: 700;
  font-size: 22px;
  color: var(--indigo, #6938EF);
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.cockpit-homeowner__tier {
  padding: 10px 16px;
  border-top: 1px solid var(--neutral-200, #EDEEF0);
  font-size: 11px;
  color: var(--warning, #6938EF);
  font-weight: 600;
  background: rgba(105, 56, 239, 0.06);
}
.cockpit-homeowner__profile-cta {
  margin: 10px 16px 14px;
  width: calc(100% - 32px);
}

/* ===== Case workspace (flex:1) ============================================= */

.cockpit-workspace {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--pearl, #FAFAFC);
  overflow: hidden;
}
.cockpit-workspace--empty { align-items: center; justify-content: center; }
.cockpit-empty {
  text-align: center;
  max-width: 420px;
  padding: 40px;
}
.cockpit-empty h3 {
  font-family: var(--serif, Georgia);
  font-size: 22px;
  font-weight: 600;
  color: var(--text, #0A0A0A);
  margin: 0 0 12px;
}
.cockpit-empty p {
  font-size: 14px;
  color: var(--text-muted, #6B6B7B);
  line-height: 1.5;
  margin: 0;
}

.cockpit-workspace__scroll {
  flex: 1;
  overflow-y: auto;
}
.cockpit-workspace__inner {
  padding-bottom: 40px;
}

/* ----- Case header --------------------------------------------------------- */

.cockpit-case-header {
  position: relative;
  padding: 20px 24px 16px;
  background: #fff;
  border-bottom: 1px solid var(--neutral-200, #EDEEF0);
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  column-gap: 20px;
  row-gap: 8px;
}
.cockpit-case-header__chips {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  grid-row: 1;
  grid-column: 1;
}
.cockpit-case-header__opened {
  font-size: 11px;
  color: var(--text-soft, #A1A1AC);
  font-weight: 500;
}
.cockpit-case-header__title {
  margin: 0;
  font-family: var(--serif, Georgia);
  font-weight: 600;
  font-size: 26px;
  letter-spacing: -0.018em;
  color: var(--text, #0A0A0A);
  line-height: 1.15;
  grid-row: 2;
  grid-column: 1;
}
.cockpit-case-header__actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: none;
  grid-row: 1 / span 2;
  grid-column: 2;
  align-self: start;
}

/* ----- AI brief (hero indigo gradient) ------------------------------------ */

.cockpit-brief {
  position: relative;
  margin: 16px 24px 0;
  border-radius: 16px;
  overflow: hidden;
  /* Phase 83.2 — deeper indigo background so the body text reads at full
     contrast. The previous --indigo (#6938EF) plus low-opacity white text
     looked grey-on-purple; bumping to indigo-900 fixes that. */
  background: var(--indigo-900, #0A0A0A);
  color: #fff;
  box-shadow: 0 8px 24px rgba(15, 10, 40, 0.18);
}
.cockpit-brief--loading,
.cockpit-brief--empty {
  background: var(--indigo-800, #2A0F75);
}
.cockpit-brief__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  /* Phase 83.2 — softer mesh so it doesn't fight the body text. */
  background:
    radial-gradient(60% 80% at 100% 0%, rgba(105, 56, 239, 0.20), transparent 60%),
    radial-gradient(70% 90% at 0% 100%, rgba(180, 155, 250, 0.22), transparent 60%);
}
.cockpit-brief__inner {
  position: relative;
  padding: 18px 22px;
}
.cockpit-brief__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.cockpit-brief__eyebrow {
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--salmon-light, #B49BFA);
}
.cockpit-brief__refreshed {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.72);
  font-weight: 500;
  flex: 1;
}
.cockpit-brief__rerun {
  padding: 4px 10px;
  height: 24px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.18);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
}
.cockpit-brief__rerun:hover {
  background: rgba(255, 255, 255, 0.18);
}
.cockpit-brief__loading-text {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.92);
  margin: 0;
  line-height: 1.55;
}
.cockpit-brief__headline {
  font-family: var(--serif, Georgia);
  font-weight: 500;
  font-size: 19px;
  letter-spacing: -0.015em;
  line-height: 1.35;
  margin-bottom: 14px;
  text-wrap: pretty;
}
.cockpit-brief__cite {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--indigo-50, #F4F0FE);
  color: var(--indigo, #6938EF);
  font-size: 9px;
  font-weight: 700;
  margin-left: 3px;
  vertical-align: top;
}
.cockpit-brief__tabs {
  display: flex;
  gap: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  margin-bottom: 12px;
  overflow-x: auto;
}
.cockpit-brief__tab {
  background: transparent;
  border: 0;
  padding: 8px 0;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.74);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  white-space: nowrap;
}
.cockpit-brief__tab:hover { color: rgba(255, 255, 255, 0.92); }
.cockpit-brief__tab.is-active {
  color: #fff;
  border-bottom-color: var(--salmon, #6938EF);
}
.cockpit-brief__body {
  /* Phase 83.2 — bumped from .86 to .96 so the body text reads at full
     legibility on the indigo-900 background. The previous opacity was
     reading as grey-on-purple. */
  font-size: 13.5px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.96);
  text-wrap: pretty;
}
.cockpit-brief__body p { margin: 0; }
.cockpit-brief__list {
  margin: 0;
  padding-left: 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.cockpit-brief__script {
  background: rgba(0, 0, 0, 0.18);
  border-radius: 10px;
  padding: 12px;
  font-size: 12px;
  line-height: 1.7;
  white-space: pre-wrap;
}
.cockpit-brief__empty {
  color: rgba(255, 255, 255, 0.5);
  font-style: italic;
}

/* ----- Non-vendor body summary card ---------------------------------------- */

.cockpit-nonvendor {
  margin: 16px 24px 0;
  padding: 16px;
  background: #fff;
  border-radius: 14px;
  border: 1px solid var(--neutral-200, #EDEEF0);
  border-left: 3px solid var(--salmon, #6938EF);
}
.cockpit-nonvendor__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.cockpit-nonvendor__head .cockpit-eyebrow {
  margin: 0;
  color: var(--salmon-dark, #5025D1);
}
.cockpit-nonvendor__headline {
  margin: 0 0 12px;
  font-family: var(--serif, Georgia);
  font-size: 20px;
  font-weight: 500;
  color: var(--text, #0A0A0A);
  letter-spacing: -0.012em;
  line-height: 1.3;
  text-wrap: pretty;
}
.cockpit-nonvendor__bullets {
  margin: 0 0 14px;
  padding-left: 18px;
  font-size: 13px;
  color: var(--text-muted, #6B6B7B);
  line-height: 1.7;
}
.cockpit-nonvendor__actions {
  display: flex;
  gap: 6px;
}

/* ----- Vendor sheet -------------------------------------------------------- */

.cockpit-vendors { padding: 20px 24px 24px; }
.cockpit-vendors__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 14px;
  gap: 16px;
}
.cockpit-vendors__head h3 {
  margin: 0;
  font-family: var(--serif, Georgia);
  font-weight: 600;
  font-size: 18px;
  color: var(--text, #0A0A0A);
  letter-spacing: -0.012em;
}
.cockpit-vendors__head p {
  margin: 4px 0 0;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--text-muted, #6B6B7B);
}
.cockpit-vendors__head-actions {
  display: flex;
  gap: 6px;
  flex: none;
}
.cockpit-vendors__empty {
  padding: 20px 0;
  text-align: center;
}

.cockpit-vendor {
  margin-bottom: 10px;
  background: #fff;
  border: 1px solid var(--neutral-200, #EDEEF0);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.cockpit-vendor:hover { box-shadow: 0 4px 12px rgba(15, 10, 40, 0.06); }
.cockpit-vendor.is-recommended { border-color: var(--success, #0A0A0A); }
.cockpit-vendor.is-noanswer { border-color: var(--warning, #6938EF); }

.cockpit-vendor__head {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  cursor: pointer;
}
.cockpit-vendor__rank {
  flex: none;
  width: 32px;
  text-align: center;
  font-family: var(--serif, Georgia);
  font-size: 18px;
  font-weight: 700;
  color: var(--indigo, #6938EF);
  letter-spacing: -0.02em;
}
.cockpit-vendor__title { min-width: 0; }
.cockpit-vendor__name {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 14px;
  margin-bottom: 2px;
}
.cockpit-vendor__name strong { font-weight: 600; color: var(--text, #0A0A0A); }
.cockpit-vendor__reviews { font-size: 11px; }
.cockpit-vendor__meta {
  font-size: 12px;
  color: var(--text-muted, #6B6B7B);
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.cockpit-vendor__fit {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  flex: none;
}
.cockpit-vendor__fit-label {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.cockpit-vendor__fit-label[data-tone="success"] { color: var(--success, #0A0A0A); }
.cockpit-vendor__fit-label[data-tone="warning"] { color: var(--warning, #6938EF); }
.cockpit-vendor__fit-label[data-tone="muted"]   { color: var(--text-muted, #6B6B7B); }
.cockpit-fit-meter {
  width: 56px;
  height: 4px;
  background: var(--neutral-200, #EDEEF0);
  border-radius: 2px;
  overflow: hidden;
}
.cockpit-fit-meter__fill {
  height: 100%;
  border-radius: 2px;
  background: var(--success, #0A0A0A);
}
.cockpit-fit-meter__fill[data-tone="warning"] { background: var(--warning, #6938EF); }
.cockpit-fit-meter__fill[data-tone="muted"]   { background: var(--text-muted, #6B6B7B); }

.cockpit-vendor__cta {
  display: flex;
  gap: 6px;
  align-items: center;
  flex: none;
}

.cockpit-vendor__reasoning {
  display: flex;
  gap: 8px;
  padding: 0 14px 12px 58px;
  font-size: 12px;
  color: var(--text-muted, #6B6B7B);
  line-height: 1.5;
  align-items: flex-start;
}
.cockpit-vendor__reasoning b {
  color: var(--indigo, #6938EF);
  font-weight: 600;
}

.cockpit-vendor__form {
  border-top: 1px solid var(--neutral-200, #EDEEF0);
  padding: 16px;
  background: var(--pearl, #FAFAFC);
}
.cockpit-vendor__grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  margin-bottom: 10px;
}
.cockpit-vendor__form label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted, #6B6B7B);
  letter-spacing: 0.02em;
}
.cockpit-vendor__form label.is-hidden { display: none; }
.cockpit-vendor__form input,
.cockpit-vendor__form select,
.cockpit-vendor__form textarea {
  padding: 8px 10px;
  border: 1px solid var(--neutral-300, #D8DADF);
  border-radius: 10px;
  background: #fff;
  color: var(--text, #0A0A0A);
  font-family: inherit;
  font-size: 13px;
  font-weight: 400;
  outline: none;
  transition: border-color 0.15s;
}
.cockpit-vendor__form input:focus,
.cockpit-vendor__form select:focus,
.cockpit-vendor__form textarea:focus {
  border-color: var(--indigo, #6938EF);
  box-shadow: 0 0 0 3px rgba(69, 58, 112, 0.08);
}
.cockpit-vendor__form textarea {
  resize: vertical;
  min-height: 60px;
  line-height: 1.5;
}

.cockpit-voice-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  margin-bottom: 12px;
  background: var(--indigo-50, #F4F0FE);
  border: 1px solid var(--indigo-100, #B49BFA);
}
.cockpit-voice-banner.is-listening {
  background: var(--salmon-50, #F4F0FE);
  border-color: var(--salmon-pale, #EFEAFE);
}
.cockpit-voice-btn {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 0;
  cursor: pointer;
  background: var(--indigo, #6938EF);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cockpit-voice-btn:disabled { cursor: not-allowed; opacity: 0.6; }
.cockpit-voice-banner.is-listening .cockpit-voice-btn { background: var(--salmon, #6938EF); }
.cockpit-voice-text { flex: 1; min-width: 0; }
.cockpit-voice-text strong { display: block; font-size: 12px; font-weight: 600; color: var(--text, #0A0A0A); }
.cockpit-voice-text span { display: block; font-size: 11px; color: var(--text-muted, #6B6B7B); margin-top: 1px; }

.cockpit-vendor__slots { margin-bottom: 12px; }
.cockpit-vendor__slots-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted, #6B6B7B);
  margin-bottom: 6px;
}
.cockpit-slot-row {
  display: flex;
  gap: 6px;
  margin-bottom: 6px;
}
.cockpit-slot-row input {
  flex: 1;
  padding: 6px 10px;
  border: 1px solid var(--neutral-300, #D8DADF);
  border-radius: 8px;
  background: #fff;
  font-size: 12px;
  font-family: inherit;
  color: var(--text, #0A0A0A);
}
.cockpit-slot-remove {
  width: 28px; height: 28px;
  border: 1px solid var(--neutral-300, #D8DADF);
  background: #fff;
  border-radius: 8px;
  cursor: pointer;
  color: var(--text-muted, #6B6B7B);
  font-size: 14px;
  font-family: inherit;
}
.cockpit-vendor__rationale {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 8px;
}
.cockpit-vendor__rationale > span:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted, #6B6B7B);
}
.cockpit-suggest-btn {
  border: 1px solid var(--indigo-100, #B49BFA);
  background: linear-gradient(135deg, #fff, #F4F0FE);
  color: var(--indigo, #6938EF);
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.cockpit-suggest-btn:hover { border-color: var(--indigo, #6938EF); }
.cockpit-vendor__form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
}
.cockpit-vendor__recommend {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--text, #0A0A0A);
  font-weight: 500;
}

/* ----- Proposal preview ---------------------------------------------------- */

.cockpit-preview {
  margin-top: 16px;
  padding: 16px;
  background: linear-gradient(180deg, #fff, #FAFAFC);
  border: 1px solid var(--indigo-100, #B49BFA);
  border-radius: 14px;
}
.cockpit-preview__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.cockpit-preview__head > div:first-child {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.cockpit-preview__lead {
  margin: 0 0 10px;
  font-family: var(--serif, Georgia);
  font-size: 16px;
  color: var(--text, #0A0A0A);
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -0.01em;
}
.cockpit-preview__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.cockpit-preview__card {
  padding: 12px;
  background: #fff;
  border: 1px solid var(--neutral-200, #EDEEF0);
  border-radius: 10px;
}
.cockpit-preview__card strong { display: block; font-size: 13px; font-weight: 600; color: var(--text, #0A0A0A); }
.cockpit-preview__card .cockpit-muted { font-size: 11px; margin-top: 2px; }

/* ----- Conversation pane --------------------------------------------------- */

.cockpit-conversation { padding: 20px 24px 24px; }
.cockpit-conversation__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 14px;
}
.cockpit-conversation__head h3 {
  margin: 0;
  font-family: var(--serif, Georgia);
  font-weight: 600;
  font-size: 18px;
  color: var(--text, #0A0A0A);
  letter-spacing: -0.012em;
}

.cockpit-msg {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
}
.cockpit-msg__main { flex: 1; min-width: 0; }
.cockpit-msg__head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 4px;
}
.cockpit-msg__head strong { font-size: 13px; font-weight: 600; color: var(--text, #0A0A0A); }
.cockpit-msg__bubble {
  padding: 14px;
  background: #fff;
  border: 1px solid var(--neutral-200, #EDEEF0);
  border-radius: 12px;
  font-size: 13.5px;
  color: var(--text, #0A0A0A);
  line-height: 1.55;
  text-wrap: pretty;
  white-space: pre-wrap;
}
.cockpit-msg--system {
  text-align: center;
  margin: 12px 0;
  padding: 6px 12px;
  background: var(--indigo-50, #F4F0FE);
  border-radius: 999px;
  font-size: 11px;
  color: var(--indigo-500, #6B6B7B);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: center;
  margin-left: auto;
  margin-right: auto;
  max-width: fit-content;
}
.cockpit-msg__attach {
  margin-top: 8px;
  padding: 8px 10px;
  background: var(--pearl, #FAFAFC);
  border: 1px solid var(--neutral-200, #EDEEF0);
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  font-size: 12px;
}

/* Composer */

.cockpit-resolved-bar {
  margin-top: 16px;
  padding: 14px;
  background: var(--indigo-50, #F4F0FE);
  border: 1px solid var(--indigo-100, #B49BFA);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  color: var(--text, #0A0A0A);
}

.cockpit-composer {
  margin-top: 24px;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--neutral-200, #EDEEF0);
  border-radius: 14px;
}
.cockpit-composer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  gap: 12px;
}
.cockpit-composer__head .cockpit-eyebrow { color: var(--text-soft, #A1A1AC); }
.cockpit-composer__head-actions {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}
.cockpit-tone {
  display: inline-flex;
  background: var(--neutral-200, #EDEEF0);
  border-radius: 999px;
  padding: 2px;
  gap: 2px;
}
.cockpit-tone__opt {
  border: 0;
  background: transparent;
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
  cursor: pointer;
  color: var(--text-muted, #6B6B7B);
  text-transform: capitalize;
  transition: all 0.15s;
}
.cockpit-tone__opt.is-active {
  background: #fff;
  color: var(--text, #0A0A0A);
  box-shadow: 0 1px 2px rgba(15, 10, 40, 0.08);
}
.cockpit-composer textarea {
  width: 100%;
  resize: vertical;
  min-height: 84px;
  padding: 10px;
  border: 1px solid var(--neutral-200, #EDEEF0);
  border-radius: 10px;
  font-family: inherit;
  font-size: 13.5px;
  color: var(--text, #0A0A0A);
  line-height: 1.55;
  outline: none;
  background: var(--pearl, #FAFAFC);
  box-sizing: border-box;
}
.cockpit-composer textarea:focus {
  border-color: var(--indigo, #6938EF);
  box-shadow: 0 0 0 3px rgba(69, 58, 112, 0.08);
  background: #fff;
}
.cockpit-critique {
  margin-top: 8px;
  padding: 8px 10px;
  background: var(--indigo-50, #F4F0FE);
  border: 1px solid var(--indigo-100, #B49BFA);
  border-radius: 8px;
  font-size: 11px;
  color: var(--indigo, #6938EF);
  display: flex;
  align-items: center;
  gap: 8px;
}
.cockpit-critique b { color: var(--indigo, #6938EF); }
.cockpit-critique__tone {
  margin-left: auto;
  font-weight: 600;
  text-transform: capitalize;
}
.cockpit-composer__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  gap: 12px;
  flex-wrap: wrap;
}
.cockpit-composer__pills { display: flex; align-items: center; gap: 6px; }
.cockpit-ack {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--text-muted, #6B6B7B);
  font-weight: 500;
}
.cockpit-composer__buttons { display: flex; gap: 6px; flex-wrap: wrap; }
.cockpit-composer__feedback { margin: 8px 0 0; font-size: 11px; }

/* Phase 96 — homeowner scheduling preferences banner on
 * home_assessment_request case panels. Sits between the conversation
 * and quick actions so the operator sees the homeowner's window before
 * tapping "Assign handyman". */
.cockpit-prefs {
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(105, 56, 239, 0.06);
  border: 1px solid rgba(105, 56, 239, 0.18);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.cockpit-prefs__title {
  font: 600 11px / 1 var(--sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--salmon-dark, #5025D1);
  margin-bottom: 4px;
}
.cockpit-prefs__row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font: 13px / 1.4 var(--sans);
}
.cockpit-prefs__row--block {
  flex-direction: column;
  gap: 2px;
}
.cockpit-prefs__label {
  font-weight: 600;
  color: var(--text-muted, #6B6B7B);
  min-width: 130px;
}
.cockpit-prefs__value {
  color: var(--text-primary, #6938EF);
}

.cockpit-quickactions {
  display: flex;
  gap: 6px;
  margin-top: 16px;
  flex-wrap: wrap;
}

/* ===== Alfred sidebar (360px) ============================================== */

.cockpit-alfred {
  width: 360px;
  flex: none;
  background: #fff;
  border-left: 1px solid var(--neutral-200, #EDEEF0);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.cockpit-alfred__head {
  position: relative;
  padding: 14px 16px 12px;
  background: linear-gradient(135deg, #0A0A0A 0%, #6938EF 60%, #7A55F0 100%);
  color: #fff;
  overflow: hidden;
}
.cockpit-alfred__head-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(60% 80% at 100% 0%, rgba(105, 56, 239, 0.28), transparent 60%);
}
.cockpit-alfred__head-row {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  gap: 8px;
}
.cockpit-alfred__head-row > span:first-child + span {
  flex: 1;
}
.cockpit-alfred__eyebrow {
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--salmon-light, #B49BFA);
}
.cockpit-alfred__model {
  font-size: 10px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.55);
}
.cockpit-alfred__headline {
  position: relative;
  font-family: var(--serif, Georgia);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.012em;
  text-wrap: pretty;
}
.cockpit-alfred__head-soft { color: rgba(255, 255, 255, 0.82); }

.cockpit-alfred__tabs {
  display: flex;
  gap: 18px;
  padding: 0 16px;
  border-bottom: 1px solid var(--neutral-200, #EDEEF0);
  flex: none;
}
.cockpit-alfred__tab {
  background: transparent;
  border: 0;
  padding: 10px 0;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  color: var(--text-muted, #6B6B7B);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.cockpit-alfred__tab.is-active {
  color: var(--text, #0A0A0A);
  border-bottom-color: var(--salmon, #6938EF);
}

.cockpit-alfred__body {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}
.cockpit-alfred__empty {
  text-align: center;
  padding: 24px 8px;
  font-size: 12px;
}

.cockpit-resolve {
  background: linear-gradient(135deg, #F4F0FE, #FFFFFF);
  border: 1px solid var(--salmon, #6938EF);
  border-radius: 14px;
  padding: 14px;
  margin-bottom: 14px;
}
.cockpit-resolve__head {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}
.cockpit-resolve__eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--salmon-dark, #5025D1);
}
.cockpit-resolve__headline {
  font-family: var(--serif, Georgia);
  font-size: 15px;
  font-weight: 500;
  color: var(--text, #0A0A0A);
  line-height: 1.4;
  margin-bottom: 10px;
  letter-spacing: -0.008em;
}
.cockpit-resolve__steps {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
}
.cockpit-resolve__step {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--text, #0A0A0A);
}
.cockpit-resolve__step-num {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1.5px solid var(--salmon, #6938EF);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  color: var(--salmon-dark, #5025D1);
  font-weight: 700;
  flex: none;
}

.cockpit-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cockpit-action {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid var(--neutral-200, #EDEEF0);
  border-radius: 10px;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  transition: border-color 0.15s, transform 0.15s;
  width: 100%;
}
.cockpit-action:hover {
  border-color: var(--indigo-100, #B49BFA);
  transform: translateY(-1px);
}
.cockpit-action__icon {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: var(--indigo-50, #F4F0FE);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.cockpit-action__main { flex: 1; min-width: 0; }
.cockpit-action__label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text, #0A0A0A);
  line-height: 1.35;
}
.cockpit-action__sub {
  font-size: 11.5px;
  color: var(--text-muted, #6B6B7B);
  margin-top: 2px;
  line-height: 1.4;
}
.cockpit-action__arrow {
  font-size: 18px;
  color: var(--text-soft, #A1A1AC);
  line-height: 1;
  margin-top: 2px;
}

.cockpit-context-box {
  margin-top: 18px;
  padding: 12px;
  border-radius: 10px;
  background: var(--indigo-50, #F4F0FE);
  border: 1px solid var(--indigo-100, #B49BFA);
}
.cockpit-context-box__eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--indigo-500, #6B6B7B);
  margin-bottom: 4px;
}
.cockpit-context-box__body {
  font-size: 11.5px;
  color: var(--text-muted, #6B6B7B);
  line-height: 1.55;
}

/* Alfred chat */

.cockpit-chat {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cockpit-chat__msg { display: flex; gap: 8px; }
.cockpit-chat__msg--user { justify-content: flex-end; }
.cockpit-chat__avatar {
  width: 24px; height: 24px;
  border-radius: 50%;
  flex: none;
  background: linear-gradient(135deg, #6938EF, #6938EF);
  display: flex;
  align-items: center;
  justify-content: center;
}
.cockpit-chat__bubble {
  flex: 1;
  padding: 10px;
  background: var(--indigo-50, #F4F0FE);
  border-radius: 10px;
  font-size: 13px;
  color: var(--text, #0A0A0A);
  line-height: 1.5;
  white-space: pre-wrap;
}
.cockpit-chat__bubble--user {
  background: var(--indigo, #6938EF);
  color: #fff;
  max-width: 85%;
  flex: none;
}
.cockpit-chat__typing {
  font-size: 12px;
  color: var(--text-muted, #6B6B7B);
  font-style: italic;
  padding: 4px 8px;
}
.cockpit-chat__prompts {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.cockpit-chat__prompt {
  text-align: left;
  padding: 8px 10px;
  border-radius: 8px;
  background: var(--pearl, #FAFAFC);
  border: 1px solid var(--neutral-200, #EDEEF0);
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  color: var(--indigo, #6938EF);
  font-weight: 500;
}
.cockpit-chat__prompt:hover { border-color: var(--indigo-500, #6B6B7B); }

/* Alfred similar cases */

.cockpit-similar {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cockpit-similar__card {
  background: #fff;
  border: 1px solid var(--neutral-200, #EDEEF0);
  border-radius: 14px;
  padding: 12px;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
}
.cockpit-similar__card:hover {
  border-color: var(--indigo-100, #B49BFA);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(15, 10, 40, 0.06);
}
.cockpit-similar__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.cockpit-similar__id {
  font-size: 11px;
  font-weight: 700;
  color: var(--indigo-500, #6B6B7B);
  font-family: ui-monospace, "SF Mono", monospace;
  letter-spacing: 0.06em;
}
.cockpit-similar__title {
  font-size: 13px;
  font-weight: 600;
  color: var(--text, #0A0A0A);
}
.cockpit-similar__sub {
  font-size: 12px;
  color: var(--text-muted, #6B6B7B);
  margin-top: 2px;
}
.cockpit-similar__outcome {
  font-size: 12px;
  color: var(--text, #0A0A0A);
  margin-top: 8px;
  padding: 6px 8px;
  background: var(--pearl, #FAFAFC);
  border-radius: 6px;
}

.cockpit-pattern {
  margin-top: 14px;
  padding: 14px;
  border-radius: 14px;
  background: linear-gradient(135deg, #F4F0FE, #F4F0FE);
  border: 1px solid var(--indigo-100, #B49BFA);
}
.cockpit-pattern__head {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
.cockpit-pattern__eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--indigo, #6938EF);
}
.cockpit-pattern__body {
  font-size: 12.5px;
  color: var(--text, #0A0A0A);
  line-height: 1.5;
}

/* Alfred composer (footer) */

.cockpit-alfred__composer {
  border-top: 1px solid var(--neutral-200, #EDEEF0);
  padding: 12px;
  background: var(--pearl, #FAFAFC);
  flex: none;
}
.cockpit-alfred__composer-pill {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px 6px 12px;
  background: #fff;
  border: 1px solid var(--neutral-300, #D8DADF);
  border-radius: 999px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.cockpit-alfred__composer-pill:focus-within {
  border-color: var(--indigo, #6938EF);
  box-shadow: 0 0 0 3px rgba(69, 58, 112, 0.08);
}
.cockpit-alfred__composer-pill input {
  flex: 1;
  border: 0;
  outline: none;
  background: transparent;
  font-family: inherit;
  font-size: 13px;
  color: var(--text, #0A0A0A);
}
.cockpit-alfred__composer-pill input::placeholder { color: var(--text-muted, #6B6B7B); }
.cockpit-alfred__send {
  width: 28px; height: 28px;
  border-radius: 50%;
  border: 0;
  cursor: pointer;
  background: var(--salmon, #6938EF);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s;
}
.cockpit-alfred__send:hover { background: var(--salmon-dark, #5025D1); }

/* ===== Responsive sizing =================================================
 *
 * Available cockpit width = 100vw - 260px (admin nav sidebar). Fixed columns:
 * queue rail (304px) + homeowner panel (320px) + Alfred sidebar (360px) =
 * 984px. The workspace needs ≥400px to be usable, so 4-pane mode requires
 * ~1640px viewport.
 *
 * Visibility is JS-controlled (state.concierge.ui.aiOpen / vendorOpen) so
 * the topbar toggles always work. At narrow widths the JS defaults
 * `aiOpen=false` on first load — the operator can still toggle Alfred on,
 * which positions it as an absolute overlay so it doesn't push the
 * workspace off-screen.
 * ============================================================================ */

/* When viewport is too narrow for Alfred to coexist with the other panes,
   the JS sets `cockpit-shell--alfred-overlay`. Alfred slides in from the
   right as a positioned overlay rather than a flex column. */
.cockpit-shell--alfred-overlay .cockpit-alfred {
  position: absolute;
  top: 52px; /* topbar height */
  right: 0;
  bottom: 0;
  width: 360px;
  z-index: 6;
  box-shadow: -12px 0 32px rgba(15, 10, 40, 0.18);
}
.cockpit-shell--alfred-overlay { position: relative; }

@media (max-width: 1099px) {
  .cockpit-homeowner { display: none; }
  .cockpit-brief,
  .cockpit-nonvendor { margin-left: 16px; margin-right: 16px; }
  .cockpit-vendors,
  .cockpit-conversation { padding-left: 16px; padding-right: 16px; }
}

@media (max-width: 899px) {
  .cockpit-queue { width: 260px; }
}

/* =============================================================================
 * Phase 83.1 — Chat panel (master-detail mode). When the operator clicks a
 * case from the queue rail, the rail morphs into this chat-focused panel.
 * The queue list is reachable via the back-arrow button at the top.
 * ============================================================================= */

.cockpit-chatpanel__head {
  padding: 14px 16px 12px;
  border-bottom: 1px solid var(--neutral-200, #EDEEF0);
  background: #fff;
  flex: none;
}
.cockpit-chatpanel__back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 4px 6px;
  margin-bottom: 8px;
  background: transparent;
  border: 0;
  cursor: pointer;
  color: var(--indigo-500, #6B6B7B);
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  border-radius: 8px;
  transition: background 0.15s, color 0.15s;
}
.cockpit-chatpanel__back:hover {
  background: var(--indigo-50, #F4F0FE);
  color: var(--indigo, #6938EF);
}
.cockpit-chatpanel__head-meta {
  display: flex;
  gap: 6px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}
.cockpit-chatpanel__title {
  font-family: var(--serif, Georgia);
  font-weight: 600;
  font-size: 17px;
  color: var(--text, #0A0A0A);
  letter-spacing: -0.012em;
  line-height: 1.25;
  margin-bottom: 2px;
}
.cockpit-chatpanel__sub {
  font-size: 11px;
  color: var(--text-muted, #6B6B7B);
  font-weight: 500;
}

/* Thread — vertical list of bubbles, scrollable. Takes the remaining space
   between the head and the composer. */
.cockpit-chatpanel__thread {
  flex: 1;
  overflow-y: auto;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: var(--pearl, #FAFAFC);
}
.cockpit-chatpanel__empty {
  text-align: center;
  padding: 32px 16px;
}

.cockpit-chatpanel__msg {
  display: flex;
  gap: 10px;
}
.cockpit-chatpanel__msg-main {
  flex: 1;
  min-width: 0;
}
.cockpit-chatpanel__msg-head {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 4px;
  font-size: 11px;
}
.cockpit-chatpanel__msg-head strong {
  font-size: 12px;
  color: var(--text, #0A0A0A);
  font-weight: 600;
}
.cockpit-chatpanel__msg-bubble {
  padding: 10px 12px;
  background: #fff;
  border: 1px solid var(--neutral-200, #EDEEF0);
  border-radius: 10px;
  font-size: 13px;
  color: var(--text, #0A0A0A);
  line-height: 1.55;
  text-wrap: pretty;
  white-space: pre-wrap;
}
.cockpit-chatpanel__msg--admin .cockpit-chatpanel__msg-bubble {
  background: var(--indigo-50, #F4F0FE);
  border-color: var(--indigo-100, #B49BFA);
}
.cockpit-chatpanel__system {
  align-self: center;
  padding: 4px 10px;
  background: var(--indigo-50, #F4F0FE);
  border-radius: 999px;
  font-size: 10.5px;
  color: var(--indigo-500, #6B6B7B);
  display: inline-flex;
  gap: 8px;
  text-align: center;
  max-width: 100%;
}

/* Composer — sticky at the bottom of the chat panel. Compact 3-row form
   with tone toggle, ack checkbox, and three send variants. */
.cockpit-chatpanel__composer {
  flex: none;
  padding: 12px 14px;
  border-top: 1px solid var(--neutral-200, #EDEEF0);
  background: #fff;
}
.cockpit-chatpanel__composer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  gap: 8px;
}
.cockpit-chatpanel__composer textarea {
  width: 100%;
  resize: vertical;
  min-height: 70px;
  padding: 10px;
  border: 1px solid var(--neutral-200, #EDEEF0);
  border-radius: 10px;
  font-family: inherit;
  font-size: 13px;
  color: var(--text, #0A0A0A);
  line-height: 1.5;
  outline: none;
  background: var(--pearl, #FAFAFC);
  box-sizing: border-box;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.cockpit-chatpanel__composer textarea:focus {
  border-color: var(--indigo, #6938EF);
  box-shadow: 0 0 0 3px rgba(69, 58, 112, 0.08);
  background: #fff;
}
.cockpit-chatpanel__composer-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  gap: 8px;
  flex-wrap: wrap;
}
.cockpit-chatpanel__composer-buttons {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

/* Phase 83.3 — pulse the visit card when the cockpit jumps to it via
   the "Confirm visit date" / "Mark completed" CTAs in the Resolve plan. */
@keyframes cockpit-visit-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(105, 56, 239, 0); }
  35%  { box-shadow: 0 0 0 6px rgba(105, 56, 239, 0.32); }
  100% { box-shadow: 0 0 0 0 rgba(105, 56, 239, 0); }
}
.admin-chez__visit-card.is-pulsing,
.admin-chez__visits.is-pulsing {
  animation: cockpit-visit-pulse 1.5s ease-out 1;
  border-radius: 12px;
}

/* Resolve card adapts to the case stage. Subtle visual nod when the
   case is fully resolved (de-emphasized) or visit complete (success
   tinted). */
.cockpit-resolve.is-resolved {
  opacity: 0.9;
  background: linear-gradient(135deg, #F4F0FE, #FFFFFF);
  border-color: var(--indigo-100, #B49BFA);
}
.cockpit-resolve.is-complete {
  background: linear-gradient(135deg, #F4F0FE, #FFFFFF);
  border-color: rgba(10, 10, 15, 0.32);
}
.cockpit-resolve.is-complete .cockpit-resolve__eyebrow,
.cockpit-resolve.is-complete .cockpit-resolve__step-num {
  color: var(--success, #0A0A0A);
  border-color: var(--success, #0A0A0A);
}

/* Phase 83.4 — coachmark on awaiting_date visit cards explaining the
   "vendor first, dates second" flow. Sits between the vendor header and
   the date inputs. */
.admin-chez__visit-coachmark {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0 0 12px;
  padding: 10px 12px;
  background: var(--salmon-50, #F4F0FE);
  border: 1px solid var(--salmon-pale, #EFEAFE);
  border-radius: 10px;
}
.admin-chez__visit-coachmark strong {
  font: 600 12px var(--sans);
  color: var(--salmon-dark, #5025D1);
}
.admin-chez__visit-coachmark span {
  font: 400 12px/1.5 var(--sans);
  color: var(--text-muted, #6B6B7B);
}

/* Phase 83.5 — "About this case" overview card. Sits between the stage
   tracker and the AI brief, surfacing the entity / vendor / source the
   case is about. Vague-case variant is salmon-tinted. */
.cockpit-overview {
  margin: 16px 24px 0;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--neutral-200, #EDEEF0);
  border-radius: 14px;
}
.cockpit-overview.is-vague {
  background: linear-gradient(135deg, #F4F0FE, #FFFFFF);
  border-color: var(--salmon-pale, #EFEAFE);
}
.cockpit-overview__head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.cockpit-overview__sub {
  font-size: 12px;
  font-style: italic;
  flex: 1;
  min-width: 0;
}
.cockpit-overview__rows {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.cockpit-overview__row {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 12px;
  align-items: baseline;
  font-size: 12px;
}
.cockpit-overview__label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-soft, #A1A1AC);
}
.cockpit-overview__value {
  font-size: 13px;
  color: var(--text, #0A0A0A);
  font-weight: 500;
}
.cockpit-overview-link {
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  color: var(--indigo-500, #6B6B7B);
  font: inherit;
  text-decoration: underline;
}
.cockpit-overview-link:hover { color: var(--indigo, #6938EF); }
.cockpit-overview-warn {
  color: var(--salmon-dark, #5025D1);
  font-weight: 600;
}

/* Phase 83.5 — completed step in the Resolve plan: green check + struck
   through label. */
.cockpit-resolve__step.is-done .cockpit-resolve__step-num {
  border-color: var(--success, #0A0A0A);
  color: var(--success, #0A0A0A);
  background: rgba(10, 10, 15, 0.12);
}
.cockpit-resolve__step.is-done .cockpit-resolve__step-text {
  color: var(--text-muted, #6B6B7B);
  text-decoration: line-through;
}

/* =============================================================================
 * Phase 72.5 — Vendor application review desk
 * Standalone surface mounted into the admin shell's list panel.
 * ========================================================================== */

.admin-vendor-apps {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.admin-vendor-apps__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.admin-vendor-apps__chips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.admin-vendor-apps__chip {
  font: 500 13px/1 var(--sans, system-ui, sans-serif);
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--border, #d8dadf);
  background: var(--surface, #fff);
  color: var(--text, #0A0A0A);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.admin-vendor-apps__chip:hover {
  border-color: var(--indigo, #6938EF);
}

.admin-vendor-apps__chip.is-active {
  background: var(--indigo, #6938EF);
  border-color: var(--indigo, #6938EF);
  color: #fff;
}

.admin-vendor-apps__feedback {
  padding: 12px 16px;
  border-radius: 10px;
  font: 500 14px/1.5 var(--sans, system-ui, sans-serif);
  background: rgba(10, 10, 15, 0.12);
  color: var(--success, #0A0A0A);
  border: 1px solid rgba(10, 10, 15, 0.28);
}

.admin-vendor-apps__feedback[data-kind="error"] {
  background: rgba(105, 56, 239, 0.12);
  color: var(--salmon-dark, #5025D1);
  border-color: rgba(105, 56, 239, 0.32);
}

.admin-vendor-apps__rows {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.admin-vendor-apps__empty {
  padding: 32px 24px;
  text-align: center;
  background: var(--surface, #fff);
  border: 1px dashed var(--border, #d8dadf);
  border-radius: 12px;
}

.admin-vendor-apps__empty--error {
  color: var(--salmon-dark, #5025D1);
  border-color: rgba(105, 56, 239, 0.4);
}

.admin-vendor-apps__row {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #edeef0);
  border-radius: 14px;
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 1px 2px rgba(15, 10, 40, 0.04);
}

.admin-vendor-apps__row-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.admin-vendor-apps__row-title {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.admin-vendor-apps__row-title strong {
  font: 600 17px/1.3 var(--sans, system-ui, sans-serif);
  color: var(--text, #0A0A0A);
}

.admin-vendor-apps__row-website {
  font: 500 12px/1.3 var(--sans, system-ui, sans-serif);
  color: var(--text-muted, #6B6B7B);
  text-decoration: none;
}

.admin-vendor-apps__row-website:hover {
  color: var(--indigo, #6938EF);
  text-decoration: underline;
}

.admin-vendor-apps__row-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px 18px;
}

.admin-vendor-apps__row-cell {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  font: 500 13px/1.4 var(--sans, system-ui, sans-serif);
  color: var(--text, #0A0A0A);
}

.admin-vendor-apps__row-cell a {
  color: var(--text-muted, #6B6B7B);
  text-decoration: none;
}

.admin-vendor-apps__row-cell a:hover {
  color: var(--indigo, #6938EF);
  text-decoration: underline;
}

.admin-vendor-apps__row-label {
  font: 600 11px/1.3 var(--sans, system-ui, sans-serif);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-soft, #A1A1AC);
  margin-bottom: 2px;
}

.admin-vendor-apps__row-states {
  font-feature-settings: "tnum";
}

.admin-vendor-apps__row-note {
  font: 500 13px/1.5 var(--sans, system-ui, sans-serif);
  color: var(--text-muted, #6B6B7B);
  background: var(--bg, #FAFAFC);
  border-left: 3px solid var(--indigo-100, #B49BFA);
  padding: 8px 12px;
  border-radius: 6px;
  margin: 0;
}

.admin-vendor-apps__row-note strong {
  color: var(--text, #0A0A0A);
  margin-right: 4px;
}

.admin-vendor-apps__row-note--reject {
  border-left-color: var(--salmon-pale, #EFEAFE);
  color: var(--salmon-dark, #5025D1);
}

.admin-vendor-apps__row-note--reject strong {
  color: var(--salmon-dark, #5025D1);
}

.admin-vendor-apps__row-meta {
  font: 500 12px/1.4 var(--sans, system-ui, sans-serif);
  margin: 0;
}

.admin-vendor-apps__row-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 4px;
  border-top: 1px solid var(--border, #edeef0);
  margin-top: 4px;
  padding-top: 14px;
}

/* Status pills — re-use admin-pill base, just override colors */

.admin-vendor-apps__status {
  font-weight: 600;
  letter-spacing: 0.02em;
}

.admin-vendor-apps__status--pending_email_confirm {
  background: rgba(105, 56, 239, 0.14);
  color: var(--warning, #6938EF);
  border: 1px solid rgba(105, 56, 239, 0.3);
}

.admin-vendor-apps__status--live_unverified {
  background: var(--indigo-50, #F4F0FE);
  color: var(--indigo, #6938EF);
  border: 1px solid var(--indigo-100, #B49BFA);
}

.admin-vendor-apps__status--chez_certified {
  background: rgba(10, 10, 15, 0.14);
  color: var(--success, #0A0A0A);
  border: 1px solid rgba(10, 10, 15, 0.3);
}

.admin-vendor-apps__status--rejected {
  background: var(--salmon-50, #F4F0FE);
  color: var(--salmon-dark, #5025D1);
  border: 1px solid var(--salmon-pale, #EFEAFE);
}

/* Right-side pill cluster on each row header — completion + status */
.admin-vendor-apps__row-pills {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}

/* Profile-completion pill — three tones tracking how full the profile is.
   ≥80% success / 40-79 indigo / <40 warning. Lets Tom scan the queue and
   pick the most-cookable leads to call first. */
.admin-vendor-apps__completion {
  font-weight: 600;
  letter-spacing: 0.02em;
  font-feature-settings: "tnum";
}

.admin-vendor-apps__completion--success {
  background: rgba(10, 10, 15, 0.14);
  color: var(--success, #0A0A0A);
  border: 1px solid rgba(10, 10, 15, 0.3);
}

.admin-vendor-apps__completion--indigo {
  background: var(--indigo-50, #F4F0FE);
  color: var(--indigo, #6938EF);
  border: 1px solid var(--indigo-100, #B49BFA);
}

.admin-vendor-apps__completion--warning {
  background: rgba(105, 56, 239, 0.14);
  color: var(--warning, #6938EF);
  border: 1px solid rgba(105, 56, 239, 0.3);
}

/* Modal overrides — the admin-modal infrastructure already supplies the
   shell; we just need a label + textarea + inline error styling. */

.admin-vendor-apps__modal-label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 12px;
}

.admin-vendor-apps__modal-label > span {
  font: 600 13px/1.3 var(--sans, system-ui, sans-serif);
  color: var(--text, #0A0A0A);
}

.admin-vendor-apps__modal-label textarea {
  width: 100%;
  min-height: 90px;
  padding: 10px 12px;
  font: 400 14px/1.5 var(--sans, system-ui, sans-serif);
  color: var(--text, #0A0A0A);
  background: var(--surface, #fff);
  border: 1px solid var(--border, #d8dadf);
  border-radius: 8px;
  resize: vertical;
  box-sizing: border-box;
}

.admin-vendor-apps__modal-label textarea:focus {
  outline: none;
  border-color: var(--indigo, #6938EF);
  box-shadow: 0 0 0 3px var(--indigo-50, #F4F0FE);
}

.admin-vendor-apps__modal-error {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  font: 500 13px/1.5 var(--sans, system-ui, sans-serif);
  color: var(--salmon-dark, #5025D1);
  background: var(--salmon-50, #F4F0FE);
  border: 1px solid var(--salmon-pale, #EFEAFE);
}

/* =============================================================================
 * Phase 84 — Households workbench + Upcoming feed
 * ============================================================================= */

/* Households list ---------------------------------------------------------- */

.admin-households__workbench { padding: 0; }

.admin-households__tabs {
  display: flex;
  gap: 4px;
  padding: 4px;
  margin: 12px 16px;
  background: var(--neutral-200, #EDEEF0);
  border-radius: 10px;
  overflow-x: auto;
}
.admin-households__tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  height: 30px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--text-muted, #6B6B7B);
  font: 600 12px var(--sans);
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s;
}
.admin-households__tab.is-active {
  background: #fff;
  color: var(--text, #0A0A0A);
  box-shadow: 0 1px 2px rgba(15, 10, 40, 0.08);
}
.admin-households__tab-count {
  font-size: 11px;
  color: var(--text-soft, #A1A1AC);
  font-weight: 500;
}

.admin-households__panel {
  padding: 0 16px 16px;
}

/* Phase 85 PR 5.1 — clean catalog-style rows. Three columns:
   main / meta / chevron. No inline action button stack — clicking
   a row drills into the focused-detail pane on the right. Density
   matches the Catalog tabs and the cockpit queue. */
.admin-households__entity-row {
  display: grid;
  grid-template-columns: 1fr auto 12px;
  align-items: center;
  gap: 0 12px;
  padding: 10px 14px;
  border-radius: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--border, #EDEEF0);
  margin-bottom: 0;
  min-width: 0;
}
.admin-households__entity-row:last-child {
  border-bottom: 0;
}
.admin-households__entity-row.is-clickable {
  cursor: pointer;
  transition: background-color 80ms ease;
}
.admin-households__entity-row.is-clickable:hover {
  background: var(--surface-hover, #FAFAFC);
}
.admin-households__entity-row.is-active {
  background: rgba(105, 56, 239, 0.06);
}
.admin-households__entity-main {
  grid-column: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.admin-households__entity-main strong {
  font: 600 13px var(--sans);
  color: var(--text, #0A0A0A);
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-households__entity-main span {
  font: 400 11px var(--sans);
  color: var(--text-muted, #6B6B7B);
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-households__entity-meta {
  grid-column: 2;
  font: 500 11px var(--sans);
  color: var(--text-soft, #A1A1AC);
  white-space: nowrap;
}
.admin-households__entity-chevron {
  grid-column: 3;
  font: 400 16px var(--sans);
  color: var(--text-soft, #D8DADF);
  line-height: 1;
}
.admin-households__entity-row.is-clickable:hover .admin-households__entity-chevron {
  color: var(--text-muted, #6B6B7B);
}
/* Owned badge — tiny salmon dot before the title on owned rows. */
.admin-households__owned-badge {
  display: inline-block;
  margin-right: 6px;
  color: var(--brand-strong, #6938EF);
  font: 700 13px var(--sans);
  line-height: 1;
}

.admin-households__section {
  margin: 16px;
  padding: 12px;
  background: var(--bg, #FAFAFC);
  border-radius: 10px;
}
.admin-households__section h4 {
  margin: 0 0 8px;
  font: 600 11px var(--sans);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-soft, #A1A1AC);
}
.admin-households__reminder,
.admin-households__action-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  font: 400 12px var(--sans);
  color: var(--text, #0A0A0A);
}
.admin-households__reminder strong,
.admin-households__action-row strong {
  font-weight: 600;
  text-transform: capitalize;
}

/* Upcoming feed ------------------------------------------------------------ */

.admin-upcoming__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 16px 12px;
  border-bottom: 1px solid var(--border, #EDEEF0);
  margin-bottom: 12px;
}
.admin-upcoming__filter {
  padding: 6px 12px;
  border: 1px solid var(--border, #EDEEF0);
  background: #fff;
  border-radius: 999px;
  cursor: pointer;
  font: 500 11px var(--sans);
  color: var(--text-muted, #6B6B7B);
  transition: all 0.15s;
}
.admin-upcoming__filter.is-active {
  background: var(--indigo, #6938EF);
  color: #fff;
  border-color: var(--indigo, #6938EF);
}
.admin-upcoming__filter:hover { border-color: var(--indigo-500, #6B6B7B); }
.admin-upcoming__add {
  padding: 6px 14px;
  background: var(--salmon, #6938EF);
  color: #fff;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font: 600 11px var(--sans);
  margin-left: auto;
}
.admin-upcoming__add:hover { background: var(--salmon-dark, #5025D1); }

.admin-upcoming__band {
  margin-bottom: 16px;
}
.admin-upcoming__band-label {
  margin: 0 16px 8px;
  font: 600 10px var(--sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-soft, #A1A1AC);
}

.admin-upcoming__row {
  display: grid !important;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px 14px !important;
}
.admin-upcoming__row-icon {
  font-size: 18px;
  width: 32px;
  text-align: center;
}
.admin-upcoming__row-main {
  min-width: 0;
}
.admin-upcoming__row-title {
  font: 600 13px var(--sans);
  color: var(--text, #0A0A0A);
}
.admin-upcoming__row-sub {
  font: 400 12px var(--sans);
  color: var(--text-muted, #6B6B7B);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin-upcoming__row-due {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  font-size: 11px;
}
.admin-upcoming__row-due strong {
  color: var(--text, #0A0A0A);
  font-weight: 600;
}

/* Phase 84.1 — Chez-owned badge + chez-filter chip + row tint so the
   operator can scan the queue and see at a glance what's already a Chez
   commitment vs. a delegation opportunity. */
.admin-upcoming__row-chez {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 7px;
  font: 600 10px/1.4 var(--sans);
  letter-spacing: 0.04em;
  background: var(--salmon-50, #F4F0FE);
  color: var(--salmon-dark, #5025D1);
  border: 1px solid var(--salmon-pale, #EFEAFE);
  border-radius: 999px;
  vertical-align: middle;
}
.admin-upcoming__row--chez {
  border-left: 3px solid var(--salmon, #6938EF);
  background: linear-gradient(90deg, rgba(105, 56, 239, 0.04) 0%, transparent 50%);
}
.admin-upcoming__filter--chez {
  background: var(--salmon-50, #F4F0FE);
  color: var(--salmon-dark, #5025D1);
  border-color: var(--salmon-pale, #EFEAFE) !important;
}
.admin-upcoming__filter--chez:hover {
  border-color: var(--salmon, #6938EF) !important;
}
.admin-upcoming__filter--chez.is-active {
  background: var(--salmon, #6938EF) !important;
  color: #fff !important;
  border-color: var(--salmon, #6938EF) !important;
}


/* ========================================================================
   Phase 84 PR 4 — Workbench action buttons + Project negotiation modal
   ======================================================================== */

.admin-households__entity-actions {
  /* Phase 85 PR 5A — grid_column: 1 / -1 so the actions row spans
     both columns of the parent grid (main + meta) and sits below them.
     Previous `width: 100%` was the cause of the per-character wrap. */
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.admin-households__entity-action {
  font-size: 11px !important;
  padding: 4px 10px !important;
  cursor: pointer;
}
.admin-households__entity-action:hover {
  background: var(--surface-hover, #F4F0FE) !important;
}

.admin-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 10, 10, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
}
.admin-modal {
  background: var(--surface, #FFF);
  border-radius: 16px;
  width: min(720px, 90vw);
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 24px 60px rgba(10, 10, 10, 0.24);
}
.admin-modal--wide {
  width: min(960px, 92vw);
}
.admin-modal__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 22px;
  border-bottom: 1px solid var(--border, #EDEEF0);
}
.admin-modal__head h2 {
  font: 600 16px var(--serif);
  color: var(--text, #0A0A0A);
  margin: 0;
}
.admin-modal__close {
  background: transparent;
  border: 0;
  font-size: 24px;
  color: var(--text-muted, #6B6B7B);
  cursor: pointer;
}
.admin-modal__body {
  padding: 18px 22px;
  overflow-y: auto;
}

.admin-negotiation__quote {
  border: 1px solid var(--border, #EDEEF0);
  border-radius: 12px;
  padding: 14px 16px;
  margin-bottom: 14px;
}
.admin-negotiation__quote-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.admin-negotiation__feed {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}
.admin-negotiation__turn {
  padding: 8px 12px;
  border-radius: 10px;
  background: var(--surface-soft, #FAFAFC);
  border-left: 3px solid var(--brand-soft, #D8DADF);
}
.admin-negotiation__turn--chez {
  border-left-color: var(--brand-strong, #6938EF);
  background: rgba(105, 56, 239, 0.06);
}
.admin-negotiation__turn-from {
  display: inline-block;
  font: 600 10px var(--sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text, #0A0A0A);
}
.admin-negotiation__turn-meta {
  font: 400 11px var(--sans);
  color: var(--text-muted, #6B6B7B);
  margin-left: 8px;
}
.admin-negotiation__turn p {
  margin: 4px 0 0;
  font: 400 13px var(--sans);
  color: var(--text, #0A0A0A);
}
.admin-negotiation__composer {
  display: grid;
  grid-template-columns: 160px 140px 1fr auto;
  gap: 8px;
  align-items: start;
}
.admin-negotiation__composer textarea {
  resize: vertical;
  font: 400 13px var(--sans);
}
.admin-input--narrow {
  max-width: 140px;
}

/* ========================================================================
   Phase 85 PR 5B/5C — workbench toolbar + owned badge + tab counts
   ======================================================================== */

.admin-households__toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px 8px;
}
.admin-households__search {
  flex: 1;
  padding: 6px 10px;
  border: 1px solid var(--border, #EDEEF0);
  border-radius: 8px;
  font: 400 13px var(--sans);
  background: var(--surface, #FFF);
  color: var(--text, #0A0A0A);
}
.admin-households__search:focus {
  outline: none;
  border-color: var(--brand-strong, #6938EF);
  box-shadow: 0 0 0 3px rgba(105, 56, 239, 0.12);
}
.admin-pill--toggle {
  cursor: pointer;
  white-space: nowrap;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--border, #EDEEF0);
  background: var(--surface, #FFF);
  font: 500 11px var(--sans);
  color: var(--text-muted, #6B6B7B);
}
.admin-pill--toggle.is-active {
  background: rgba(105, 56, 239, 0.1);
  border-color: var(--brand-strong, #6938EF);
  color: var(--brand-strong, #6938EF);
}

/* Owned count appears in faint salmon next to the total tab count. */
.admin-households__tab-owned {
  margin-left: 4px;
  font-size: 9px;
  color: var(--brand-strong, #6938EF);
  font-weight: 600;
}

/* ========================================================================
   Phase 85 PR 5F — concierge queue status filter + status pills
   ======================================================================== */

.cockpit-queue__status-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 6px 12px 0;
}
.cockpit-pill--filter {
  font: 500 10px var(--sans);
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid var(--border, #EDEEF0);
  background: transparent;
  color: var(--text-muted, #6B6B7B);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.cockpit-pill--filter.is-active {
  background: var(--text, #0A0A0A);
  border-color: var(--text, #0A0A0A);
  color: #FFF;
}
.cockpit-pill--filter .cockpit-pill__count {
  font-size: 9px;
  opacity: 0.7;
}

/* Two-pill case foot row replaces the single SLA + plain-text awaiting line. */
.cockpit-queue__case-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
}
.cockpit-pill--status {
  font: 500 10px var(--sans);
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid var(--border, #EDEEF0);
}
.cockpit-pill--warning {
  background: rgba(105, 56, 239, 0.10);
  border-color: rgba(105, 56, 239, 0.30);
  color: var(--brand-strong, #6938EF);
}
.cockpit-pill--info {
  background: rgba(105, 56, 239, 0.10);
  border-color: rgba(105, 56, 239, 0.30);
  color: #6938EF;
}
.cockpit-pill--muted {
  background: rgba(107, 107, 123, 0.06);
  border-color: rgba(107, 107, 123, 0.20);
  color: var(--text-muted, #6B6B7B);
}

/* ========================================================================
   Phase 85 PR 5E — workbench action modals
   ======================================================================== */

.admin-modal--sm {
  width: min(520px, 90vw);
}
.admin-modal__form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.admin-modal__field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font: 500 12px var(--sans);
  color: var(--text, #0A0A0A);
}
.admin-modal__field span {
  font-weight: 600;
}
.admin-modal__field input,
.admin-modal__field textarea,
.admin-modal__field select {
  padding: 8px 10px;
  border: 1px solid var(--border, #EDEEF0);
  border-radius: 8px;
  font: 400 13px var(--sans);
  color: var(--text, #0A0A0A);
  background: var(--surface, #FFF);
}
.admin-modal__field input:focus,
.admin-modal__field textarea:focus,
.admin-modal__field select:focus {
  outline: none;
  border-color: var(--brand-strong, #6938EF);
  box-shadow: 0 0 0 3px rgba(105, 56, 239, 0.12);
}
.admin-required {
  color: var(--brand-strong, #6938EF);
}
.admin-modal__buttons {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 8px;
}
.admin-modal__error {
  margin: 0;
  color: #0A0A0A;
  font: 500 12px var(--sans);
}

/* ========================================================================
   Phase 85 PR 5C — focused entity detail panel
   ======================================================================== */

.admin-households__focused {
  padding: 0;
}
.admin-focused__head--compact {
  padding: 12px 16px 4px;
  border-bottom: 0;
}
.admin-households__back-pill {
  cursor: pointer;
  font: 600 11px var(--sans);
  padding: 6px 12px;
  background: var(--surface, #FFF);
  border: 1px solid var(--border, #EDEEF0);
  color: var(--text, #0A0A0A);
}
.admin-households__back-pill:hover {
  background: var(--surface-hover, #F4F0FE);
}

.admin-focused__entity {
  padding: 0 22px 32px;
}
.admin-focused__entity-head {
  margin: 8px 0 18px;
}
.admin-focused__entity-head h2 {
  font: 600 22px var(--serif);
  color: var(--text, #0A0A0A);
  margin: 0 0 8px;
  line-height: 1.2;
}
.admin-focused__entity-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.admin-pill--owned {
  background: rgba(105, 56, 239, 0.12);
  border-color: rgba(105, 56, 239, 0.30);
  color: var(--brand-strong, #6938EF);
}

.admin-focused__field-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 14px 18px;
  padding: 14px 16px;
  background: var(--surface-soft, #FAFAFC);
  border: 1px solid var(--border, #EDEEF0);
  border-radius: 12px;
  margin-bottom: 18px;
}
.admin-focused__field-grid > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.admin-focused__field-grid label {
  font: 600 10px var(--sans);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-soft, #A1A1AC);
}
.admin-focused__field-grid strong {
  font: 600 13px var(--sans);
  color: var(--text, #0A0A0A);
  word-break: break-word;
}

.admin-focused__notes-block {
  margin: 0 0 18px;
  padding: 12px 14px;
  border: 1px solid var(--border, #EDEEF0);
  border-radius: 10px;
  background: var(--surface, #FFF);
}
.admin-focused__notes-block h3 {
  font: 600 10px var(--sans);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-soft, #A1A1AC);
  margin: 0 0 6px;
}
.admin-focused__notes-block p {
  margin: 0;
  font: 400 13px var(--sans);
  color: var(--text, #0A0A0A);
  line-height: 1.45;
  white-space: pre-wrap;
}

.admin-focused__actions {
  margin: 0 0 22px;
}
.admin-focused__actions h3 {
  font: 600 10px var(--sans);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-soft, #A1A1AC);
  margin: 0 0 10px;
}
.admin-focused__action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.admin-pill--secondary {
  background: rgba(105, 56, 239, 0.10);
  border-color: rgba(105, 56, 239, 0.25);
  color: #5025D1;
}

.admin-focused__list-block {
  margin: 0 0 22px;
}
.admin-focused__list-block h3 {
  font: 600 10px var(--sans);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-soft, #A1A1AC);
  margin: 0 0 10px;
}

.admin-modal__field--inline {
  flex-direction: row;
  align-items: center;
  gap: 8px;
}
.admin-modal__field--inline span {
  font-weight: 400;
}

/* ========================================================================
   Phase 85 PR 5.1 — modal intro + date quick-select pills
   ======================================================================== */

.admin-modal__intro {
  margin: 0 0 8px;
  padding: 10px 12px;
  background: rgba(105, 56, 239, 0.06);
  border-left: 3px solid rgba(105, 56, 239, 0.4);
  border-radius: 6px;
  font: 400 12px var(--sans);
  color: var(--text-muted, #6B6B7B);
  line-height: 1.5;
}

.admin-modal__quickpills {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
}
.admin-quickpill {
  font: 500 11px var(--sans);
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--border, #EDEEF0);
  background: var(--surface, #FFF);
  color: var(--text-muted, #6B6B7B);
  cursor: pointer;
  transition: background-color 80ms ease, color 80ms ease, border-color 80ms ease;
}
.admin-quickpill:hover {
  background: var(--surface-hover, #FAFAFC);
  color: var(--text, #0A0A0A);
  border-color: var(--border-strong, #D8DADF);
}
.admin-quickpill.is-active {
  background: var(--text, #0A0A0A);
  border-color: var(--text, #0A0A0A);
  color: #FFF;
}

/* Phase 85 PR 5.1 — clean up the action button styling so the focused
   detail panel's actions read like the cockpit (small, even, salmon
   only on the primary). The list rows no longer use these. */
.admin-pill--action {
  background: var(--text, #0A0A0A);
  border-color: var(--text, #0A0A0A);
  color: #FFF;
  font: 500 11px var(--sans);
  padding: 5px 12px;
}
.admin-pill--action:hover {
  background: rgba(15, 10, 40, 0.86);
}

/* Phase 85 PR 5.1 — Upcoming row active state when its focused detail
   is open in the right pane. */
.admin-upcoming__row.is-active {
  background: rgba(105, 56, 239, 0.08) !important;
  box-shadow: inset 3px 0 0 var(--brand-strong, #6938EF);
}

/* ========================================================================
   Phase 95.1 — collapsed vendor card notes preview
   ======================================================================== */
.cockpit-vendor__notes-preview {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 14px 10px;
  border-top: 1px solid var(--border, #EDEEF0);
  background: rgba(105, 56, 239, 0.03);
}
.cockpit-vendor__notes-label {
  font: 600 9px var(--sans);
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-soft, #A1A1AC);
  white-space: nowrap;
  padding-top: 2px;
}
.cockpit-vendor__notes-text {
  font: 400 12px var(--sans);
  color: var(--text-muted, #6B6B7B);
  line-height: 1.45;
}

/* ========================================================================
   Phase 85.5 — confirm modals, toasts, USD inputs, danger pills, radio modals
   ======================================================================== */

/* Danger-styled confirm button used by destructive case actions (Revoke
   Chez ownership). Pairs with admin-pill base styles. */
.admin-pill--danger {
  background: #5025D1;
  border-color: #5025D1;
  color: #FFF;
  font: 500 11px var(--sans);
  padding: 5px 12px;
}
.admin-pill--danger:hover {
  background: #0A0A0A;
}
.admin-pill[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

/* Required-field asterisk in modal labels. */
.admin-required {
  color: #5025D1;
  font-weight: 600;
}

/* USD input — $ prefix glued to the left of the number input. */
.admin-input-prefix {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--border, #D8DADF);
  border-radius: 8px;
  overflow: hidden;
  background: #FFF;
}
.admin-input-prefix__token {
  display: flex;
  align-items: center;
  padding: 0 10px;
  background: rgba(105, 56, 239, 0.05);
  color: var(--text-muted, #6B6B7B);
  font: 500 13px var(--sans);
  border-right: 1px solid var(--border, #EDEEF0);
}
.admin-input-prefix > .admin-input {
  flex: 1;
  border: none;
  border-radius: 0;
  background: transparent;
}
.admin-input-prefix > .admin-input:focus {
  outline: 2px solid var(--brand-strong, #6938EF);
  outline-offset: -2px;
}

/* Reclassify modal radio rows — replaces the native window.prompt(1-6). */
.admin-modal__radios {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
}
.admin-modal__radio {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--border, #EDEEF0);
  border-radius: 10px;
  cursor: pointer;
  background: #FFF;
  transition: border-color 0.15s, background 0.15s;
}
.admin-modal__radio:hover {
  border-color: var(--brand-strong, #6938EF);
  background: rgba(105, 56, 239, 0.03);
}
.admin-modal__radio input[type="radio"] {
  margin-top: 2px;
  accent-color: var(--brand-strong, #6938EF);
}
.admin-modal__radio strong {
  display: block;
  font: 600 13px var(--sans);
  color: var(--text, #0A0A0A);
  margin-bottom: 2px;
}
.admin-modal__radio .admin-muted {
  font: 400 12px var(--sans);
  color: var(--text-muted, #6B6B7B);
  line-height: 1.4;
}

/* Quick-pill row used by Snooze + Date pickers. */
.admin-modal__quickpills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.admin-quickpill {
  font: 500 11px var(--sans);
  padding: 4px 10px;
  border-radius: 99px;
  border: 1px solid var(--border, #D8DADF);
  background: #FFF;
  color: var(--text, #0A0A0A);
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.admin-quickpill:hover {
  background: rgba(105, 56, 239, 0.05);
  border-color: var(--text, #0A0A0A);
}
.admin-quickpill.is-active {
  background: var(--text, #0A0A0A);
  color: #FFF;
  border-color: var(--text, #0A0A0A);
}

/* Toast host + toasts. Fixed bottom-right of the viewport so they don't
   block the operator's hands. Click-to-dismiss; auto-dismiss after ~3.5s. */
.admin-toast-host {
  position: fixed;
  bottom: 16px;
  right: 16px;
  display: flex;
  flex-direction: column-reverse;
  gap: 8px;
  z-index: 9999;
  pointer-events: none;
}
.admin-toast {
  pointer-events: auto;
  padding: 10px 14px;
  border-radius: 10px;
  font: 500 12px var(--sans);
  line-height: 1.4;
  max-width: 360px;
  box-shadow: 0 8px 24px rgba(15, 10, 40, 0.16);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  cursor: pointer;
}
.admin-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.admin-toast--info {
  background: #0A0A0A;
  color: #FFF;
}
.admin-toast--error {
  background: #5025D1;
  color: #FFF;
}
.admin-toast--success {
  background: #0A0A0A;
  color: #FFF;
}

/* Phase 85.5 fix — older `.admin-modal` definition has `position: fixed`
   for its single-element pattern. New modals nest `admin-modal-overlay >
   admin-modal`; reset position on inner panels so flex centering works. */
.admin-modal-overlay > .admin-modal {
  position: relative;
  inset: auto;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
}
.admin-modal-overlay > .admin-modal.admin-modal--sm {
  width: min(540px, 92vw);
  max-height: 80vh;
}

/* Phase 85.6 Phase C — inline cross-entity link button used on focused
   panels to jump to a linked System / Vendor / etc. Looks like text,
   acts like a button. */
.admin-link-inline {
  background: transparent;
  border: 0;
  padding: 0;
  font: inherit;
  color: var(--brand-strong, #6938EF);
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.admin-link-inline:hover {
  color: var(--text, #0A0A0A);
}

/* Bundle checklist — bulleted list on Task focused panel. */
.admin-focused__checklist {
  list-style: none;
  padding: 0;
  margin: 4px 0 0 0;
}
.admin-focused__checklist li {
  position: relative;
  padding: 4px 0 4px 16px;
  font: 400 13px var(--sans);
  color: var(--text, #0A0A0A);
  line-height: 1.4;
}
.admin-focused__checklist li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--text-muted, #6B6B7B);
}

/* ========================================================================
   Phase 85.7 — Focused-detail panel visual polish
   ========================================================================
   The audit found the focused panel buttons looked nothing like the rest
   of the portal because the admin-pill class is a 10.5pt ultra-bold ALL-
   CAPS chip (meant for tags), not a button. Promote any pill inside an
   action row to proper button styling so Schedule / Mark complete /
   Propose ownership / etc. look like the action buttons elsewhere in
   the portal. */
.admin-focused__action-row .admin-pill {
  background: #FFF;
  border: 1px solid var(--neutral-300, #D8DADF);
  border-radius: 12px;
  color: var(--text, #0A0A0A);
  font: 600 13px var(--sans);
  letter-spacing: 0;
  text-transform: none;
  padding: 9px 14px;
  min-height: 38px;
  gap: 8px;
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, transform 120ms ease;
}
.admin-focused__action-row .admin-pill:hover {
  background: var(--indigo-50, rgba(105, 56, 239, 0.05));
  border-color: var(--text, #0A0A0A);
}
.admin-focused__action-row .admin-pill:active {
  transform: scale(0.98);
}
.admin-focused__action-row .admin-pill[disabled] {
  opacity: 0.4;
  cursor: not-allowed;
}
/* Primary action — salmon fill (matches admin-button--primary). */
.admin-focused__action-row .admin-pill.admin-pill--action {
  background: var(--brand-strong, #6938EF);
  border-color: var(--brand-strong, #6938EF);
  color: #FFF;
  box-shadow: 0 6px 16px rgba(105, 56, 239, 0.25);
}
.admin-focused__action-row .admin-pill.admin-pill--action:hover {
  background: #6938EF;
  border-color: #6938EF;
}
/* Secondary / ghost — muted text on white. */
.admin-focused__action-row .admin-pill.admin-pill--secondary,
.admin-focused__action-row .admin-pill.admin-pill--ghost {
  color: var(--text-muted, #6B6B7B);
}
/* Danger — red outline (used by Revoke Chez ownership). */
.admin-focused__action-row .admin-pill.admin-pill--danger {
  background: #FFF;
  border-color: #5025D1;
  color: #5025D1;
}
.admin-focused__action-row .admin-pill.admin-pill--danger:hover {
  background: rgba(184, 60, 46, 0.06);
}

/* Hide the redundant "Actions" header inside focused panels. The
   buttons themselves are the affordance. */
.admin-focused__entity .admin-focused__actions > h3 {
  display: none;
}

/* Field grid + section block spacing — tighter, more elegant. */
.admin-focused__entity {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 24px 28px;
}
.admin-focused__entity-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-bottom: 4px;
}
.admin-focused__entity-head h2 {
  font: 700 22px var(--serif);
  color: var(--text, #0A0A0A);
  margin: 0;
}
.admin-focused__entity-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
/* Meta pills (the small chips next to the title — "★ Chez owns",
   category badge, etc.) keep their existing tiny-chip look since they
   ARE tags, not buttons. */

.admin-focused__field-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px 24px;
  padding: 16px 18px;
  background: rgba(105, 56, 239, 0.025);
  border-radius: 14px;
  border: 1px solid var(--neutral-200, #EDEEF0);
}
.admin-focused__field-grid > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.admin-focused__field-grid label {
  font: 600 10px var(--sans);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted, #6B6B7B);
}
.admin-focused__field-grid strong {
  font: 500 14px var(--sans);
  color: var(--text, #0A0A0A);
}

/* List block (Service history, Custom additions, etc.). */
.admin-focused__list-block {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.admin-focused__list-block > h3 {
  font: 600 10px var(--sans);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted, #6B6B7B);
  margin: 0 0 4px 0;
}

/* Notes block — homeowner notes / description / etc. */
.admin-focused__notes-block {
/* ============================================================================
 * Phase 86A — Today command center + Home Overview
 * ============================================================================
 * Today is the new default landing — cross-home triage replacing the old
 * Quiz Builder default. Three stacked sections (Needs you now, Today's
 * visits, Coming up). Home Overview is the new default workbench tab —
 * address as masthead, contacts, standing instructions, coverage tiles,
 * open cases, recent activity. Both surfaces lean on the same shared
 * tones (red / amber / muted / green) defined earlier; new tones below.
 * ============================================================================ */

/* --- Extra pill tones used by Today + Overview. The base
   .admin-pill[data-tone="red|amber|muted|green"] rules live around L6045;
   we add `indigo` and `yellow` here so urgency steps read clearly. --- */
.admin-pill[data-tone="indigo"] {
  background: var(--indigo-100, #B49BFA);
  color: var(--indigo, #6938EF);
}
.admin-pill[data-tone="yellow"] {
  background: rgba(105, 56, 239, 0.10);
  color: #5025D1;
}

/* --- Today greeting card --- */
.admin-today {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.admin-today__greeting {
  align-items: center;
  background: linear-gradient(135deg, var(--indigo) 0%, var(--indigo-700) 100%);
  border-radius: var(--radius);
  color: #fff;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  padding: 28px 32px;
}

.admin-today__greeting-text { flex: 1; }

.admin-today__greeting-eyebrow {
  color: rgba(255, 255, 255, 0.7);
  display: block;
  font: 700 11px / 1 var(--sans);
  letter-spacing: 0.14em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.admin-today__greeting h2 {
  color: #fff;
  font: 700 28px / 1.15 var(--serif);
  margin: 0 0 6px;
}

.admin-today__greeting p {
  color: rgba(255, 255, 255, 0.85);
  font: 400 15px / 1.4 var(--sans);
  margin: 0;
}

.admin-today__refresh {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: var(--radius-sm);
  color: #fff;
  cursor: pointer;
  font: 600 12px var(--sans);
  padding: 10px 14px;
  transition: background 160ms ease;
}
.admin-today__refresh:hover { background: rgba(255, 255, 255, 0.22); }

/* --- Today sections --- */
.admin-today__section {
  background: var(--white);
  border: 1px solid var(--neutral-200);
  border-radius: var(--radius);
  padding: 24px;
}

.admin-today__sec-head {
  align-items: center;
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
}

.admin-today__sec-head h3 {
  color: var(--text);
  font: 700 17px / 1 var(--serif);
  margin: 0;
}

.admin-today__sec-count {
  background: var(--indigo-50);
  border-radius: 999px;
  color: var(--indigo);
  font: 700 11px / 1 var(--sans);
  padding: 4px 10px;
}

.admin-today__empty {
  color: var(--text-muted);
  font: 400 14px / 1.5 var(--sans);
  margin: 0;
  padding: 12px 0;
}

/* --- Today row (case / visit / message) --- */
.admin-today__rows {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.admin-today__row {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--neutral-200);
  border-radius: var(--radius-sm);
  color: var(--text);
  cursor: pointer;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 14px 16px;
  text-align: left;
  transition: background 160ms ease, border-color 160ms ease, transform 80ms ease;
  width: 100%;
}

.admin-today__row:hover {
  background: var(--indigo-50);
  border-color: var(--indigo-100);
}
.admin-today__row:active { transform: scale(0.997); }

/* SLA-overdue rows get a salmon left-border per brand discipline: salmon is
   reserved for action/urgency. Uses :has() — graceful no-op on browsers
   without support; the pill itself still communicates severity. */
.admin-today__row:has(.admin-pill[data-tone="red"]) {
  background: var(--salmon-50);
  border-color: var(--salmon-pale);
  box-shadow: inset 3px 0 0 var(--salmon);
}

.admin-today__row-left {
  align-items: flex-start;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.admin-today__row-right {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  gap: 8px;
}

.admin-today__row-title {
  color: var(--text);
  font: 600 14px / 1.3 var(--sans);
  margin: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-today__row-sub {
  color: var(--text-muted);
  font: 400 12px / 1.4 var(--sans);
}

.admin-today__row-excerpt {
  color: var(--text-soft);
  font: 400 12px / 1.4 var(--sans);
  font-style: italic;
  margin-top: 4px;
}

.admin-today__row-time {
  color: var(--indigo);
  font: 700 13px / 1 var(--sans);
}

.admin-today__row-time--compact {
  background: var(--indigo-50);
  border-radius: var(--radius-sm);
  padding: 4px 8px;
}

.admin-today__chip {
  background: var(--indigo-50);
  border-radius: 999px;
  color: var(--indigo);
  font: 600 11px / 1 var(--sans);
  padding: 4px 8px;
}

.admin-today__chevron {
  color: var(--text-muted);
  font: 600 16px / 1 var(--sans);
}

.admin-today__row--compact { padding: 10px 14px; }

.admin-today__day-block { margin-bottom: 16px; }
.admin-today__day-block:last-child { margin-bottom: 0; }

.admin-today__day-label {
  color: var(--text-muted);
  font: 700 11px / 1 var(--sans);
  letter-spacing: 0.12em;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.admin-today__view-all {
  background: transparent;
  border: none;
  color: var(--indigo);
  cursor: pointer;
  display: block;
  font: 600 13px var(--sans);
  margin-top: 16px;
  padding: 0;
  text-align: left;
  width: 100%;
}
.admin-today__view-all:hover { color: var(--indigo-700); }

/* Stat tile clickable variant — used by the Today header tiles that jump
   the page to their matching section. */
.admin-stat.admin-stat--clickable {
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease;
}
.admin-stat.admin-stat--clickable:hover {
  background: var(--indigo-50);
}

/* ============================================================================
 * Phase 86A — Home Overview (workbench's default tab)
 * ============================================================================ */
.admin-overview {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.admin-overview__masthead {
  align-items: center;
  background: linear-gradient(135deg, var(--white) 0%, var(--cream) 100%);
  border: 1px solid var(--neutral-200);
  border-radius: var(--radius);
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding: 28px 32px;
}

.admin-overview__address { flex: 1; }

.admin-overview__eyebrow {
  color: var(--text-muted);
  display: block;
  font: 700 10px / 1 var(--sans);
  letter-spacing: 0.16em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.admin-overview__address h2 {
  color: var(--text);
  font: 700 26px / 1.15 var(--serif);
  margin: 0;
}

.admin-overview__quick-actions {
  align-items: center;
  display: flex;
  gap: 10px;
}

/* Overview-specific quick-action pill. Distinct from .admin-pill--action
   (already used elsewhere as an indigo-fill CTA) — this one is a softer
   indigo-50 fill, sized for the masthead. */
.admin-overview__quick-actions .admin-pill--action {
  background: var(--indigo-50);
  border: 1px solid var(--indigo-100);
  color: var(--indigo);
  font: 600 12px var(--sans);
  padding: 8px 14px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease;
}
.admin-overview__quick-actions .admin-pill--action:hover {
  background: var(--indigo-100);
}

.admin-overview__grid {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1.4fr;
}
@media (max-width: 860px) {
  .admin-overview__grid { grid-template-columns: 1fr; }
}

.admin-overview__section {
  background: var(--white);
  border: 1px solid var(--neutral-200);
  border-radius: var(--radius);
  padding: 20px 22px;
}

.admin-overview__section h4 {
  color: var(--text);
  font: 700 13px / 1 var(--sans);
  letter-spacing: 0.08em;
  margin: 0 0 14px;
  text-transform: uppercase;
}

.admin-overview__empty {
  color: var(--text-muted);
  font: 400 13px / 1.5 var(--sans);
  margin: 0;
}

.admin-overview__about {
  color: var(--text);
  font: 400 14px / 1.55 var(--sans);
  margin: 0 0 16px;
}

.admin-overview__inst-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.admin-overview__inst-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-overview__inst-label {
  color: var(--text-muted);
  font: 700 11px / 1 var(--sans);
  letter-spacing: 0.08em;
  min-width: 70px;
  text-transform: uppercase;
}

.admin-overview__inst-note {
  font-size: 12px;
  margin-left: 4px;
}

.admin-overview__contact-row {
  align-items: center;
  background: var(--pearl);
  border-radius: var(--radius-sm);
  display: flex;
  gap: 10px;
  margin-bottom: 8px;
  padding: 10px 14px;
}
.admin-overview__contact-row:last-child { margin-bottom: 0; }

.admin-overview__contact-row strong {
  color: var(--text);
  font: 600 13px var(--sans);
}

.admin-overview__coverage-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 720px) {
  .admin-overview__coverage-grid { grid-template-columns: repeat(2, 1fr); }
}

.admin-overview__coverage-tile {
  background: var(--pearl);
  border: 1px solid var(--neutral-200);
  border-radius: var(--radius-sm);
  cursor: pointer;
  padding: 16px 14px;
  text-align: left;
  transition: background 160ms ease, border-color 160ms ease, transform 80ms ease;
}
.admin-overview__coverage-tile:hover {
  background: var(--indigo-50);
  border-color: var(--indigo-100);
}
.admin-overview__coverage-tile:active { transform: scale(0.99); }

.admin-overview__cov-num {
  color: var(--text);
  display: block;
  font: 700 24px / 1 var(--serif);
  margin-bottom: 6px;
}

.admin-overview__cov-of {
  color: var(--text-muted);
  font: 400 14px var(--sans);
}

.admin-overview__cov-label {
  color: var(--text-muted);
  font: 600 11px / 1 var(--sans);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-overview__cases {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.admin-overview__case-row {
  align-items: center;
  background: var(--pearl);
  border: 1px solid var(--neutral-200);
  border-radius: var(--radius-sm);
  color: var(--text);
  cursor: pointer;
  display: flex;
  gap: 12px;
  padding: 10px 14px;
  text-align: left;
  transition: background 160ms ease, border-color 160ms ease;
  width: 100%;
}
.admin-overview__case-row:hover {
  background: var(--indigo-50);
  border-color: var(--indigo-100);
}
.admin-overview__case-row strong {
  font: 600 13px var(--sans);
}
.admin-overview__case-row .admin-muted {
  margin-left: auto;
  margin-right: 8px;
}

.admin-overview__chevron {
  color: var(--text-muted);
  font: 600 14px / 1 var(--sans);
}

.admin-overview__activity {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.admin-focused__notes-block h3 {
  font: 600 10px var(--sans);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted, #6B6B7B);
  margin: 0;
}
.admin-focused__notes-block p {
  font: 400 14px var(--sans);
  color: var(--text, #0A0A0A);
  line-height: 1.55;
  margin: 0;
  padding: 12px 14px;
  background: rgba(105, 56, 239, 0.025);
  border-radius: 10px;
  border: 1px solid var(--neutral-200, #EDEEF0);
}

/* Action row layout. */
.admin-focused__action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.admin-focused__action-row + .admin-focused__action-row {
  margin-top: 6px;
}

/* "Back" pill at the top of error / synthetic focused panels — keeps
   its compact pill look since it's navigation, not an action. */
.admin-focused__head .admin-pill {
  /* Override the action-row promotion: we're not inside __action-row. */
}

/* ========================================================================
   Phase 85.8 — Concierge queue card household label
   ========================================================================
   Operator scans the queue rail with eyes-down; surfaces which house
   each case belongs to at the top of every card. Pre-fix the card
   showed category + ID + title + SLA but no household identity at all.
   The label is a thin top-row ribbon so it doesn't eat much vertical
   space but is the first thing read. */
.cockpit-queue__case-household {
  font: 600 11px var(--sans);
  color: var(--text, #0A0A0A);
  letter-spacing: 0.01em;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.cockpit-queue__case-homeowner {
  font-weight: 400;
  color: var(--text-muted, #6B6B7B);
}
.cockpit-queue__case.is-active .cockpit-queue__case-household {
  color: var(--brand-strong, #6938EF);

.admin-overview__activity-row {
  align-items: baseline;
  background: var(--pearl);
  border-radius: var(--radius-sm);
  display: flex;
  gap: 12px;
  padding: 8px 14px;
}

.admin-overview__activity-row strong { font: 600 13px var(--sans); }

.admin-overview__reminder-row {
  align-items: baseline;
  background: var(--pearl);
  border-radius: var(--radius-sm);
  display: flex;
  gap: 12px;
  margin-bottom: 6px;
  padding: 8px 14px;
}

/* ============================================================================
 * Phase 86B — Slash composer picker + tag chips
 * ============================================================================ */

.cockpit-slash-picker {
  background: var(--white, #fff);
  border: 1px solid var(--neutral-200, #EDEEF0);
  border-radius: var(--radius-sm, 10px);
  box-shadow: 0 12px 36px rgba(15, 10, 40, 0.18);
  max-height: 320px;
  overflow-y: auto;
  padding: 6px;
}

.cockpit-slash-picker__row {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: var(--text, #0A0A0A);
  cursor: pointer;
  display: flex;
  font: 400 13px var(--sans);
  gap: 12px;
  padding: 10px 12px;
  text-align: left;
  transition: background 120ms ease;
  width: 100%;
}
.cockpit-slash-picker__row.is-active,
.cockpit-slash-picker__row:hover {
  background: var(--indigo-50, #F4F0FE);
}

.cockpit-slash-picker__row-left {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 130px;
}

.cockpit-slash-picker__row strong {
  color: var(--indigo, #6938EF);
  font: 600 13px var(--mono, ui-monospace, monospace);
}

.cockpit-slash-picker__preview {
  color: var(--text-muted, #6B6B7B);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cockpit-slash-picker__empty {
  color: var(--text-muted);
  font: 400 13px var(--sans);
  padding: 14px;
}

/* --- Tag chips on case header --- */
.cockpit-tags {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 4px;
}

.cockpit-tag-chip {
  align-items: center;
  background: var(--neutral-200, #EDEEF0);
  border: 0;
  border-radius: 999px;
  color: var(--text-muted, #6B6B7B);
  cursor: pointer;
  display: inline-flex;
  font: 600 11px var(--sans);
  gap: 5px;
  padding: 4px 10px;
  transition: background 120ms ease, color 120ms ease;
}
.cockpit-tag-chip:hover { background: rgba(105, 56, 239, 0.16); }

.cockpit-tag-chip__x {
  font-size: 14px;
  line-height: 1;
  margin-left: 2px;
}

.cockpit-tag-chip--add {
  background: transparent;
  border: 1px dashed var(--neutral-300, #D8DADF);
  color: var(--text-muted, #6B6B7B);
}
.cockpit-tag-chip--add:hover {
  background: var(--indigo-50, #F4F0FE);
  border-color: var(--indigo-100, #B49BFA);
  color: var(--indigo, #6938EF);
}

/* Color variants — one per tag_definitions.color enum value. */
.cockpit-tag-chip--indigo { background: var(--indigo-100, #B49BFA); color: var(--indigo, #6938EF); }
.cockpit-tag-chip--salmon { background: var(--salmon-pale, #EFEAFE); color: #5025D1; }
.cockpit-tag-chip--amber  { background: rgba(105, 56, 239, 0.14); color: #5025D1; }
.cockpit-tag-chip--green  { background: rgba(10, 10, 15, 0.14); color: #0A0A0A; }
.cockpit-tag-chip--red    { background: rgba(105, 56, 239, 0.12); color: #5025D1; }
.cockpit-tag-chip--muted  { background: var(--neutral-200, #EDEEF0); color: var(--text-muted, #6B6B7B); }

/* --- Tag picker dropdown --- */
.cockpit-tag-picker {
  background: var(--white, #fff);
  border: 1px solid var(--neutral-200, #EDEEF0);
  border-radius: var(--radius-sm, 10px);
  box-shadow: 0 12px 36px rgba(15, 10, 40, 0.18);
  max-width: 280px;
  padding: 8px;
}

.cockpit-tag-picker__head {
  color: var(--text-muted, #6B6B7B);
  font: 700 10px var(--sans);
  letter-spacing: 0.12em;
  padding: 6px 8px 10px;
  text-transform: uppercase;
}

.cockpit-tag-picker__row {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  gap: 8px;
  justify-content: space-between;
  padding: 6px 8px;
  text-align: left;
  width: 100%;
}
.cockpit-tag-picker__row:hover {
  background: var(--indigo-50, #F4F0FE);
}

/* ============================================================================
 * Phase 86C — Vendor card action buttons (Email / Counter)
 * ============================================================================ */
.cockpit-vendor__act {
  background: var(--indigo-50, #F4F0FE);
  border: 1px solid var(--indigo-100, #B49BFA);
  border-radius: 6px;
  color: var(--indigo, #6938EF);
  cursor: pointer;
  font: 600 11px var(--sans);
  margin-left: 6px;
  padding: 4px 10px;
  transition: background 120ms ease, border-color 120ms ease;
}
.cockpit-vendor__act:hover {
  background: var(--indigo-100, #B49BFA);
  border-color: var(--indigo, #6938EF);
}
.cockpit-vendor__act--counter {
  background: var(--salmon-50, #F4F0FE);
  border-color: var(--salmon-pale, #EFEAFE);
  color: #5025D1;
}
.cockpit-vendor__act--counter:hover {
  background: var(--salmon-pale, #EFEAFE);
  border-color: var(--salmon, #6938EF);
}

.cockpit-vendor__form-feedback {
  font-size: 12px;
  margin-top: 8px;
}

/* ============================================================================
 * Phase 86E.2 — Queue rail tag chip filter
 * ============================================================================
 * Renders below the All/Mine/Urgent tabs on the cockpit queue rail.
 * Each chip toggles a tag-scoped filter on the queue list.
 * ============================================================================ */
.cockpit-queue__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 8px;
  padding: 0 2px;
}

.cockpit-queue-tag {
  cursor: pointer;
  font-size: 10px;
  padding: 3px 8px;
  transition: opacity 120ms ease, box-shadow 120ms ease;
}
.cockpit-queue-tag:hover { opacity: 0.85; }
.cockpit-queue-tag.is-active {
  box-shadow: 0 0 0 2px var(--indigo-700, #8B6FF5);
}

.cockpit-queue-tag--clear {
  background: transparent;
  border: 1px dashed var(--neutral-300, #D8DADF);
  color: var(--text-muted, #6B6B7B);
}
.cockpit-queue-tag--clear:hover {
  background: var(--indigo-50, #F4F0FE);
  color: var(--indigo, #6938EF);
}
