:root {
  --canvas: #f6f7f5;
  --canvas-warm: #f0f2eb;
  --canvas-soft: #f4f6f4;
  --soft-accent: #eef6f2;
  --surface: #ffffff;
  --surface-card: #fdfcf9;
  --surface-soft: #f4f6f4;
  --surface-muted: #f8f9f7;
  --surface-strong: #102620;
  --surface-strong-hover: #16362e;
  --ink-primary: #0d1714;
  --ink-secondary: #4a5c54;
  --ink-tertiary: #71827a;
  --ink-inverse: #f8faf9;
  --line-subtle: #e4ebe7;
  --line-strong: #cbd4cf;
  --action-primary: #156857;
  --action-primary-hover: #115245;
  --action-primary-soft: rgba(21, 104, 87, 0.08);
  --action-secondary: #f4f7f6;
  --accent-gold: #c4832d;
  --accent-gold-soft: rgba(196, 131, 45, 0.11);
  --accent-gold-muted: #a06c2d;
  --accent-copper: #81511d;
  --line-gold: rgba(196, 131, 45, 0.34);
  --text-gold: #81511d;
  --text-gold-dark: #e4bc78;
  --ring-gold: rgba(196, 131, 45, 0.25);
  --icon-dark-primary: #f3ead8;
  --icon-dark-secondary: rgba(181, 205, 188, 0.72);
  --icon-dark-muted: rgba(181, 205, 188, 0.5);
  --icon-dark-accent: #d7a95e;
  --focus-ring: var(--accent-gold);
  --focus-ring-soft: var(--ring-gold);
  --font-body: 'Instrument Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-heading: 'Instrument Sans', 'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-headings: var(--font-heading);

  --state-success: #156653;
  --state-success-soft: rgba(21, 102, 83, 0.1);
  --state-warning: #9e6412;
  --state-warning-soft: rgba(158, 100, 18, 0.12);
  --state-danger: #ab3333;
  --state-danger-soft: rgba(171, 51, 51, 0.08);
  --state-sensitive: #75511e;
  --state-sensitive-soft: rgba(117, 81, 30, 0.1);
  --state-audit: #295c55;
  --state-audit-soft: rgba(41, 92, 85, 0.12);

  --radius-control: 8px;
  --radius-panel: 12px;
  --radius-l: 14px;

  --shadow-subtle: 0 1px 2px rgba(16, 38, 32, 0.04), 0 2px 4px rgba(16, 38, 32, 0.03);
  --shadow-raised: 0 4px 6px -1px rgba(16, 38, 32, 0.06), 0 10px 15px -3px rgba(16, 38, 32, 0.08);
  --shadow-floating: 0 12px 24px -4px rgba(16, 38, 32, 0.12);
  --workspace-canvas: linear-gradient(180deg, #fbfcfa 0%, #f3f6f1 42%, #eef3ee 100%);
  --workspace-surface: var(--surface);
  --workspace-surface-raised: #fffefa;
  --workspace-surface-muted: #f2f5f1;
  --workspace-focus-surface: #fff8ed;
  --workspace-rail-surface: #f7f9f6;
  --workspace-command-surface: #fffaf1;
  --workspace-line: rgba(16, 38, 32, 0.08);
  --workspace-line-strong: rgba(16, 38, 32, 0.14);
  --workspace-focus-line: rgba(196, 131, 45, 0.34);
  --workspace-shadow-surface: 0 12px 28px -24px rgba(16, 38, 32, 0.32);
  --workspace-shadow-focus: 0 18px 34px -26px rgba(129, 81, 29, 0.42);
  --workspace-gap-compact: 0.8rem;
  --workspace-gap: 1.15rem;
  --workspace-gap-loose: 1.45rem;

  --bg: var(--canvas);
  --panel: var(--surface);
  --panel-soft: var(--surface-soft);
  --ink: var(--ink-primary);
  --muted: var(--ink-secondary);
  --line: var(--line-subtle);
  --accent: var(--action-primary);
  --accent-ink: var(--ink-inverse);
  --warn: var(--state-warning);
  --danger: var(--state-danger);
  --shadow: var(--shadow-raised);

}

/* Dark Theme Variables Override */
html[data-theme="dark"] {
  --canvas: #080e0c;
  --canvas-warm: #0c1311;
  --canvas-soft: #0f1815;
  --soft-accent: #131f1c;
  --surface: #0f1b18;
  --surface-card: #13221e;
  --surface-soft: #172924;
  --surface-muted: #111d1a;
  --surface-strong: #060b09;
  --surface-strong-hover: #0a110e;
  --ink-primary: #f8fafc;
  --ink-secondary: #94a3b8;
  --ink-tertiary: #64748b;
  --ink-inverse: #080e0c;
  --line-subtle: rgba(255, 255, 255, 0.08);
  --line-strong: rgba(255, 255, 255, 0.16);
  --action-primary: #f59e0b;
  --action-primary-hover: #fbbf24;
  --action-primary-soft: rgba(245, 158, 11, 0.15);
  --action-secondary: #14221f;
  --accent-gold: #f59e0b;
  --accent-gold-soft: rgba(245, 158, 11, 0.14);
  --accent-gold-muted: #d97706;
  --accent-copper: #d97706;
  --line-gold: rgba(245, 158, 11, 0.4);
  --text-gold: #fbbf24;
  --text-gold-dark: #f59e0b;
  --ring-gold: rgba(245, 158, 11, 0.35);
  --focus-ring: var(--accent-gold);
  --focus-ring-soft: var(--ring-gold);

  --state-success: #10b981;
  --state-success-soft: rgba(16, 185, 129, 0.14);
  --state-warning: #f59e0b;
  --state-warning-soft: rgba(245, 158, 11, 0.14);
  --state-danger: #f43f5e;
  --state-danger-soft: rgba(244, 63, 94, 0.14);
  --state-sensitive: #f59e0b;
  --state-sensitive-soft: rgba(245, 158, 11, 0.14);
  --state-audit: #38bdf8;
  --state-audit-soft: rgba(56, 189, 248, 0.14);
  --workspace-canvas: radial-gradient(circle at 50% 0%, #11231f 0%, #080e0c 75%);
  --workspace-surface: #0f1b18;
  --workspace-surface-raised: #13221e;
  --workspace-surface-muted: #111d1a;
  --workspace-focus-surface: #182c27;
  --workspace-rail-surface: #070c0a;
  --workspace-command-surface: #142521;
  --workspace-line: rgba(255, 255, 255, 0.08);
  --workspace-line-strong: rgba(255, 255, 255, 0.15);
  --workspace-focus-line: rgba(245, 158, 11, 0.45);
  --workspace-shadow-surface: 0 10px 25px -5px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.08);
  --workspace-shadow-focus: 0 14px 28px -5px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(245, 158, 11, 0.4);
  color-scheme: dark;
  --accent-ink: #ffffff;
}

/* Dark Mode Interactive Controls (CloserPadi Polish) */
html[data-theme="dark"] .button-link,
html[data-theme="dark"] button[type="submit"]:not(.secondary):not(.danger),
html[data-theme="dark"] button.primary:not(.secondary):not(.danger) {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
  border: 1px solid rgba(245, 158, 11, 0.6) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 14px rgba(217, 119, 6, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}

html[data-theme="dark"] .button-link:hover,
html[data-theme="dark"] button[type="submit"]:not(.secondary):not(.danger):hover,
html[data-theme="dark"] button.primary:not(.secondary):not(.danger):hover {
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%) !important;
  border-color: rgba(251, 191, 36, 0.8) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 20px rgba(245, 158, 11, 0.48) !important;
  transform: translateY(-1px);
}

html[data-theme="dark"] .button-link-secondary,
html[data-theme="dark"] a.button-secondary,
html[data-theme="dark"] button.secondary {
  background: #14221f !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #e2e8f0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

html[data-theme="dark"] .button-link-secondary:hover,
html[data-theme="dark"] a.button-secondary:hover,
html[data-theme="dark"] button.secondary:hover {
  background: #1c302b !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

html[data-theme="dark"] .button-link-outline {
  background: transparent !important;
  border: 1px solid rgba(245, 158, 11, 0.4) !important;
  color: #fbbf24 !important;
}

html[data-theme="dark"] .button-link-outline:hover {
  background: rgba(245, 158, 11, 0.12) !important;
  border-color: #f59e0b !important;
  color: #fde68a !important;
  transform: translateY(-1px);
}

/* App Shell Luxury Polish */
html[data-theme="dark"] .sidebar {
  background: linear-gradient(180deg, #070c0a 0%, #050807 100%) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 4px 0 24px rgba(0, 0, 0, 0.4) !important;
}

html[data-theme="dark"] .brand {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .sidebar .brand-mark {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.2) 0%, rgba(217, 119, 6, 0.08) 100%) !important;
  border: 1px solid rgba(245, 158, 11, 0.45) !important;
  color: #fbbf24 !important;
  box-shadow: 0 0 14px rgba(245, 158, 11, 0.2) !important;
}

html[data-theme="dark"] .nav-link {
  color: #94a3b8 !important;
}

html[data-theme="dark"] .nav-link:hover {
  background: rgba(255, 255, 255, 0.04) !important;
  color: #f8fafc !important;
}

html[data-theme="dark"] .nav-link.active,
html[data-theme="dark"] .nav-submenu.active .nav-submenu-main {
  background: linear-gradient(90deg, rgba(245, 158, 11, 0.14) 0%, rgba(245, 158, 11, 0.03) 100%) !important;
  border-left: 3px solid #f59e0b !important;
  color: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

html[data-theme="dark"] .nav-link.active .nav-icon svg,
html[data-theme="dark"] .nav-submenu.active .nav-icon svg {
  color: #fbbf24 !important;
  filter: drop-shadow(0 0 6px rgba(245, 158, 11, 0.4));
}

html[data-theme="dark"] .sidebar-product-support {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.1) 0%, rgba(217, 119, 6, 0.04) 100%) !important;
  border: 1px solid rgba(245, 158, 11, 0.3) !important;
  box-shadow: inset 3px 0 0 #f59e0b, 0 4px 12px rgba(0, 0, 0, 0.2) !important;
}

html[data-theme="dark"] .sidebar-product-support:hover {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.16) 0%, rgba(217, 119, 6, 0.08) 100%) !important;
  border-color: rgba(245, 158, 11, 0.5) !important;
}

html[data-theme="dark"] .sidebar-product-support-icon {
  background: rgba(245, 158, 11, 0.16) !important;
  border: 1px solid rgba(245, 158, 11, 0.35) !important;
  color: #fbbf24 !important;
}

html[data-theme="dark"] .operator-card {
  background: #0f1b18 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

html[data-theme="dark"] .operator-avatar {
  background: linear-gradient(135deg, #162622 0%, #0d1715 100%) !important;
  border: 1px solid rgba(245, 158, 11, 0.3) !important;
  color: #fbbf24 !important;
}

html[data-theme="dark"] .operator-link,
html[data-theme="dark"] .operator-signout {
  background: #14221f !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: #cbd5e1 !important;
}

html[data-theme="dark"] .operator-link:hover,
html[data-theme="dark"] .operator-signout:hover {
  background: #1c302b !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  color: #ffffff !important;
}

html[data-theme="dark"] .topbar {
  background: rgba(15, 27, 24, 0.88) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

html[data-theme="dark"] .topbar-context-mark {
  background: rgba(245, 158, 11, 0.14) !important;
  border: 1px solid rgba(245, 158, 11, 0.35) !important;
  color: #fbbf24 !important;
}

html[data-theme="dark"] .page-header::before {
  background: linear-gradient(180deg, #f59e0b, #d97706) !important;
}

/* Dark Theme Overrides for Components with Gradients */
html[data-theme="dark"] .lead-filter-panel {
  background:
    linear-gradient(180deg, rgba(27, 122, 102, 0.04), rgba(7, 19, 16, 0.6)),
    var(--panel);
}

html[data-theme="dark"] .notice-panel {
  background:
    linear-gradient(180deg, rgba(41, 92, 85, 0.08), rgba(27, 122, 102, 0.04)),
    var(--surface-muted);
}

html[data-theme="dark"] .lead-note-disclosure summary,
html[data-theme="dark"] .lead-history-disclosure summary,
html[data-theme="dark"] .lead-secondary-actions-disclosure summary {
  background: linear-gradient(180deg, var(--surface), var(--surface-soft));
}

/* Dark Theme Component Overrides */
html[data-theme="dark"] .identity-avatar,
html[data-theme="dark"] .lead-card-avatar,
html[data-theme="dark"] .initials-avatar-squircle,
html[data-theme="dark"] .member-profile-avatar,
html[data-theme="dark"] .lead-profile-avatar-large {
  background: linear-gradient(135deg, #182230 0%, #111722 100%);
  color: var(--text-gold);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .lead-card-title .micro-label.interest-cold {
  color: #38bdf8;
}

html[data-theme="dark"] .input-shell {
  background: var(--surface-soft);
  border-color: var(--line-subtle);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25);
}

html[data-theme="dark"] .login-security-note {
  background: var(--surface-soft);
  color: var(--text-gold);
  border: 1px solid var(--line-gold);
}

/* Leads Follow-up & Context Overrides */
html[data-theme="dark"] .lead-card-context-line .context-icon {
  background-color: var(--surface-soft);
  color: var(--ink-secondary);
}

html[data-theme="dark"] .lead-card-next-follow-up-danger {
  background: linear-gradient(135deg, rgba(244, 63, 94, 0.14) 0%, rgba(244, 63, 94, 0.05) 100%);
  border: 1px solid rgba(244, 63, 94, 0.28);
  color: #fb7185;
}
html[data-theme="dark"] .lead-card-next-follow-up-danger .touch-band-badge {
  background-color: rgba(244, 63, 94, 0.22);
  color: #fda4af;
  border: 1px solid rgba(244, 63, 94, 0.35);
}

html[data-theme="dark"] .lead-card-next-follow-up-warning {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.14) 0%, rgba(245, 158, 11, 0.05) 100%);
  border: 1px solid rgba(245, 158, 11, 0.28);
  color: #fbbf24;
}
html[data-theme="dark"] .lead-card-next-follow-up-warning .touch-band-badge {
  background-color: rgba(245, 158, 11, 0.22);
  color: #fde68a;
  border: 1px solid rgba(245, 158, 11, 0.35);
}

html[data-theme="dark"] .lead-card-next-follow-up-upcoming {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.14) 0%, rgba(16, 185, 129, 0.05) 100%);
  border: 1px solid rgba(16, 185, 129, 0.28);
  color: #34d399;
}
html[data-theme="dark"] .lead-card-next-follow-up-upcoming .touch-band-badge {
  background-color: rgba(16, 185, 129, 0.22);
  color: #a7f3d0;
  border: 1px solid rgba(16, 185, 129, 0.35);
}

html[data-theme="dark"] .lead-card-next-follow-up-empty {
  border-color: rgba(255, 255, 255, 0.08);
  color: var(--ink-tertiary);
}
html[data-theme="dark"] .lead-card-next-follow-up-empty .touch-band-badge {
  background-color: var(--surface-soft);
  color: var(--ink-secondary);
}

html[data-theme="dark"] .lead-card-ready-to-convert-banner {
  background-color: var(--state-success-soft);
  border-color: rgba(16, 185, 129, 0.25);
  color: #34d399;
}
html[data-theme="dark"] .lead-card-ready-to-convert-banner:hover {
  background-color: rgba(16, 185, 129, 0.2);
}
html[data-theme="dark"] .lead-card-ready-to-convert-banner .banner-check-circle {
  background-color: #10b981;
  color: #080c11;
}

html[data-theme="dark"] .inline-interest-badge .badge-kind-interest.badge-tone-danger {
  background-color: rgba(244, 63, 94, 0.14);
  color: #fb7185;
  border-color: rgba(244, 63, 94, 0.28);
}
html[data-theme="dark"] .inline-interest-badge .badge-kind-interest.badge-tone-warning {
  background-color: rgba(245, 158, 11, 0.14);
  color: #fbbf24;
  border-color: rgba(245, 158, 11, 0.28);
}
html[data-theme="dark"] .inline-interest-badge .badge-kind-interest.badge-tone-neutral {
  background-color: var(--surface-soft);
  color: var(--ink-secondary);
  border-color: var(--line-subtle);
}

html[data-theme="dark"] .lead-preview-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035) 0%, rgba(255, 255, 255, 0.01) 100%), var(--surface-card);
  border-color: rgba(255, 255, 255, 0.09);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .lead-preview-card:hover,
html[data-theme="dark"] .lead-preview-card:focus-within {
  border-color: rgba(245, 158, 11, 0.45);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.65), 0 0 24px rgba(245, 158, 11, 0.12);
}

html[data-theme="dark"] .lead-card-top-hairline {
  background: linear-gradient(90deg, transparent, rgba(245, 158, 11, 0.65), transparent);
}

html[data-theme="dark"] .lead-card-avatar {
  background: rgba(245, 158, 11, 0.14) !important;
  border: 1px solid rgba(245, 158, 11, 0.4) !important;
  color: #fbbf24 !important;
  box-shadow: 0 0 16px rgba(245, 158, 11, 0.18) !important;
}

html[data-theme="dark"] .lead-card-location-row .context-icon {
  color: #fbbf24;
  opacity: 0.9;
}

html[data-theme="dark"] .lead-card-next-follow-up-danger {
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.3);
  color: #fca5a5;
}

html[data-theme="dark"] .lead-card-next-follow-up-danger .touch-band-badge {
  background: rgba(239, 68, 68, 0.22);
  border: 1px solid rgba(239, 68, 68, 0.35);
  color: #fecaca;
}

html[data-theme="dark"] .lead-card-next-follow-up-warning {
  background: rgba(245, 158, 11, 0.1);
  border-color: rgba(245, 158, 11, 0.3);
  color: #fde68a;
}

html[data-theme="dark"] .lead-card-next-follow-up-warning .touch-band-badge {
  background: rgba(245, 158, 11, 0.22);
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: #fef3c7;
}

html[data-theme="dark"] .lead-card-next-follow-up-upcoming {
  background: rgba(16, 185, 129, 0.1);
  border-color: rgba(16, 185, 129, 0.3);
  color: #6ee7b7;
}

html[data-theme="dark"] .lead-card-next-follow-up-upcoming .touch-band-badge {
  background: rgba(16, 185, 129, 0.22);
  border: 1px solid rgba(16, 185, 129, 0.35);
  color: #a7f3d0;
}

html[data-theme="dark"] .lead-card-next-follow-up-empty {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #cbd5e1;
}

html[data-theme="dark"] .lead-card-next-follow-up-empty .touch-band-icon {
  color: #fbbf24;
}

html[data-theme="dark"] .lead-card-next-follow-up-empty .touch-band-badge {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #94a3b8;
}

html[data-theme="dark"] .lead-card-responsibility-block,
html[data-theme="dark"] .lead-card-latest-update {
  background: rgba(255, 255, 255, 0.025);
  border-color: rgba(255, 255, 255, 0.07);
}

html[data-theme="dark"] .responsibility-row:first-child .responsibility-icon {
  color: #fbbf24;
  background-color: rgba(245, 158, 11, 0.16);
  border: 1px solid rgba(245, 158, 11, 0.35);
  box-shadow: 0 0 10px rgba(245, 158, 11, 0.15);
}

html[data-theme="dark"] .responsibility-row:first-child .responsibility-label {
  color: #fbbf24;
  opacity: 0.9;
}

html[data-theme="dark"] .responsibility-row:nth-child(2) .responsibility-icon {
  color: #34d399;
  background-color: rgba(16, 185, 129, 0.16);
  border: 1px solid rgba(16, 185, 129, 0.35);
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.15);
}

html[data-theme="dark"] .responsibility-row:nth-child(2) .responsibility-label {
  color: #34d399;
  opacity: 0.9;
}

html[data-theme="dark"] .responsibility-value {
  color: #f8fafc;
}

html[data-theme="dark"] .responsibility-rows > .responsibility-row:nth-child(2) {
  border-left-color: rgba(255, 255, 255, 0.07);
}

html[data-theme="dark"] .lead-preview-card:hover .lead-card-name-title {
  color: #fde68a;
  text-shadow: 0 0 12px rgba(245, 158, 11, 0.25);
}

html[data-theme="dark"] .lead-card-context-line.occupation-line .context-icon {
  color: #fbbf24;
}

html[data-theme="dark"] .update-header {
  color: #94a3b8;
}

html[data-theme="dark"] .update-label {
  color: #fde68a;
}

html[data-theme="dark"] .update-body {
  color: #e2e8f0;
}

html[data-theme="dark"] .lead-card-note-snippet {
  border-top-color: rgba(255, 255, 255, 0.08);
  color: #cbd5e1;
}

html[data-theme="dark"] .lead-card-note-snippet .lead-card-note-label {
  color: #fbbf24;
}

html[data-theme="dark"] .lead-preview-card.lead-card-selected {
  border-color: rgba(245, 158, 11, 0.6);
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.08) 0%, rgba(245, 158, 11, 0.02) 100%), var(--surface-card);
  box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.5), 0 10px 30px rgba(245, 158, 11, 0.15);
}

html[data-theme="dark"] .lead-card-badges .badge-audit,
html[data-theme="dark"] .lead-card-badges .badge-neutral {
  background: rgba(59, 130, 246, 0.14) !important;
  border: 1px solid rgba(59, 130, 246, 0.35) !important;
  color: #93c5fd !important;
}

html[data-theme="dark"] .lead-card-badges .badge-success {
  background: rgba(16, 185, 129, 0.14) !important;
  border: 1px solid rgba(16, 185, 129, 0.35) !important;
  color: #6ee7b7 !important;
}

html[data-theme="dark"] .lead-card-badges .badge-warning {
  background: rgba(245, 158, 11, 0.14) !important;
  border: 1px solid rgba(245, 158, 11, 0.35) !important;
  color: #fde68a !important;
}

html[data-theme="dark"] .lead-card-badges .badge-danger {
  background: rgba(239, 68, 68, 0.14) !important;
  border: 1px solid rgba(239, 68, 68, 0.35) !important;
  color: #fca5a5 !important;
}

/* Lead Detail Workspace Overrides */
html[data-theme="dark"] .lead-detail-back-btn {
  color: #cbd5e1;
}

html[data-theme="dark"] .lead-detail-back-btn:hover {
  color: #fbbf24;
}

html[data-theme="dark"] .lead-header-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035) 0%, rgba(255, 255, 255, 0.015) 100%), var(--surface-card);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 24px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
  position: relative;
  overflow: hidden;
}

html[data-theme="dark"] .lead-header-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(245, 158, 11, 0.65), transparent);
  pointer-events: none;
}

html[data-theme="dark"] .lead-profile-avatar-large {
  background: rgba(245, 158, 11, 0.14) !important;
  border: 1.5px solid rgba(245, 158, 11, 0.4) !important;
  color: #fbbf24 !important;
  box-shadow: 0 0 20px rgba(245, 158, 11, 0.2) !important;
  border-radius: 16px !important;
}

html[data-theme="dark"] .lead-header-name {
  color: #f8fafc;
}

html[data-theme="dark"] .lead-header-breadcrumb-row .micro-label {
  color: #fbbf24;
}

html[data-theme="dark"] .lead-header-icon-inline {
  color: #fbbf24;
}

html[data-theme="dark"] .lead-header-meta-item {
  color: #cbd5e1;
}

html[data-theme="dark"] .lead-header-meta-line-contacts {
  color: #94a3b8;
}

html[data-theme="dark"] .lead-header-actions .button-link {
  background: linear-gradient(135deg, #f59e0b, #d97706) !important;
  color: #000000 !important;
  font-weight: 750 !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35) !important;
  border: none !important;
}

html[data-theme="dark"] .lead-header-stats-strip {
  background: rgba(0, 0, 0, 0.28);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(16px);
}

html[data-theme="dark"] .lead-header-stat-col:not(:last-child) {
  border-right-color: rgba(255, 255, 255, 0.06);
}

html[data-theme="dark"] .lead-header-stat-label {
  color: #94a3b8;
}

html[data-theme="dark"] .lead-header-stat-value {
  color: #f8fafc;
}

html[data-theme="dark"] .lead-relationship-strip {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.01) 100%), var(--surface-card);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 4px solid #f59e0b;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .lead-relationship-strip-heading .micro-label {
  color: #fbbf24;
}

html[data-theme="dark"] .lead-relationship-strip-heading h3 {
  color: #f8fafc;
}

html[data-theme="dark"] .lead-relationship-strip-grid {
  border-left-color: rgba(255, 255, 255, 0.07);
}

html[data-theme="dark"] .lead-relationship-strip-fact > span {
  color: #94a3b8;
}

html[data-theme="dark"] .lead-relationship-strip-fact strong {
  color: #f8fafc;
}

html[data-theme="dark"] .lead-relationship-action {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #f8fafc;
  border-radius: 10px;
}

html[data-theme="dark"] .lead-relationship-action:hover {
  background: rgba(245, 158, 11, 0.16);
  border-color: rgba(245, 158, 11, 0.45);
  color: #fde68a;
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.18);
}

html[data-theme="dark"] .lead-working-brief h3 {
  color: #f8fafc;
}

html[data-theme="dark"] .lead-working-brief p {
  color: #94a3b8;
}

html[data-theme="dark"] .lead-brief-empty-context {
  background: rgba(255, 255, 255, 0.025);
  border: 1px dashed rgba(255, 255, 255, 0.12);
  color: #cbd5e1;
  border-radius: 14px;
}

html[data-theme="dark"] .lead-brief-empty-context strong {
  color: #f8fafc;
}

html[data-theme="dark"] .lead-narrative-card {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 1.15rem 1.25rem;
  backdrop-filter: blur(20px);
  transition: border-color 0.2s ease, transform 0.2s ease;
}

html[data-theme="dark"] .lead-narrative-card:hover {
  border-color: rgba(245, 158, 11, 0.35);
  transform: translateY(-2px);
}

html[data-theme="dark"] .lead-narrative-title h4 {
  color: #f8fafc;
}

html[data-theme="dark"] .lead-narrative-gold .lead-narrative-icon {
  color: #fbbf24;
  background: rgba(245, 158, 11, 0.16);
  border: 1px solid rgba(245, 158, 11, 0.35);
  box-shadow: 0 0 10px rgba(245, 158, 11, 0.15);
  border-radius: 10px;
}

html[data-theme="dark"] .lead-narrative-gold .lead-narrative-title span:not(.lead-narrative-icon) {
  color: #fbbf24;
}

html[data-theme="dark"] .lead-narrative-gold .lead-narrative-value:not(.lead-narrative-value-empty) {
  background: rgba(245, 158, 11, 0.08);
  border: 1px solid rgba(245, 158, 11, 0.25);
  color: #fde68a;
  border-radius: 12px;
  font-weight: 500;
  padding: 0.85rem 1rem;
}

html[data-theme="dark"] .lead-narrative-warning .lead-narrative-icon {
  color: #f97316;
  background: rgba(249, 115, 22, 0.16);
  border: 1px solid rgba(249, 115, 22, 0.35);
  box-shadow: 0 0 10px rgba(249, 115, 22, 0.15);
  border-radius: 10px;
}

html[data-theme="dark"] .lead-narrative-warning .lead-narrative-title span:not(.lead-narrative-icon) {
  color: #fb923c;
}

html[data-theme="dark"] .lead-narrative-warning .lead-narrative-value:not(.lead-narrative-value-empty) {
  background: rgba(249, 115, 22, 0.08);
  border: 1px solid rgba(249, 115, 22, 0.25);
  color: #fed7aa;
  border-radius: 12px;
  font-weight: 500;
  padding: 0.85rem 1rem;
}

html[data-theme="dark"] .lead-narrative-success .lead-narrative-icon {
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.16);
  border: 1px solid rgba(56, 189, 248, 0.35);
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.15);
  border-radius: 10px;
}

html[data-theme="dark"] .lead-narrative-success .lead-narrative-title span:not(.lead-narrative-icon) {
  color: #38bdf8;
}

html[data-theme="dark"] .lead-narrative-success .lead-narrative-value:not(.lead-narrative-value-empty) {
  background: rgba(56, 189, 248, 0.08);
  border: 1px solid rgba(56, 189, 248, 0.25);
  color: #e0f2fe;
  border-radius: 12px;
  font-weight: 600;
  padding: 0.85rem 1rem;
}

html[data-theme="dark"] .lead-narrative-danger .lead-narrative-icon {
  color: #f87171;
  background: rgba(239, 68, 68, 0.16);
  border: 1px solid rgba(239, 68, 68, 0.35);
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.15);
  border-radius: 10px;
}

html[data-theme="dark"] .lead-narrative-danger .lead-narrative-title span:not(.lead-narrative-icon) {
  color: #f87171;
}

html[data-theme="dark"] .lead-narrative-danger .lead-narrative-value:not(.lead-narrative-value-empty) {
  background: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(239, 68, 68, 0.25);
  color: #fecaca;
  border-radius: 12px;
  font-weight: 500;
  padding: 0.85rem 1rem;
}

html[data-theme="dark"] .lead-narrative-value-empty {
  border: 1px dashed rgba(255, 255, 255, 0.12) !important;
  background: rgba(0, 0, 0, 0.15) !important;
  color: #94a3b8 !important;
  font-style: italic;
  border-radius: 12px;
  padding: 0.85rem 1rem;
}

html[data-theme="dark"] .lead-closing-support-panel {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.01) 100%), var(--surface-card);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 1.5rem;
}

html[data-theme="dark"] .lead-closing-support-header .micro-label {
  color: #fbbf24;
}

html[data-theme="dark"] .lead-closing-support-header h2 {
  color: #f8fafc;
}

html[data-theme="dark"] .lead-closing-support-header p {
  color: #94a3b8;
}

html[data-theme="dark"] .lead-closing-support-summary {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
}

html[data-theme="dark"] .lead-closing-support-summary span {
  color: #94a3b8;
}

html[data-theme="dark"] .lead-closing-support-summary strong {
  color: #f8fafc;
}

html[data-theme="dark"] .lead-closing-support-form select,
html[data-theme="dark"] .lead-closing-support-form textarea,
html[data-theme="dark"] .lead-closing-support-form input {
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #f8fafc;
  border-radius: 12px;
}

html[data-theme="dark"] .lead-closing-support-form select:focus,
html[data-theme="dark"] .lead-closing-support-form textarea:focus,
html[data-theme="dark"] .lead-closing-support-form input:focus {
  border-color: #f59e0b;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.25);
}

html[data-theme="dark"] .lead-closing-support-form button[type="submit"] {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #000000;
  font-weight: 800;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(245, 158, 11, 0.35);
  border: none;
}

html[data-theme="dark"] .lead-notes-group {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.01) 100%), var(--surface-card);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
}

html[data-theme="dark"] .lead-latest-note-panel,
html[data-theme="dark"] .lead-history-panel {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 16px;
}

html[data-theme="dark"] .lead-empty-note-state {
  background: rgba(255, 255, 255, 0.02);
  border: 1px dashed rgba(255, 255, 255, 0.1);
  border-radius: 14px;
}

html[data-theme="dark"] .lead-empty-note-icon {
  color: #fbbf24;
}

html[data-theme="dark"] .lead-empty-note-state strong {
  color: #f8fafc;
}

html[data-theme="dark"] .lead-empty-note-state p {
  color: #94a3b8;
}

/* Personal Story Workspace Overrides */
html[data-theme="dark"] .personal-story-chat-layout {
  background: var(--canvas-soft);
  color: var(--ink-primary);
}
html[data-theme="dark"] .personal-story-message.is-user .personal-story-bubble {
  background: var(--surface-soft);
  color: var(--ink-primary);
  border-color: var(--line-gold);
}
html[data-theme="dark"] .personal-story-composer {
  background: var(--canvas-soft);
  color: var(--ink-primary);
  border-color: var(--line-gold);
}

/* AI Assistant Workspace Overrides */
html[data-theme="dark"] .ai-assistant-citation {
  color: var(--text-gold);
}

/* Custom Datepicker Popover Overrides */
html[data-theme="dark"] .custom-datepicker-popover {
  background: var(--surface);
  border-color: var(--line-strong);
  box-shadow: var(--shadow-floating);
}
html[data-theme="dark"] .datepicker-header {
  border-bottom-color: var(--line-subtle);
}
html[data-theme="dark"] .datepicker-month-year {
  color: var(--ink-primary);
}
html[data-theme="dark"] .datepicker-day {
  background: var(--surface-soft);
  color: var(--ink-primary);
  border-color: var(--line-subtle);
}
html[data-theme="dark"] .datepicker-day.active {
  color: var(--ink-primary);
  border-color: var(--line-strong);
}
html[data-theme="dark"] .datepicker-day.active:hover {
  background: var(--soft-accent);
  border-color: var(--action-primary);
  color: var(--ink-primary);
}
html[data-theme="dark"] .datepicker-day.past {
  background: var(--surface-muted);
  color: var(--ink-tertiary);
  border-color: transparent;
}
html[data-theme="dark"] .datepicker-time-panel {
  border-left-color: var(--line-subtle);
}
html[data-theme="dark"] .datepicker-time-title {
  color: var(--ink-secondary);
}
html[data-theme="dark"] .datepicker-time-btn {
  border-color: var(--line-subtle);
  background: var(--surface-soft);
  color: var(--ink-primary);
}
html[data-theme="dark"] .datepicker-time-btn:hover {
  border-color: var(--action-primary);
  background: var(--soft-accent);
  color: var(--ink-primary);
}

/* Dark Theme General Login Screen Overrides */
html[data-theme="dark"] .login-screen {
  background:
    linear-gradient(180deg, rgba(9, 18, 15, 0.4), rgba(9, 18, 15, 0) 40%),
    var(--canvas);
}
html[data-theme="dark"] .auth-login-screen {
  background:
    linear-gradient(125deg, rgba(15, 34, 28, 0.94), rgba(9, 18, 15, 0.86) 46%, rgba(9, 18, 15, 0.72)),
    var(--canvas-warm);
}
html[data-theme="dark"] .login-panel {
  background: linear-gradient(180deg, rgba(16, 38, 32, 0.2), rgba(9, 18, 15, 0.4)), var(--surface-muted);
}
html[data-theme="dark"] .login-brand h2 {
  color: var(--ink-primary);
}

/* Dark Theme Admin Entry Screen Overrides */
html[data-theme="dark"] .admin-entry-screen {
  background:
    linear-gradient(180deg, rgba(9, 18, 15, 0.6), rgba(7, 19, 16, 0.8)),
    var(--canvas-warm);
}
html[data-theme="dark"] .admin-entry-screen::before {
  background:
    linear-gradient(153deg, transparent 0 46%, rgba(181, 205, 188, 0.04) 46.3% 66%, transparent 66.4%),
    linear-gradient(27deg, transparent 0 44%, rgba(0, 0, 0, 0.2) 44.3% 68%, transparent 68.4%),
    linear-gradient(180deg, rgba(9, 18, 15, 0), rgba(27, 122, 102, 0.1) 70%, rgba(7, 19, 16, 0.2));
}
html[data-theme="dark"] .admin-entry-card {
  background:
    linear-gradient(180deg, rgba(16, 38, 32, 0.1), rgba(9, 18, 15, 0.3)),
    var(--surface);
}

/* Dark Theme Maintenance & Sensitive Overrides */
html[data-theme="dark"] .maintenance-panel-active {
  background:
    linear-gradient(180deg, var(--accent-gold-soft), rgba(7, 19, 16, 0.4)),
    var(--surface);
}
html[data-theme="dark"] .sensitive-panel {
  background: linear-gradient(180deg, rgba(215, 169, 94, 0.04), rgba(7, 19, 16, 0.4)), var(--surface);
}

/* Dark Theme Leads Form Card Container Override */
html[data-theme="dark"] .lead-create-surface {
  background: linear-gradient(180deg, rgba(27, 122, 102, 0.04), rgba(7, 19, 16, 0.4)), var(--surface);
  border-color: var(--line-subtle);
}

/* Dark Theme Follow-up & Touch Ribbon Overrides */
html[data-theme="dark"] .lead-next-touch-strip {
  background: linear-gradient(180deg, rgba(27, 122, 102, 0.04), rgba(7, 19, 16, 0.4)), var(--surface);
}
html[data-theme="dark"] .lead-followup-card {
  background: linear-gradient(180deg, rgba(27, 122, 102, 0.04), rgba(7, 19, 16, 0.4)), var(--surface-muted);
}

/* Dark Theme Latest Note Overrides */
html[data-theme="dark"] .lead-latest-note-panel .lead-note-card {
  background: linear-gradient(180deg, rgba(215, 169, 94, 0.06), rgba(7, 19, 16, 0.4)), var(--surface);
}

/* Dark Theme Dashboard Owner Command Center Overrides */
html[data-theme="dark"] .dashboard-owner-attention-card.is-active {
  background: linear-gradient(145deg, rgba(23, 25, 19, 0.9) 0%, var(--workspace-surface) 100%);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

html[data-theme="dark"] .dashboard-owner-attention-card.dashboard-tone-danger.is-active {
  border-color: rgba(226, 88, 88, 0.4);
  background: linear-gradient(145deg, rgba(226, 88, 88, 0.12) 0%, var(--workspace-surface) 100%);
}

html[data-theme="dark"] .dashboard-owner-attention-card.dashboard-tone-danger.is-active .dashboard-owner-attention-mark {
  background: linear-gradient(135deg, rgba(226, 88, 88, 0.22) 0%, rgba(226, 88, 88, 0.08) 100%);
  color: #f87171;
  border-color: rgba(226, 88, 88, 0.45);
  box-shadow: 0 0 0 4px rgba(226, 88, 88, 0.12);
}

html[data-theme="dark"] .dashboard-owner-attention-card.dashboard-tone-success.is-active {
  border-color: rgba(46, 189, 156, 0.4);
  background: linear-gradient(145deg, rgba(46, 189, 156, 0.12) 0%, var(--workspace-surface) 100%);
}

html[data-theme="dark"] .dashboard-owner-attention-card.dashboard-tone-success.is-active .dashboard-owner-attention-mark {
  background: linear-gradient(135deg, rgba(46, 189, 156, 0.22) 0%, rgba(46, 189, 156, 0.08) 100%);
  color: #34d399;
  border-color: rgba(46, 189, 156, 0.45);
  box-shadow: 0 0 0 4px rgba(46, 189, 156, 0.12);
}

html[data-theme="dark"] .dashboard-owner-attention-card.dashboard-tone-warning.is-active {
  border-color: rgba(215, 169, 94, 0.4);
  background: linear-gradient(145deg, rgba(215, 169, 94, 0.12) 0%, var(--workspace-surface) 100%);
}

html[data-theme="dark"] .dashboard-owner-attention-card.dashboard-tone-warning.is-active .dashboard-owner-attention-mark {
  background: linear-gradient(135deg, rgba(215, 169, 94, 0.22) 0%, rgba(215, 169, 94, 0.08) 100%);
  color: #fbbf24;
  border-color: rgba(215, 169, 94, 0.45);
  box-shadow: 0 0 0 4px rgba(215, 169, 94, 0.12);
}

html[data-theme="dark"] .dashboard-owner-pulse-metrics span.metric-active {
  background: linear-gradient(180deg, rgba(27, 122, 102, 0.12), rgba(12, 23, 20, 0.6));
}

html[data-theme="dark"] .dashboard-owner-pulse-metrics span.metric-active strong {
  color: var(--state-success);
}

html[data-theme="dark"] .dashboard-owner-queue-row:hover {
  background: var(--workspace-surface-raised);
}

html[data-theme="dark"] .dashboard-owner-pulse-card:hover {
  border-color: var(--workspace-focus-line);
  box-shadow: 0 8px 28px -10px rgba(0, 0, 0, 0.6);
}

html[data-theme="dark"] .dashboard-quick-action-btn {
  background: #0f1c19 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .dashboard-quick-action-btn:hover {
  background: #152b26 !important;
  border-color: var(--action-primary) !important;
}

/* Dark Theme Calendar & Planning Overrides */
html[data-theme="dark"] .calendar-planning-note {
  background: linear-gradient(180deg, rgba(27, 122, 102, 0.04), rgba(7, 19, 16, 0.4)), var(--surface-muted);
}

/* Dark Theme Form Section Overrides */
html[data-theme="dark"] .lead-form-section {
  background: var(--surface-soft);
  border-top-color: var(--line-subtle);
}

/* Dark Theme Public Booking Page Overrides */
html[data-theme="dark"] .public-booking-screen {
  --bg-color: var(--canvas);
  --card-color: var(--surface-muted);
  --primary-green: var(--action-primary);
  --primary-green-hover: var(--action-primary-hover);
  --booking-gold: var(--accent-gold);
  --booking-gold-soft: var(--accent-gold-soft);
  --dark-text: var(--ink-primary);
  --muted-text: var(--ink-secondary);
  --border-color: var(--line-subtle);
  --soft-accent: var(--soft-accent);
}

html[data-theme="dark"] .public-booking-header {
  background: linear-gradient(90deg, var(--surface) 60%, var(--soft-accent) 100%);
}

html[data-theme="dark"] .public-booking-progress {
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-muted) 100%);
}

html[data-theme="dark"] .public-booking-progress-track {
  background: var(--line-subtle);
}

html[data-theme="dark"] .public-booking-step-list li[data-step-state="active"] {
  border-color: var(--action-primary);
  background: var(--soft-accent);
}

html[data-theme="dark"] .public-booking-back-button:hover {
  background: var(--soft-accent);
}

html[data-theme="dark"] .datepicker-day.past {
  color: var(--ink-tertiary);
}


/* Dark Theme Sidebar Text & Contrast Overrides (Sidebar stays dark in both themes) */
html[data-theme="dark"] .sidebar {
  color: #f8faf9;
}
html[data-theme="dark"] .brand-title {
  color: #f8faf9;
}
html[data-theme="dark"] .nav-link:hover,
html[data-theme="dark"] .nav-link.active {
  color: #f8faf9;
}
html[data-theme="dark"] .nav-sub-link:hover,
html[data-theme="dark"] .nav-sub-link.active {
  color: #f8faf9;
}
html[data-theme="dark"] .nav-empty strong {
  color: #f8faf9;
}
html[data-theme="dark"] .operator-copy strong {
  color: #f8faf9;
}
html[data-theme="dark"] .operator-link:hover,
html[data-theme="dark"] .operator-signout:hover {
  color: #f8faf9;
}

/* Theme Toggle Button */
.theme-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid var(--line-strong);
  color: var(--ink-secondary);
  border-radius: var(--radius-control);
  width: 2.65rem;
  height: 2.65rem;
  padding: 0;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(16, 38, 32, 0.04);
  transition: all 200ms ease;
}
.theme-toggle-btn:hover {
  background: var(--surface-soft);
  color: var(--ink-primary);
  border-color: var(--ink-tertiary);
  transform: translateY(-1px);
}
.theme-toggle-btn svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.public-theme-toggle-container {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  z-index: 100;
}


* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

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

body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

button {
  border: 1px solid var(--accent);
  background: var(--accent);
  color: var(--accent-ink);
  border-radius: var(--radius-control);
  padding: 0.65rem 1.15rem;
  cursor: pointer;
  min-height: 2.65rem;
  font-weight: 650;
  font-size: 0.92rem;
  line-height: 1.1;
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 2px rgba(16, 38, 32, 0.08);
}

button:hover {
  background: var(--action-primary-hover);
  border-color: var(--action-primary-hover);
  box-shadow: 0 4px 8px rgba(16, 38, 32, 0.12);
  transform: translateY(-1px);
}

button:active {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(16, 38, 32, 0.08);
}

button.secondary {
  background: var(--action-secondary);
  color: var(--ink-primary);
  border-color: var(--line-strong);
  box-shadow: 0 1px 2px rgba(16, 38, 32, 0.04);
}

button.secondary:hover {
  background: var(--surface);
  border-color: var(--ink-tertiary);
  color: var(--ink-primary);
}

.button-link,
.button-link-secondary,
.button-link-outline,
a.button-secondary {
  min-height: 2.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--accent);
  border-radius: var(--radius-control);
  background: var(--accent);
  color: var(--accent-ink);
  padding: 0.65rem 1.15rem;
  text-decoration: none !important;
  font-size: 0.92rem;
  font-weight: 650;
  line-height: 1.1;
  box-shadow: 0 1px 2px rgba(16, 38, 32, 0.08);
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  box-sizing: border-box;
}

.button-link:hover,
.button-link-secondary:hover,
.button-link-outline:hover,
a.button-secondary:hover {
  text-decoration: none !important;
}

.button-link:hover {
  background: var(--action-primary-hover);
  border-color: var(--action-primary-hover);
  color: var(--accent-ink);
  box-shadow: 0 4px 8px rgba(16, 38, 32, 0.12);
  transform: translateY(-1px);
}

.button-link-secondary,
a.button-secondary {
  min-height: 2.25rem;
  background: var(--action-secondary);
  color: var(--ink-primary);
  border: 1px solid var(--line-strong);
  padding: 0.5rem 0.85rem;
  font-size: 0.86rem;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(16, 38, 32, 0.04);
}

.button-link-secondary:hover,
a.button-secondary:hover {
  background: var(--surface);
  border-color: var(--ink-tertiary);
  color: var(--ink-primary);
  transform: translateY(-1px);
}

.button-link-outline {
  min-height: 2.25rem;
  background: transparent;
  color: var(--action-primary);
  border: 1px solid var(--action-primary);
  padding: 0.5rem 0.85rem;
  font-size: 0.86rem;
  box-shadow: none;
  font-weight: 600;
}

.button-link-outline:hover {
  background: var(--action-primary-soft);
  color: var(--action-primary-hover);
  border-color: var(--action-primary-hover);
  transform: translateY(-1px);
}

button.compact-action,
.button-link.compact-link,
.button-link-secondary.compact-link,
.button-link-outline.compact-link,
a.button-secondary.compact-link {
  min-height: 2.25rem;
  padding: 0.5rem 0.85rem;
  font-size: 0.86rem;
  white-space: nowrap;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
  transform: none;
  box-shadow: none;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.json-block:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--focus-ring-soft);
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  padding: 0.65rem 0.85rem;
  background: var(--surface);
  color: var(--ink);
  min-height: 2.65rem;
  font-size: 0.94rem;
  transition: all 200ms ease;
  box-shadow: inset 0 1px 2px rgba(16, 38, 32, 0.02);
}

input[type="checkbox"],
input[type="radio"] {
  width: 1.15rem;
  height: 1.15rem;
  min-height: auto;
  padding: 0;
  margin: 0;
  border-radius: 4px;
  accent-color: var(--action-primary);
  box-shadow: none;
}

input:hover,
select:hover,
textarea:hover {
  border-color: var(--ink-tertiary);
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--action-primary);
  background: var(--surface);
}

input::placeholder,
textarea::placeholder {
  color: var(--ink-tertiary);
}

textarea {
  min-height: 8rem;
  resize: vertical;
  line-height: 1.5;
}

label {
  color: var(--muted);
}

h1,
h2,
h3,
p {
  margin: 0;
}

h1,
h2,
h3 {
  font-family: var(--font-heading);
  line-height: 1.15;
  color: var(--ink-primary);
  -webkit-font-smoothing: antialiased;
}

h1 {
  font-size: 2.15rem;
  font-weight: 700;
  letter-spacing: -0.028em;
}

h2 {
  font-size: 1.42rem;
  font-weight: 650;
  letter-spacing: -0.02em;
}

h3 {
  font-size: 1.05rem;
  font-weight: 650;
  letter-spacing: -0.015em;
}

p {
  line-height: 1.5;
}

.app-shell {
  min-height: 100vh;
}

.micro-label {
  display: inline-flex;
  color: var(--ink-tertiary);
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.muted {
  color: var(--muted);
}

.login-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 1.5rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.6), rgba(246, 247, 245, 0) 40%),
    var(--canvas);
}

.auth-login-screen {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(125deg, rgba(244, 246, 244, 0.94), rgba(240, 242, 235, 0.86) 46%, rgba(255, 255, 255, 0.72)),
    var(--canvas-warm);
  isolation: isolate;
}

.auth-login-screen::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.32;
  background-image:
    linear-gradient(rgba(16, 38, 32, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16, 38, 32, 0.055) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.72), transparent 68%);
}

.login-shell {
  width: min(1120px, 100%);
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
  border: 1px solid var(--line-subtle);
  border-radius: calc(var(--radius-panel) + 8px);
  background: var(--surface);
  box-shadow:
    0 26px 58px rgba(16, 38, 32, 0.18),
    0 2px 8px rgba(16, 38, 32, 0.08);
  overflow: hidden;
}

.login-context {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 640px;
  padding: 3rem;
  background:
    linear-gradient(180deg, rgba(21, 104, 87, 0.08), rgba(16, 38, 32, 0.38)),
    linear-gradient(145deg, rgba(16, 38, 32, 0.98), rgba(9, 31, 25, 0.98)),
    var(--surface-strong);
  color: var(--ink-inverse);
  overflow: hidden;
  isolation: isolate;
}

.login-context::before,
.login-context::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
}

.login-context::before {
  opacity: 0.18;
  background-image:
    linear-gradient(rgba(247, 251, 248, 0.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(247, 251, 248, 0.13) 1px, transparent 1px),
    linear-gradient(150deg, rgba(215, 169, 94, 0.09), transparent 36%, rgba(181, 205, 188, 0.08));
  background-size: 42px 42px, 42px 42px, auto;
}

.login-context::after {
  inset: auto -1px 0;
  z-index: -1;
  height: 32%;
  opacity: 0.72;
  background:
    linear-gradient(148deg, transparent 0 38%, rgba(181, 205, 188, 0.1) 38.4% 58%, transparent 58.4%),
    linear-gradient(26deg, transparent 0 44%, rgba(21, 104, 87, 0.18) 44.4% 66%, transparent 66.4%),
    linear-gradient(145deg, transparent 0 30%, rgba(4, 18, 14, 0.42) 30.4% 64%, transparent 64.4%),
    linear-gradient(180deg, rgba(16, 38, 32, 0), rgba(4, 18, 14, 0.68));
}

.login-context-header {
  display: grid;
  justify-items: center;
  gap: 1.15rem;
  text-align: center;
  width: min(30rem, 100%);
  position: relative;
  z-index: 1;
}

.login-context h1 {
  color: #f8faf9;
  font-family: var(--font-heading);
  font-size: 3.55rem;
  font-weight: 650;
  letter-spacing: 0;
  text-shadow: 0 10px 28px rgba(4, 18, 14, 0.24);
}

.login-context p {
  color: rgba(247, 251, 248, 0.72);
  max-width: 20rem;
  font-size: 1.08rem;
  line-height: 1.55;
}

.login-context .micro-label {
  color: rgba(247, 251, 248, 0.66);
}

.brand-mark-large.login-hero-mark {
  width: 5.35rem;
  height: 5.35rem;
  border-radius: calc(var(--radius-panel) + 4px);
  border-color: var(--line-gold);
  background:
    linear-gradient(145deg, rgba(243, 234, 216, 0.08), rgba(181, 205, 188, 0.05)),
    rgba(16, 38, 32, 0.58);
  color: var(--text-gold-dark);
  font-size: 1.95rem;
  box-shadow:
    0 16px 32px rgba(4, 18, 14, 0.2),
    inset 0 1px 0 rgba(243, 234, 216, 0.12);
}

.login-context-rule {
  width: 2.75rem;
  height: 1px;
  margin-top: 0.6rem;
  background: var(--accent-gold);
  opacity: 0.88;
}

.login-context-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.login-context-grid div {
  border: 1px solid rgba(247, 251, 248, 0.14);
  background: rgba(247, 251, 248, 0.06);
  border-radius: var(--radius-panel);
  padding: 0.85rem;
  display: grid;
  gap: 0.2rem;
}

.login-context-grid span {
  color: rgba(247, 251, 248, 0.62);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.login-context-grid strong {
  color: #f8faf9;
  font-size: 0.92rem;
}

.login-panel {
  padding: 4rem 4.6rem;
  display: grid;
  place-items: center;
  min-width: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(248, 249, 247, 0.96)),
    var(--surface-muted);
}

.login-panel-inner {
  width: min(420px, 100%);
  display: grid;
  gap: 1.45rem;
}

.login-brand {
  display: grid;
  gap: 0.8rem;
}

.login-brand h2 {
  color: var(--surface-strong);
  font-family: var(--font-heading);
  font-size: 3.1rem;
  font-weight: 650;
  line-height: 1;
  letter-spacing: 0;
}

.auth-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  color: var(--ink-secondary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.1;
  text-transform: uppercase;
}

.auth-eyebrow > span:first-child {
  color: var(--accent-gold);
  display: inline-grid;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
}

.auth-eyebrow svg,
.input-icon svg,
.login-security-note svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.auth-eyebrow svg {
  stroke-width: 1.65;
}

.login-panel .field-label,
.admin-entry-card .field-label {
  color: var(--ink-secondary);
  font-size: 0.9rem;
  font-weight: 750;
  text-transform: none;
  letter-spacing: 0;
}

.input-shell {
  min-height: 3.35rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.55rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  background: rgba(255, 255, 255, 0.72);
  box-shadow:
    inset 0 1px 2px rgba(16, 38, 32, 0.02),
    0 1px 0 rgba(255, 255, 255, 0.72);
  padding: 0 0.9rem;
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.input-shell:hover {
  border-color: var(--ink-tertiary);
}

.input-shell:focus-within {
  border-color: var(--action-primary);
  background: var(--surface);
  box-shadow: 0 0 0 4px rgba(21, 104, 87, 0.1);
}

.auth-password-input-shell {
  grid-template-columns: auto minmax(0, 1fr) 2.75rem;
  gap: 0;
  overflow: hidden;
  padding: 0;
}

.auth-password-input-shell > .input-icon {
  margin: 0 0.55rem 0 0.9rem;
}

.auth-password-input-shell > input {
  min-width: 0;
}

.input-icon {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--ink-tertiary);
}

.input-icon svg,
.login-security-note svg {
  stroke-width: 1.8;
}

.input-shell input {
  min-height: 3.2rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
}

.input-shell input:hover,
.input-shell input:focus {
  border-color: transparent;
  background: transparent;
}

.input-shell input:focus-visible {
  outline: 0;
  box-shadow: none;
}

.login-form button[type="submit"] {
  width: 100%;
  min-height: 3.45rem;
  margin-top: 0.35rem;
  border-color: rgba(17, 82, 69, 0.9);
  background:
    linear-gradient(180deg, rgba(21, 104, 87, 0.96), rgba(16, 70, 59, 0.98)),
    var(--action-primary);
  font-size: 1rem;
  box-shadow:
    0 12px 24px rgba(16, 38, 32, 0.16),
    inset 0 1px 0 rgba(247, 251, 248, 0.13);
}

.login-form button[type="submit"]:hover {
  background:
    linear-gradient(180deg, rgba(17, 82, 69, 0.98), rgba(12, 58, 48, 1)),
    var(--action-primary-hover);
}

.auth-form-secondary-row {
  display: flex;
  justify-content: flex-end;
  margin-top: -0.25rem;
}

.auth-text-action {
  color: var(--action-primary);
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
}

.auth-text-action:hover,
.auth-text-action:focus-visible {
  color: var(--action-primary-hover);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.login-security-note {
  justify-self: center;
  display: inline-flex;
  align-items: center;
  gap: 0.48rem;
  width: fit-content;
  max-width: 100%;
  color: var(--action-primary-hover);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: rgba(255, 255, 255, 0.62);
  padding: 0.45rem 0.8rem;
  font-size: 0.78rem;
  font-weight: 650;
}

.login-security-note > span:first-child {
  width: 1.05rem;
  height: 1.05rem;
  color: var(--action-primary);
}

.auth-legal-disclosure {
  display: grid;
  gap: 0.65rem;
  padding: 0.9rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  color: var(--ink-secondary);
  background: var(--surface-soft);
  font-size: 0.82rem;
  line-height: 1.5;
}

.auth-legal-disclosure > p {
  margin: 0;
}

.auth-legal-consent {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
  color: var(--ink-primary);
  font-weight: 650;
  cursor: pointer;
}

.auth-legal-consent > input[type="checkbox"] {
  width: 1.15rem;
  height: 1.15rem;
  min-height: auto;
  margin-top: 0.1rem;
  padding: 0;
  accent-color: var(--action-primary);
}

.auth-legal-disclosure a,
.auth-legal-links a {
  color: var(--action-primary-hover);
  font-weight: 750;
  text-underline-offset: 0.16em;
}

.auth-legal-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem;
  color: var(--ink-tertiary);
  font-size: 0.78rem;
}

.public-information-screen {
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  background: var(--canvas);
  color: var(--ink-primary);
}

.public-information-site-header,
.public-information-main,
.public-information-footer {
  width: min(1120px, calc(100% - 3rem));
  margin-inline: auto;
}

.public-information-site-header {
  min-height: 5.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  border-bottom: 1px solid var(--line-subtle);
}

.public-information-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  color: var(--ink-primary);
  text-decoration: none;
}

.public-information-brand > span:last-child {
  display: grid;
  gap: 0.1rem;
}

.public-information-brand strong {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  line-height: 1.1;
}

.public-information-brand small {
  color: var(--ink-tertiary);
  font-size: 0.76rem;
}

.public-information-nav,
.public-information-footer nav {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.public-information-nav > a:not(.button-link),
.public-information-footer a {
  color: var(--ink-secondary);
  border-radius: var(--radius-control);
  padding: 0.62rem 0.72rem;
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
}

.public-information-nav > a:not(.button-link):hover,
.public-information-nav > a:not(.button-link):focus-visible,
.public-information-footer a:hover,
.public-information-footer a:focus-visible {
  color: var(--action-primary);
  background: var(--surface-soft);
}

.public-information-nav > a[aria-current="page"] {
  color: var(--action-primary);
  background: var(--surface-soft);
}

.public-information-main {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
  gap: 4.5rem;
  align-items: start;
  padding-block: 4.5rem 5.5rem;
}

.public-information-page-header {
  position: sticky;
  top: 2rem;
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.public-information-page-header::before {
  content: "";
  width: 3rem;
  height: 3px;
  border-radius: var(--radius-control);
  background: var(--accent-gold);
}

.public-information-page-header h1 {
  color: var(--surface-strong);
  font-family: var(--font-heading);
  font-size: 4rem;
  font-weight: 650;
  line-height: 1.03;
  letter-spacing: 0;
}

.public-information-page-header p {
  max-width: 28rem;
  color: var(--ink-secondary);
  font-size: 1.05rem;
  line-height: 1.7;
}

.public-information-effective-date {
  width: fit-content;
  color: var(--ink-tertiary);
  border-top: 1px solid var(--line-subtle);
  padding-top: 0.8rem;
  font-size: 0.82rem;
  font-weight: 700;
}

.public-information-body {
  display: grid;
  gap: 0;
  min-width: 0;
  border-top: 1px solid var(--line-subtle);
}

.public-information-section {
  display: grid;
  gap: 0.85rem;
  border-bottom: 1px solid var(--line-subtle);
  padding-block: 1.7rem;
}

.public-information-section:first-child {
  padding-top: 0;
}

.public-information-section h2 {
  color: var(--surface-strong);
  font-family: var(--font-heading);
  font-size: 1.35rem;
  line-height: 1.25;
  letter-spacing: 0;
}

.public-information-section p,
.public-information-section li {
  color: var(--ink-secondary);
  font-size: 0.96rem;
  line-height: 1.75;
}

.public-information-section ul {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding-left: 1.25rem;
}

.public-information-section strong {
  color: var(--ink-primary);
}

.public-information-section a:not(.button-link) {
  color: var(--action-primary);
  font-weight: 700;
}

.public-information-policy-note {
  border-left: 3px solid var(--accent-gold);
  background: var(--surface-soft);
  padding: 1rem 1.1rem;
}

.public-information-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  padding-top: 0.35rem;
}

.public-information-footer {
  min-height: 6rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
  border-top: 1px solid var(--line-subtle);
  color: var(--ink-tertiary);
  font-size: 0.8rem;
}

.public-information-footer > div {
  display: grid;
  gap: 0.15rem;
}

.public-information-footer strong {
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1rem;
}

.public-information-footer > span:last-child {
  justify-self: end;
}

.brand-mark {
  width: 2.85rem;
  height: 2.85rem;
  border-radius: var(--radius-panel);
  display: inline-grid;
  place-items: center;
  background: var(--surface-soft);
  border: 1px solid var(--line-strong);
  color: var(--surface-strong);
  font-weight: 700;
  letter-spacing: 0;
  box-shadow: 0 2px 4px rgba(16, 38, 32, 0.04);
}

.brand-mark-large {
  width: 3.5rem;
  height: 3.5rem;
  background: rgba(255, 255, 255, 0.1);
  color: var(--ink-inverse);
  border-color: rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.app-loading-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 1.5rem;
  background: var(--canvas);
}

.app-loading-card {
  width: min(28rem, 100%);
  display: grid;
  justify-items: center;
  gap: 0.7rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  padding: 2rem;
  text-align: center;
  box-shadow: var(--shadow-subtle);
}

.app-loading-card .brand-mark {
  background: var(--action-primary);
  border-color: var(--action-primary);
  color: var(--ink-inverse);
}

.app-loading-card .micro-label {
  color: var(--text-gold);
}

.app-loading-card h1 {
  margin: 0;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
}

.app-loading-card p {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.92rem;
  line-height: 1.45;
}

.app-loading-spinner {
  width: 1.35rem;
  height: 1.35rem;
  margin-top: 0.25rem;
  border: 2px solid var(--line-subtle);
  border-top-color: var(--action-primary);
  border-radius: 999px;
  animation: app-loading-spin 760ms linear infinite;
}

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

.login-form {
  display: grid;
  gap: 1rem;
}

.login-footnote,
.inline-cluster,
.policy-note {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.login-footnote {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 750;
}

.login-footnote span {
  border: 1px solid var(--line);
  background: var(--surface-muted);
  border-radius: 999px;
  padding: 0.3rem 0.58rem;
}

.maintenance-screen {
  --maintenance-forest: #061812;
  --maintenance-forest-soft: #102820;
  --maintenance-panel: rgba(16, 38, 32, 0.95);
  --maintenance-sage: #b5cdbc;
  --maintenance-warm: #f3ead8;
  --maintenance-gold: #d7a95e;
  --maintenance-copper: #9f6a36;
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(4, 17, 13, 0.98), rgba(10, 31, 24, 0.98) 48%, rgba(22, 54, 46, 0.96)),
    linear-gradient(180deg, rgba(215, 169, 94, 0.12), rgba(246, 247, 245, 0) 24%, rgba(21, 104, 87, 0.12)),
    var(--surface-strong);
  color: var(--ink-inverse);
  isolation: isolate;
  animation: maintenance-bg 24s ease-in-out infinite alternate;
}

@keyframes maintenance-bg {
  0% {
    background-position: 0% 0%, 0% 0%;
  }

  100% {
    background-position: 0% 100%, 0% 40%;
  }
}

.maintenance-screen::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: 0.14;
  background-image:
    linear-gradient(rgba(247, 251, 248, 0.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(247, 251, 248, 0.13) 1px, transparent 1px);
  background-size: 62px 62px;
  animation: maintenance-grid-drift 36s linear infinite;
}

.maintenance-screen::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: -1;
  height: 42%;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(16, 38, 32, 0), rgba(21, 104, 87, 0.14)),
    linear-gradient(90deg, rgba(215, 169, 94, 0), rgba(215, 169, 94, 0.08), rgba(215, 169, 94, 0));
}

@keyframes maintenance-grid-drift {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(62px);
  }
}

.maintenance-network {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  color: var(--maintenance-gold);
}

.maintenance-network svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.network-path {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.1;
  opacity: 0.34;
}

.network-path-dashed {
  stroke-dasharray: 4 10;
  opacity: 0.42;
}

.network-path-solid {
  opacity: 0.24;
}

.network-node,
.network-card,
.growth-stack {
  position: absolute;
  display: block;
}

.network-node {
  display: grid;
  place-items: center;
  width: 3.7rem;
  height: 3.7rem;
  border: 1px solid rgba(215, 169, 94, 0.48);
  border-radius: 999px;
  background: rgba(16, 38, 32, 0.72);
  box-shadow: 0 12px 30px rgba(4, 18, 14, 0.28);
}

.network-node span {
  position: relative;
  width: 1.8rem;
  height: 1.8rem;
}

.network-node span::before,
.network-node span::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(243, 234, 216, 0.62);
}

.network-node span::before {
  top: 0.1rem;
  width: 0.74rem;
  height: 0.74rem;
  border-radius: 999px;
}

.network-node span::after {
  bottom: 0.15rem;
  width: 1.45rem;
  height: 0.86rem;
  border-radius: 999px 999px 0.4rem 0.4rem;
}

.network-node-a {
  left: 8%;
  top: 13%;
}

.network-node-b {
  left: 15%;
  top: 44%;
  border-color: rgba(215, 169, 94, 0.74);
}

.network-node-c {
  right: 10%;
  top: 20%;
}

.network-node-d {
  right: 15%;
  top: 50%;
}

.network-card {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  width: 12rem;
  min-height: 4.4rem;
  border: 1px solid rgba(181, 205, 188, 0.2);
  border-radius: var(--radius-control);
  background:
    linear-gradient(180deg, rgba(243, 234, 216, 0.05), rgba(243, 234, 216, 0.015)),
    rgba(16, 38, 32, 0.58);
  padding: 0.95rem 1rem;
  box-shadow: 0 18px 42px rgba(4, 18, 14, 0.22);
}

.network-card-left {
  left: 4.5%;
  bottom: 27%;
}

.network-card-right {
  right: 4.5%;
  bottom: 29%;
}

.network-card-icon,
.network-check {
  flex: 0 0 auto;
  width: 2.45rem;
  height: 2.45rem;
  border-radius: 999px;
  border: 1px solid rgba(215, 169, 94, 0.42);
  background: rgba(181, 205, 188, 0.1);
}

.network-card-icon {
  position: relative;
}

.network-card-icon::before,
.network-card-icon::after {
  content: "";
  position: absolute;
  border-radius: 999px 999px 0.45rem 0.45rem;
  background: rgba(181, 205, 188, 0.54);
}

.network-card-icon::before {
  left: 0.42rem;
  bottom: 0.5rem;
  width: 0.75rem;
  height: 0.8rem;
}

.network-card-icon::after {
  right: 0.42rem;
  bottom: 0.5rem;
  width: 0.75rem;
  height: 0.8rem;
}

.network-check {
  position: relative;
}

.network-check::before {
  content: "";
  position: absolute;
  left: 0.76rem;
  top: 0.72rem;
  width: 0.86rem;
  height: 0.46rem;
  border-left: 0.18rem solid rgba(215, 169, 94, 0.76);
  border-bottom: 0.18rem solid rgba(215, 169, 94, 0.76);
  transform: rotate(-45deg);
}

.network-card-lines {
  display: grid;
  flex: 1;
  gap: 0.42rem;
}

.network-card-lines span {
  display: block;
  height: 0.18rem;
  border-radius: 999px;
  background: rgba(181, 205, 188, 0.34);
}

.network-card-lines span:nth-child(1) {
  width: 88%;
}

.network-card-lines span:nth-child(2) {
  width: 64%;
}

.network-card-lines span:nth-child(3) {
  width: 44%;
}

.growth-stack {
  display: flex;
  align-items: flex-end;
  gap: 0.45rem;
  height: 5.8rem;
}

.growth-stack-left {
  left: 10%;
  bottom: 12%;
}

.growth-stack-right {
  right: 9%;
  bottom: 9%;
}

.growth-stack span {
  width: 1.15rem;
  border: 1px solid rgba(215, 169, 94, 0.18);
  border-radius: 0.18rem 0.18rem 0 0;
  background: linear-gradient(180deg, rgba(215, 169, 94, 0.32), rgba(181, 205, 188, 0.1));
}

.growth-stack span:nth-child(1) { height: 24%; }
.growth-stack span:nth-child(2) { height: 42%; }
.growth-stack span:nth-child(3) { height: 58%; }
.growth-stack span:nth-child(4) { height: 78%; }
.growth-stack span:nth-child(5) { height: 100%; }

.maintenance-shell {
  width: min(680px, 100%);
  position: relative;
  z-index: 2;
}

.maintenance-card {
  position: relative;
  overflow: hidden;
  display: grid;
  justify-items: center;
  gap: 0.95rem;
  text-align: center;
  border: 1px solid rgba(215, 169, 94, 0.3);
  border-radius: calc(var(--radius-panel) + 6px);
  background:
    linear-gradient(180deg, rgba(243, 234, 216, 0.08), rgba(243, 234, 216, 0.025)),
    linear-gradient(145deg, rgba(21, 104, 87, 0.14), rgba(16, 38, 32, 0.06)),
    var(--maintenance-panel);
  box-shadow:
    0 28px 68px rgba(4, 18, 14, 0.42),
    inset 0 1px 0 rgba(243, 234, 216, 0.1);
  padding: 2.55rem 3.05rem 3rem;
  animation: maintenance-card-enter 0.7s cubic-bezier(0.16, 1, 0.3, 1) backwards;
}

.maintenance-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(215, 169, 94, 0), rgba(215, 169, 94, 0.08), rgba(215, 169, 94, 0)),
    linear-gradient(rgba(247, 251, 248, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(247, 251, 248, 0.055) 1px, transparent 1px);
  background-size: auto, 48px 48px, 48px 48px;
  opacity: 0.38;
}

.maintenance-card > * {
  position: relative;
  z-index: 1;
}

@keyframes maintenance-card-enter {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.maintenance-build-visual {
  width: min(430px, 100%);
  margin-bottom: 0.25rem;
}

.maintenance-build-visual svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.maintenance-build-visual rect,
.maintenance-build-visual path,
.maintenance-build-visual circle {
  vector-effect: non-scaling-stroke;
}

.build-link,
.build-curve {
  fill: none;
  stroke: rgba(215, 169, 94, 0.62);
  stroke-linecap: round;
  stroke-width: 1.35;
}

.build-link {
  stroke-dasharray: 4 6;
}

.build-link-muted {
  stroke: rgba(181, 205, 188, 0.5);
}

.build-curve {
  stroke: rgba(215, 169, 94, 0.45);
}

.build-card rect,
.build-steps rect {
  fill: rgba(181, 205, 188, 0.08);
  stroke: rgba(181, 205, 188, 0.35);
  stroke-width: 1.1;
}

.build-card circle,
.build-card path {
  fill: none;
  stroke: rgba(181, 205, 188, 0.6);
  stroke-width: 1.45;
  stroke-linecap: round;
}

.team-tile rect {
  fill: rgba(16, 38, 32, 0.72);
  stroke: rgba(215, 169, 94, 0.82);
  stroke-width: 1.35;
}

.team-tile circle,
.team-tile path {
  fill: rgba(181, 205, 188, 0.58);
  stroke: rgba(181, 205, 188, 0.2);
  stroke-width: 1;
}

.build-check circle {
  fill: rgba(215, 169, 94, 0.92);
  stroke: rgba(243, 234, 216, 0.62);
  stroke-width: 1;
}

.build-check path {
  fill: none;
  stroke: rgba(16, 38, 32, 0.92);
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.build-steps rect:nth-child(3) {
  fill: rgba(215, 169, 94, 0.16);
  stroke: rgba(215, 169, 94, 0.72);
}

.maintenance-mark-wrap {
  display: grid;
  place-items: center;
  width: 2.8rem;
  height: 2.8rem;
  border: 1px solid rgba(215, 169, 94, 0.26);
  border-radius: var(--radius-control);
  background: rgba(243, 234, 216, 0.055);
  margin-top: -0.25rem;
}

.maintenance-mark {
  width: 2.15rem;
  height: 2.15rem;
  background: rgba(181, 205, 188, 0.16);
  border-color: rgba(181, 205, 188, 0.28);
  color: var(--maintenance-warm);
  font-size: 0.88rem;
  box-shadow: none;
}

.maintenance-card .micro-label {
  color: var(--maintenance-gold);
  letter-spacing: 0.16em;
  margin-top: 0.3rem;
  margin-bottom: -0.2rem;
}

.maintenance-card h1 {
  max-width: 34rem;
  color: var(--maintenance-warm);
  font-size: 3.65rem;
  line-height: 1.02;
  font-weight: 700;
  letter-spacing: 0;
}

.maintenance-card p {
  max-width: 34rem;
  color: rgba(243, 234, 216, 0.82);
  line-height: 1.6;
  font-size: 1.05rem;
}

.maintenance-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.48rem;
  min-height: 2rem;
  border: 1px solid rgba(215, 169, 94, 0.7);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(215, 169, 94, 0.18), rgba(159, 106, 54, 0.15)),
    rgba(16, 38, 32, 0.72);
  color: var(--maintenance-warm);
  padding: 0.58rem 1.25rem;
  font-size: 0.84rem;
  font-weight: 750;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-top: 0.45rem;
  box-shadow: 0 10px 24px rgba(4, 18, 14, 0.18);
}

.status-dot {
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 999px;
  background: var(--maintenance-gold);
  box-shadow: 0 0 0 0 rgba(215, 169, 94, 0.34);
  animation: maintenance-status-pulse 2.5s infinite cubic-bezier(0.66, 0, 0, 1);
}

@keyframes maintenance-status-pulse {
  to {
    box-shadow: 0 0 0 7px rgba(215, 169, 94, 0);
  }
}

.maintenance-progress-line {
  position: relative;
  width: min(36rem, 100%);
  height: 0.58rem;
  overflow: hidden;
  border: 1px solid rgba(243, 234, 216, 0.16);
  border-radius: 999px;
  background: rgba(243, 234, 216, 0.07);
  margin-top: 0.4rem;
}

.maintenance-progress-line span {
  position: absolute;
  inset: 0 auto 0 0;
  width: 56%;
  border-radius: inherit;
  background:
    linear-gradient(90deg, rgba(215, 169, 94, 0.9), rgba(243, 234, 216, 0.86), rgba(181, 205, 188, 0.72));
  animation: maintenance-progress-shimmer 3.8s ease-in-out infinite alternate;
}

@keyframes maintenance-progress-shimmer {
  from {
    opacity: 0.72;
    transform: translateX(-8%);
  }

  to {
    opacity: 1;
    transform: translateX(8%);
  }
}

.maintenance-actions,
.maintenance-status {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  justify-content: center;
}

.maintenance-actions {
  margin-top: 1.05rem;
  width: 100%;
}

.maintenance-card .secondary,
.maintenance-card .button-link-secondary {
  min-width: 12.3rem;
  min-height: 3.1rem;
  justify-content: center;
  border-radius: var(--radius-control);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.maintenance-card .secondary {
  background: rgba(21, 104, 87, 0.3);
  color: var(--maintenance-warm);
  border-color: rgba(181, 205, 188, 0.32);
}

.maintenance-card .button-link-secondary {
  background: var(--maintenance-warm);
  color: var(--maintenance-forest);
  border-color: rgba(215, 169, 94, 0.42);
}

.maintenance-card .secondary:hover,
.maintenance-card .button-link-secondary:hover {
  background: rgba(243, 234, 216, 0.16);
  border-color: rgba(215, 169, 94, 0.62);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.maintenance-card .button-link-secondary:hover {
  background: #fff8e9;
  color: var(--maintenance-forest);
}

@media (max-width: 960px) {
  .maintenance-network {
    opacity: 0.7;
  }

  .network-card,
  .growth-stack {
    display: none;
  }
}

@media (max-width: 720px) {
  .maintenance-shell {
    width: 100%;
  }

  .maintenance-card {
    padding: 2rem 1.2rem 2.25rem;
  }

  .maintenance-build-visual {
    width: min(340px, 100%);
  }

  .maintenance-card h1 {
    font-size: 2.45rem;
  }

  .maintenance-card p {
    font-size: 0.98rem;
  }

  .maintenance-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .maintenance-card .secondary,
  .maintenance-card .button-link-secondary {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 460px) {
  .maintenance-build-visual {
    width: min(300px, 100%);
  }

  .maintenance-card h1 {
    font-size: 2.15rem;
  }

  .maintenance-status-pill {
    font-size: 0.76rem;
    padding-inline: 0.95rem;
  }

  .auth-eyebrow {
    gap: 0.48rem;
    font-size: 0.66rem;
    letter-spacing: 0.09em;
  }

  .login-context h1,
  .login-brand h2 {
    font-size: 2.08rem;
  }

  .login-context {
    min-height: 230px;
  }

  .input-shell {
    min-height: 3.1rem;
  }

  .login-security-note {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .maintenance-screen {
    animation: none;
  }
  .maintenance-screen::before {
    animation: none;
  }
  .maintenance-card {
    animation: none;
  }
  .status-dot {
    animation: none;
  }
  .maintenance-progress-line span {
    animation: none;
  }
}

.admin-entry-screen {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(240, 242, 235, 0.72)),
    var(--canvas-warm);
  isolation: isolate;
}

.admin-entry-screen::before,
.admin-entry-screen::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.admin-entry-screen::before {
  inset: auto 0 0;
  height: 58%;
  opacity: 0.58;
  background:
    linear-gradient(153deg, transparent 0 46%, rgba(181, 205, 188, 0.16) 46.3% 66%, transparent 66.4%),
    linear-gradient(27deg, transparent 0 44%, rgba(16, 38, 32, 0.08) 44.3% 68%, transparent 68.4%),
    linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(181, 205, 188, 0.2) 70%, rgba(16, 38, 32, 0.1));
  background-position: left bottom;
}

.admin-entry-screen::after {
  opacity: 0.22;
  background-image:
    linear-gradient(rgba(16, 38, 32, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16, 38, 32, 0.045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.42), transparent 76%);
}

.admin-entry-shell {
  position: relative;
  z-index: 1;
  width: min(620px, 100%);
}

.admin-entry-card {
  display: grid;
  gap: 1.35rem;
  justify-items: stretch;
  border: 1px solid var(--line-subtle);
  border-radius: calc(var(--radius-panel) + 8px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 249, 247, 0.97)),
    var(--surface);
  box-shadow:
    0 24px 58px rgba(16, 38, 32, 0.13),
    0 2px 8px rgba(16, 38, 32, 0.06);
  padding: 3.15rem 3.8rem;
}

.admin-entry-header {
  display: grid;
  justify-items: center;
  gap: 0.85rem;
  text-align: center;
}

.admin-entry-mark {
  width: 4.05rem;
  height: 4.05rem;
  margin-bottom: 0.65rem;
  background:
    linear-gradient(145deg, rgba(21, 104, 87, 0.96), rgba(16, 38, 32, 0.98)),
    var(--surface-strong);
  color: var(--text-gold-dark);
  border-color: var(--line-gold);
  font-size: 1.35rem;
  box-shadow:
    0 10px 24px rgba(16, 38, 32, 0.16),
    inset 0 1px 0 rgba(243, 234, 216, 0.14);
}

.admin-entry-card h1 {
  color: var(--surface-strong);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 650;
  letter-spacing: 0;
}

.admin-entry-card p {
  color: var(--muted);
  line-height: 1.6;
  max-width: 24rem;
}

.admin-entry-notice {
  display: grid;
  gap: 0.45rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  padding: 0.85rem;
}

.admin-entry-notice {
  border-color: rgba(158, 100, 18, 0.28);
  background: var(--state-warning-soft);
  text-align: left;
}

.admin-entry-notice strong {
  color: var(--ink-primary);
}

.admin-entry-notice span {
  color: var(--ink-secondary);
  font-size: 0.9rem;
}

.admin-entry-card .login-form {
  gap: 1.15rem;
  text-align: left;
}

.admin-entry-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.admin-entry-actions .button-link,
.admin-entry-actions button {
  width: 100%;
}

.admin-entry-links {
  position: relative;
  margin-top: 0.25rem;
  padding-top: 1.35rem;
  text-align: center;
}

.admin-entry-links::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background:
    linear-gradient(90deg, transparent, var(--line-gold), transparent);
}

.admin-entry-links a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--action-primary-hover);
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
}

.admin-entry-links a:hover {
  color: var(--action-primary);
}

@keyframes maintenance-pulse {
  0%,
  100% {
    opacity: 0.72;
  }

  50% {
    opacity: 1;
  }
}

.maintenance-panel {
  border-color: rgba(21, 104, 87, 0.24);
}

.maintenance-panel-active {
  border-color: var(--line-gold);
  background:
    linear-gradient(180deg, var(--accent-gold-soft), rgba(255, 255, 255, 0.94)),
    var(--surface);
}

.maintenance-status {
  color: var(--muted);
  font-size: 0.9rem;
}

.maintenance-copy {
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  display: grid;
  gap: 0.3rem;
  padding: 0.85rem;
}

.maintenance-copy-muted {
  border-style: dashed;
  background: var(--surface-soft);
}

.maintenance-copy strong {
  color: var(--ink-primary);
}

.maintenance-copy-muted strong {
  color: var(--ink-secondary);
}

.maintenance-copy p {
  color: var(--muted);
  font-size: 0.9rem;
}

.template-management-panel .panel-body {
  display: grid;
  gap: 1rem;
}

.template-management-intro {
  display: grid;
  gap: 0.2rem;
}

.template-management-intro strong {
  color: var(--ink-primary);
}

.template-management-intro span {
  color: var(--ink-secondary);
  font-size: 0.88rem;
  line-height: 1.45;
}

.template-management-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 1rem;
  align-items: start;
}

.template-management-column {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.template-management-title {
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
}

.template-management-title p {
  margin: 0.12rem 0 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.template-form-list {
  display: grid;
  gap: 0.72rem;
}

.template-settings-form {
  display: grid;
  gap: 0.72rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface-muted);
}

.template-settings-form-highlight {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--surface-muted) 82%, var(--accent-soft) 18%);
}

.template-settings-form-header {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
  min-width: 0;
}

.template-settings-form-header > div:first-child {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.template-settings-form-header strong {
  color: var(--ink-primary);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.template-settings-form-header span,
.template-settings-detail {
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.35;
}

.template-settings-form label {
  display: grid;
  gap: 0.32rem;
  min-width: 0;
}

.template-settings-form label span {
  color: var(--ink-secondary);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.template-settings-form textarea {
  min-height: 5rem;
  resize: vertical;
}

.template-settings-inline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.template-settings-inline-wide {
  grid-template-columns: minmax(0, 1.3fr) minmax(7rem, 0.7fr);
}

.template-settings-inline-note {
  display: grid;
  align-content: end;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.4;
}

.template-settings-detail {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem 0.7rem;
}

.email-diagnostic-panel .panel-body {
  display: grid;
  gap: 0.95rem;
}

.email-diagnostic-form textarea {
  min-height: 8rem;
}

.email-diagnostic-result {
  display: grid;
  gap: 0.85rem;
  padding: 0.95rem;
  border: 1px solid var(--line);
  border-left: 4px solid var(--state-warning);
  border-radius: var(--radius-panel);
  background: var(--surface-muted);
}

.email-diagnostic-result-success {
  border-left-color: var(--state-success);
  background: var(--state-success-soft);
}

.email-diagnostic-result-warning {
  background: var(--state-warning-soft);
}

.email-diagnostic-result-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.email-diagnostic-result-header > div:first-child {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.email-diagnostic-result-header strong {
  color: var(--ink-primary);
  line-height: 1.25;
}

.email-diagnostic-reference {
  background: var(--surface);
}

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

.layout.sidebar-collapsed {
  grid-template-columns: 88px minmax(0, 1fr);
}

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  background:
    linear-gradient(180deg, var(--surface-strong), var(--surface-strong-hover)),
    var(--surface-strong);
  color: var(--ink-inverse);
  padding: 1.25rem;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 1.25rem;
  min-width: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: inset -1px 0 0 rgba(247, 251, 248, 0.06);
}

.sidebar-top {
  position: relative;
  display: grid;
  gap: 1rem;
}

.brand {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  padding: 0.2rem 2.75rem 1rem 0.15rem;
  border-bottom: 1px solid rgba(247, 251, 248, 0.14);
}

.sidebar .brand-mark {
  background: rgba(243, 234, 216, 0.1);
  color: var(--icon-dark-primary);
  border-color: var(--line-gold);
  box-shadow:
    0 0 0 1px rgba(215, 169, 94, 0.08),
    0 8px 20px rgba(4, 18, 14, 0.16);
}

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

.brand-title {
  display: block;
  color: var(--ink-inverse);
  font-family: var(--font-heading);
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0;
}

.brand p {
  color: rgba(247, 251, 248, 0.62);
  font-size: 0.78rem;
  font-weight: 400;
  margin-top: 0.2rem;
}

.sidebar-toggle {
  position: absolute;
  top: 0.1rem;
  right: 0.15rem;
  z-index: 5;
  width: 2.15rem;
  height: 2.15rem;
  min-height: 2.15rem;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(181, 205, 188, 0.16);
  border-radius: var(--radius-control);
  background: rgba(181, 205, 188, 0.08);
  color: var(--icon-dark-secondary);
  box-shadow: none;
  transform: none;
}

.sidebar-toggle:hover {
  background: var(--surface-strong);
  border-color: rgba(243, 234, 216, 0.22);
  color: var(--icon-dark-primary);
  box-shadow: none;
  transform: none;
}

.sidebar-toggle-icon {
  display: inline-grid;
  place-items: center;
}

.sidebar-toggle-icon svg {
  width: 1.1rem;
  height: 1.1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sidebar .micro-label {
  color: var(--icon-dark-muted);
}

.brand .micro-label {
  color: var(--text-gold-dark);
}

.nav-group-label {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: rgba(247, 251, 248, 0.62);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0 0.25rem;
}

.nav {
  display: grid;
  align-content: start;
  gap: 0.9rem;
  min-width: 0;
  overflow-y: auto;
  padding-right: 0.1rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(247, 251, 248, 0.18) transparent;
}

.nav::-webkit-scrollbar {
  width: 5px;
}

.nav::-webkit-scrollbar-track {
  background: transparent;
}

.nav::-webkit-scrollbar-thumb {
  background-color: rgba(247, 251, 248, 0.18);
  border-radius: 99px;
}

.nav::-webkit-scrollbar-thumb:hover {
  background-color: rgba(247, 251, 248, 0.32);
}

.nav-section {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
}

.nav-section-label {
  display: flex;
  justify-content: space-between;
  gap: 0.6rem;
  padding: 0 0.25rem 0.15rem;
  color: rgba(247, 251, 248, 0.46);
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.nav-section-links {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.nav-link {
  width: 100%;
  border: 1px solid transparent;
  background: transparent;
  color: rgba(243, 234, 216, 0.78);
  text-align: left;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  position: relative;
  padding: 0.64rem 0.78rem;
  min-height: 2.85rem;
  border-radius: var(--radius-control);
  text-decoration: none;
  transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: none;
}

.nav-submenu {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.nav-submenu-main {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.25rem;
  gap: 0;
  align-items: stretch;
  min-width: 0;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-link-parent {
  min-width: 0;
}

.nav-submenu-main .nav-link {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.nav-submenu.active .nav-submenu-main,
.nav-submenu-main:hover {
  background: var(--surface-strong-hover);
  border-color: rgba(215, 169, 94, 0.14);
}

.nav-submenu.active .nav-submenu-main {
  background:
    linear-gradient(90deg, rgba(196, 131, 45, 0.13), rgba(247, 251, 248, 0.06)),
    var(--surface-strong-hover);
}

.nav-submenu.active .nav-link-parent::before {
  left: 5px;
  opacity: 1;
  transform: scaleY(1);
  box-shadow: 0 0 12px rgba(215, 169, 94, 0.22);
}

.nav-submenu-toggle {
  width: 2.25rem;
  min-height: 2.85rem;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: var(--icon-dark-secondary);
  border-radius: 0;
  box-shadow: none;
}

.nav-submenu-toggle:hover {
  background: rgba(247, 251, 248, 0.06);
  border-color: rgba(181, 205, 188, 0.12);
  color: var(--icon-dark-primary);
  box-shadow: none;
  transform: none;
}

.nav-submenu-chevron {
  display: inline-grid;
  place-items: center;
}

.nav-submenu-chevron svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nav-submenu-links {
  display: grid;
  gap: 0.18rem;
  margin-left: 1.78rem;
  padding: 0.18rem 0 0.12rem 2.0rem;
  border-left: 1px solid rgba(181, 205, 188, 0.16);
}

.nav-sub-link {
  display: grid;
  min-height: 2.15rem;
  padding: 0.45rem 0.72rem;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  color: rgba(243, 234, 216, 0.74);
  text-decoration: none;
  transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-sub-link:hover,
.nav-sub-link.active {
  background: rgba(247, 251, 248, 0.07);
  border-color: rgba(215, 169, 94, 0.12);
  color: var(--ink-inverse);
}

.nav-sub-link.active {
  box-shadow: inset 3px 0 0 var(--accent-gold);
}

.nav-sub-label {
  font-size: 0.82rem;
  font-weight: 500;
  color: inherit;
  transition: font-weight 150ms ease;
}

.nav-sub-link.active .nav-sub-label,
.nav-sub-link:hover .nav-sub-label {
  font-weight: 600;
}

.nav-link::before {
  content: "";
  width: 4px;
  height: 50%;
  border-radius: 999px;
  background: var(--accent-gold);
  position: absolute;
  left: 5px;
  top: 25%;
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  transform: scaleY(0.5);
}

.nav-link.active,
.nav-link:hover {
  background: var(--surface-strong-hover);
  color: var(--ink-inverse);
  box-shadow: none;
  transform: none;
}

.nav-link.active {
  border-color: rgba(215, 169, 94, 0.14);
  background:
    linear-gradient(90deg, rgba(196, 131, 45, 0.13), rgba(247, 251, 248, 0.06)),
    var(--surface-strong-hover);
}

.nav-link.active::before {
  opacity: 1;
  transform: scaleY(1);
  box-shadow: 0 0 12px rgba(215, 169, 94, 0.22);
}

.nav-submenu-main .nav-link,
.nav-submenu-main .nav-link.active,
.nav-submenu-main .nav-link:hover {
  border-color: transparent;
  background: transparent;
}

.nav-icon {
  width: 2rem;
  height: 2rem;
  border-radius: calc(var(--radius-control) - 2px);
  display: grid;
  place-items: center;
  background: rgba(181, 205, 188, 0.08);
  color: var(--icon-dark-secondary);
  border: 1px solid rgba(181, 205, 188, 0.12);
  transition: all 150ms ease;
}

.nav-icon svg,
.topbar-view-icon svg {
  width: 1.08rem;
  height: 1.08rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nav-link.active .nav-icon {
  background: rgba(215, 169, 94, 0.12);
  color: var(--icon-dark-accent);
  border-color: var(--line-gold);
  box-shadow: inset 0 0 0 1px rgba(243, 234, 216, 0.06);
}

.nav-link:hover:not(.active) .nav-icon {
  color: var(--icon-dark-primary);
  border-color: rgba(243, 234, 216, 0.22);
}

.nav-copy {
  display: grid;
  min-width: 0;
}

.nav-label {
  font-size: 0.92rem;
  font-weight: 500;
  color: inherit;
  transition: font-weight 150ms ease;
}

.nav-link.active .nav-label,
.nav-link:hover .nav-label {
  font-weight: 600;
}

.nav-link.nav-admin {
  opacity: 0.88;
}

.nav-link.nav-admin .nav-icon {
  background: rgba(247, 251, 248, 0.055);
  border-color: rgba(181, 205, 188, 0.1);
}

.nav-link.nav-admin .nav-label::after {
  content: "Admin";
  display: inline-flex;
  margin-left: 0.45rem;
  border: 1px solid rgba(215, 169, 94, 0.22);
  border-radius: calc(var(--radius-control) - 3px);
  color: var(--text-gold-dark);
  font-size: 0.58rem;
  font-weight: 600;
  line-height: 1;
  padding: 0.13rem 0.32rem;
  vertical-align: middle;
}

.nav-link:focus-visible,
.nav-sub-link:focus-visible,
.nav-submenu-toggle:focus-visible,
.sidebar-toggle:focus-visible {
  outline-color: var(--focus-ring);
  box-shadow: 0 0 0 4px var(--ring-gold);
}

.layout.sidebar-collapsed .sidebar {
  padding: 1rem 0.75rem;
}

.layout.sidebar-collapsed .brand {
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 0.55rem;
  padding: 0.1rem 0 0.85rem;
}

.layout.sidebar-collapsed .brand-copy,
.layout.sidebar-collapsed .nav-copy,
.layout.sidebar-collapsed .nav-group-label,
.layout.sidebar-collapsed .nav-section-label,
.layout.sidebar-collapsed .sidebar-product-support-copy,
.layout.sidebar-collapsed .operator-copy {
  display: none;
}

.layout.sidebar-collapsed .sidebar-toggle {
  position: static;
  justify-self: center;
}

.layout.sidebar-collapsed .nav {
  padding-right: 0;
  gap: 0.35rem;
}

.layout.sidebar-collapsed .nav-section {
  gap: 0.35rem;
}

.layout.sidebar-collapsed .nav-link {
  grid-template-columns: 2rem;
  justify-content: center;
  justify-items: center;
  gap: 0;
  padding: 0.72rem;
}

.layout.sidebar-collapsed .nav-submenu-main {
  display: block;
}

.layout.sidebar-collapsed .nav-submenu-toggle,
.layout.sidebar-collapsed .nav-submenu-links {
  display: none;
}

.layout.sidebar-collapsed .nav-link::before {
  left: 5px;
}

.layout.sidebar-collapsed .sidebar-product-support {
  grid-template-columns: 2rem;
  justify-content: center;
  justify-items: center;
  gap: 0;
  padding: 0.65rem;
}

.layout.sidebar-collapsed .operator-card {
  grid-template-columns: auto;
  justify-content: center;
  padding: 0.65rem;
}

.nav-empty {
  border: 1px dashed rgba(247, 251, 248, 0.18);
  border-radius: var(--radius-control);
  background: rgba(247, 251, 248, 0.06);
  color: rgba(247, 251, 248, 0.72);
  display: grid;
  gap: 0.3rem;
  padding: 0.85rem;
}

.nav-empty strong {
  color: var(--ink-inverse);
  font-size: 0.86rem;
}

.nav-empty span {
  font-size: 0.76rem;
  line-height: 1.4;
}

.sidebar-footer {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
}

.sidebar-product-support {
  position: relative;
  min-width: 0;
  min-height: 3.45rem;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.7rem;
  align-items: center;
  border: 1px solid rgba(215, 169, 94, 0.3);
  border-radius: var(--radius-panel);
  background: rgba(215, 169, 94, 0.08);
  color: var(--ink-inverse);
  padding: 0.65rem 0.75rem;
  text-decoration: none;
  box-shadow: inset 3px 0 0 rgba(215, 169, 94, 0.7);
  transition:
    background 150ms ease,
    border-color 150ms ease,
    color 150ms ease;
}

.sidebar-product-support:hover,
.sidebar-product-support.active {
  background: rgba(215, 169, 94, 0.14);
  border-color: rgba(215, 169, 94, 0.48);
  color: var(--ink-inverse);
}

.sidebar-product-support:focus-visible {
  outline-color: var(--focus-ring);
  box-shadow:
    inset 3px 0 0 rgba(215, 169, 94, 0.7),
    0 0 0 4px var(--ring-gold);
}

.sidebar-product-support-icon {
  width: 2rem;
  height: 2rem;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(215, 169, 94, 0.3);
  border-radius: var(--radius-control);
  background: rgba(215, 169, 94, 0.12);
  color: var(--icon-dark-accent);
}

.sidebar-product-support-icon svg {
  width: 1.08rem;
  height: 1.08rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sidebar-product-support-copy {
  min-width: 0;
  display: grid;
  gap: 0.12rem;
}

.sidebar-product-support-copy span {
  color: var(--text-gold-dark);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 1.2;
  text-transform: uppercase;
}

.sidebar-product-support-copy strong {
  color: var(--ink-inverse);
  font-size: 0.88rem;
  line-height: 1.25;
  overflow-wrap: break-word;
}

.operator-card {
  border: 1px solid rgba(247, 251, 248, 0.15);
  background: rgba(247, 251, 248, 0.06);
  border-radius: var(--radius-panel);
  padding: 0.85rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.7rem;
  align-items: center;
}

.operator-avatar,
.identity-avatar {
  display: inline-grid;
  place-items: center;
  border-radius: var(--radius-control);
  border: 1px solid var(--line-strong);
  background: var(--surface-soft);
  color: var(--surface-strong);
  font-weight: 700;
  letter-spacing: 0;
}

.operator-avatar {
  width: 2.45rem;
  height: 2.45rem;
  background: rgba(243, 234, 216, 0.1);
  color: var(--icon-dark-primary);
  border-color: rgba(181, 205, 188, 0.24);
}

.operator-copy {
  min-width: 0;
  display: grid;
  gap: 0.25rem;
}

.operator-copy strong {
  color: var(--ink-inverse);
  line-height: 1.25;
  overflow-wrap: break-word;
}

.operator-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.operator-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  margin-top: 0.2rem;
}

.operator-link,
.operator-signout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  border: 1px solid rgba(181, 205, 188, 0.16);
  border-radius: var(--radius-control);
  background: rgba(247, 251, 248, 0.06);
  color: rgba(243, 234, 216, 0.82);
  padding: 0.38rem 0.62rem;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.1;
  text-decoration: none;
  box-shadow: none;
}

.operator-signout {
  width: auto;
}

.operator-link:hover,
.operator-signout:hover {
  background: rgba(247, 251, 248, 0.1);
  border-color: rgba(243, 234, 216, 0.22);
  color: var(--ink-inverse);
  box-shadow: none;
  transform: none;
}

.workspace {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  background: var(--workspace-canvas);
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 58px;
  background: var(--surface);
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  border-bottom: 1px solid var(--line-subtle);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0 1.5rem;
  box-shadow: 0 1px 3px rgba(16, 38, 32, 0.03);
  backdrop-filter: blur(18px) saturate(106%);
  -webkit-backdrop-filter: blur(18px) saturate(106%);
}

.topbar-context {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  color: var(--ink-secondary);
}

.topbar-context-mark {
  width: 1.9rem;
  height: 1.9rem;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--line-gold);
  border-radius: calc(var(--radius-control) - 2px);
  background: var(--accent-gold-soft);
  color: var(--accent-copper);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  flex: 0 0 auto;
}

.topbar-context-copy {
  display: grid;
  gap: 0.05rem;
  min-width: 0;
}

.topbar-context-copy strong {
  color: var(--ink-primary);
  font-size: 0.92rem;
  line-height: 1.2;
}

.topbar-context-copy span {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.25;
}

.topbar-title {
  min-width: 0;
  display: grid;
  gap: 0.15rem;
}

.topbar-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.topbar-view-icon {
  width: 1.85rem;
  height: 1.85rem;
  border-radius: calc(var(--radius-control) - 2px);
  display: inline-grid;
  place-items: center;
  background: var(--accent-gold-soft);
  border: 1px solid var(--line-gold);
  color: var(--accent-copper);
}

.topbar-title strong {
  color: var(--ink-primary);
  font-size: 1rem;
}

.topbar-title > span:last-child {
  color: var(--muted);
  font-size: 0.86rem;
}

.topbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.content {
  padding: 1.45rem;
  display: grid;
  align-content: start;
  gap: 1rem;
  min-width: 0;
}

.content.workspace-page {
  width: min(100%, 1440px);
  margin-inline: auto;
  padding: 1.5rem clamp(1rem, 2vw, 2rem) 2rem;
  gap: var(--workspace-gap);
}

.workspace-archetype-daily {
  --workspace-page-max: 1440px;
  --workspace-page-density: var(--workspace-gap);
}

.workspace-archetype-review {
  --workspace-page-max: 1360px;
  --workspace-page-density: var(--workspace-gap-compact);
}

.workspace-archetype-admin,
.workspace-archetype-reference {
  --workspace-page-max: 1400px;
  --workspace-page-density: var(--workspace-gap);
}

.content.workspace-page {
  width: min(100%, var(--workspace-page-max, 1440px));
  gap: var(--workspace-page-density, var(--workspace-gap));
}

.section {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.page-header {
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1.25rem;
  padding: 1.5rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-panel);
  background: linear-gradient(180deg, var(--surface), var(--surface-soft));
  box-shadow: 0 2px 6px rgba(16, 38, 32, 0.04);
}

.page-header.workspace-header {
  border-color: var(--workspace-line-strong);
  background: var(--workspace-surface);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--workspace-surface-raised) 88%, var(--surface) 12%), var(--workspace-surface));
  box-shadow: var(--workspace-shadow-surface);
}

.page-header.workspace-header::after {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.58), transparent);
  pointer-events: none;
}

.workspace-header-review {
  background:
    linear-gradient(180deg, var(--workspace-command-surface), var(--workspace-surface));
  border-color: var(--workspace-focus-line);
}

.workspace-header-admin {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--soft-accent) 42%, var(--surface) 58%), var(--workspace-surface));
}

.workspace-header-reference {
  background:
    linear-gradient(180deg, var(--workspace-rail-surface), var(--workspace-surface));
}

.page-header::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--action-primary), var(--accent-gold));
}

.page-title-block {
  display: grid;
  gap: 0.42rem;
  max-width: 820px;
  min-width: 0;
  padding-left: 0.25rem;
}

.page-title-block .micro-label {
  color: var(--text-gold);
}

.page-title-block h1 {
  font-size: 1.52rem;
}

.page-title-block p,
.card-header p,
.table-title p {
  color: var(--muted);
  font-size: 0.93rem;
}

.page-header-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.65rem;
  flex-shrink: 0;
}

.page-header-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.page-header-meta {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.35rem;
  max-width: 32rem;
}

.row-action-group,
.member-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.row-action-group {
  min-width: max-content;
}

.member-inline-actions {
  padding-top: 0.25rem;
}

.manage-account-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface-muted);
}

.manage-account-summary .identity-cell {
  min-width: 0;
}

.workspace-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
  min-width: 0;
}

.workspace-grid-form {
  grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr);
}

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

.workspace-surface-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.38fr);
  gap: var(--workspace-gap-loose);
  align-items: start;
  min-width: 0;
}

/* Shared journey composition keeps read context ahead of secondary guidance,
   and keeps update context ahead of mutation controls when columns stack. */
.journey-record-layout,
.journey-update-layout {
  display: grid;
  align-items: start;
  min-width: 0;
}

.journey-record-primary,
.journey-record-context,
.journey-update-context,
.journey-update-main {
  min-width: 0;
}

.workspace-primary-surface,
.workspace-side-rail {
  min-width: 0;
  display: grid;
  gap: var(--workspace-gap);
  align-content: start;
}

.workspace-side-rail {
  position: sticky;
  top: calc(58px + 1rem);
}

.workspace-rail-panel,
.workspace-focus-panel,
.workspace-summary-strip {
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-panel);
  min-width: 0;
}

.workspace-rail-panel {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
  background: var(--workspace-rail-surface);
  box-shadow: var(--shadow-subtle);
}

.workspace-focus-panel {
  display: grid;
  gap: 0.75rem;
  padding: 1.15rem;
  background:
    linear-gradient(180deg, var(--workspace-focus-surface), var(--workspace-surface));
  border-color: var(--workspace-focus-line);
  box-shadow: var(--workspace-shadow-focus);
}

.workspace-focus-panel h2,
.workspace-focus-panel h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.2;
}

.workspace-focus-panel p,
.workspace-rail-panel p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.workspace-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
}

.workspace-summary-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
  padding: 0.75rem;
  background: var(--workspace-surface-muted);
}

.workspace-section-stack {
  display: grid;
  gap: var(--workspace-gap);
  min-width: 0;
}

.definition-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}

.access-definition-grid {
  grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.35fr);
}

.access-purpose-panel .card-header {
  padding-bottom: 0.65rem;
}

.access-purpose-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.access-purpose-grid .definition-row {
  align-content: start;
  min-height: 100%;
}

.access-capability-panel {
  grid-row: span 2;
}

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

.definition-grid .definition-badge {
  justify-content: flex-start;
}

.item-card,
.table-card {
  background: var(--workspace-surface);
  border: 1px solid var(--workspace-line-strong);
  border-radius: var(--radius-panel);
  box-shadow: var(--workspace-shadow-surface);
  min-width: 0;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}

.item-card:hover,
.table-card:hover {
  border-color: rgba(21, 104, 87, 0.28);
  box-shadow: 0 16px 30px -26px rgba(16, 38, 32, 0.35);
}

.item-card {
  padding: 1.25rem;
  display: grid;
  gap: 1.15rem;
}

.item-card.form-panel,
.item-card.definition-panel,
.item-card.code-panel {
  padding: 1.5rem;
}

.notice-panel {
  border-color: rgba(41, 92, 85, 0.24);
  background:
    linear-gradient(180deg, rgba(41, 92, 85, 0.055), rgba(255, 254, 251, 0.94)),
    var(--surface-muted);
}

.lead-member-handoff-panel {
  scroll-margin-top: 1rem;
}

.lead-member-handoff-panel:target,
.lead-member-handoff-panel:focus-visible {
  border-color: var(--line-gold);
  box-shadow: 0 0 0 4px var(--ring-gold), var(--shadow-raised);
}

.sensitive-panel {
  border-color: rgba(106, 77, 34, 0.28);
  background: linear-gradient(180deg, rgba(106, 77, 34, 0.06), rgba(255, 254, 251, 0.94)), var(--surface);
}

.card-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--line);
}

.card-header > div {
  display: grid;
  gap: 0.35rem;
}

.panel-body {
  min-width: 0;
}

.panel-footer {
  border-top: 1px solid var(--line);
  padding-top: 0.8rem;
}

.field {
  display: grid;
  gap: 0.4rem;
  min-width: 0;
}

.field-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--ink-secondary);
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.25;
}

.field-label-icon {
  display: inline-grid;
  place-items: center;
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  color: var(--accent-copper);
}

.field-label-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.field-span-full {
  grid-column: 1 / -1;
}

.field-hint,
.form-note {
  color: var(--ink-tertiary);
  font-size: 0.76rem;
  line-height: 1.35;
}

.readonly-field-value {
  min-height: 2.65rem;
  display: flex;
  align-items: center;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  color: var(--ink-primary);
  padding: 0.65rem 0.85rem;
  font-size: 0.94rem;
  line-height: 1.35;
}

.form-message {
  margin: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  padding: 0.68rem 0.75rem;
  font-size: 0.82rem;
  font-weight: 750;
}

.form-message-warning {
  border-color: rgba(141, 94, 21, 0.28);
  background: var(--state-warning-soft);
  color: var(--state-warning);
}

.form-stack {
  display: grid;
  gap: 1rem;
}

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

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

.form-grid-note {
  grid-template-columns: minmax(220px, 0.34fr) minmax(0, 0.66fr);
}

.form-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.8rem;
  border-top: 1px solid var(--line);
  padding-top: 0.9rem;
}

.definition-list,
.stack-list {
  display: grid;
  gap: 0.65rem;
}

.definition-group-list {
  display: grid;
  gap: 0.95rem;
}

.definition-group {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
}

.definition-group-summary {
  gap: 0.45rem;
}

.definition-group-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.45rem;
  border-bottom: 1px solid var(--line);
}

.definition-group-heading strong {
  color: var(--ink-primary);
  font-size: 0.9rem;
}

.definition-group-heading span,
.policy-rule-meta {
  color: var(--ink-tertiary);
  font-size: 0.74rem;
  font-weight: 750;
}

.compact-list {
  gap: 0.5rem;
}

.definition-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: start;
  padding: 0.78rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface-muted);
}

.definition-main {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.definition-main strong {
  color: var(--ink-primary);
  line-height: 1.25;
}

.definition-main span {
  color: var(--muted);
  font-size: 0.83rem;
  line-height: 1.42;
}

.definition-main code {
  width: fit-content;
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
  border: 1px solid var(--line);
  border-radius: calc(var(--radius-control) - 2px);
  background: rgba(20, 43, 37, 0.035);
  color: var(--ink-tertiary);
  font-size: 0.72rem;
  padding: 0.14rem 0.34rem;
}

.definition-badge {
  display: flex;
  justify-content: flex-end;
}

.inline-disclosure {
  margin-left: 0.2rem;
}

.inline-disclosure summary {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  width: fit-content;
  cursor: pointer;
  color: var(--ink-secondary);
  font-size: 0.78rem;
  font-weight: 700;
  list-style: none;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--surface);
  padding: 0.38rem 0.55rem;
}

.inline-disclosure summary::-webkit-details-marker {
  display: none;
}

.inline-disclosure summary::before {
  content: "";
  display: inline-flex;
  width: 0.42rem;
  height: 0.42rem;
  border-right: 2px solid var(--accent-gold-muted);
  border-bottom: 2px solid var(--accent-gold-muted);
  transform: rotate(-45deg);
}

.inline-disclosure[open] summary::before {
  transform: rotate(45deg);
}

.inline-disclosure summary:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}

.inline-disclosure .definition-list {
  margin-top: 0.55rem;
  padding-left: 0.75rem;
  border-left: 1px solid var(--line);
}

.reference-panel {
  background: var(--surface-muted);
}

.reference-row {
  background: var(--surface);
}

.stack-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 0.78rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface-muted);
}

.stack-copy {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.stack-copy strong {
  color: var(--ink-primary);
  line-height: 1.3;
}

.stack-copy span {
  color: var(--muted);
  font-size: 0.76rem;
}

.setup-task-list {
  display: grid;
  gap: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface);
  overflow: hidden;
}

.setup-workflow-layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(19rem, 3fr);
  gap: 1.25rem;
  align-items: start;
}

.setup-workflow-main,
.setup-workflow-side {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.setup-workflow-main-simple {
  max-width: 980px;
}

.setup-add-panel {
  border-color: rgba(21, 104, 87, 0.2);
  overflow: hidden;
}

details.setup-add-panel summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.3rem;
  padding: 0.85rem 1rem;
  cursor: pointer;
  list-style: none;
  background: var(--surface);
}

details.setup-add-panel summary::-webkit-details-marker {
  display: none;
}

details.setup-add-panel summary:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: -2px;
  box-shadow: inset 0 0 0 3px var(--focus-ring-soft);
}

details.setup-add-panel summary > span:first-child {
  display: grid;
  gap: 0.14rem;
  min-width: 0;
}

details.setup-add-panel summary strong {
  color: var(--ink-primary);
  font-size: 0.98rem;
  line-height: 1.2;
}

details.setup-add-panel summary small {
  color: var(--ink-tertiary);
  font-size: 0.8rem;
  line-height: 1.35;
}

details.setup-add-panel .panel-body {
  padding: 0 1rem 1rem;
  border-top: 1px solid var(--line);
}

.setup-assignment-panel .panel-body {
  display: grid;
  gap: 0.85rem;
}

.setup-assignment-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.65rem 0.72rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface-muted);
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.35;
}

.setup-template-choice-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
}

.setup-assignment-panel .setup-template-choice-list {
  max-height: 36rem;
  overflow: auto;
  padding-right: 0.12rem;
}

.setup-template-choice {
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr) max-content;
  align-items: start;
  gap: 0.62rem;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface);
  padding: 0.68rem 0.72rem;
  cursor: pointer;
}

.setup-template-choice:focus-within {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}

.setup-template-choice input {
  width: 0.86rem;
  height: 0.86rem;
  margin: 0.18rem 0 0;
  justify-self: start;
  flex: 0 0 auto;
  accent-color: var(--action-primary);
}

.setup-template-choice-copy {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.setup-template-choice-copy strong {
  color: var(--ink-primary);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.setup-template-choice-copy span {
  color: var(--muted);
  font-size: 0.76rem;
}

.setup-task-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.25rem;
  align-items: center;
  padding: 1rem 1.25rem;
  border: none;
  border-bottom: 1px solid var(--line-subtle);
  background: var(--surface);
  border-radius: 0;
  transition: background-color 200ms ease;
}

.setup-task-row:last-child {
  border-bottom: none;
}

.setup-task-row:hover {
  background-color: var(--surface-soft);
}

.setup-task-main {
  display: grid;
  gap: 0.42rem;
  min-width: 0;
}

.setup-task-title {
  min-width: 0;
}

.setup-task-title strong {
  color: var(--ink-primary);
  font-size: 0.95rem;
  line-height: 1.25;
  overflow-wrap: break-word;
}

.setup-task-badges {
  gap: 0.3rem;
}

.setup-task-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.4;
}

.setup-task-meta span {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  overflow-wrap: break-word;
}

.setup-task-meta strong {
  color: var(--ink-secondary);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.setup-task-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  justify-content: flex-end;
  min-width: 14rem;
  flex-shrink: 0;
}

/* Custom blocker note rust callout box styling */
.setup-task-blocker-box {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.65rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid rgba(156, 52, 52, 0.22);
  border-radius: var(--radius-control);
  background: var(--state-danger-soft);
  color: var(--ink-primary);
  margin-top: 0.45rem;
  text-align: left;
}

.blocker-box-icon {
  display: inline-flex;
  color: var(--state-danger);
  width: 1.15rem;
  height: 1.15rem;
  flex-shrink: 0;
  margin-top: 0.08rem;
}

.blocker-box-icon svg {
  width: 100%;
  height: 100%;
}

.blocker-box-content {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.blocker-box-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

.blocker-box-header strong {
  color: var(--state-danger);
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.blocker-box-meta {
  color: var(--ink-tertiary);
  font-size: 0.72rem;
}

.blocker-box-body {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.8rem;
  line-height: 1.4;
  overflow-wrap: break-word;
}

/* Inline profile link icon and title layout */
.setup-member-title-row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.profile-link-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ink-secondary);
  transition: color 200ms ease;
  width: 1.15rem;
  height: 1.15rem;
}

.profile-link-icon:hover {
  color: var(--action-primary);
}

.profile-link-icon svg {
  width: 100%;
  height: 100%;
}

/* Setup Visual Progress Bar */
.setup-progress-bar-container {
  margin: 0.4rem 0 0.6rem;
}

.setup-progress-bar-track {
  display: block;
  width: 100%;
  height: 0.5rem;
  appearance: none;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-soft);
}

.setup-progress-bar-track::-webkit-progress-bar {
  background: var(--surface-soft);
}

.setup-progress-bar-track::-webkit-progress-value,
.setup-progress-bar-track::-moz-progress-bar {
  border-radius: inherit;
  background: var(--action-primary);
}

.setup-progress-bar-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--action-primary), var(--accent-gold));
}

/* Unified Empty State Layout */
.setup-member-summary-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line-subtle);
  margin-bottom: 1.5rem;
}

.setup-unified-empty-body {
  padding: 3rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.setup-empty-cta-container {
  max-width: 28rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}

.setup-empty-cta-copy h3 {
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
}

.setup-empty-cta-copy p {
  color: var(--ink-secondary);
  font-size: 0.88rem;
  line-height: 1.45;
  margin: 0;
}

.setup-empty-assign-cta {
  font-weight: 650;
  padding: 0.62rem 1.25rem;
  border-radius: var(--radius-control);
  font-size: 0.9rem;
}

.setup-task-blocker-note {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  color: var(--state-danger);
  font-size: 0.78rem;
  line-height: 1.4;
}

.setup-task-blocker-note strong {
  flex: 0 0 auto;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.setup-task-blocker-note span {
  min-width: 0;
  overflow-wrap: break-word;
}

.milestone-task-next-action {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  color: var(--ink-secondary);
  font-size: 0.78rem;
  line-height: 1.42;
}

.milestone-task-next-action strong {
  flex: 0 0 auto;
  color: var(--ink-tertiary);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Compact Setup Progress Strip */
.setup-progress-strip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 1.25rem;
  align-items: center;
  padding: 1rem 1.25rem;
  background: var(--surface-soft);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-card);
  margin-bottom: 1.25rem;
}

.setup-strip-state,
.setup-strip-help {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.setup-strip-state strong {
  color: var(--ink-primary);
  font-size: 0.95rem;
  font-weight: 600;
}

.setup-strip-progress {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}

.setup-strip-progress-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
}

.setup-strip-progress-header strong {
  color: var(--ink-secondary);
  font-size: 0.82rem;
  font-weight: 550;
}

/* Setup Queue Search & Filter Controls */
.setup-queue-search-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.setup-queue-search-field {
  flex: 1 1 16rem;
  min-width: 12rem;
}

.setup-queue-search-field input {
  width: 100%;
  padding: 0.5rem 0.85rem;
  font-size: 0.88rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--ink-primary);
}

.setup-queue-search-field input:focus {
  outline: none;
  border-color: var(--action-primary);
}

/* Optional Growth Activities Section */
.setup-optional-growth-section {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line-subtle);
}

.setup-section-subtitle {
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0 0 0.25rem;
}

.setup-section-description {
  color: var(--muted);
  font-size: 0.85rem;
  line-height: 1.4;
  margin: 0 0 1rem;
}

/* Responsive Task Row Rules for Mobile (390px Viewport) */
@media (max-width: 720px) {
  .setup-progress-strip {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }

  .setup-task-row {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    padding: 0.88rem 1rem;
  }

  .setup-task-actions {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    justify-content: stretch;
    margin-top: 0.25rem;
  }

  .setup-task-actions button,
  .setup-task-actions .button-link,
  .setup-task-actions .button-link-secondary,
  .setup-task-actions .compact-action {
    flex: 1 1 auto;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0.6rem 1rem;
  }

  .setup-review-queue-row {
    grid-template-columns: 1fr;
    gap: 0.5rem;
    padding: 0.88rem 1rem;
  }
}

/* Structural Contrast: Category Containers vs Nested Task Cards (Card-in-Card remedy) */
.setup-category-disclosure {
  background: var(--surface-soft);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-card);
  margin-bottom: 1rem;
  overflow: hidden;
}

.setup-category-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.85rem 1.1rem;
  background: var(--surface);
  border-bottom: 1px solid var(--line-subtle);
  cursor: pointer;
  user-select: none;
}

.setup-category-summary:hover {
  background: var(--surface-soft);
}

.setup-category-body {
  padding: 0.85rem;
  background: var(--surface-soft);
}

.setup-category-disclosure > .setup-category-body > .setup-task-list > .setup-task-row {
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  margin-bottom: 0.6rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.setup-category-disclosure > .setup-category-body > .setup-task-list > .setup-task-row:last-child {
  margin-bottom: 0;
}

/* Category Summary Progress Pill */
.setup-category-progress-pill {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.2rem 0.55rem;
  background: var(--surface-subtle);
  color: var(--ink-secondary);
  border-radius: var(--radius-pill);
  margin-left: auto;
  margin-right: 0.65rem;
  white-space: nowrap;
}

/* Compact Completed (Verified / Waived) Task Rows */
.setup-task-row.is-completed {
  padding: 0.55rem 1rem;
  background: var(--surface-subtle);
  border-color: var(--line-subtle);
  opacity: 0.9;
}

.setup-task-row.is-completed .setup-task-title strong {
  font-size: 0.88rem;
  font-weight: 550;
  color: var(--ink-secondary);
}

.setup-task-row.is-completed .setup-task-badges {
  margin-top: 0.1rem;
}

/* Secondary Action Links & Buttons Cohesion */
.setup-task-actions .button-link-secondary,
.setup-task-actions a.compact-action {
  background: var(--surface);
  color: var(--ink-secondary);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  font-size: 0.82rem;
  font-weight: 550;
  padding: 0.38rem 0.75rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 180ms ease;
}

.setup-task-actions .button-link-secondary:hover,
.setup-task-actions a.compact-action:hover {
  background: var(--surface-soft);
  border-color: var(--line-strong);
  color: var(--ink-primary);
}

.milestone-task-next-action span {
  min-width: 0;
  overflow-wrap: break-word;
}

.milestone-support-link {
  display: grid;
  gap: 0.55rem;
  padding: 0.68rem;
  border: 1px solid var(--line-gold);
  border-radius: var(--radius-control);
  background: var(--accent-gold-soft);
}

.milestone-support-link-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.55rem;
  align-items: start;
}

.milestone-support-link-header > div:first-child {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.milestone-support-link-header strong,
.milestone-support-resolution strong,
.milestone-support-comment strong {
  color: var(--ink-primary);
  font-size: 0.76rem;
  line-height: 1.25;
}

.milestone-support-link-header span,
.milestone-support-next-action span,
.milestone-support-empty,
.milestone-support-resolution span,
.milestone-support-comment span {
  color: var(--ink-secondary);
  font-size: 0.76rem;
  line-height: 1.4;
  overflow-wrap: break-word;
}

.milestone-support-comments {
  display: grid;
  gap: 0.42rem;
}

.milestone-support-next-action {
  display: grid;
  gap: 0.16rem;
  margin: 0;
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(245, 158, 11, 0.22);
  border-radius: var(--radius-control);
  background: var(--surface-soft);
}

.milestone-support-next-action strong {
  color: var(--ink-primary);
  font-size: 0.76rem;
  line-height: 1.25;
}

.milestone-support-comment {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.55rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(245, 158, 11, 0.22);
  border-radius: var(--radius-control);
  background: var(--surface-soft);
}

.milestone-support-comment > div,
.milestone-support-resolution {
  display: grid;
  gap: 0.14rem;
  min-width: 0;
}

.milestone-support-comment time {
  color: var(--ink-tertiary);
  font-size: 0.68rem;
  line-height: 1.35;
  white-space: nowrap;
}

.milestone-support-empty {
  margin: 0;
}

.setup-no-action {
  color: var(--ink-tertiary);
  font-size: 0.78rem;
  font-weight: 750;
}

.setup-blocker-form {
  grid-column: 1 / -1;
  display: grid;
  gap: 0.55rem;
  padding-top: 0.72rem;
  border-top: 1px solid var(--line);
}

.setup-blocker-form[hidden] {
  display: none;
}

.setup-blocker-form label {
  display: grid;
  gap: 0.3rem;
}

.setup-blocker-form label span {
  color: var(--ink-secondary);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.setup-blocker-form textarea {
  min-height: 4.2rem;
  resize: vertical;
}

.setup-task-instructions {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.82rem;
  line-height: 1.5;
}

.setup-task-feedback,
.setup-task-evidence {
  display: grid;
  gap: 0.3rem;
  margin-top: 0.6rem;
  padding: 0.65rem 0.72rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.setup-task-feedback strong,
.setup-task-evidence strong {
  color: var(--ink-primary);
  font-size: 0.76rem;
}

.setup-task-feedback p,
.setup-task-evidence p {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.8rem;
  line-height: 1.45;
}

.setup-task-evidence a {
  color: var(--primary-green);
  font-size: 0.8rem;
  font-weight: 700;
}

.setup-confirmation-field {
  display: flex !important;
  grid-template-columns: none;
  align-items: center;
  gap: 0.55rem !important;
}

.setup-confirmation-field input {
  width: auto;
}

.setup-confirmation-field span {
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.setup-blocker-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.45rem;
  align-items: center;
}

.setup-ledger table {
  width: 100%;
  min-width: 760px;
}

.setup-ledger-secondary {
  background: var(--surface-muted);
  box-shadow: none;
}

.setup-ledger-secondary .table-title {
  background: var(--surface-muted);
}

.setup-ledger-compact .table-title {
  padding: 1rem;
}

.setup-ledger .cell-text {
  min-width: 8.5rem;
}

.setup-row-actions {
  min-width: 12rem;
}

.setup-summary-panel .panel-body {
  display: grid;
  gap: 0.75rem;
}

.setup-queue-panel .panel-body {
  display: grid;
  gap: 0.85rem;
}

.setup-queue-counts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .setup-queue-counts,
  .milestones-overview-panel .setup-queue-counts {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

.setup-queue-count {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.35rem;
  padding: 1.25rem 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface);
  transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  cursor: pointer;
}

.setup-queue-count:hover {
  border-color: var(--line-gold);
  box-shadow: 0 4px 12px rgba(21, 104, 87, 0.05);
  transform: translateY(-1px);
}

.setup-queue-count strong {
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

.setup-queue-count span {
  color: var(--ink-secondary);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.25;
}

.setup-queue-count.count-tone-danger {
  border-color: rgba(156, 52, 52, 0.25);
  background: linear-gradient(180deg, var(--surface), rgba(156, 52, 52, 0.02));
}
.setup-queue-count.count-tone-danger strong {
  color: var(--state-danger);
}
.setup-queue-count.count-tone-danger:hover {
  border-color: var(--state-danger);
  box-shadow: 0 4px 12px rgba(156, 52, 52, 0.08);
}

.setup-queue-count.count-tone-warning {
  border-color: rgba(141, 94, 21, 0.25);
  background: linear-gradient(180deg, var(--surface), rgba(141, 94, 21, 0.02));
}
.setup-queue-count.count-tone-warning strong {
  color: var(--state-warning);
}
.setup-queue-count.count-tone-warning:hover {
  border-color: var(--state-warning);
  box-shadow: 0 4px 12px rgba(141, 94, 21, 0.08);
}

.setup-queue-count.count-tone-success {
  border-color: rgba(29, 111, 96, 0.25);
  background: linear-gradient(180deg, var(--surface), rgba(29, 111, 96, 0.02));
}
.setup-queue-count.count-tone-success strong {
  color: var(--state-success);
}
.setup-queue-count.count-tone-success:hover {
  border-color: var(--state-success);
  box-shadow: 0 4px 12px rgba(29, 111, 96, 0.08);
}

.setup-queue-count.count-tone-system strong {
  color: var(--action-primary);
}
.setup-queue-count.count-tone-neutral strong {
  color: var(--ink-secondary);
}

.setup-queue-groups {
  display: grid;
  gap: 0.75rem;
}

.setup-queue-group {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}

.setup-queue-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  color: var(--ink-secondary);
}

.setup-queue-heading strong {
  color: var(--ink-primary);
  font-size: 0.85rem;
}

.setup-queue-heading span {
  color: var(--ink-tertiary);
  font-size: 0.73rem;
  font-weight: 700;
}

.setup-queue-list {
  display: grid;
  gap: 0.42rem;
}

button.setup-queue-member {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  min-height: 0;
  padding: 0.62rem 0.68rem;
  border-color: var(--line);
  background: var(--surface);
  color: var(--ink-primary);
  text-align: left;
  box-shadow: none;
}

button.setup-queue-member:hover {
  border-color: rgba(21, 104, 87, 0.28);
  background: var(--surface-soft);
  color: var(--ink-primary);
  box-shadow: none;
  transform: none;
}

button.setup-queue-member.is-selected {
  border-color: var(--line-gold);
  background: var(--accent-gold-soft);
  box-shadow: 0 0 0 1px var(--line-gold);
}

.setup-queue-member > span {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.setup-queue-member strong {
  overflow-wrap: anywhere;
  font-size: 0.84rem;
  line-height: 1.25;
}

.setup-queue-member small {
  color: var(--ink-tertiary);
  font-size: 0.72rem;
  line-height: 1.35;
}

.setup-queue-empty {
  margin: 0;
  padding: 0.2rem 0;
  border: none;
  background: transparent;
  color: var(--ink-tertiary);
  font-size: 0.78rem;
  line-height: 1.4;
}

.setup-queue-more {
  margin: 0.1rem 0 0;
  color: var(--ink-tertiary);
  font-size: 0.74rem;
  line-height: 1.35;
}

.milestones-progress {
  display: grid;
  gap: 0.6rem;
  padding: 1.2rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: linear-gradient(180deg, rgba(21, 104, 87, 0.03), transparent), var(--surface);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.01);
}

.milestones-progress-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}

.milestones-progress-header span {
  color: var(--ink-secondary);
  font-family: var(--font-heading);
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.25;
}

.milestones-progress-header strong {
  color: var(--action-primary);
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.25;
}

.milestones-progress-track {
  display: block;
  width: 100%;
  height: 0.65rem;
  appearance: none;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(21, 104, 87, 0.15);
  border-radius: var(--radius-control);
  background: var(--surface-soft);
}

.milestones-progress-track::-webkit-progress-bar {
  background: var(--surface-soft);
}

.milestones-progress-track::-webkit-progress-value,
.milestones-progress-track::-moz-progress-bar {
  border-radius: inherit;
  background: var(--action-primary);
}

.milestones-progress-track span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--action-primary), var(--accent-gold));
}

.milestones-progress p {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.78rem;
  line-height: 1.4;
}

.milestone-state-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  min-width: 0;
}

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

.setup-member-summary {
  display: grid;
  grid-template-columns: minmax(12rem, 0.9fr) minmax(0, 1.6fr) minmax(12rem, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
}

.setup-member-summary-workflow {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.setup-member-summary-workflow .setup-summary-statuses,
.setup-member-summary-workflow .setup-summary-progress {
  grid-column: 1 / -1;
}

.setup-member-identity {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.setup-member-identity strong {
  color: var(--ink-primary);
  font-size: 1rem;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.setup-member-identity span {
  color: var(--muted);
  font-size: 0.82rem;
  overflow-wrap: anywhere;
}

.setup-summary-statuses {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  min-width: 0;
}

.setup-summary-status {
  display: grid;
  gap: 0.24rem;
  min-width: 0;
}

.setup-summary-status > span {
  color: var(--ink-tertiary);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.setup-summary-progress {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.setup-summary-progress strong {
  color: var(--ink-primary);
  font-size: 0.92rem;
  line-height: 1.3;
}

.setup-summary-progress span {
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.4;
}

.setup-summary-actions {
  display: flex;
  justify-content: flex-end;
  min-width: max-content;
}

.setup-template-reference {
  border-color: var(--line);
  background: var(--surface-muted);
}

.table-card {
  overflow: hidden;
}

.table-title {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--line-strong);
  background: linear-gradient(180deg, var(--surface), var(--surface-soft));
}

.table-title > div:first-child {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.table-title .micro-label {
  color: var(--ink-tertiary);
}

.table-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.3rem;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.scroll-hint {
  color: var(--ink-tertiary);
  font-size: 0.68rem;
}

.table-wrap {
  width: 100%;
  overflow: auto;
  background: var(--panel);
  -webkit-overflow-scrolling: touch;
}

table {
  width: max-content;
  border-collapse: collapse;
  min-width: 100%;
}

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

th,
td {
  padding: 0.95rem 1.15rem;
  text-align: left;
  border-bottom: 1px solid var(--line-subtle);
  vertical-align: top;
}

th {
  background: var(--surface-muted);
  color: var(--ink-secondary);
  font-size: 0.72rem;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

td {
  font-size: 0.88rem;
  color: var(--ink-primary);
}

td.email-cell {
  min-width: 17rem;
}

td.code-cell {
  min-width: 12rem;
}

td.target-table-cell {
  min-width: 18rem;
}

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

tbody tr:hover {
  background: rgba(237, 244, 239, 0.5);
}

.identity-cell {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.65rem;
  align-items: center;
  min-width: 12rem;
}

.identity-avatar {
  width: 2.15rem;
  height: 2.15rem;
  font-size: 0.76rem;
}

.identity-copy {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.identity-copy strong {
  color: var(--ink-primary);
  overflow-wrap: anywhere;
}

.identity-copy span,
.cell-raw {
  color: var(--ink-tertiary);
  font-size: 0.74rem;
}

.cell-text {
  display: inline-block;
  max-width: 32rem;
  color: var(--ink-primary);
  line-height: 1.42;
}

.cell-date {
  display: block;
  color: var(--ink-primary);
  font-size: 0.84rem;
  line-height: 1.35;
}

.cell-raw {
  display: block;
  margin-top: 0.18rem;
  overflow-wrap: normal;
  word-break: normal;
}

.inline-code {
  display: inline-block;
  max-width: min(22rem, 100%);
  overflow-wrap: break-word;
  word-break: normal;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  color: var(--ink-primary);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.76rem;
  line-height: 1.35;
  padding: 0.18rem 0.36rem;
}

.table-card .inline-code,
.email-value {
  max-width: none;
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
}

.email-value {
  display: inline-block;
  color: var(--ink-primary);
  font-size: 0.88rem;
  line-height: 1.35;
}

.id-code {
  max-width: none;
}

.reference-id {
  display: inline-grid;
  gap: 0.16rem;
  min-width: 0;
  color: var(--ink-tertiary);
  font-size: 0.72rem;
}

.reference-id span {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.reference-id code {
  width: fit-content;
  max-width: 13rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: calc(var(--radius-control) - 2px);
  background: var(--surface-muted);
  color: var(--ink-secondary);
  font-size: 0.74rem;
  padding: 0.14rem 0.34rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.target-cell,
.event-cell {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

.target-cell {
  flex-wrap: nowrap;
  min-width: max-content;
}

.event-cell {
  display: grid;
  align-items: start;
  min-width: 14rem;
}

.audit-event-cell strong {
  color: var(--ink-primary);
  font-size: 0.88rem;
  line-height: 1.3;
}

.note-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
  min-width: 0;
}

.note-card {
  align-content: start;
}

.note-header {
  display: grid;
  gap: 0.35rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--line);
}

.note-card p {
  white-space: pre-wrap;
  color: var(--ink-primary);
}

.member-detail-section {
  gap: 1rem;
}

.member-profile-page-header {
  align-items: start;
}

.member-profile-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  color: var(--ink-secondary);
  font-size: 0.78rem;
  font-weight: 750;
  line-height: 1.35;
  text-transform: uppercase;
}

.member-profile-breadcrumb strong {
  color: var(--ink-primary);
  font-weight: 700;
  text-transform: none;
}

.member-profile-header-actions .page-header-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.member-detail-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.member-profile-header {
  display: grid;
  gap: 1.25rem;
  background:
    linear-gradient(180deg, var(--surface), var(--surface-muted)),
    var(--surface);
}

.member-profile-summary-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.member-profile-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  min-width: 0;
}

.member-profile-avatar {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 4rem;
  height: 4rem;
  border: 1px solid var(--line-gold);
  border-radius: 10px;
  background: linear-gradient(135deg, var(--accent-gold-soft), rgba(196, 131, 45, 0.25));
  color: var(--surface-strong);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.member-profile-avatar > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: var(--surface);
}

.member-profile-avatar > img[hidden] {
  display: none;
}

.member-profile-title {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.member-profile-title .micro-label,
.member-section-heading .micro-label {
  color: var(--text-gold);
}

.member-profile-title h3 {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.2;
}

.member-profile-title p,
.member-section-heading p,
.readonly-note span,
.note-meta {
  color: var(--muted);
  font-size: 0.88rem;
}

.member-profile-context {
  display: flex;
  justify-content: flex-end;
  min-width: 0;
}

.member-profile-badges {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  max-width: 44rem;
}

.member-profile-fact-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.6rem;
}

.member-profile-fact {
  display: grid;
  gap: 0.3rem;
  align-content: start;
  min-width: 0;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  padding: 0.55rem 0.75rem;
}

.member-profile-fact > span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 750;
  line-height: 1.25;
}

.member-origin-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  border-top: 1px solid var(--line);
  padding-top: 1rem;
}

.member-origin-copy {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}

.member-origin-copy strong {
  color: var(--ink-primary);
  font-size: 0.92rem;
}

.member-origin-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.4;
}

.member-origin-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
  min-width: 0;
}

.member-lifecycle-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}

.member-lifecycle-panel .panel-body {
  display: grid;
  gap: 0.95rem;
}

.member-profile-core-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
  margin-top: 1rem;
}

.lifecycle-control-card {
  padding: 1.15rem;
  background: var(--surface-muted);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.lifecycle-control-card select,
.lifecycle-control-card input {
  width: 100%;
  padding: 0.45rem;
  font-size: 0.85rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
}

.lifecycle-control-card button {
  padding: 0.45rem 1.15rem;
  font-size: 0.85rem;
  border-radius: var(--radius-control);
}

.setup-levels-track {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.setup-level-step {
  text-align: center;
  padding: 0.6rem 0.4rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.setup-level-step.step-success {
  background: rgba(21, 104, 87, 0.04);
}

.setup-level-step.step-warning {
  background: rgba(196, 131, 45, 0.04);
}

.setup-level-step.step-danger {
  background: rgba(186, 45, 45, 0.04);
}

.setup-level-step.step-neutral {
  background: var(--surface-muted);
}

.setup-level-label {
  font-size: 0.65rem;
  color: var(--muted);
  text-transform: uppercase;
  font-weight: 750;
  letter-spacing: 0.05em;
}

.setup-level-val {
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0.2rem 0;
}

.setup-level-val.val-success {
  color: var(--state-success);
}

.setup-level-val.val-warning {
  color: var(--state-warning);
}

.setup-level-val.val-danger {
  color: var(--state-danger);
}

.setup-level-val.val-neutral {
  color: var(--ink-primary);
}

.setup-level-val span {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--muted);
}

.setup-level-sub {
  font-size: 0.68rem;
  color: var(--muted);
  font-weight: 550;
}

.member-profile-column {
  display: grid;
  gap: 1rem;
  align-content: start;
}

.member-personal-profile-panel > .panel-body,
.member-business-profile-panel > .panel-body {
  display: grid;
  gap: 1rem;
}

.member-personal-profile-panel .team-registration-grid > .field,
.member-business-profile-panel .team-registration-grid > .field {
  align-self: start;
  align-content: start;
}

.member-personal-profile-panel input,
.member-personal-profile-panel select,
.member-business-profile-panel input,
.member-business-profile-panel select {
  width: 100%;
  background: var(--surface-soft);
}

.member-personal-profile-panel input:disabled,
.member-personal-profile-panel select:disabled,
.member-business-profile-panel input:disabled,
.member-business-profile-panel select:disabled {
  color: var(--ink-tertiary);
  background: var(--surface-muted);
  cursor: not-allowed;
  opacity: 0.72;
}

.fact-icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 50%;
  background: var(--surface-muted);
  color: var(--ink-secondary);
  flex-shrink: 0;
  margin-right: 0.85rem;
}

.setup-icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 50%;
  flex-shrink: 0;
  margin-right: 0.85rem;
}

.setup-icon-wrapper.success {
  background: rgba(21, 104, 87, 0.1);
  color: var(--state-success);
}

.setup-icon-wrapper.warning {
  background: rgba(196, 131, 45, 0.1);
  color: var(--state-warning);
}

.setup-icon-wrapper.danger {
  background: rgba(186, 45, 45, 0.1);
  color: var(--state-danger);
}

.setup-icon-wrapper.info {
  background: rgba(196, 131, 45, 0.1);
  color: var(--state-warning);
}

.setup-icon-wrapper.list {
  background: var(--surface-muted);
  color: var(--ink-secondary);
}

.setup-task-row.member-task-preview {
  border-left: 4px solid var(--line-subtle);
  padding: 0.75rem;
  background: var(--surface-muted);
  border-radius: var(--radius-control);
  margin-bottom: 0.75rem;
  display: grid;
  gap: 0.4rem;
}

.setup-task-row.member-task-preview.task-status-blocked,
.setup-task-row.member-task-preview.task-status-stuck {
  border-left-color: var(--state-danger);
}

.setup-task-row.member-task-preview.task-status-submitted,
.setup-task-row.member-task-preview.task-status-submitted_for_review,
.setup-task-row.member-task-preview.task-status-ready_for_review {
  border-left-color: var(--accent-gold);
}

.setup-task-row.member-task-preview.task-status-needs_changes {
  border-left-color: var(--state-warning);
}


.member-admin-controls-disclosure,
.member-note-disclosure,
.member-full-history-disclosure,
.member-priority-tasks-disclosure {
  margin-top: 0.25rem;
}

.member-admin-controls-body {
  background: var(--surface);
}

.member-admin-controls-body .member-lifecycle-grid {
  padding-top: 1rem;
}

.member-note-disclosure {
  margin-bottom: 0.85rem;
}

.member-note-disclosure-body,
.member-full-history-body {
  background: var(--surface);
}

.member-full-history-disclosure {
  margin-top: 0.85rem;
}

.lead-stage-panel .panel-body {
  display: grid;
  gap: 0.95rem;
}

.lifecycle-current,
.readonly-note {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.readonly-note {
  justify-content: space-between;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  padding: 0.75rem;
}

.member-fact-list {
  gap: 0;
}

.member-fact-row {
  grid-template-columns: minmax(0, 1fr) minmax(12rem, auto);
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--line-subtle);
}

.member-fact-row:last-child {
  border-bottom: none;
}

.member-fact-value {
  align-items: center;
  min-width: 0;
}

.member-fact-value > strong {
  color: var(--ink-primary);
  font-size: 0.92rem;
}

.member-setup-tasks-panel .panel-body {
  display: grid;
  gap: 0.85rem;
}

.member-setup-tasks-panel .member-setup-preview {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.member-setup-preview .member-task-preview {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.6rem;
  padding: 0.75rem 0.85rem;
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-left: 4px solid var(--line-subtle);
  border-radius: var(--radius-control);
}

.member-setup-preview .member-task-preview.task-status-blocked,
.member-setup-preview .member-task-preview.task-status-stuck {
  border-left-color: var(--state-danger);
}

.member-setup-preview .member-task-preview.task-status-submitted,
.member-setup-preview .member-task-preview.task-status-submitted_for_review,
.member-setup-preview .member-task-preview.task-status-ready_for_review {
  border-left-color: var(--state-warning);
}

.member-setup-preview .member-task-preview.task-status-needs_changes {
  border-left-color: var(--state-warning);
}

.member-setup-preview .member-task-preview.task-status-verified,
.member-setup-preview .member-task-preview.task-status-completed {
  border-left-color: var(--state-success);
}


.member-setup-preview .setup-task-main {
  gap: 0.34rem;
}

.member-setup-preview .setup-task-meta {
  gap: 0.45rem;
  font-size: 0.74rem;
}

.member-reference,
.member-reference-list {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.member-reference strong {
  color: var(--ink-primary);
  font-size: 0.86rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.member-reference-list {
  gap: 0.55rem;
}

.member-task-preview-wrap {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}

.member-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 1rem;
  min-width: 0;
}

.member-section-heading > div {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.member-section-heading h3 {
  color: var(--ink-primary);
}

.member-subsection {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.member-notes-section {
  gap: 0.85rem;
}

.member-note-summary {
  min-width: 0;
}

.member-latest-note {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  padding: 0.85rem;
}

.member-latest-note p {
  margin: 0;
  color: var(--ink-primary);
  font-size: 0.92rem;
  line-height: 1.5;
  white-space: pre-wrap;
}

.member-note-readonly {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
}

.member-activity-section {
  gap: 0.85rem;
}

.member-activity-list {
  display: grid;
  gap: 0;
}

.member-activity-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(12rem, auto);
  gap: 0.8rem;
  align-items: center;
  border: none;
  border-radius: 0;
  background: transparent;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--line-subtle);
}

.member-activity-row:last-child {
  border-bottom: none;
}


.member-activity-row-main,
.member-activity-row-meta {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.member-activity-row-main strong {
  color: var(--ink-primary);
  font-size: 0.92rem;
}

.member-activity-row-main span,
.member-activity-row-meta span {
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.member-activity-time .cell-date {
  color: var(--state-audit);
  font-weight: 750;
}

.member-activity-row-meta {
  justify-items: end;
  text-align: right;
}

.compact-empty-state {
  display: grid;
  gap: 0.25rem;
  border: 1px dashed var(--line);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  color: var(--muted);
  padding: 0.75rem 0.85rem;
}

.compact-empty-state strong {
  color: var(--ink-primary);
  font-size: 0.9rem;
}

.compact-empty-state span {
  font-size: 0.84rem;
  line-height: 1.4;
}

.support-section {
  gap: 1rem;
}

.support-action-panel {
  gap: 0.95rem;
  padding: 1rem 1.15rem;
}

.lead-action-panel,
.member-action-panel {
  display: flex;
  flex-direction: column;
  gap: 0.95rem;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

.lead-filter-panel {
  background:
    linear-gradient(180deg, rgba(41, 92, 85, 0.035), rgba(255, 254, 251, 0.96)),
    var(--panel);
}

.lead-filter-panel-header {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--line-subtle);
}

.lead-filter-panel-header > span:last-child {
  display: grid;
  gap: 0.14rem;
  min-width: 0;
}

.lead-filter-panel-header strong {
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 0.96rem;
  line-height: 1.25;
}

.lead-filter-panel-header small {
  color: var(--ink-tertiary);
  font-size: 0.78rem;
  line-height: 1.35;
}

.lead-filter-panel-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  border-radius: var(--radius-control);
  background: var(--soft-accent);
  color: var(--action-primary);
}

.support-action-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--line-subtle);
}

.support-action-header > div {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.support-action-header h3 {
  font-size: 1.05rem;
}

.support-action-header p {
  color: var(--muted);
  font-size: 0.88rem;
}

.support-filter-form {
  gap: 0.8rem;
}

/* Sleek Status Rhythm Capsules Bar */
.lead-rhythm-bar {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 0.95rem;
  padding: 0.1rem 0;
  flex-wrap: wrap;
}

.lead-rhythm-title {
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-secondary);
}

.lead-rhythm-pills {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.lead-rhythm-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.38rem 0.85rem;
  border-radius: 9999px;
  border: 1px solid var(--line-subtle);
  background: var(--surface-muted);
  color: var(--ink-primary);
  font-size: 0.8rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(16, 38, 32, 0.02);
  transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.18s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.18s ease,
              background-color 0.18s ease;
}

.lead-rhythm-pill:hover {
  border-color: var(--line-strong);
  transform: translateY(-1px);
  background-color: var(--soft-accent);
}

.lead-rhythm-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--line-strong);
  transition: background-color 0.18s ease;
}

.lead-rhythm-pill-overdue .lead-rhythm-dot {
  background-color: var(--state-danger);
}

.lead-rhythm-pill-upcoming .lead-rhythm-dot {
  background-color: var(--accent-gold);
}

.lead-rhythm-pill-none .lead-rhythm-dot {
  background-color: var(--ink-tertiary);
}

.lead-rhythm-pill-overdue {
  background-color: var(--state-danger-soft);
}

.lead-rhythm-pill-upcoming {
  background-color: var(--accent-gold-soft);
}

.lead-rhythm-count {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.82rem;
  color: var(--ink-secondary);
  transition: color 0.18s ease;
}

/* Active Rhythm Pill State */
.lead-rhythm-pill.active {
  background-color: var(--action-primary) !important;
  color: var(--ink-inverse) !important;
  border-color: var(--action-primary) !important;
  font-weight: 600;
  transform: none;
  box-shadow: inset 0 2px 4px rgba(16, 38, 32, 0.12);
}

.lead-rhythm-pill.active .lead-rhythm-dot {
  background-color: var(--ink-inverse) !important;
}

.lead-rhythm-pill.active .lead-rhythm-count {
  color: var(--ink-inverse) !important;
}

/* Horizontal Toolbar Container */
.lead-filter-toolbar-container {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  border-radius: var(--radius-panel);
  padding: 1.15rem;
  border: 1px solid var(--line-subtle);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
  margin-bottom: 1.25rem;
}

.lead-filter-form-toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
}

.lead-filter-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  align-items: center;
  gap: 0.65rem;
  width: 100%;
}

.lead-filter-control {
  display: grid;
  gap: 0.38rem;
  min-width: 0;
}

.lead-filter-control-search {
  grid-column: span 2;
}

.lead-filter-label {
  color: var(--ink-tertiary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
}

/* Inline Fields */
.filter-field {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 2.25rem;
  width: 100%;
}

.filter-field input,
.filter-field select {
  height: 2.25rem;
  padding: 0 0.8rem;
  border-radius: var(--radius-control);
  border: 1px solid var(--line-subtle);
  background: var(--surface-muted);
  color: var(--ink-primary);
  font-size: 0.84rem;
  font-weight: 500;
  font-family: var(--font-body);
  width: 100%;
  outline: none;
  transition: border-color 0.15s ease,
              background-color 0.15s ease,
              box-shadow 0.15s ease;
}

.filter-field input:hover,
.filter-field select:hover {
  border-color: var(--line-strong);
}

.filter-field input:focus,
.filter-field select:focus {
  border-color: var(--accent-gold);
  box-shadow: 0 0 0 3px var(--ring-gold);
  background-color: var(--surface);
}

.search-field {
  min-width: 0;
}

.search-field input {
  padding-left: 2.15rem !important;
}

.filter-search-icon {
  position: absolute;
  left: 0.8rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--ink-tertiary);
  display: flex;
  align-items: center;
  pointer-events: none;
}

.select-field {
  min-width: 0;
}

.select-field select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 1.85rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a5c54' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.65rem center;
  background-size: 0.95rem;
}

html[data-theme="dark"] .select-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fa097' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}

/* Toolbar Buttons */
.toolbar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  height: 2.25rem;
  padding: 0 0.9rem;
  border-radius: var(--radius-control);
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid var(--line-subtle);
  background: var(--surface-muted);
  color: var(--ink-primary);
  transition: all 0.15s ease;
  text-decoration: none;
  outline: none;
}

.toolbar-btn:hover {
  border-color: var(--line-strong);
  background-color: var(--soft-accent);
}

.toolbar-btn.active {
  background-color: var(--soft-accent);
  border-color: var(--accent-gold);
  color: var(--text-gold);
}

.toolbar-btn .badge-filter-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.1rem;
  height: 1.1rem;
  padding: 0 0.3rem;
  border-radius: 9999px;
  background: var(--action-primary);
  color: var(--ink-inverse);
  font-size: 0.72rem;
  font-weight: 700;
  margin-left: 0.15rem;
}

.toolbar-actions {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-left: auto;
}

.btn-action {
  font-weight: 500;
}

.btn-action svg {
  color: var(--ink-secondary);
}

/* Advanced Filters Collapsible Row */
.lead-advanced-filter-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 0.65rem;
  align-items: end;
  width: 100%;
  padding-top: 0.85rem;
  border-top: 1px dashed var(--line-subtle);
  margin-top: 0.15rem;
}

.btn-reset {
  background: transparent;
  border: none;
  color: var(--ink-secondary);
  font-size: 0.82rem;
  font-weight: 500;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  height: auto;
  padding: 0.2rem 0.5rem;
}

.btn-reset:hover {
  color: var(--state-danger);
}

.lead-filter-summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-top: 0.25rem;
}

.lead-filter-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  padding-top: 0.8rem;
  border-top: 1px solid var(--line-subtle);
}

.lead-filter-footer-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.lead-filter-footer .toolbar-actions {
  margin-left: 0;
}

.lead-filter-summary {
  color: var(--ink-tertiary);
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.35;
}

.btn-primary {
  background-color: var(--action-primary);
  color: var(--ink-inverse);
  border-color: var(--action-primary);
}

.btn-primary:hover {
  background-color: var(--action-primary-hover);
  border-color: var(--action-primary-hover);
}

@media (max-width: 768px) {
  .lead-filter-row {
    grid-template-columns: 1fr;
  }

  .lead-filter-control-search {
    grid-column: auto;
  }

  .filter-field,
  .select-field,
  .search-field {
    width: 100%;
    margin-left: 0;
  }

  .lead-advanced-filter-row {
    grid-template-columns: 1fr;
  }

  .lead-filter-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .lead-filter-footer-actions,
  .lead-filter-footer-actions > .toolbar-btn,
  .lead-filter-footer .toolbar-actions,
  .lead-filter-footer .toolbar-actions > .toolbar-btn {
    width: 100%;
  }

  .lead-filter-footer .toolbar-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

}

.support-filter-actions {
  justify-content: flex-end;
}

.lead-filter-actions {
  justify-content: flex-end;
}

.lead-data-panel {
  display: grid;
  gap: 0.85rem;
  padding-top: 1.15rem;
  border-top: 1px dashed var(--line-subtle);
}

.lead-data-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
}

.lead-data-panel-header > div {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.lead-data-panel-header h3 {
  font-size: 0.95rem;
  line-height: 1.25;
}

.lead-import-help {
  display: grid;
  gap: 0.7rem;
  padding: 0.72rem 0.85rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-soft);
}

.lead-import-help > summary {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  width: 100%;
  cursor: pointer;
  color: var(--ink-secondary);
  font-size: 0.82rem;
  font-weight: 700;
  list-style: none;
}

.lead-import-help > summary::-webkit-details-marker {
  display: none;
}

.lead-import-help[open] > summary .disclosure-chevron {
  transform: rotate(180deg);
}

.lead-import-help-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.85rem;
  margin-top: 0.65rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--line-subtle);
}

.lead-import-help-body > div:first-child {
  display: grid;
  gap: 0.2rem;
}

.lead-import-help-body strong {
  color: var(--ink-primary);
  font-size: 0.86rem;
}

.lead-import-help-body p {
  max-width: 72rem;
  color: var(--ink-tertiary);
  font-size: 0.8rem;
  line-height: 1.45;
}

.lead-import-result {
  grid-column: 1 / -1;
  display: grid;
  gap: 0.3rem;
  margin-top: 0.65rem;
  padding: 0.75rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  color: var(--ink-secondary);
  font-size: 0.84rem;
}

.lead-import-result strong {
  color: var(--ink-primary);
}

.lead-import-result ul {
  display: grid;
  gap: 0.2rem;
  margin: 0;
  padding-left: 1rem;
}

@media (max-width: 768px) {
  .lead-import-help-body {
    grid-template-columns: 1fr;
  }

  .lead-import-help-body > .button-link {
    width: 100%;
    justify-content: center;
  }
}

.support-create-inline {
  margin-top: 0.1rem;
  padding-top: 0.95rem;
  border-top: 1px solid var(--line-subtle);
}

.support-member-create-panel {
  max-width: 860px;
}

.support-member-create-panel .panel-body {
  display: grid;
  gap: 1rem;
}

.support-member-create-form {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.support-member-create-form textarea {
  min-height: 8.5rem;
}

.support-image-picker {
  display: grid;
  gap: 0.65rem;
}

.support-image-picker-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}

.support-image-picker-heading strong {
  color: var(--ink-primary);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.support-image-picker-heading span {
  color: var(--ink-tertiary);
  font-size: 0.75rem;
}

.support-image-drop-zone {
  position: relative;
  display: flex;
  min-height: 6rem;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.9rem;
  overflow: hidden;
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  color: var(--ink-secondary);
  cursor: pointer;
  text-align: center;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.support-image-drop-zone:hover,
.support-image-drop-zone.is-dragging,
.support-image-drop-zone:focus-within {
  border-color: var(--action-primary);
  background: var(--soft-accent);
  color: var(--ink-primary);
}

.support-image-drop-zone:focus-within {
  box-shadow: 0 0 0 3px var(--focus-ring);
}

.support-image-drop-zone > span:last-of-type {
  display: grid;
  gap: 0.2rem;
}

.support-image-drop-zone strong,
.support-image-drop-zone small {
  display: block;
}

.support-image-drop-zone strong {
  font-size: 0.84rem;
}

.support-image-drop-zone small {
  color: var(--ink-tertiary);
  font-size: 0.74rem;
}

.support-image-drop-zone input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.support-image-drop-icon {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  flex: 0 0 auto;
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--action-primary);
}

.support-image-drop-icon svg {
  width: 1.1rem;
  height: 1.1rem;
}

.support-image-picker-compact .support-image-picker-heading {
  display: none;
}

.support-image-picker-compact .support-image-drop-zone {
  min-height: 2.75rem;
  justify-content: flex-start;
  padding: 0.55rem 0.7rem;
  text-align: left;
}

.support-image-picker-compact .support-image-drop-icon {
  width: 1.65rem;
  height: 1.65rem;
}

.support-image-preview-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.support-image-preview-list[hidden] {
  display: none;
}

.support-image-preview {
  position: relative;
  display: grid;
  width: 7rem;
  height: 4.75rem;
  overflow: hidden;
  border: 1px solid var(--line-gold);
  border-radius: var(--radius-control);
  background: var(--surface-soft);
}

.support-image-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.support-image-preview > span {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  padding: 0.25rem 0.35rem;
  background: color-mix(in srgb, var(--surface-strong) 88%, transparent);
  color: var(--ink-inverse);
  font-size: 0.62rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.support-image-preview-remove {
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  display: grid;
  width: 1.5rem;
  height: 1.5rem;
  min-height: 0;
  place-items: center;
  padding: 0;
  border-radius: 50%;
  background: var(--surface-strong);
  color: var(--ink-inverse);
  font-size: 1rem;
  line-height: 1;
}

.support-member-filter-disclosure {
  max-width: 860px;
}

.support-member-filter-disclosure .workspace-command-body {
  padding: 0.85rem;
}

.support-member-empty-panel {
  max-width: 860px;
}

.support-member-empty-state {
  align-items: start;
}

.support-member-empty-state p {
  max-width: 38rem;
}

.support-member-selected-stack {
  display: grid;
  gap: 0.85rem;
  max-width: 920px;
}

.support-member-detail-surface {
  display: grid;
  gap: 0.9rem;
}

.support-member-thread-panel,
.support-member-resolution-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius-card);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.support-member-thread-panel {
  padding: 1rem;
}

.support-member-detail-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--line-subtle);
}

.support-member-detail-header h2 {
  margin: 0;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
}

.support-member-detail-header p,
.support-member-preview-copy,
.support-member-resolution p {
  margin: 0;
  color: var(--ink-secondary);
  line-height: 1.55;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.support-member-status-stack,
.support-member-resolution-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  justify-content: flex-end;
}

.support-member-inline-notice {
  margin: 0;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  background: var(--state-success-soft);
  color: var(--state-success);
  padding: 0.65rem 0.75rem;
  font-weight: 700;
}

.support-member-conversation-panel {
  display: grid;
  gap: 1.2rem;
}

.support-member-status-card {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  border: 1px solid var(--line-subtle);
  border-left: 3px solid var(--action-primary);
  border-radius: var(--radius-control);
  background: linear-gradient(90deg, var(--soft-accent) 0%, var(--surface-muted) 100%);
  padding: 0.85rem 1.15rem;
  margin-bottom: 0.2rem;
  box-shadow: 0 1px 3px rgba(16, 38, 32, 0.02);
}

.support-member-status-card strong {
  display: block;
  font-size: 0.9rem;
  color: var(--ink-primary);
  margin-bottom: 0.15rem;
}

.support-member-status-card span {
  font-size: 0.82rem;
  color: var(--muted);
}

.status-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: var(--surface-soft);
}

.support-member-side-meta {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0.2rem 0;
}

.support-member-side-meta div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--line-subtle);
  padding-bottom: 0.55rem;
}

.support-member-side-meta div:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.support-member-side-meta dt {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 500;
}

.support-member-side-meta dd {
  margin: 0;
  font-size: 0.88rem;
  text-align: right;
}

.support-member-composer-card {
  border-top: 1px solid var(--line-subtle);
  padding-top: 1.2rem;
  margin-top: 0.5rem;
}

.composer-textarea-wrapper textarea {
  width: 100%;
  min-height: 5.5rem;
  padding: 0.75rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--ink-primary);
  font-family: inherit;
  font-size: 0.9rem;
  resize: vertical;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.composer-textarea-wrapper textarea:focus {
  outline: none;
  border-color: var(--accent-gold);
  box-shadow: 0 0 0 3px var(--ring-gold);
  background-color: var(--surface);
}

.composer-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.75rem;
}

.composer-tip {
  font-size: 0.78rem;
  color: var(--muted);
}

.support-member-thread {
  max-height: 480px;
  overflow-y: auto;
  padding-right: 0.5rem;
}

.support-member-thread::-webkit-scrollbar {
  width: 6px;
}

.support-member-thread::-webkit-scrollbar-track {
  background: transparent;
}

.support-member-thread::-webkit-scrollbar-thumb {
  background: var(--line-subtle);
  border-radius: 3px;
}

.support-member-thread::-webkit-scrollbar-thumb:hover {
  background: var(--line-strong);
}

.support-member-resolution-panel .panel-body {
  display: grid;
  gap: 1rem;
}

.support-member-resolution {
  display: grid;
  gap: 0.75rem;
}

.support-member-resolution strong {
  color: var(--ink-primary);
}

.support-member-resolution-meta {
  justify-content: flex-start;
  color: var(--ink-tertiary);
  font-size: 0.78rem;
}

.support-member-preview-card .lead-card-title {
  min-width: 0;
}

.support-member-previous-list {
  display: grid;
  gap: 0.6rem;
}

.support-member-previous-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
  padding: 0.75rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.support-member-previous-row:hover {
  border-color: var(--line-strong);
  background-color: var(--surface-muted);
  box-shadow: var(--shadow-subtle);
}

.support-member-previous-row h3,
.support-member-previous-row p {
  margin: 0;
}

.support-member-previous-row h3 {
  color: var(--ink-primary);
}

.support-member-previous-row p {
  color: var(--ink-secondary);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.support-member-previous-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.empty-state-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 0.75rem;
}

.support-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.55rem;
  min-width: 0;
}

.support-tab {
  min-height: 4rem;
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 0.25rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--ink-secondary);
  padding: 0.68rem 0.78rem;
  text-align: left;
  box-shadow: none;
}

.support-tab:hover,
.support-tab:focus-visible {
  border-color: var(--line-strong);
  background: var(--surface-muted);
  color: var(--ink-primary);
  transform: none;
  box-shadow: none;
}

.support-tab.is-active {
  border-color: var(--line-gold);
  background: var(--accent-gold-soft);
  color: var(--ink-primary);
}

.support-tab span,
.support-tab strong,
.support-tab small {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.support-tab span {
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.25;
}

.support-tab strong {
  color: var(--ink-tertiary);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.2;
}

.support-tab small {
  color: var(--ink-tertiary);
  font-size: 0.72rem;
  font-weight: 650;
  line-height: 1.3;
}

.support-tab.is-active small {
  color: var(--ink-secondary);
}

.lead-create-stage {
  display: grid;
  justify-items: center;
  padding: 0.35rem 0 0.75rem;
}

.lead-create-surface {
  width: min(860px, 100%);
  gap: 1.1rem;
  padding: 1.35rem;
  border-color: rgba(41, 92, 85, 0.28);
  background:
    linear-gradient(180deg, rgba(41, 92, 85, 0.055), rgba(255, 254, 251, 0.98)),
    var(--surface);
  box-shadow: 0 18px 34px -28px rgba(16, 38, 32, 0.38);
}

.lead-create-form {
  gap: 1rem;
}

.lead-form-disclosure {
  margin: 0;
  border-color: var(--line-subtle);
  background: var(--surface-muted);
  box-shadow: none;
}

.lead-form-disclosure > summary {
  padding: 0.9rem 1rem;
}

.lead-form-disclosure .workspace-command-body {
  display: grid;
  gap: 0.8rem;
  padding: 0 1rem 1rem;
}

.lead-form-disclosure .lead-form-section {
  background: var(--surface);
}

.lead-create-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.95rem;
  border-bottom: 1px solid var(--line-subtle);
}

.lead-create-heading > div {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.lead-create-heading h3 {
  margin: 0;
  color: var(--ink-primary);
  font-size: 1.18rem;
  line-height: 1.2;
}

.lead-create-heading p {
  margin: 0;
  max-width: 48rem;
  color: var(--ink-tertiary);
  font-size: 0.88rem;
  line-height: 1.45;
}

.lead-form-section {
  display: grid;
  gap: 0.78rem;
  padding: 0.95rem;
  border-top: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: rgba(255, 254, 251, 0.72);
}

.lead-form-section:first-of-type {
  border-top: 1px solid var(--line-subtle);
}

.lead-form-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.lead-form-section-heading .micro-label {
  color: var(--text-gold);
}

.lead-objection-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.lead-objection-chip {
  position: relative;
  display: inline-flex;
  max-width: 100%;
}

.lead-objection-chip input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.lead-objection-chip span {
  min-height: 2.1rem;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  color: var(--ink-secondary);
  padding: 0.42rem 0.68rem;
  font-size: 0.78rem;
  font-weight: 760;
  line-height: 1.25;
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.lead-objection-chip input:checked + span {
  border-color: var(--line-gold);
  background: var(--accent-gold-soft);
  color: var(--accent-copper);
}

.lead-objection-chip input:focus-visible + span {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--focus-ring-soft);
}

.lead-objection-chip-grid + input {
  margin-top: 0.35rem;
}

.lead-phone-field {
  display: grid;
  gap: 0.38rem;
}

.lead-phone-control {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  min-height: 2.65rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  background: var(--surface);
  box-shadow: inset 0 1px 2px rgba(16, 38, 32, 0.02);
  transition: all 200ms ease;
}

.lead-phone-control:hover {
  border-color: var(--ink-tertiary);
}

.lead-phone-control:focus-within {
  border-color: var(--action-primary);
  box-shadow: 0 0 0 5px var(--focus-ring-soft);
}

.lead-phone-control input {
  min-height: calc(2.65rem - 2px);
  border: 0;
  border-radius: 0 var(--radius-control) var(--radius-control) 0;
  background: transparent;
  box-shadow: none;
  padding-left: 0.65rem;
}

.lead-phone-control input:hover,
.lead-phone-control input:focus,
.lead-phone-control input:focus-visible {
  border-color: transparent;
  background: transparent;
  outline: 0;
  box-shadow: none;
}

.lead-phone-code-pill {
  align-self: stretch;
  display: inline-grid;
  place-items: center;
  min-width: 4.25rem;
  border-right: 1px solid var(--line-subtle);
  color: var(--ink-primary);
  background: var(--surface-muted);
  padding: 0 0.75rem;
  font-size: 0.88rem;
  font-weight: 750;
}

.lead-phone-country-hint {
  display: block;
}

.lead-residence-suggestion-hint {
  display: block;
  color: var(--ink-secondary);
}

.lead-combobox {
  position: relative;
  min-width: 0;
}

.lead-combobox input {
  padding-right: 2.75rem;
}

.lead-combobox-toggle {
  position: absolute;
  right: 0.58rem;
  top: 50%;
  width: 1rem;
  height: 1rem;
  min-height: 0;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink-secondary);
  padding: 0;
  line-height: 1;
  transform: translateY(-50%);
  box-shadow: none;
}

.lead-combobox-toggle svg {
  width: 0.78rem;
  height: 0.52rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lead-combobox-toggle:hover,
.lead-combobox-toggle:focus-visible {
  background: transparent;
  color: var(--accent);
  transform: translateY(-50%);
  box-shadow: none;
}

.lead-combobox-toggle:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
}

.lead-combobox-menu {
  position: absolute;
  z-index: 12;
  top: calc(100% + 0.28rem);
  left: 0;
  right: 0;
  max-height: 15rem;
  overflow: auto;
  display: grid;
  gap: 0.16rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  background: var(--surface);
  padding: 0.35rem;
  box-shadow: 0 18px 34px -24px rgba(16, 38, 32, 0.5);
}

.lead-combobox-menu[hidden] {
  display: none;
}

.lead-combobox-option {
  width: 100%;
  min-height: 2.15rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border: 0;
  border-radius: calc(var(--radius-control) - 2px);
  background: transparent;
  color: var(--ink-primary);
  padding: 0.5rem 0.62rem;
  text-align: left;
  font-size: 0.86rem;
  font-weight: 650;
  box-shadow: none;
}

.lead-combobox-option span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lead-combobox-option:hover,
.lead-combobox-option:focus-visible,
.lead-combobox-option[aria-selected="true"] {
  background: var(--surface-muted);
  color: var(--accent);
  transform: none;
  box-shadow: none;
}

.lead-combobox-option:hover,
.lead-combobox-option:focus-visible {
  background: var(--surface-muted);
  color: var(--accent);
}

.lead-combobox-badge {
  flex: 0 0 auto;
  color: var(--accent);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.lead-combobox-empty {
  color: var(--ink-tertiary);
  padding: 0.65rem;
  font-size: 0.82rem;
}

.lead-source-other[hidden],
.lead-create-strategy-outcome[hidden],
.lead-strategy-fields[hidden],
.lead-current-status-secondary[hidden],
[data-lead-interest-field][hidden],
[data-lead-next-follow-up-field][hidden] {
  display: none;
}

.lead-current-status-secondary:has([data-lead-next-follow-up-field][hidden]) [data-lead-interest-field] {
  grid-column: span 2;
}

.lead-current-status-secondary:has([data-lead-interest-field][hidden]) [data-lead-next-follow-up-field] {
  grid-column: span 2;
}

.lead-create-strategy-outcome {
  display: grid;
  gap: 0.78rem;
  margin-top: 0.9rem;
  padding-top: 0.95rem;
  border-top: 1px solid var(--line-subtle);
}

.lead-create-strategy-heading {
  display: grid;
  gap: 0.22rem;
}

.lead-create-strategy-heading p {
  margin: 0;
  color: var(--ink-tertiary);
  font-size: 0.8rem;
  line-height: 1.4;
}

.lead-strategy-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.lead-strategy-choice {
  position: relative;
  min-width: 0;
  display: grid;
}

.lead-strategy-choice input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.lead-strategy-choice span {
  min-height: 4.8rem;
  display: grid;
  align-content: start;
  gap: 0.22rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  background: var(--surface);
  padding: 0.68rem;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.lead-strategy-choice strong {
  color: var(--ink-primary);
  font-size: 0.88rem;
  line-height: 1.25;
}

.lead-strategy-choice small {
  color: var(--ink-tertiary);
  font-size: 0.74rem;
  line-height: 1.35;
}

.lead-strategy-choice input:checked + span {
  border-color: var(--line-gold);
  background: var(--accent-gold-soft);
  box-shadow: inset 0 0 0 1px rgba(184, 126, 35, 0.14);
}

.lead-strategy-choice input:focus-visible + span {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--focus-ring-soft);
}

.lead-strategy-fields {
  display: grid;
  gap: 0.75rem;
}

.support-inline-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.support-inline-heading strong {
  color: var(--ink-primary);
  font-size: 0.95rem;
}

.support-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  gap: 1rem;
  align-items: start;
  min-width: 0;
}

.support-layout > * {
  min-width: 0;
}

.support-detail-panel .panel-body,
.support-controls-panel .panel-body {
  display: grid;
  gap: 1rem;
}

.support-description {
  color: var(--ink-primary);
  line-height: 1.55;
  margin: 0;
  white-space: pre-wrap;
}

.support-overview-grid,
.support-resolution-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  min-width: 0;
}

.support-overview-item {
  min-width: 0;
  display: grid;
  gap: 0.3rem;
  padding: 0.72rem 0.78rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.support-overview-item > span {
  color: var(--ink-tertiary);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.support-overview-item > div {
  min-width: 0;
  color: var(--ink-primary);
  font-size: 0.88rem;
}

.support-person-name {
  overflow-wrap: anywhere;
}

.support-control-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  align-items: start;
}

.support-next-action-brief {
  align-items: start;
  justify-content: start;
}

.support-control-form,
.support-resolution-form {
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  padding: 0.8rem;
}

.support-action-group-heading {
  display: grid;
  gap: 0.18rem;
}

.support-action-group-heading span {
  color: var(--ink-tertiary);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.support-action-group-heading strong {
  color: var(--ink-primary);
  font-size: 0.92rem;
}

.support-comment-form {
  padding-bottom: 0.9rem;
  border-bottom: 1px solid var(--line-subtle);
}

.support-comment-thread {
  display: grid;
  gap: 0.75rem;
}

.support-comment-card {
  gap: 0.75rem;
  padding: 0.9rem;
  border-color: var(--line-subtle);
  background: var(--surface);
  box-shadow: none;
}

.support-comment-header,
.support-comment-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  min-width: 0;
}

.support-comment-message {
  display: grid;
  gap: 0.28rem;
}

.support-comment-message p {
  margin: 0;
  color: var(--ink-primary);
  font-size: 0.9rem;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.support-comment-meta {
  padding-top: 0.65rem;
  border-top: 1px solid var(--line-subtle);
  color: var(--ink-tertiary);
  font-size: 0.78rem;
  line-height: 1.4;
}

.support-comment-meta strong {
  color: var(--ink-secondary);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.support-assignment-cell {
  display: grid;
  gap: 0.2rem;
  min-width: 10rem;
  color: var(--ink-primary);
}

.support-assignment-cell span {
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.support-assignment-cell strong {
  color: var(--ink-tertiary);
  font-size: 0.72rem;
  font-weight: 700;
}

.support-team-status {
  min-width: 0;
}

.support-next-action-cell {
  display: grid;
  gap: 0.28rem;
  min-width: 11rem;
}

.support-next-action-cell span:last-child {
  color: var(--ink-tertiary);
  font-size: 0.76rem;
  line-height: 1.35;
}

.support-reopen-actions {
  margin-top: 0.75rem;
  justify-content: flex-start;
}

.support-request-cell {
  display: grid;
  gap: 0.32rem;
  min-width: 15rem;
}

.support-request-cell strong {
  color: var(--ink-primary);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.support-request-cell > span {
  color: var(--ink-tertiary);
  font-size: 0.78rem;
}

.support-request-cell-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  color: var(--ink-tertiary);
  font-size: 0.76rem;
  line-height: 1.35;
}

.lead-latest-activity {
  display: grid;
  gap: 0.2rem;
  min-width: 11rem;
  max-width: 20rem;
}

.lead-latest-activity strong {
  color: var(--ink-primary);
  font-size: 0.9rem;
  line-height: 1.3;
}

.lead-latest-activity span,
.lead-latest-activity small {
  color: var(--ink-secondary);
  font-size: 0.82rem;
  line-height: 1.35;
}

.lead-signal-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  min-width: 8rem;
  max-width: 14rem;
}

.lead-card-badges .lead-signal-stack {
  justify-content: flex-end;
  min-width: 0;
  max-width: 16rem;
}

.lead-distributor-fields {
  display: grid;
  grid-column: 1 / -1;
  gap: 0.8rem;
}

.lead-distributor-fields[hidden] {
  display: none;
}

.lead-crm-form {
  margin-top: 1rem;
}

.lead-create-outcome {
  margin-top: 0;
}

.lead-create-outcome-disclosure {
  background: var(--surface-muted);
}

.lead-create-outcome-disclosure .reference-disclosure-body {
  background: var(--surface);
}

.lead-create-outcome-body {
  padding-top: 1rem;
}

.lead-create-actions {
  margin-top: 0.1rem;
  padding-top: 0.9rem;
  background: var(--surface);
}

.lead-list-panel {
  min-width: 0;
}

.lead-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.25rem;
  align-items: stretch;
}

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

.lead-preview-card {
  position: relative;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 1.25rem 1.25rem 1.1rem 1.25rem;
  border: 1px solid var(--line-subtle);
  border-radius: 20px;
  background: var(--surface-card);
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.06), 0 2px 6px -1px rgba(0, 0, 0, 0.04);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s cubic-bezier(0.22, 1, 0.36, 1);
  height: 100%;
  overflow: hidden;
}

.lead-preview-card:hover,
.lead-preview-card:focus-within {
  border-color: rgba(245, 158, 11, 0.35);
  box-shadow: 0 12px 36px -6px rgba(0, 0, 0, 0.35), 0 4px 12px -2px rgba(245, 158, 11, 0.1);
  transform: translateY(-3px);
}

.lead-preview-card.lead-card-selected {
  border-color: var(--action-primary);
  background: linear-gradient(180deg, rgba(21, 104, 87, 0.06), rgba(21, 104, 87, 0.02)), var(--surface-card);
  box-shadow: 0 0 0 1px var(--action-primary), var(--shadow-subtle);
}

.lead-preview-card-archived {
  opacity: 0.78;
}

.lead-card-top-hairline {
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(245, 158, 11, 0.35), transparent);
  pointer-events: none;
}

.lead-card-checkbox-wrapper {
  position: absolute;
  top: 1.35rem;
  left: 1.15rem;
  z-index: 2;
  display: flex;
  align-items: center;
}

.lead-card-checkbox {
  width: 1.15rem;
  height: 1.15rem;
  cursor: pointer;
  accent-color: var(--action-primary);
  margin: 0;
}

.lead-bulk-selection-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: var(--workspace-gap);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  padding: 0.75rem 0.9rem;
  box-shadow: var(--shadow-subtle);
}

.lead-bulk-select-all {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--ink-primary);
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
}

.lead-bulk-select-all input {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: var(--action-primary);
}

.lead-bulk-selection-summary,
.lead-bulk-delete-actions {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.lead-bulk-selection-summary > strong {
  color: var(--ink-secondary);
  font-size: 0.82rem;
}

.lead-bulk-selection-summary button,
.lead-bulk-delete-actions button {
  min-height: 2.25rem;
  padding: 0.5rem 0.8rem;
  font-size: 0.82rem;
}

.lead-bulk-selection-summary > .lead-bulk-delete-open,
.lead-bulk-delete-actions > .danger-action {
  color: var(--accent-ink);
}

.lead-bulk-delete-open:not(:disabled),
.lead-bulk-delete-actions .danger-action:not(:disabled) {
  border-color: var(--state-danger);
  background: var(--state-danger);
  color: var(--accent-ink);
}

.lead-bulk-delete-open:not(:disabled):hover,
.lead-bulk-delete-actions .danger-action:not(:disabled):hover {
  border-color: var(--state-danger);
  background: var(--state-danger);
  color: var(--accent-ink);
}

.lead-bulk-delete-dialog {
  width: min(31rem, calc(100vw - 2rem));
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  padding: 0;
  color: var(--ink-primary);
  box-shadow: var(--shadow-raised);
}

.lead-bulk-delete-dialog::backdrop {
  background: rgba(16, 38, 32, 0.58);
  backdrop-filter: blur(3px);
}

.lead-bulk-delete-form {
  display: grid;
  gap: 1.2rem;
  padding: 1.35rem;
}

.lead-bulk-delete-header {
  display: grid;
  gap: 0.45rem;
}

.lead-bulk-delete-header h2,
.lead-bulk-delete-header p {
  margin: 0;
}

.lead-bulk-delete-header h2 {
  color: var(--state-danger);
  font-size: 1.25rem;
}

.lead-bulk-delete-header p {
  color: var(--ink-secondary);
  font-size: 0.9rem;
  line-height: 1.55;
}

.lead-bulk-delete-confirmation {
  display: grid;
  gap: 0.45rem;
  color: var(--ink-secondary);
  font-size: 0.86rem;
}

.lead-bulk-delete-confirmation input {
  width: 100%;
  border-color: var(--line-strong);
}

.lead-bulk-delete-actions {
  justify-content: flex-end;
}

@media (max-width: 620px) {
  .lead-bulk-selection-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .lead-bulk-selection-summary {
    flex-wrap: wrap;
  }

  .lead-bulk-selection-summary > strong {
    width: 100%;
  }
}

/* 1. Header */
.lead-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.75rem;
  padding-left: 1.85rem;
  position: relative;
}

.lead-card-identity {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
  flex: 1 1 auto;
}

.lead-card-avatar {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid rgba(21, 104, 87, 0.18);
  border-radius: 12px;
  font-size: 0.95rem;
  font-weight: 800;
  color: #156857;
  background: linear-gradient(135deg, #f2f6f5 0%, #e6eee3 100%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.6);
}

.lead-card-title {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
  flex: 1 1 auto;
}

.lead-card-name-title {
  margin: 0;
  color: var(--ink-primary);
  font-size: 1.12rem;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lead-card-sub-info {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}

.lead-card-interest-date-row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.lead-interest-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.12rem 0.45rem;
  border-radius: 9999px;
  flex-shrink: 0;
}

.lead-interest-badge svg {
  width: 0.72rem;
  height: 0.72rem;
  stroke-width: 2.5;
}

.lead-interest-badge.interest-hot {
  color: #ef4444;
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.2);
}

.lead-interest-badge.interest-warm {
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.2);
}

.lead-interest-badge.interest-cold {
  color: #3b82f6;
  background: rgba(59, 130, 246, 0.1);
  border: 1px solid rgba(59, 130, 246, 0.2);
}

.lead-card-added-date {
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--ink-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.lead-card-badges {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 0.3rem;
  flex-shrink: 0;
  max-width: 58%;
}

.lead-card-badges .badge {
  font-size: 0.66rem;
  font-weight: 750;
  padding: 0.2rem 0.5rem;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.lead-card-context-line {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.78rem;
  color: var(--ink-secondary);
  min-width: 0;
  flex-shrink: 1;
}

.lead-card-context-line .context-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  color: var(--ink-secondary);
  background-color: transparent;
  flex-shrink: 0;
}

.lead-card-context-line .context-icon svg {
  width: 0.75rem;
  height: 0.75rem;
}

.lead-card-context-line .context-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Location row */
.lead-card-location-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  padding-left: 1.85rem;
  font-size: 0.8rem;
  color: var(--ink-secondary);
}

.lead-card-location-row .location-item,
.lead-card-location-row .booking-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

.lead-card-location-row .context-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  color: var(--accent-gold);
}

.lead-card-location-row .context-icon svg {
  width: 0.85rem;
  height: 0.85rem;
}

/* 2. Next Touch Band */
.lead-card-next-touch-band {
  margin-left: 1.85rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.65rem 0.85rem;
  border-radius: 12px;
  font-size: 0.8rem;
  line-height: 1.35;
  border: 1px solid var(--line-subtle);
}

.touch-band-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
}

.touch-band-title-group {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.68rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.touch-band-title-group .touch-band-icon {
  width: 0.95rem;
  height: 0.95rem;
  display: inline-flex;
}

.touch-band-title-group .touch-band-icon svg {
  width: 100%;
  height: 100%;
}

.touch-band-subtitle {
  font-size: 0.82rem;
  font-weight: 600;
}

.touch-band-badge {
  font-size: 0.68rem;
  font-weight: 750;
  padding: 0.15rem 0.45rem;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.lead-card-next-follow-up-danger {
  background-color: #fdf2f2;
  border-color: rgba(183, 58, 58, 0.2);
  color: #b73a3a;
}
.lead-card-next-follow-up-danger .touch-band-badge {
  background-color: #fae1e1;
  border: none;
  color: #a82e2e;
}

.lead-card-next-follow-up-warning {
  background-color: #fff9f0;
  border-color: rgba(166, 106, 21, 0.2);
  color: #a66a15;
}
.lead-card-next-follow-up-warning .touch-band-badge {
  background-color: #fce8cd;
  border: none;
  color: #8c560f;
}

.lead-card-next-follow-up-upcoming {
  background-color: #f2fbf7;
  border-color: rgba(21, 104, 87, 0.2);
  color: var(--action-primary);
}
.lead-card-next-follow-up-upcoming .touch-band-badge {
  background-color: #dcf5eb;
  border: none;
  color: var(--action-primary);
}

.lead-card-next-follow-up-empty {
  background-color: rgba(0, 0, 0, 0.02);
  border: 1px solid var(--line-subtle);
  color: var(--ink-secondary);
}
.lead-card-next-follow-up-empty .touch-band-icon {
  color: var(--accent-gold);
}
.lead-card-next-follow-up-empty .touch-band-badge {
  background-color: rgba(0, 0, 0, 0.04);
  border: 1px solid var(--line-subtle);
  color: var(--ink-secondary);
}

/* 3. Responsibility Block */
.lead-card-responsibility-block {
  margin-left: 1.85rem;
  padding: 0.55rem 0.85rem;
  border-radius: 12px;
  border: 1px solid var(--line-subtle);
  background: var(--surface-muted);
}

.responsibility-rows {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  align-items: center;
}

.responsibility-rows > .responsibility-row:nth-child(2) {
  border-left: 1px solid var(--line-subtle);
  padding-left: 0.75rem;
}

.responsibility-row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--ink-primary);
  min-width: 0;
}

.responsibility-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  flex-shrink: 0;
}

.responsibility-row:first-child .responsibility-icon {
  color: #d97706;
  background-color: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.25);
}

.responsibility-row:nth-child(2) .responsibility-icon {
  color: #059669;
  background-color: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.25);
}

.responsibility-icon svg {
  width: 0.8rem;
  height: 0.8rem;
}

.responsibility-info {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.responsibility-label {
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--ink-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.responsibility-value {
  font-weight: 700;
  font-size: 0.8rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.responsibility-value-helper {
  font-weight: 500;
  font-style: italic;
  color: var(--ink-tertiary);
}

/* 4. Extra Assignments */
.lead-card-assignment-row {
  margin-left: 1.85rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
}

/* 5. Last Meaningful Update */
.lead-card-latest-update {
  margin-left: 1.85rem;
  padding: 0.6rem 0.85rem;
  border-radius: 12px;
  border: 1px solid var(--line-subtle);
  background: var(--surface-muted);
}

.lead-card-note-snippet {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.4rem;
  padding-top: 0.4rem;
  border-top: 1px dashed var(--line-subtle);
  color: var(--ink-secondary);
  font-size: 0.78rem;
  line-height: 1.35;
}

.lead-card-note-label {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: var(--ink-tertiary);
  font-size: 0.66rem;
  font-weight: 750;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.lead-card-note-label svg {
  width: 0.8rem;
  height: 0.8rem;
}

.lead-card-note-copy {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lead-card-note-meta {
  color: var(--ink-tertiary);
  font-size: 0.68rem;
  white-space: nowrap;
}

.update-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--ink-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.25rem;
}

.update-meta {
  text-transform: none;
  font-weight: normal;
  letter-spacing: normal;
  font-size: 0.68rem;
  color: var(--ink-tertiary);
  opacity: 0.7;
}

.update-body {
  font-size: 0.84rem;
  line-height: 1.35;
  color: var(--ink-primary);
}

/* 6. Footer Quick Actions */
.lead-card-footer-container {
  margin-left: 1.85rem;
  margin-top: auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
  padding-top: 0.35rem;
}

.lead-card-edit-action {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.75rem;
  border-radius: 8px;
  border: 1px solid var(--line-subtle);
  background: var(--surface-muted);
  color: var(--ink-secondary);
  font-size: 0.78rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.lead-card-edit-action:hover {
  border-color: rgba(245, 158, 11, 0.5);
  background: rgba(245, 158, 11, 0.08);
  color: var(--accent-gold);
  transform: translateY(-1px);
}

.lead-card-edit-action .btn-icon {
  display: inline-flex;
  width: 0.85rem;
  height: 0.85rem;
}

.lead-card-edit-action .btn-icon svg {
  width: 100%;
  height: 100%;
}

.lead-card-ready-to-convert-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.45rem 1.0rem;
  background-color: #e6eeea;
  border: 1px solid rgba(21, 104, 87, 0.08);
  border-radius: 6px;
  text-decoration: none;
  color: #137333;
  font-size: 0.8rem;
  font-weight: 700;
  transition: background-color 0.15s ease, transform 0.15s ease;
}

.lead-card-ready-to-convert-banner:hover {
  background-color: #dbe7e2;
  transform: translateY(-0.5px);
}

.lead-card-ready-to-convert-banner .banner-check-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #137333;
  color: #ffffff;
  border-radius: 50%;
}

.lead-card-ready-to-convert-banner .banner-check-circle svg {
  width: 0.8rem;
  height: 0.8rem;
  stroke-width: 3px;
}

.inline-interest-badge {
  margin-left: 0.35rem;
}

.inline-interest-badge .badge {
  font-size: 0.65rem;
  padding: 0.08rem 0.3rem;
  border-radius: 4px;
  text-transform: uppercase;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
}

.inline-interest-badge .badge-kind-interest.badge-tone-danger {
  background-color: #fff0f0;
  color: #c92a2a;
  border: 1px solid rgba(201, 42, 42, 0.15);
}

.inline-interest-badge .badge-kind-interest.badge-tone-warning {
  background-color: #fff9db;
  color: #d9480f;
  border: 1px solid rgba(217, 72, 15, 0.15);
}

.inline-interest-badge .badge-kind-interest.badge-tone-neutral {
  background-color: #f1f3f5;
  color: #495057;
  border: 1px solid rgba(73, 80, 87, 0.15);
}

.action-spacer {
  flex-grow: 1;
}


.coach-note-header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--accent-copper);
}

.coach-note-icon {
  display: inline-flex;
  width: 0.9rem;
  height: 0.9rem;
  color: var(--accent-copper);
}

.coach-note-icon svg {
  width: 100%;
  height: 100%;
}

.coach-note-title {
  font-weight: 700;
}

.coach-note-meta {
  text-transform: none;
  font-weight: normal;
  letter-spacing: normal;
  margin-left: auto;
  color: var(--accent-copper);
}

.coach-note-body {
  font-size: 0.82rem;
  line-height: 1.4;
  color: var(--ink-primary);
  overflow-wrap: anywhere;
}

.lead-card-contact-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  grid-column: 1 / -1;
  padding-top: 0.6rem;
  border-top: 1px solid var(--line-subtle);
}

.contact-details {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.82rem;
  color: var(--ink-secondary);
  min-width: 0;
}

.contact-icon {
  display: inline-flex;
  width: 0.9rem;
  height: 0.9rem;
  color: var(--ink-tertiary);
  flex-shrink: 0;
}

.contact-icon svg {
  width: 100%;
  height: 100%;
}

.contact-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.view-contact-btn {
  flex-shrink: 0;
  font-size: 0.78rem;
  padding: 0.35rem 0.7rem;
}

.lead-card-assigned-partner-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.78rem 0.85rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: rgba(246, 248, 242, 0.32);
  grid-column: 1 / -1;
}

.partner-box-left {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
}

.partner-box-left .partner-icon {
  display: inline-flex;
  width: 0.95rem;
  height: 0.95rem;
  color: var(--ink-tertiary);
  flex-shrink: 0;
}

.partner-box-left .partner-icon svg {
  width: 100%;
  height: 100%;
}

.partner-info-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.38rem;
  min-width: 0;
}

.partner-info-row {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.partner-box-label {
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--ink-tertiary);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.partner-box-value {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.partner-box-guidance {
  color: var(--ink-tertiary);
  font-size: 0.72rem;
  line-height: 1.35;
}

.lead-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px dashed var(--line-subtle);
  margin-top: 0.25rem;
}

.partner-info {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.footer-label {
  font-size: 0.62rem;
  font-weight: 700;
  color: var(--ink-tertiary);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.footer-value {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink-primary);
}

.change-partner-btn {
  font-size: 0.74rem;
  padding: 0.3rem 0.6rem;
}

.lead-card-footer-member {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
}

.footer-info {
  font-size: 0.78rem;
  color: var(--ink-tertiary);
}

.lead-card-actions {
  display: none;
}

.lead-detail-main-column {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.lead-command-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.32fr);
  gap: 1rem;
  align-items: start;
  min-width: 0;
}

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

.lead-command-main,
.lead-command-side {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.lead-command-side {
  position: sticky;
  top: 1rem;
  align-self: start;
}

.lead-command-status-panel {
  gap: 0.9rem;
}

.lead-command-status-heading {
  margin-bottom: 0;
}

.lead-command-status-rows {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
}

.lead-command-status-row {
  display: grid;
  gap: 0.24rem;
  min-width: 0;
  padding-top: 0.7rem;
  border-top: 1px solid var(--line-subtle);
}

.lead-command-status-row:first-child {
  padding-top: 0;
  border-top: 0;
}

.lead-command-status-row > span {
  color: var(--ink-tertiary);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.lead-command-status-row > div {
  min-width: 0;
  color: var(--ink-primary);
  font-size: 0.88rem;
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.lead-command-activity {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.lead-command-activity strong {
  color: var(--ink-primary);
  font-size: 0.9rem;
  line-height: 1.3;
}

.lead-command-activity span,
.lead-command-activity small {
  color: var(--ink-secondary);
  font-size: 0.8rem;
  line-height: 1.4;
}

.lead-focus-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.38fr);
  gap: 1rem;
  align-items: start;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: 0 2px 4px rgba(16, 38, 32, 0.03);
}

.lead-focus-main,
.lead-detail-operations,
.lead-focus-rail {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.lead-focus-rail {
  position: sticky;
  top: 1rem;
  align-self: start;
}

.lead-focus-shell .lead-profile-header {
  border-color: var(--line-subtle);
  background: var(--surface);
  color: var(--ink-primary);
  box-shadow: none;
}

.lead-focus-shell .lead-profile-header:hover,
.lead-focus-shell .lead-working-brief:hover {
  border-color: var(--line-gold);
  box-shadow: none;
}

.lead-profile-header {
  display: grid;
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: var(--surface);
}

.lead-profile-cover {
  min-height: 3.7rem;
  border-bottom: 1px solid var(--line-subtle);
  background:
    linear-gradient(90deg, var(--accent-gold-soft), rgba(21, 104, 87, 0.08)),
    var(--surface-soft);
}

.lead-focus-shell .lead-profile-cover {
  min-height: 4.35rem;
  border-bottom-color: var(--line-subtle);
  background:
    linear-gradient(90deg, var(--accent-gold-soft), rgba(21, 104, 87, 0.08)),
    var(--surface-soft);
}

.lead-profile-content {
  display: grid;
  gap: 0.85rem;
  padding: 0 1.15rem 0.95rem;
}

.lead-profile-topline {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-top: -1.55rem;
}

.lead-profile-main {
  align-items: end;
}

.lead-profile-avatar {
  width: 4.1rem;
  height: 4.1rem;
  border-color: var(--line-gold);
  background: var(--surface);
  box-shadow: 0 0 0 0.28rem var(--surface);
  font-size: 1.05rem;
}

.lead-focus-shell .lead-profile-avatar {
  border-color: var(--line-gold);
  background: var(--accent-gold-soft);
  box-shadow: 0 0 0 0.28rem var(--surface);
  color: var(--ink-primary);
}

.lead-profile-title {
  padding-bottom: 0.15rem;
}

.lead-profile-title h2 {
  font-size: 1.34rem;
}

.lead-focus-shell .lead-profile-title h2,
.lead-focus-shell .lead-brief-heading h3,
.lead-focus-shell .lead-profile-stat strong,
.lead-focus-shell .lead-context-heading h4,
.lead-focus-shell .lead-narrative-title h4,
.lead-focus-shell .lead-rail-heading h3,
.lead-focus-shell .lead-brief-empty-context strong,
.lead-focus-shell .member-reference strong {
  color: var(--ink-primary);
}

.lead-profile-meta {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.lead-profile-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1rem;
  min-width: 0;
}

.lead-profile-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  min-width: 0;
  color: var(--ink-secondary);
  font-size: 0.86rem;
  line-height: 1.35;
}

.lead-focus-shell .lead-profile-meta-item,
.lead-focus-shell .lead-profile-title p,
.lead-focus-shell .lead-profile-stat > span,
.lead-focus-shell .lead-narrative-title span:not(.lead-narrative-icon),
.lead-focus-shell .lead-rail-muted,
.lead-focus-shell .muted {
  color: var(--ink-secondary);
}

.lead-profile-meta-item > span:last-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

.lead-profile-meta-item svg,
.lead-profile-stat-icon svg,
.lead-icon-button svg,
.lead-profile-edit-button svg,
.lead-narrative-icon svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.lead-profile-meta-item > span:first-child {
  display: inline-flex;
  color: var(--ink-tertiary);
}

.lead-focus-shell .lead-profile-meta-item > span:first-child,
.lead-focus-shell .lead-profile-stat-icon {
  color: var(--accent-copper);
}

.lead-profile-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
  align-items: center;
  padding-bottom: 0.35rem;
}

.lead-profile-back {
  white-space: nowrap;
}

.lead-profile-edit-button {
  gap: 0.42rem;
  white-space: nowrap;
}

.lead-icon-button {
  display: inline-grid;
  place-items: center;
  width: 2.45rem;
  height: 2.45rem;
  min-height: 2.45rem;
  padding: 0;
  border-color: var(--line-strong);
  background: var(--surface);
  color: var(--ink-secondary);
  box-shadow: 0 1px 2px rgba(16, 38, 32, 0.06);
}

.lead-icon-button:hover {
  background: var(--accent-gold-soft);
  border-color: var(--line-gold);
  color: var(--accent-copper);
}

.lead-profile-badges {
  justify-content: flex-start;
  max-width: none;
}

.lead-profile-stat-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--line-subtle);
  background: var(--surface-muted);
}

.lead-focus-shell .lead-profile-stat-strip {
  border-top-color: var(--line-subtle);
  background: var(--surface-soft);
}

.lead-profile-stat {
  display: grid;
  gap: 0.42rem;
  min-width: 0;
  padding: 0.78rem 0.9rem;
  border-right: 1px solid var(--line-subtle);
}

.lead-focus-shell .lead-profile-stat {
  border-right-color: var(--line-subtle);
}

.lead-profile-stat:last-child {
  border-right: 0;
}

.lead-profile-stat > span,
.lead-brief-row > span {
  color: var(--ink-tertiary);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.lead-profile-stat strong {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  color: var(--ink-primary);
  font-size: 0.86rem;
  line-height: 1.35;
  overflow-wrap: break-word;
  word-break: normal;
}

.lead-profile-stat .badge {
  font-size: 0.67rem;
}

.lead-profile-stat-icon {
  display: inline-flex;
  flex: 0 0 auto;
  color: var(--accent-copper);
}

.lead-edit-panel {
  border-color: var(--line-gold);
  background: var(--surface);
}

.lead-edit-heading {
  padding-bottom: 0.2rem;
}

.lead-edit-actions {
  gap: 0.55rem;
}

.lead-snapshot-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
}

.lead-narrative-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.lead-conversation-context {
  display: grid;
  gap: 0.75rem;
  padding-top: 0.1rem;
}

.lead-focus-shell .lead-conversation-context {
  gap: 0.85rem;
}

.lead-context-heading {
  display: grid;
  gap: 0.16rem;
}

.lead-context-heading h4 {
  margin: 0;
  color: var(--ink-primary);
  font-size: 1rem;
  line-height: 1.25;
}

.lead-narrative-card {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
}

.lead-focus-shell .lead-narrative-card,
.lead-rail-card {
  border-color: var(--line-subtle);
  background: var(--surface-muted);
  color: var(--ink-primary);
}

.lead-narrative-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.lead-narrative-title h4 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--ink-primary);
  line-height: 1.25;
}

.lead-narrative-title span:not(.lead-narrative-icon) {
  color: var(--ink-tertiary);
  font-size: 0.76rem;
  font-style: italic;
}

.lead-narrative-icon {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  border-radius: 50%;
  color: var(--accent-copper);
  background: var(--accent-gold-soft);
}

.lead-focus-shell .lead-narrative-icon {
  background: var(--accent-gold-soft);
  color: var(--accent-copper);
}

.lead-narrative-value {
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--bg-surface-secondary);
  color: var(--ink-primary);
  font-size: 0.88rem;
  line-height: 1.48;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.lead-focus-shell .lead-narrative-value {
  border-color: transparent;
  background: transparent;
  color: var(--ink-primary);
}

.lead-narrative-value-empty {
  background: transparent;
  border: 1.5px dashed var(--line-subtle);
  color: var(--ink-tertiary);
  font-style: italic;
}

.lead-focus-shell .lead-narrative-value-empty {
  color: var(--ink-tertiary);
}

.lead-narrative-warning .lead-narrative-icon {
  color: var(--state-warning);
  background: var(--state-warning-soft);
}

.lead-narrative-success .lead-narrative-icon {
  color: var(--state-success);
  background: var(--state-success-soft);
}

.lead-narrative-danger .lead-narrative-icon {
  color: var(--state-danger);
  background: var(--state-danger-soft);
}

.lead-objection-notes-box {
  position: relative;
  padding: 1rem;
  border-radius: var(--radius-control);
  background: rgba(193, 76, 76, 0.04);
  border: 1px solid var(--state-danger-soft);
}

.lead-objection-notes-box-badge {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: var(--surface);
  padding: 0.15rem 0.35rem;
  border-radius: 4px;
  color: var(--state-danger);
}

.lead-objection-tags {
  margin-bottom: 0.65rem;
}

.lead-objection-tags + p {
  margin: 0;
}

.lead-working-brief {
  gap: 1.05rem;
}

.lead-focus-shell .lead-working-brief {
  padding: 0.15rem 0 0;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.lead-brief-heading {
  margin-bottom: 0;
}

.lead-focus-shell .lead-brief-heading {
  padding: 0 0.15rem;
}

.lead-focus-shell .lead-brief-heading p {
  color: var(--ink-secondary);
}

.lead-focus-shell .lead-brief-heading .micro-label,
.lead-focus-shell .lead-context-heading .micro-label,
.lead-focus-shell .lead-rail-heading .micro-label {
  color: var(--accent-copper);
}

.lead-brief-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16.5rem), 1fr));
  gap: 0.75rem;
}

.lead-brief-group {
  display: grid;
  gap: 0.6rem;
  min-width: 0;
  padding: 0.82rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: rgba(246, 248, 242, 0.72);
}

.lead-brief-group h4 {
  margin: 0;
  color: var(--ink-primary);
  font-size: 0.92rem;
  line-height: 1.25;
}

.lead-brief-rows {
  display: grid;
  gap: 0.5rem;
}

.lead-brief-row {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.lead-brief-row > div {
  min-width: 0;
  color: var(--ink-primary);
  font-size: 0.88rem;
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.lead-brief-latest {
  display: grid;
  gap: 0.35rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--line-subtle);
}

.lead-brief-empty-context {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
  align-items: center;
  padding: 0.8rem 0.9rem;
  border: 1px dashed var(--line-subtle);
  border-radius: var(--radius-control);
  background: rgba(246, 248, 242, 0.55);
  color: var(--ink-tertiary);
  font-size: 0.86rem;
  line-height: 1.4;
}

.lead-focus-shell .lead-brief-empty-context {
  border-color: var(--line-gold);
  background: var(--accent-gold-soft);
  color: var(--ink-secondary);
}

.lead-brief-empty-context strong {
  color: var(--ink-primary);
}

.lead-rail-card {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  color: var(--ink-primary);
}

.lead-rail-card:first-child {
  border-color: var(--line-subtle);
  background: var(--surface-muted);
}

.lead-rail-heading {
  display: grid;
  gap: 0.18rem;
}

.lead-rail-heading h3 {
  margin: 0;
  font-size: 0.96rem;
  line-height: 1.25;
}

.lead-rail-rows {
  display: grid;
  gap: 0.68rem;
}

.lead-focus-rail .lead-brief-row {
  gap: 0.25rem;
  padding-top: 0.68rem;
  border-top: 1px solid var(--line-subtle);
}

.lead-focus-rail .lead-brief-row:first-child {
  padding-top: 0;
  border-top: 0;
}

.lead-focus-rail .lead-brief-row > span {
  color: var(--ink-tertiary);
}

.lead-focus-rail .lead-brief-row > div,
.lead-focus-rail .lead-brief-row time,
.lead-focus-rail .lead-brief-row .member-reference strong {
  color: var(--ink-primary);
}

.lead-rail-activity .lead-latest-activity {
  max-width: none;
  color: var(--ink-secondary);
}

.lead-rail-activity .lead-latest-activity strong {
  color: var(--ink-primary);
}

.lead-next-touch-strip {
  display: grid;
  grid-template-columns: minmax(14rem, 0.8fr) minmax(18rem, 1fr) minmax(20rem, 1.1fr);
  gap: 0.85rem;
  align-items: stretch;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-panel);
  background:
    linear-gradient(180deg, rgba(21, 104, 87, 0.06), rgba(255, 254, 251, 0.96)),
    var(--surface);
  box-shadow: 0 2px 4px rgba(16, 38, 32, 0.03);
}

.lead-next-touch-summary,
.lead-next-touch-facts,
.lead-next-touch-actions,
.lead-next-touch-strip .lead-followup-quick-actions {
  min-width: 0;
}

.lead-next-touch-summary {
  display: grid;
  gap: 0.22rem;
  align-content: center;
  padding-right: 0.75rem;
  border-right: 1px solid var(--line-subtle);
}

.lead-next-touch-summary .micro-label {
  color: var(--accent-copper);
}

.lead-next-touch-summary h3 {
  margin: 0;
  color: var(--ink-primary);
  font-size: 1.02rem;
  line-height: 1.25;
}

.lead-next-touch-summary p {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.84rem;
  line-height: 1.45;
}

.lead-next-touch-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.lead-next-touch-fact {
  display: grid;
  gap: 0.32rem;
  min-width: 0;
  padding: 0.78rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.lead-next-touch-fact > span {
  color: var(--ink-tertiary);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.lead-next-touch-fact strong {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  color: var(--ink-primary);
  font-size: 0.86rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.lead-next-touch-icon {
  display: inline-flex;
  flex: 0 0 auto;
  color: var(--accent-copper);
}

.lead-next-touch-icon svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.lead-next-touch-strip .lead-followup-quick-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem;
}

.lead-next-touch-strip .lead-followup-quick-form {
  align-content: center;
  padding: 0.78rem;
}

.lead-next-touch-strip .lead-followup-next-form {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
}

.lead-next-touch-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.lead-followup-card {
  display: grid;
  gap: 1rem;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background:
    linear-gradient(180deg, rgba(41, 92, 85, 0.055), rgba(255, 254, 251, 0.96)),
    var(--surface-muted);
  color: var(--ink-primary);
}

.lead-followup-heading,
.lead-followup-prep-heading {
  display: grid;
  gap: 0.2rem;
}

.lead-followup-heading .micro-label,
.lead-followup-prep-heading .micro-label {
  color: var(--accent-copper);
}

.lead-followup-heading h3,
.lead-followup-prep-heading h4 {
  margin: 0;
  color: var(--ink-primary);
  line-height: 1.25;
}

.lead-followup-heading h3 {
  font-size: 1rem;
}

.lead-followup-prep-heading h4 {
  font-size: 0.94rem;
}

.lead-followup-heading p {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.84rem;
  line-height: 1.45;
}

.lead-followup-status-grid,
.lead-followup-prep {
  display: grid;
  gap: 0.62rem;
  min-width: 0;
}

.lead-followup-stat {
  display: grid;
  gap: 0.24rem;
  min-width: 0;
  padding: 0.72rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
}

.lead-followup-stat > span,
.lead-followup-prep-item > span {
  color: var(--ink-tertiary);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.lead-followup-stat strong {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  color: var(--ink-primary);
  font-size: 0.86rem;
  line-height: 1.35;
  overflow-wrap: break-word;
  word-break: normal;
}

.lead-followup-prep-item {
  display: grid;
  gap: 0.34rem;
  min-width: 0;
  padding: 0.78rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
}

.lead-followup-prep-item p {
  margin: 0;
  color: var(--ink-primary);
  font-size: 0.88rem;
  line-height: 1.48;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.lead-followup-empty {
  display: grid;
  gap: 0.2rem;
  padding: 0.8rem;
  border: 1px dashed var(--line-gold);
  border-radius: var(--radius-control);
  background: var(--accent-gold-soft);
  color: var(--ink-secondary);
  font-size: 0.84rem;
  line-height: 1.42;
}

.lead-followup-empty strong {
  color: var(--ink-primary);
}

.lead-followup-quick-actions {
  display: grid;
  gap: 0.62rem;
  min-width: 0;
}

.lead-followup-quick-form {
  display: grid;
  gap: 0.58rem;
  min-width: 0;
  padding: 0.78rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
}

.lead-followup-quick-form > div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.lead-followup-quick-form strong {
  color: var(--ink-primary);
  font-size: 0.86rem;
  line-height: 1.3;
}

.lead-followup-quick-form > div span,
.lead-followup-quick-form .field-hint {
  color: var(--ink-tertiary);
  font-size: 0.78rem;
  line-height: 1.38;
}

.lead-followup-next-form .field {
  gap: 0.36rem;
}

.lead-followup-next-form input {
  min-width: 0;
}

.lead-followup-actions {
  padding-top: 0.2rem;
}

.lead-focus-shell .badge {
  border-color: var(--line-subtle);
}

.lead-focus-shell .badge-neutral,
.lead-focus-shell .badge-audit,
.lead-focus-shell .badge-system {
  background: var(--surface-muted);
  color: var(--ink-primary);
  border-color: var(--line-subtle);
}

.lead-focus-shell .badge-warning {
  background: var(--state-warning-soft);
  color: var(--state-warning);
  border-color: var(--line-gold);
}

.lead-inline-update {
  display: grid;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-panel);
  background: var(--surface-muted);
}

.lead-inline-update-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid var(--line-subtle);
}

.lead-inline-update-heading > div {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}

.lead-inline-update-heading h3 {
  margin: 0;
  color: var(--ink-primary);
  font-size: 1.02rem;
  line-height: 1.25;
}

.lead-inline-update-heading p {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.86rem;
  line-height: 1.45;
}

.lead-inline-update-grid {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.lead-inline-control-grid {
  align-items: stretch;
}

.lead-edit-context-disclosure,
.lead-note-disclosure,
.lead-history-disclosure,
.lead-secondary-actions-disclosure {
  background: var(--surface-muted);
}

.lead-edit-context-disclosure .reference-disclosure-body,
.lead-note-disclosure-body,
.lead-secondary-actions-body {
  background: var(--surface);
}

.lead-note-disclosure summary,
.lead-history-disclosure summary,
.lead-secondary-actions-disclosure summary {
  min-height: 3.15rem;
  background: linear-gradient(180deg, rgba(255, 254, 251, 0.96), var(--surface-soft));
}

.lead-edit-context-disclosure .lead-form-section + .lead-form-section {
  margin-top: 0.8rem;
}

.lead-detail-control-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.lead-detail-control-grid .item-card {
  gap: 0.95rem;
}

.lead-detail-control-grid .card-header {
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--line-subtle);
}

.lead-detail-control-grid .lead-crm-form {
  margin-top: 0;
}

.lead-note-disclosure {
  margin-bottom: 0.85rem;
}

.lead-latest-note-panel,
.lead-note-history {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
}

.lead-latest-note-panel {
  margin-bottom: 0.85rem;
}

.lead-note-section-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}

.lead-note-section-label .micro-label {
  color: var(--accent-copper);
}

.lead-latest-note-panel .lead-note-card {
  border-color: var(--line-gold);
  background:
    linear-gradient(180deg, rgba(212, 163, 86, 0.08), rgba(255, 254, 251, 0.96)),
    var(--surface);
}

.lead-booking-note-list {
  display: grid;
  gap: 0.65rem;
  padding-left: 1.15rem;
  margin: 0;
  color: var(--ink-primary);
}

.lead-booking-note-list li {
  padding-left: 0.1rem;
}

.lead-booking-note-list li::marker {
  color: var(--accent-copper);
}

.lead-booking-note-list strong {
  display: block;
  color: var(--ink-primary);
  font-size: 0.82rem;
  line-height: 1.35;
}

.lead-booking-note-list span {
  display: block;
  margin-top: 0.15rem;
  color: var(--ink-secondary);
  line-height: 1.45;
}

.lead-booking-intake-disclosure {
  margin-top: 1rem;
}

.lead-activity-card {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
}

.lead-activity-card .member-section-heading {
  margin-bottom: 0;
}

.lead-activity-list {
  position: relative;
  gap: 0.7rem;
}

.lead-activity-row {
  border-left: 3px solid var(--line-gold);
}

.snapshot-widget {
  padding: 0;
}

.lead-snapshot-disclosure {
  border: none;
  box-shadow: none;
  background: transparent;
}

.lead-snapshot-disclosure > summary {
  padding: 1.15rem;
  min-height: auto;
  background: transparent;
  border: none;
}

.lead-snapshot-disclosure > .reference-disclosure-body {
  border-top: 1px solid var(--line-subtle);
  padding: 1.15rem;
  display: grid;
  gap: 0.55rem;
  font-size: 0.82rem;
}

.lead-snapshot-disclosure .data-row {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid var(--line-subtle);
  padding: 0.35rem 0;
}

.lead-activity-disclosure > .reference-disclosure-body {
  padding-top: 1rem;
}

.lead-activity-disclosure > .reference-disclosure-body > .lead-activity-card {
  border: none;
  background: transparent;
  padding: 0;
  margin-top: 0;
  box-shadow: none;
  display: grid;
  gap: 0.85rem;
}

.lead-note-form-panel {
  display: grid;
  gap: 0.9rem;
  padding: 0.95rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
}

.lead-note-form-heading {
  display: grid;
  gap: 0.2rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--line-subtle);
}

.lead-note-form-heading h4 {
  margin: 0;
  color: var(--ink-primary);
  font-size: 0.98rem;
  line-height: 1.25;
}

.lead-note-form-heading p {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.84rem;
  line-height: 1.45;
}

.lead-secondary-actions {
  margin-top: 0.15rem;
}

.lead-secondary-actions-disclosure {
  background: var(--surface-muted);
}

.lead-secondary-actions-body {
  background: var(--surface);
}

.lead-secondary-actions-body .member-fact-list {
  margin-bottom: 0.25rem;
}

.lead-table table {
  width: 100%;
  min-width: 0;
  table-layout: auto;
}

.lead-table th,
.lead-table td {
  padding-inline: 0.9rem;
}

.lead-table-member .scroll-hint {
  display: none;
}

.lead-table .identity-cell {
  min-width: 10rem;
}

.lead-table-contact-cell {
  max-width: 16rem;
}

.lead-table-contact-cell span,
.lead-table-owner-cell,
.lead-table-assignment-cell {
  overflow-wrap: anywhere;
  line-height: 1.4;
}

.lead-table-assignment-cell .badge-list,
.lead-assignment-list {
  gap: 0.28rem;
  max-width: 14rem;
}

.lead-table .lead-latest-activity {
  min-width: 9rem;
  max-width: 16rem;
}

.lead-table-member .lead-latest-activity {
  max-width: 14rem;
}

.lead-table-open-cell {
  width: 1%;
  white-space: nowrap;
}

.support-empty-line {
  margin: 0;
  color: var(--ink-tertiary);
  font-size: 0.88rem;
}

.support-history-ledger .table-title {
  padding-block: 1rem;
}

.support-activity-disclosure {
  margin-top: 0;
}

.lead-history-disclosure {
  margin-top: 0;
}

.support-activity-list {
  display: grid;
  gap: 0.65rem;
}

.support-activity-row {
  display: grid;
  gap: 0.45rem;
  padding: 0.72rem 0.78rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.support-activity-main,
.support-activity-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  min-width: 0;
}

.support-activity-main strong {
  color: var(--ink-primary);
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}

.support-activity-meta {
  color: var(--ink-tertiary);
  font-size: 0.78rem;
}

.note-meta {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
  padding-top: 0.7rem;
  border-top: 1px solid var(--line);
}

.note-meta span:first-child {
  color: var(--ink-tertiary);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.badge-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.26rem;
  max-width: 100%;
  width: fit-content;
  border-radius: calc(var(--radius-control) - 2px);
  border: 1px solid var(--line);
  padding: 0.18rem 0.44rem;
  background: var(--panel-soft);
  color: var(--ink);
  font-size: 0.66rem;
  font-weight: 750;
  line-height: 1.2;
  text-align: left;
  white-space: normal;
  box-shadow: none;
}

.badge > span:last-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

.badge-dot {
  width: 0.28rem;
  height: 0.28rem;
  flex: 0 0 auto;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.76;
}

.badge-neutral {
  background: var(--canvas-soft);
  color: var(--ink-tertiary);
  border-color: var(--line-subtle);
}

.badge-success {
  background: var(--state-success-soft);
  color: var(--state-success);
  border-color: rgba(29, 111, 96, 0.28);
}

.badge-warning {
  background: var(--state-warning-soft);
  color: var(--state-warning);
  border-color: rgba(141, 94, 21, 0.3);
}

.badge-kind-maintenance.badge-warning,
.topbar-actions .badge-sensitive {
  background: var(--accent-gold-soft);
  color: var(--text-gold);
  border-color: var(--line-gold);
}

.badge-danger {
  background: var(--state-danger-soft);
  color: var(--state-danger);
  border-color: rgba(156, 52, 52, 0.3);
}

.badge-sensitive {
  background: var(--state-sensitive-soft);
  color: var(--state-sensitive);
  border-color: rgba(106, 77, 34, 0.34);
}

.badge-audit {
  background: var(--state-audit-soft);
  color: var(--state-audit);
  border-color: rgba(45, 98, 90, 0.3);
}

.badge-system {
  background: rgba(20, 43, 37, 0.035);
  color: var(--ink-secondary);
  border-color: rgba(20, 43, 37, 0.12);
}

.badge-kind-assignment.badge-sensitive {
  background: var(--accent-gold-soft);
  color: var(--text-gold);
  border-color: var(--line-gold);
}

/* Interest Badges Styling (Mockup details) */
.badge-kind-interest .badge-dot,
.badge-kind-lead .badge-dot {
  display: none;
}

.badge-kind-interest.badge-danger {
  background: var(--state-danger);
  color: #ffffff;
  border-color: var(--state-danger);
  text-transform: uppercase;
}

.badge-kind-interest.badge-warning {
  background: var(--state-warning-soft);
  color: var(--state-warning);
  border-color: rgba(158, 100, 18, 0.3);
  text-transform: uppercase;
}

.badge-kind-interest.badge-neutral {
  background: var(--surface-muted);
  color: var(--ink-tertiary);
  border-color: var(--line-subtle);
  text-transform: uppercase;
}

/* Custom premium styling for Lead Status chips */
.badge-kind-lead {
  border-radius: 20px; /* Pill shape */
  padding: 0.22rem 0.65rem;
  font-size: 0.64rem;
  font-weight: 700;
  text-transform: none; /* Keep natural capitalization like 'Follow-up needed' */
  box-shadow: 0 1px 2px rgba(16, 38, 32, 0.04);
  border: 1px solid transparent;
  transition: all 0.2s ease;
}

.badge-kind-lead.badge-success {
  background-color: rgba(21, 102, 83, 0.08);
  color: var(--state-success);
  border-color: rgba(21, 102, 83, 0.2);
}

.badge-kind-lead.badge-warning {
  background-color: rgba(158, 100, 18, 0.08);
  color: var(--state-warning);
  border-color: rgba(158, 100, 18, 0.2);
}

.badge-kind-lead.badge-audit {
  background-color: rgba(41, 92, 85, 0.08);
  color: var(--state-audit);
  border-color: rgba(41, 92, 85, 0.2);
}

.badge-kind-lead.badge-danger {
  background-color: rgba(171, 51, 51, 0.08);
  color: var(--state-danger);
  border-color: rgba(171, 51, 51, 0.2);
}

.badge-kind-lead.badge-neutral {
  background-color: var(--surface-soft);
  color: var(--ink-secondary);
  border-color: var(--line-strong);
}


.secondary-meta,
.note-timestamp {
  color: var(--ink-tertiary);
  font-size: 0.74rem;
  font-weight: 750;
  line-height: 1.35;
}

.page-header-meta .badge {
  font-size: 0.64rem;
  font-weight: 750;
  opacity: 0.86;
  padding: 0.16rem 0.4rem;
}

.page-header-meta .badge-dot {
  width: 0.24rem;
  height: 0.24rem;
}

.sidebar .badge {
  background: rgba(247, 251, 248, 0.08);
  color: rgba(247, 251, 248, 0.86);
  border-color: rgba(247, 251, 248, 0.16);
}

.sidebar .badge-dot {
  color: var(--icon-dark-secondary);
}

.sidebar .badge-kind-role.badge-sensitive {
  background: rgba(215, 169, 94, 0.12);
  color: var(--text-gold-dark);
  border-color: var(--line-gold);
}

.sidebar .badge-kind-role.badge-sensitive .badge-dot,
.topbar-actions .badge-sensitive .badge-dot,
.badge-kind-maintenance.badge-warning .badge-dot {
  color: var(--accent-gold);
}

.sidebar .badge-kind-role.badge-audit {
  background: rgba(45, 98, 90, 0.16);
  color: #c5ded9;
  border-color: rgba(45, 98, 90, 0.35);
}

.sidebar .badge-kind-role.badge-audit .badge-dot {
  color: #55cca2;
}

.error-text,
.success-text {
  border-radius: var(--radius-control);
  padding: 0.78rem 0.85rem;
  font-weight: 750;
}

.error-text {
  color: var(--danger);
  border: 1px solid rgba(156, 52, 52, 0.25);
  border-left: 4px solid var(--danger);
  background: var(--state-danger-soft);
}

.success-text {
  color: var(--accent);
  border: 1px solid rgba(29, 111, 96, 0.25);
  border-left: 4px solid var(--state-success);
  background: var(--state-success-soft);
}

.empty-state {
  width: 100%;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: linear-gradient(180deg, var(--surface-muted), var(--surface));
  color: var(--muted);
  padding: 1.75rem 1.5rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.15rem;
  align-items: center;
}

.empty-mark {
  position: relative;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--radius-control);
  border: 1px solid var(--line-strong);
  background:
    linear-gradient(180deg, rgba(21, 104, 87, 0.08), rgba(21, 104, 87, 0.02)),
    var(--surface);
  box-shadow: 0 1px 2px rgba(16, 38, 32, 0.04);
}

.empty-mark::before,
.empty-mark::after {
  content: "";
  position: absolute;
  left: 0.72rem;
  right: 0.72rem;
  height: 2px;
  border-radius: 999px;
  background: rgba(21, 104, 87, 0.34);
}

.empty-mark::before {
  top: 0.9rem;
}

.empty-mark::after {
  top: 1.42rem;
}

.empty-mark:has(svg)::before,
.empty-mark:has(svg)::after {
  display: none !important;
}

.empty-mark svg {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--ink-secondary);
}

.empty-state.compact-empty-state .empty-mark svg {
  width: 1rem;
  height: 1rem;
}

.empty-state strong {
  color: var(--ink-primary);
  font-size: 0.96rem;
  font-weight: 700;
}

.empty-state p {
  font-size: 0.88rem;
  line-height: 1.5;
  margin-top: 0.25rem;
}

.empty-state.compact-empty-state {
  padding: 1.15rem 1.25rem;
  gap: 0.85rem;
}

.empty-state.compact-empty-state .empty-mark {
  width: 2rem;
  height: 2rem;
}

.empty-state.compact-empty-state .empty-mark::before {
  top: 0.65rem;
  left: 0.55rem;
  right: 0.55rem;
}

.empty-state.compact-empty-state .empty-mark::after {
  top: 1.1rem;
  left: 0.55rem;
  right: 0.55rem;
}

.access-notice {
  border-style: solid;
  background: var(--surface-muted);
}

.page-empty {
  min-height: 9rem;
  align-items: center;
}

.dashboard-section {
  gap: 1rem;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem;
  align-items: start;
  min-width: 0;
}

.dashboard-grid-primary {
  align-items: stretch;
}

.dashboard-layout-owner,
.dashboard-layout-ops,
.dashboard-layout-shepherd,
.dashboard-layout-partner {
  display: grid;
  gap: 1.25rem;
}

.dashboard-grid-ops {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
  align-items: start;
}

.dashboard-grid-partner,
.dashboard-grid-secondary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem;
  align-items: start;
}

.dashboard-full-width {
  grid-column: 1 / -1;
}

.dashboard-section-title {
  font-size: var(--text-m);
  font-weight: 600;
  color: var(--text-heavy);
  margin: 0.25rem 0 0 0;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--border-subtle);
}

.dashboard-command-queue {
  display: grid;
  gap: 1rem;
  background: var(--surface);
  border: 1px solid var(--border-neutral);
  border-radius: var(--radius-l);
  padding: 1.25rem;
  box-shadow: var(--shadow-s);
}

.dashboard-command-title {
  font-size: var(--text-m);
  font-weight: 600;
  color: var(--text-heavy);
  margin: 0;
}

.empty-command-queue {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  padding: 0;
}

.dashboard-priority-panel .panel-body,
.dashboard-panel .panel-body {
  display: grid;
  gap: 1rem;
}

.dashboard-priority-list,
.dashboard-list {
  display: grid;
  gap: 0.75rem;
}

.dashboard-priority-row,
.dashboard-row {
  display: grid;
  align-items: center;
  min-width: 0;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  color: var(--ink-primary);
  text-decoration: none;
  transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.dashboard-priority-row {
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.85rem;
  padding: 0.85rem;
}

.dashboard-row {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.8rem;
  padding: 0.75rem 0.85rem;
}

.dashboard-row-link:hover,
.dashboard-row-link:focus-visible {
  border-color: rgba(21, 104, 87, 0.42);
  background: var(--surface);
  box-shadow: 0 4px 12px -8px rgba(16, 38, 32, 0.2);
  transform: translateY(-1px);
  color: var(--ink-primary);
}

.dashboard-priority-count {
  width: 2.6rem;
  min-height: 2.6rem;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: var(--radius-control);
  background: var(--surface);
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--ink-primary);
}

.dashboard-priority-copy,
.dashboard-row-main {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.dashboard-priority-copy strong,
.dashboard-row-main strong {
  font-size: 0.96rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.dashboard-priority-copy span,
.dashboard-row-main span,
.dashboard-row-date {
  color: var(--ink-secondary);
  font-size: 0.82rem;
  line-height: 1.35;
}

.dashboard-open-label {
  color: var(--action-primary);
  font-size: 0.78rem;
  font-weight: 750;
}

.dashboard-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.dashboard-metric {
  min-width: 0;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  padding: 1.1rem 0.9rem;
  display: grid;
  gap: 0.35rem;
  box-shadow: 0 1px 2px rgba(16, 38, 32, 0.02);
}

.dashboard-metric strong {
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.dashboard-metric span {
  color: var(--ink-primary);
  font-size: 0.82rem;
  font-weight: 750;
}

.dashboard-metric small {
  color: var(--ink-secondary);
  font-size: 0.72rem;
  line-height: 1.3;
}

.dashboard-tone-success {
  border-color: rgba(29, 111, 96, 0.3);
  background: var(--state-success-soft);
  color: var(--state-success);
}

.dashboard-tone-warning {
  border-color: rgba(158, 100, 18, 0.32);
  background: var(--state-warning-soft);
  color: var(--state-warning);
}

.dashboard-tone-danger {
  border-color: rgba(171, 51, 51, 0.3);
  background: var(--state-danger-soft);
  color: var(--state-danger);
}

.dashboard-tone-audit {
  border-color: rgba(41, 92, 85, 0.3);
  background: var(--state-audit-soft);
  color: var(--state-audit);
}

.dashboard-tone-system {
  border-color: rgba(20, 43, 37, 0.16);
  background: rgba(20, 43, 37, 0.05);
  color: var(--ink-secondary);
}

.dashboard-row-badges {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.3rem;
  min-width: min(16rem, 42vw);
}

.dashboard-row-badges .lead-signal-stack,
.dashboard-row-badges .badge-list {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.dashboard-row-date {
  white-space: nowrap;
}

.dashboard-panel .panel-footer {
  display: flex;
  justify-content: flex-end;
}

.placeholder-section {
  max-width: 840px;
}

.placeholder-panel .panel-body {
  color: var(--muted);
}

.placeholder-note {
  margin: 0;
  color: var(--ink-secondary);
  font-weight: 650;
}

.points-rewards-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.points-rewards-metric-grid .dashboard-metric {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-card, 12px);
  padding: 1.25rem 1.15rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.4rem;
  box-shadow: 0 2px 8px rgba(16, 38, 32, 0.03);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease;
  overflow: hidden;
}

.points-rewards-metric-grid .dashboard-metric:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(16, 38, 32, 0.08);
  border-color: var(--line-strong);
}

.points-rewards-metric-grid .dashboard-metric::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--line-subtle);
  border-radius: 12px 12px 0 0;
}

.points-rewards-metric-grid .dashboard-metric.dashboard-tone-system::before {
  background: linear-gradient(90deg, #156857, #259d87);
}

.points-rewards-metric-grid .dashboard-metric.dashboard-tone-success::before {
  background: linear-gradient(90deg, #d4af37, #f3e5ab);
}

.points-rewards-metric-grid .dashboard-metric.dashboard-tone-neutral::before {
  background: linear-gradient(90deg, #4b6b62, #7a9c92);
}

.points-rewards-metric-grid .dashboard-metric.dashboard-tone-audit::before {
  background: linear-gradient(90deg, #c87a28, #e59d4c);
}

.points-rewards-metric-grid .dashboard-metric strong {
  font-family: var(--font-heading);
  font-size: 1.85rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--ink-primary);
  letter-spacing: -0.02em;
}

.points-rewards-metric-grid .dashboard-metric span {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--ink-primary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.points-rewards-metric-grid .dashboard-metric small {
  font-size: 0.78rem;
  color: var(--ink-secondary);
  line-height: 1.35;
}

.points-delta-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}

.points-delta-badge.positive {
  background: var(--state-success-soft, rgba(29, 111, 96, 0.12));
  color: var(--state-success, #156857);
  border: 1px solid rgba(29, 111, 96, 0.25);
}

.points-delta-badge.negative {
  background: var(--state-warning-soft, rgba(158, 100, 18, 0.12));
  color: var(--state-warning, #9e6412);
  border: 1px solid rgba(158, 100, 18, 0.25);
}

.points-delta-badge.neutral {
  background: var(--surface-muted);
  color: var(--ink-secondary);
  border: 1px solid var(--line-subtle);
}

.points-rewards-control-panel textarea {
  min-height: 6rem;
}

.points-rewards-source-panel {
  margin-bottom: 1rem;
}

.points-rewards-inline-form {
  gap: 0.5rem;
  min-width: 13rem;
}

.points-rewards-inline-form input {
  min-height: 2.45rem;
}

.points-rewards-reversal-confirmation {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.45rem;
  align-items: start;
  color: var(--ink-secondary);
  font-size: 0.78rem;
  line-height: 1.35;
}

.points-rewards-reversal-confirmation input {
  min-height: 0;
  margin-top: 0.15rem;
}

.points-rewards-review-disclosure {
  margin-bottom: 0;
}

.points-rewards-review-form {
  gap: var(--workspace-gap);
}

.points-rewards-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--workspace-gap);
  color: var(--ink-secondary);
  font-size: 0.88rem;
  font-weight: 650;
}

.points-rewards-pagination > div {
  display: flex;
  gap: 0.5rem;
}

.points-rewards-ledger-table .cell-text,
.points-rewards-recognition-table .cell-text {
  display: block;
  font-weight: 650;
}

.points-rewards-ledger-table .muted,
.points-rewards-recognition-table .muted {
  display: block;
  margin-top: 0.2rem;
  color: var(--ink-tertiary);
  font-size: 0.86rem;
}

.content-studio-section {
  display: grid;
  gap: 1rem;
}

.content-studio-grid {
  margin-bottom: 0.25rem;
}

.content-studio-brief-panel textarea,
.content-studio-variant-card textarea {
  min-height: 6rem;
  resize: vertical;
}

.content-studio-brief-panel .form-grid-stacked {
  grid-template-columns: minmax(0, 1fr);
}

.content-studio-source-set {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding: 0.85rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface-muted);
}

.content-studio-source-set > legend {
  color: var(--ink-secondary);
  font-size: 0.84rem;
  font-weight: 750;
  padding: 0 0.35rem;
}

.content-studio-source-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.content-studio-batch {
  display: grid;
  gap: 1rem;
}

.content-studio-batch > .section-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
}

.content-studio-batch > .section-heading h2 {
  margin: 0.15rem 0;
  color: var(--ink-primary);
  font-size: 1.2rem;
  line-height: 1.22;
}

.content-studio-batch > .section-heading p {
  margin: 0;
  color: var(--ink-secondary);
  line-height: 1.45;
}

.content-studio-variant-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}

.content-studio-variant-card {
  align-content: start;
}

.content-studio-draft-copy {
  display: grid;
  gap: 0.85rem;
}

.content-studio-draft-copy > p {
  margin: 0;
  color: var(--ink-primary);
  line-height: 1.58;
  overflow-wrap: anywhere;
}

.content-studio-cta,
.content-studio-image-prompt {
  display: grid;
  gap: 0.25rem;
  padding: 0.75rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.content-studio-cta strong,
.content-studio-image-prompt strong {
  color: var(--ink-primary);
  font-size: 0.82rem;
}

.content-studio-cta span,
.content-studio-image-prompt span {
  color: var(--ink-secondary);
  font-size: 0.88rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.content-studio-nano-panel {
  display: grid;
  gap: 0.65rem;
  padding: 0.75rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--surface);
}

.content-studio-nano-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.content-studio-nano-heading strong {
  color: var(--ink-primary);
  font-size: 0.82rem;
}

.content-studio-nano-placeholder {
  color: var(--ink-secondary);
  font-size: 0.88rem;
  line-height: 1.45;
}

.content-studio-returned-image {
  display: block;
  width: 100%;
  max-height: 18rem;
  object-fit: cover;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.content-studio-nano-meta {
  display: grid;
  gap: 0.25rem;
  color: var(--ink-secondary);
  font-size: 0.78rem;
  line-height: 1.35;
}

.content-studio-nano-meta strong {
  color: var(--ink-primary);
  font-weight: 650;
}

.content-studio-nano-error {
  margin: 0;
  padding: 0.6rem 0.7rem;
  border: 1px solid var(--state-danger);
  border-radius: var(--radius-control);
  background: var(--state-danger-soft);
  color: var(--state-danger);
  font-size: 0.82rem;
  line-height: 1.4;
}

.content-studio-nano-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.content-studio-nano-actions form,
.content-studio-nano-actions button {
  min-width: 0;
}

.content-studio-warning {
  margin: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--state-warning);
  border-radius: var(--radius-control);
  background: var(--state-warning-soft);
  color: var(--state-warning);
  font-size: 0.86rem;
  line-height: 1.45;
}

.content-studio-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.content-studio-card-actions form,
.content-studio-card-actions button {
  min-width: 0;
}

.content-studio-revision-form {
  padding-top: 0.85rem;
  border-top: 1px solid var(--line);
}

.content-studio-provenance {
  margin-top: 0.15rem;
}

.content-studio-citation-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.content-studio-history-panel {
  margin-top: 0.25rem;
}

.content-studio-section {
  max-width: 1280px;
}

.content-studio-section a.primary,
.content-studio-section a.secondary,
.settings-content-studio-section a.secondary,
.content-studio-settings-actions a.secondary {
  display: inline-flex;
  min-height: 2.65rem;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  border-radius: var(--radius-control);
  padding: 0.65rem 1.05rem;
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 750;
  line-height: 1.1;
}

.content-studio-section a.primary {
  border: 1px solid var(--accent);
  background: var(--accent);
  color: var(--accent-ink);
  box-shadow: 0 8px 18px rgba(21, 104, 87, 0.16);
}

.content-studio-section a.secondary,
.settings-content-studio-section a.secondary,
.content-studio-settings-actions a.secondary {
  border: 1px solid var(--line-strong);
  background: var(--action-secondary);
  color: var(--ink-primary);
}

/* Breadcrumb Navigation */
.content-studio-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0;
  margin-bottom: 0.5rem;
  font-size: 0.82rem;
  color: var(--ink-secondary);
}

.content-studio-breadcrumb a {
  color: var(--muted);
  text-decoration: none;
  font-weight: 600;
  transition: color 150ms ease;
}

.content-studio-breadcrumb a:hover {
  color: var(--ink-primary);
  text-decoration: underline;
}

.content-studio-breadcrumb .sep {
  color: var(--line-subtle);
  font-size: 0.76rem;
}

.content-studio-breadcrumb .current {
  color: var(--ink-primary);
  font-weight: 700;
}

/* Horizontal Subnavigation Tabs */
.content-studio-subnav {
  display: flex;
  gap: 1.5rem;
  border-bottom: 2px solid var(--line-subtle);
  background: transparent;
  box-shadow: none;
  width: 100%;
  padding: 0;
  margin-bottom: 1.25rem;
  border-radius: 0;
}

.content-studio-subnav-link {
  display: inline-flex;
  align-items: center;
  padding: 0.65rem 0;
  color: var(--ink-tertiary);
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 650;
  position: relative;
  min-height: auto;
  border-radius: 0;
  transition: color 150ms ease;
}

.content-studio-subnav-link:hover {
  background: transparent;
  color: var(--ink-primary);
}

.content-studio-subnav-link.is-active {
  background: transparent;
  color: var(--accent-gold, #9b6b25);
  box-shadow: none;
}

.content-studio-subnav-link.is-active::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 2.5px;
  background: var(--accent-gold, #b9873d);
  border-radius: 99px;
}

/* Sidebar Context Panels Upgrade (Grid tags wrapping) */
.context-definition-card {
  display: grid;
  gap: 0.6rem;
  padding: 0.95rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface-muted);
  transition: border-color 200ms ease;
}

.context-definition-card:hover {
  border-color: var(--line-strong);
}

.context-definition-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
}

.context-definition-header strong {
  color: var(--ink-primary);
  font-size: 0.92rem;
  font-weight: 700;
}

.context-definition-detail {
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.4;
  margin: 0;
}

.context-tags-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.25rem;
}

.context-tags-row .badge {
  background: var(--canvas);
  border-color: var(--line-subtle);
  color: var(--ink-secondary);
  font-size: 0.68rem;
  padding: 0.15rem 0.4rem;
}

.content-studio-onboarding-card,
.content-studio-dashboard-card,
.content-studio-snapshot-panel,
.content-studio-launch-panel,
.content-studio-history-filter-panel,
.content-studio-history-group,
.content-studio-workflow-heading,
.cs-review-header,
.cs-review-variant-card {
  border: 1px solid rgba(29, 83, 67, 0.16);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
}

.content-studio-onboarding-card {
  display: grid;
  gap: 1.25rem;
  padding: 1.35rem;
  overflow: hidden;
}

.content-studio-onboarding-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: start;
}

.content-studio-onboarding-header h2,
.content-studio-snapshot-panel h2,
.content-studio-launch-panel h2,
.content-studio-workflow-heading h2,
.content-studio-history-filter-heading h2 {
  margin: 0.15rem 0 0;
  color: var(--ink-primary);
  font-size: 1.45rem;
  line-height: 1.15;
  letter-spacing: 0;
}

.content-studio-onboarding-header p,
.content-studio-snapshot-panel p,
.content-studio-launch-panel p,
.content-studio-workflow-heading p,
.content-studio-history-filter-heading p {
  margin: 0.45rem 0 0;
  color: var(--ink-secondary);
  line-height: 1.5;
}

.content-studio-setup-steps {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.content-studio-setup-step {
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
  gap: 0.35rem;
  border: 1px solid var(--line-subtle);
  border-radius: 999px;
  padding: 0.4rem 0.65rem;
  background: var(--surface-muted);
  color: var(--ink-secondary);
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
}

.content-studio-setup-step > span {
  display: inline-flex;
  width: 0.85rem;
  height: 0.85rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--surface);
  color: var(--state-success);
  font-size: 0.62rem;
}

.content-studio-setup-step.is-active {
  border-color: rgba(185, 135, 61, 0.42);
  background: var(--state-warning-soft);
  color: var(--accent-gold, #8d6428);
}

.content-studio-setup-step.is-complete {
  border-color: rgba(29, 111, 96, 0.28);
  background: var(--state-success-soft);
  color: var(--state-success);
}

.content-studio-setup-form {
  display: grid;
  max-width: 720px;
  gap: 1rem;
}

.content-studio-setup-form h3 {
  margin: 0;
  color: var(--ink-primary);
  font-size: 1.08rem;
}

.content-studio-setup-form p {
  margin: 0.25rem 0 0;
  color: var(--ink-secondary);
  line-height: 1.45;
}

.content-studio-setup-status {
  padding: 0.85rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  color: var(--ink-secondary);
  font-weight: 650;
}

.content-studio-nano-onboarding-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: flex-end;
}

.split-actions {
  justify-content: space-between;
}

.content-studio-dashboard-shell {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}

.content-studio-snapshot-panel {
  display: grid;
  grid-column: 1 / -1;
  gap: 1.5rem;
  padding: 1.5rem;
  background: var(--surface);
}

.content-studio-metric-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.content-studio-metric-card,
.content-studio-glance-card,
.content-studio-action-card,
.content-studio-dashboard-post,
.content-studio-mini-empty,
.content-studio-pulse-row,
.content-studio-history-variant {
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.content-studio-metric-card {
  display: grid;
  gap: 0.35rem;
  padding: 1.15rem;
  transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
  background: var(--surface);
}

.content-studio-metric-card:hover {
  transform: translateY(-2px);
  border-color: rgba(185, 135, 61, 0.3);
  box-shadow: var(--shadow-subtle), 0 6px 14px rgba(185, 135, 61, 0.04);
}

.metric-icon-wrapper {
  color: var(--accent-gold, #b9873d);
  width: 1.5rem;
  height: 1.5rem;
  opacity: 0.85;
  margin-bottom: 0.25rem;
}

.metric-icon-wrapper svg {
  width: 100%;
  height: 100%;
  display: block;
}

.content-studio-metric-card span {
  color: var(--ink-secondary);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.content-studio-metric-card strong {
  color: var(--ink-primary);
  font-size: 1.85rem;
  line-height: 1;
}

.content-studio-metric-card small {
  color: var(--ink-secondary);
  line-height: 1.35;
}

.content-studio-launch-panel,
.content-studio-dashboard-card,
.content-studio-history-filter-panel,
.content-studio-history-group,
.content-studio-workflow-heading {
  padding: 1.15rem;
}

.content-studio-launch-panel {
  display: grid;
  gap: 0.85rem;
}

.content-studio-launch-actions,
.content-studio-settings-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
}

.content-studio-glance-card,
.content-studio-action-card,
.content-studio-mini-empty {
  display: grid;
  gap: 0.55rem;
  padding: 0.85rem;
}

.content-studio-pill-row,
.content-studio-card-title,
.content-studio-history-summary,
.content-studio-history-status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.content-studio-card-title {
  justify-content: space-between;
  margin-bottom: 0.85rem;
}

.content-studio-approved-list,
.content-studio-history-groups,
.content-studio-history-list,
.content-studio-pulse-list {
  display: grid;
  gap: 0.75rem;
}

.content-studio-dashboard-post {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.9rem;
}

.content-studio-dashboard-post > div {
  display: grid;
  min-width: 0;
  gap: 0.25rem;
}

.content-studio-dashboard-post span,
.content-studio-mini-empty span,
.content-studio-action-card span,
.content-studio-pulse-row span {
  color: var(--ink-secondary);
  font-size: 0.84rem;
}

.content-studio-dashboard-post strong,
.content-studio-mini-empty strong,
.content-studio-action-card strong,
.content-studio-pulse-row strong {
  color: var(--ink-primary);
  overflow-wrap: anywhere;
}

.content-studio-dashboard-post small {
  color: var(--ink-tertiary);
}

/* Content Studio Dashboard Icon & Layout Enhancements */
.content-studio-mini-empty {
  display: flex !important;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 0.9rem !important;
}

.mini-empty-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 10px;
  background: var(--surface-soft);
  border: 1px solid var(--line-subtle);
  color: var(--ink-secondary);
  flex-shrink: 0;
}

.mini-empty-icon svg {
  width: 1.15rem;
  height: 1.15rem;
}

.mini-empty-content {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  flex: 1;
}

.mini-empty-content strong {
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: var(--ink-primary) !important;
}

.mini-empty-content span {
  font-size: 0.8rem !important;
  line-height: 1.4 !important;
  color: var(--ink-secondary) !important;
}

.content-studio-pulse-row {
  display: flex !important;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 0.9rem !important;
}

.pulse-icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 10px;
  flex-shrink: 0;
}

.pulse-icon-wrapper svg {
  width: 1.15rem;
  height: 1.15rem;
}

.pulse-row-content {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  flex: 1;
}

.pulse-row-content span {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--ink-secondary) !important;
}

.pulse-row-content strong {
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: var(--ink-primary) !important;
}

/* Icon colors matching CloserPADI dashboard */
.pulse-icon-gold {
  border: 1px solid rgba(217, 119, 6, 0.25);
  background: rgba(217, 119, 6, 0.1);
  color: #f59e0b;
}

.pulse-icon-blue {
  border: 1px solid rgba(56, 189, 248, 0.25);
  background: rgba(56, 189, 248, 0.1);
  color: #38bdf8;
}

.pulse-icon-green {
  border: 1px solid rgba(52, 211, 153, 0.25);
  background: rgba(52, 211, 153, 0.1);
  color: #34d399;
}

.content-studio-studio-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.8fr);
  gap: 1rem;
  align-items: start;
}

.content-studio-studio-main,
.content-studio-studio-rail,
.content-studio-review-shell {
  display: grid;
  gap: 1.25rem;
}

/* ─── Review header ─────────────────────────────────── */
.cs-review-header {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 1.25rem 1.5rem;
}

.cs-review-header-left {
  display: grid;
  gap: 0.25rem;
}

.cs-review-header-left h2 {
  margin: 0.15rem 0;
  font-size: 1.3rem;
  color: var(--ink-primary);
}

.cs-review-meta {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.84rem;
}

.cs-review-header-right {
  display: flex;
  gap: 0.65rem;
  align-items: center;
  flex-shrink: 0;
}

.cs-pair-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  border-bottom: 1px solid var(--line-subtle);
  padding: 0 0 0.75rem;
}

.cs-pair-tab {
  min-height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--ink-secondary);
  padding: 0.5rem 0.8rem;
  font-size: 0.84rem;
  font-weight: 650;
  line-height: 1.1;
  text-decoration: none;
}

.cs-pair-tab:hover {
  border-color: var(--line-strong);
  color: var(--ink-primary);
  text-decoration: none;
}

.cs-pair-tab.is-active {
  border-color: var(--action-primary);
  background: var(--action-primary-soft);
  color: var(--action-primary-hover);
}

.cs-pair-heading {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.1rem;
}

.cs-pair-heading > div {
  min-width: 0;
}

.cs-pair-meta {
  margin: 0.2rem 0 0;
  color: var(--ink-secondary);
  font-size: 0.84rem;
  line-height: 1.4;
}

.cs-review-variant-card {
  display: grid;
  min-width: 0;
  overflow: hidden;
}

.cs-review-variant-header {
  min-width: 0;
  padding: 1.05rem 1.2rem;
  border-bottom: 1px solid var(--line-subtle);
  background: var(--surface-muted);
}

.cs-review-variant-title {
  display: grid;
  min-width: 0;
  gap: 0.55rem;
}

.cs-review-variant-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
}

.cs-review-variant-title h3 {
  margin: 0;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.2rem;
  font-weight: 650;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.cs-review-split-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
  align-items: stretch;
}

.cs-review-content-col {
  display: grid;
  min-width: 0;
  align-content: start;
  gap: 1rem;
  padding: 1.2rem;
}

.cs-review-box {
  display: grid;
  min-width: 0;
  gap: 0.75rem;
}

.cs-review-box-header {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.cs-review-box .cs-copy-btn {
  min-height: 2.15rem;
  flex: 0 0 auto;
  border-color: var(--line-strong);
  background: var(--action-secondary);
  color: var(--ink-primary);
  padding: 0.45rem 0.75rem;
  font-size: 0.8rem;
  box-shadow: none;
}

.cs-review-box .cs-copy-btn:hover {
  border-color: var(--ink-tertiary);
  background: var(--surface);
  color: var(--ink-primary);
}

.cs-caption-text {
  max-width: 100%;
  margin: 0;
  border: 0;
  background: transparent;
  color: var(--ink-primary);
  padding: 0;
  font-family: var(--font-body);
  font-size: 0.94rem;
  line-height: 1.65;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.cs-image-prompt-box {
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  padding: 0.9rem;
}

.cs-image-prompt-text {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.88rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.cs-provenance-disclosure {
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
  overflow: hidden;
}

.cs-provenance-disclosure > summary {
  display: flex;
  min-height: 2.75rem;
  cursor: pointer;
  list-style: none;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.7rem 0.9rem;
  color: var(--ink-secondary);
  font-size: 0.82rem;
  font-weight: 700;
  user-select: none;
}

.cs-provenance-disclosure > summary:hover {
  color: var(--ink-primary);
}

.cs-provenance-disclosure > summary::marker,
.cs-provenance-disclosure > summary::-webkit-details-marker {
  display: none;
}

.cs-disclosure-arrow {
  color: var(--action-primary);
  transition: transform 180ms ease;
}

.cs-provenance-disclosure[open] > summary .cs-disclosure-arrow {
  transform: rotate(180deg);
}

.cs-provenance-body {
  border-top: 1px solid var(--line-subtle);
  padding: 0.9rem;
}

.cs-provenance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.cs-provenance-grid > div {
  min-width: 0;
}

.cs-provenance-grid strong {
  color: var(--ink-primary);
  font-size: 0.82rem;
}

.cs-provenance-grid p {
  margin: 0.3rem 0 0;
  color: var(--ink-secondary);
  font-size: 0.84rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.cs-provenance-full {
  grid-column: 1 / -1;
}

.cs-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.4rem;
}

.cs-tag-cloud > span {
  display: inline-flex;
  min-width: 0;
  border: 1px solid var(--line-subtle);
  border-radius: 999px;
  background: var(--surface-muted);
  color: var(--ink-secondary);
  padding: 0.25rem 0.5rem;
  font-size: 0.74rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.cs-review-actions-col {
  display: grid;
  min-width: 0;
  align-content: start;
  gap: 0.9rem;
  border-left: 1px solid var(--line-subtle);
  background: var(--surface-muted);
  padding: 1rem;
}

.cs-review-sidebar-panel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
}

.cs-sidebar-panel-header {
  padding: 0.7rem 0.85rem;
  border-bottom: 1px solid var(--line-subtle);
  background: var(--surface-muted);
}

.cs-sidebar-panel-body {
  min-width: 0;
  padding: 0.85rem;
}

.cs-sidebar-panel-body > .content-studio-nano-panel {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.cs-sidebar-panel-body .content-studio-revision-form {
  gap: 0.8rem;
  padding: 0;
}

.cs-sidebar-panel-body .content-studio-revision-form textarea {
  min-height: 7.5rem;
}

.cs-revision-actions,
.cs-approval-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.cs-approval-actions form {
  margin: 0;
}

.cs-approval-actions button,
.cs-revision-actions button {
  min-width: 0;
}

.cs-approval-actions button.danger-action {
  border-color: rgba(171, 51, 51, 0.28);
  background: var(--state-danger-soft);
  color: var(--state-danger);
  box-shadow: none;
}

.cs-approval-actions button.danger-action:hover {
  border-color: var(--state-danger);
  background: var(--state-danger-soft);
  color: var(--state-danger);
}

.content-studio-studio-main .panel,
.content-studio-studio-rail .panel {
  margin: 0;
}

.content-studio-workflow-heading {
  display: flex;
  gap: 1rem;
  align-items: start;
  justify-content: space-between;
}

.content-studio-history-filter-panel {
  display: grid;
  gap: 1rem;
}

.content-studio-history-filter-heading {
  display: flex;
  gap: 1rem;
  align-items: start;
  justify-content: space-between;
}

.content-studio-history-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  padding: 0.45rem 0.7rem;
  background: var(--surface-muted);
  color: var(--ink-secondary);
  font-size: 0.82rem;
}

.content-studio-history-pill strong {
  color: var(--ink-primary);
}

.content-studio-history-filters {
  display: grid;
  grid-template-columns: minmax(14rem, 1.6fr) minmax(10rem, 0.55fr) minmax(10rem, 0.55fr);
  gap: 0.65rem;
  align-items: end;
}

.content-studio-history-filters label {
  display: grid;
  gap: 0.3rem;
}

.content-studio-history-filters label span {
  color: var(--ink-secondary);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.content-studio-history-pagination {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;
  margin-top: 1rem;
  color: var(--ink-secondary);
  font-size: 0.84rem;
  text-align: center;
}

.content-studio-history-pagination > :last-child {
  justify-self: end;
}

.content-studio-reuse-note {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  color: var(--ink-secondary);
}

/* ─── Variant card (Review) ─────────────────────────── */
.content-studio-variant-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(clamp(20rem, 42vw, 32rem), 1fr));
  gap: 1.25rem;
  align-items: start;
}

.content-studio-variant-card {
  display: grid;
  gap: 0;
  border-radius: var(--radius-panel);
  overflow: hidden;
}

.cs-variant-header {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1.1rem 1.25rem 0.75rem;
  border-bottom: 1px solid var(--line-subtle);
}

.cs-variant-header-left {
  display: grid;
  gap: 0.2rem;
}

.cs-variant-header-left h3 {
  margin: 0.15rem 0 0;
  font-size: 1.05rem;
  color: var(--ink-primary);
  line-height: 1.3;
}

.content-studio-draft-copy {
  display: grid;
  gap: 0.9rem;
  padding: 1rem 1.25rem;
}

.content-studio-draft-copy > p {
  margin: 0;
  color: var(--ink-primary);
  line-height: 1.6;
  font-size: 0.93rem;
}

.cs-meta-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

.content-studio-cta,
.content-studio-image-prompt {
  display: grid;
  gap: 0.25rem;
  padding: 0.65rem 0.8rem;
  background: var(--surface-muted);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
}

.content-studio-cta .micro-label,
.content-studio-image-prompt .micro-label {
  color: var(--ink-secondary);
}

.content-studio-cta span:last-child,
.content-studio-image-prompt span:last-child {
  color: var(--ink-primary);
  font-size: 0.86rem;
  line-height: 1.45;
}

.content-studio-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.9rem 1.25rem;
  border-top: 1px solid var(--line-subtle);
  background: var(--surface-muted);
}

.content-studio-card-actions form {
  margin: 0;
}

/* Revise accordion (inside variant card) */
.content-studio-revise-accordion {
  border-top: 1px solid var(--line-subtle);
}

.content-studio-revise-accordion > summary {
  cursor: pointer;
  padding: 0.75rem 1.25rem;
  color: var(--ink-secondary);
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  list-style: none;
  user-select: none;
  transition: color 0.15s;
}

.content-studio-revise-accordion > summary:hover {
  color: var(--ink-primary);
}

.content-studio-revise-accordion > summary::marker,
.content-studio-revise-accordion > summary::-webkit-details-marker {
  display: none;
}

.content-studio-revision-form {
  padding: 0 1.25rem 1rem;
}

/* ─── History groups ─────────────────────────────────── */
.content-studio-history-groups {
  display: grid;
  gap: 1.25rem;
}

.content-studio-history-group {
  display: grid;
  gap: 1rem;
  padding: 1.25rem;
}

.content-studio-history-group-heading,
.content-studio-history-variant-header {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}

.cs-history-group-badges {
  display: flex;
  gap: 0.45rem;
  align-items: center;
  flex-shrink: 0;
}

.content-studio-history-group-heading h2 {
  margin: 0.2rem 0 0;
  font-size: 1.1rem;
  color: var(--ink-primary);
}

.cs-history-group-meta {
  margin: 0.15rem 0 0;
  color: var(--ink-secondary);
  font-size: 0.82rem;
}

.content-studio-history-list {
  display: grid;
  gap: 0.85rem;
}

.content-studio-history-variant {
  display: grid;
  gap: 0;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
  overflow: hidden;
}

.content-studio-history-variant-header {
  padding: 0.85rem 1rem;
  background: var(--surface-muted);
  border-bottom: 1px solid var(--line-subtle);
}

.cs-history-variant-meta {
  display: grid;
  gap: 0.2rem;
}

.content-studio-history-status-row {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
  margin-bottom: 0.35rem;
}

.content-studio-history-variant h3 {
  margin: 0;
  font-size: 0.97rem;
  color: var(--ink-primary);
}

.cs-history-variant-detail {
  margin: 0.15rem 0 0;
  color: var(--ink-secondary);
  font-size: 0.8rem;
}

.cs-history-open-btn {
  flex-shrink: 0;
  align-self: center;
}

.cs-history-variant-actions,
.content-studio-image-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.cs-history-variant-actions {
  justify-content: flex-end;
}

.content-studio-image-actions {
  margin-top: 0.65rem;
}

.content-studio-history-details {
  border: none;
  background: transparent;
}

.content-studio-history-details > summary {
  cursor: pointer;
  padding: 0.7rem 1rem;
  color: var(--ink-secondary);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  list-style: none;
  user-select: none;
  border-top: 1px solid var(--line-subtle);
  transition: color 0.15s;
}

.content-studio-history-details > summary:hover {
  color: var(--ink-primary);
}

.content-studio-history-details > summary::marker,
.content-studio-history-details > summary::-webkit-details-marker {
  display: none;
}

.content-studio-history-detail-body {
  display: grid;
  gap: 0.85rem;
  padding: 0 1rem 1rem;
}

.cs-history-body {
  margin: 0;
  color: var(--ink-primary);
  line-height: 1.6;
  font-size: 0.9rem;
}

/* ─── Context definition cards (sidebar) ─────────────── */
.context-definition-card {
  display: grid;
  gap: 0.35rem;
  padding: 0.8rem 0.9rem;
  background: var(--surface-muted);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
}

.context-definition-header {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.context-definition-header strong {
  color: var(--ink-primary);
  font-size: 0.88rem;
}

.context-tags-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.context-definition-detail {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.78rem;
  line-height: 1.4;
}

.content-studio-settings-panel,
.content-studio-settings-nano-panel {
  max-width: 960px;
}

.content-studio-settings-source {
  display: grid;
  gap: 0.65rem;
  padding: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface-muted);
}

.content-studio-settings-source p {
  margin: 0;
  color: var(--ink-secondary);
  line-height: 1.45;
}

@media (max-width: 1120px) {
  .cs-review-split-grid {
    grid-template-columns: 1fr;
  }

  .cs-review-actions-col {
    border-top: 1px solid var(--line-subtle);
    border-left: 0;
  }
}

@media (max-width: 900px) {
  .content-studio-dashboard-shell,
  .content-studio-studio-shell,
  .content-studio-onboarding-header {
    grid-template-columns: 1fr;
  }

  .content-studio-history-filter-heading,
  .content-studio-workflow-heading {
    display: grid;
  }

  .content-studio-setup-steps {
    justify-content: flex-start;
  }

  .content-studio-metric-row,
  .content-studio-history-filters {
    grid-template-columns: 1fr;
  }

  .content-studio-grid,
  .content-studio-variant-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .cs-review-header-right {
    display: grid;
    width: 100%;
  }

  .cs-review-header-right > * {
    width: 100%;
  }

  .cs-pair-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }

  .cs-pair-tab {
    flex: 0 0 auto;
  }

  .cs-pair-heading {
    display: grid;
  }

  .cs-pair-heading > .badge {
    justify-self: start;
  }

  .cs-review-variant-header,
  .cs-review-content-col,
  .cs-review-actions-col {
    padding: 0.9rem;
  }

  .cs-provenance-grid {
    grid-template-columns: 1fr;
  }

  .cs-provenance-full {
    grid-column: auto;
  }

  .cs-revision-actions,
  .cs-approval-actions {
    display: grid;
  }

  .cs-revision-actions button,
  .cs-approval-actions form,
  .cs-approval-actions button {
    width: 100%;
  }

  .content-studio-dashboard-post,
  .content-studio-history-group-heading,
  .content-studio-history-variant-header {
    display: grid;
  }

  .content-studio-launch-actions a,
  .content-studio-launch-actions button,
  .content-studio-settings-actions a,
  .content-studio-settings-actions button,
  .content-studio-setup-form .form-actions a,
  .content-studio-setup-form .form-actions button,
  .content-studio-nano-onboarding-actions {
    width: 100%;
  }

  .content-studio-history-pagination,
  .content-studio-reuse-note {
    display: grid;
    grid-template-columns: 1fr;
  }

  .content-studio-history-pagination > :last-child {
    justify-self: stretch;
  }

  .content-studio-history-pagination a,
  .cs-history-variant-actions > *,
  .content-studio-image-actions > * {
    width: 100%;
  }

  .content-studio-batch > .section-heading {
    display: grid;
  }

  .content-studio-card-actions form,
  .content-studio-card-actions button,
  .content-studio-nano-actions form,
  .content-studio-nano-actions button {
    width: 100%;
  }
}

.workspace-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1rem;
  border-bottom: 1px solid var(--line);
  padding-bottom: 0.6rem;
}

.workspace-tab {
  display: inline-flex;
  align-items: center;
  min-height: 2.45rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--ink-secondary);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 750;
}

.workspace-tab:hover {
  border-color: rgba(21, 104, 87, 0.3);
  color: var(--ink-primary);
}

.workspace-tab.active {
  background: var(--state-success-soft);
  border-color: rgba(21, 102, 83, 0.34);
  color: var(--state-success);
}

.personal-story-section {
  max-width: 1240px;
}

.personal-story-tabs {
  margin: 0.9rem 0 1rem;
}

.personal-story-mystory {
  display: grid;
  gap: 1rem;
}

.personal-story-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: start;
  padding: 1.15rem;
  border: 1px solid rgba(222, 184, 108, 0.2);
  border-radius: var(--radius-panel);
  background:
    linear-gradient(135deg, rgba(14, 48, 38, 0.98), rgba(22, 76, 58, 0.96)),
    var(--surface-strong);
  color: var(--ink-inverse);
}

.personal-story-hero-main {
  display: grid;
  gap: 0.65rem;
}

.personal-story-kicker,
.personal-story-status,
.personal-story-message-meta,
.personal-story-editing-label {
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.personal-story-kicker {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 0.4rem;
  color: var(--accent-gold, #c79a42);
}

.personal-story-hero h1 {
  margin: 0;
  color: var(--ink-inverse);
  font-size: clamp(1.7rem, 2.4vw, 2.35rem);
  line-height: 1.06;
  letter-spacing: 0;
}

.personal-story-hero p {
  max-width: 58rem;
  margin: 0;
  color: rgba(248, 247, 241, 0.78);
  line-height: 1.55;
}

.personal-story-hero-actions,
.personal-story-command-row,
.personal-story-current-actions,
.personal-story-version-toolbar,
.personal-story-composer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
}

.personal-story-hero .secondary,
.personal-story-command-row .secondary,
.personal-story-current-actions .secondary,
.personal-story-version-toolbar .secondary,
.personal-story-composer-actions .secondary,
.personal-story-version-actions .secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.personal-story-button-icon {
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
}

.personal-story-button-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.personal-story-status-stack {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
  max-width: 22rem;
}

.personal-story-status {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: 0.35rem 0.6rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  color: rgba(248, 247, 241, 0.86);
  background: rgba(255, 255, 255, 0.06);
}

.personal-story-status.success {
  border-color: rgba(99, 178, 125, 0.32);
  color: #c7f0cf;
  background: rgba(45, 126, 80, 0.24);
}

.personal-story-status.warning {
  border-color: rgba(211, 158, 78, 0.36);
  color: #f2d19a;
  background: rgba(124, 82, 32, 0.28);
}

.personal-story-progress-panel {
  display: grid;
  gap: 0.55rem;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(29, 83, 67, 0.16);
  border-radius: var(--radius-panel);
  background: var(--surface);
}

.personal-story-progress-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: var(--ink-secondary);
  font-size: 0.9rem;
}

.personal-story-progress-label strong {
  color: var(--ink-primary);
}

.personal-story-progress-track {
  width: 100%;
  height: 0.55rem;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: var(--surface-soft);
}

.personal-story-progress-track::-webkit-progress-bar {
  border-radius: 999px;
  background: var(--surface-soft);
}

.personal-story-progress-track::-webkit-progress-value {
  border-radius: 999px;
  background: var(--accent-gold, #b9873d);
}

.personal-story-progress-track::-moz-progress-bar {
  border-radius: 999px;
  background: var(--accent-gold, #b9873d);
}

.personal-story-chat-layout {
  display: grid;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(19, 72, 55, 0.2);
  border-radius: var(--radius-panel);
  background: #102e25;
  color: var(--ink-inverse);
}

.personal-story-command-row {
  position: sticky;
  top: 0.75rem;
  z-index: 2;
  padding: 0.65rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-panel);
  background: rgba(11, 39, 31, 0.94);
}

.personal-story-command-row .button-link.disabled {
  pointer-events: none;
  opacity: 0.5;
}

.personal-story-timeline {
  display: grid;
  gap: 0.9rem;
  min-height: 22rem;
  max-height: 64vh;
  overflow: auto;
  padding: 0.3rem;
}

.personal-story-message {
  display: flex;
}

.personal-story-message.is-user {
  justify-content: flex-end;
}

.personal-story-bubble {
  position: relative;
  width: min(100%, 48rem);
  padding: 0.95rem;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: var(--radius-panel);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(248, 247, 241, 0.88);
}

.personal-story-message.is-user .personal-story-bubble {
  width: min(100%, 36rem);
  border-color: rgba(222, 184, 108, 0.28);
  background: #f7f2e7;
  color: var(--ink-primary);
}

.personal-story-message.is-editing .personal-story-bubble {
  outline: 2px solid rgba(222, 184, 108, 0.4);
}

.personal-story-message-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  margin-bottom: 0.45rem;
  color: rgba(248, 247, 241, 0.58);
}

.personal-story-message.is-user .personal-story-message-meta {
  color: var(--ink-secondary);
}

.personal-story-message-body {
  display: grid;
  gap: 0.5rem;
  line-height: 1.58;
}

.personal-story-message-body h3 {
  margin: 0.55rem 0 0.1rem;
  color: var(--accent-gold, #c79a42);
  font-size: 0.78rem;
  letter-spacing: 0;
  text-transform: uppercase;
}

.personal-story-message-body p,
.personal-story-message-body ul {
  margin: 0;
}

.personal-story-message-body ul {
  padding-left: 1.2rem;
}

.personal-story-message-body blockquote {
  margin: 0.2rem 0;
  padding: 0.75rem 0.85rem;
  border-left: 3px solid var(--accent-gold, #c79a42);
  border-radius: 0 var(--radius-control) var(--radius-control) 0;
  background: rgba(222, 184, 108, 0.1);
}

.personal-story-message-body code {
  padding: 0.1rem 0.25rem;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.1);
}

.personal-story-edit-answer {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
}

.personal-story-message-versions {
  margin-top: 0.75rem;
  color: var(--ink-secondary);
}

.personal-story-message-versions > summary {
  cursor: pointer;
  font-weight: 750;
}

.personal-story-composer {
  position: sticky;
  bottom: 0.75rem;
  display: grid;
  gap: 0.65rem;
  padding: 0.75rem;
  border: 1px solid rgba(222, 184, 108, 0.2);
  border-radius: var(--radius-panel);
  background: rgba(247, 242, 231, 0.97);
  color: var(--ink-primary);
}

.personal-story-composer textarea,
.personal-story-editor-panel textarea {
  width: 100%;
  resize: vertical;
}

.personal-story-composer textarea {
  min-height: 4.5rem;
  max-height: 13.75rem;
  overflow-y: auto;
}

.personal-story-composer-input {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.55rem;
  align-items: end;
}

.personal-story-question-context {
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 0.38rem 0.62rem;
  border-radius: 999px;
  background: var(--state-success-soft);
  color: var(--state-success);
  font-size: 0.8rem;
  font-weight: 750;
}

.personal-story-keyboard-hint {
  margin-right: auto;
  color: var(--ink-muted);
  font-size: 0.78rem;
}

.personal-story-mic.listening {
  border-color: var(--state-success);
  color: var(--state-success);
  background: var(--state-success-soft);
}

.personal-story-thinking {
  display: inline-flex;
  width: fit-content;
  gap: 0.3rem;
  padding: 0.8rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: var(--radius-panel);
  background: rgba(255, 255, 255, 0.06);
}

.personal-story-thinking > span:not(.sr-only) {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: var(--accent-gold);
  animation: personal-story-thinking 1s ease-in-out infinite alternate;
}

.personal-story-thinking > span:nth-child(2) {
  animation-delay: 0.15s;
}

.personal-story-thinking > span:nth-child(3) {
  animation-delay: 0.3s;
}

@keyframes personal-story-thinking {
  to {
    opacity: 0.35;
    transform: translateY(-0.18rem);
  }
}

.personal-story-editing-label {
  margin: 0;
  color: var(--accent-gold, #8d6428);
}

.personal-story-current-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.8fr);
  gap: 1rem;
}

.personal-story-editor-panel,
.personal-story-profile-panel,
.personal-story-versions-panel,
.personal-story-review-panel {
  display: grid;
  gap: 0.9rem;
  padding: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
}

.personal-story-review-heading,
.personal-story-alignment-notice {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}

.personal-story-review-heading h2,
.personal-story-alignment-notice h2 {
  margin: 0.2rem 0;
  color: var(--ink-primary);
}

.personal-story-review-heading p,
.personal-story-alignment-notice p {
  max-width: 48rem;
  margin: 0;
  color: var(--ink-secondary);
}

.personal-story-answer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.personal-story-answer-card {
  display: grid;
  gap: 0.65rem;
  align-content: start;
  padding: 0.85rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface-soft);
}

.personal-story-answer-card-heading h3 {
  margin: 0.2rem 0 0;
  color: var(--ink-primary);
  font-size: 0.95rem;
  line-height: 1.35;
}

.personal-story-answer-card textarea {
  width: 100%;
  resize: vertical;
}

.personal-story-answer-card button {
  justify-self: start;
}

.personal-story-history {
  border-top: 1px solid var(--line-subtle);
  padding-top: 0.75rem;
}

.personal-story-history > summary {
  cursor: pointer;
  color: var(--ink-secondary);
  font-weight: 750;
}

.personal-story-history > .personal-story-timeline {
  min-height: 0;
  max-height: 32rem;
  margin-top: 0.75rem;
  padding: 0.8rem;
  border-radius: var(--radius-panel);
  background: #102e25;
}

.personal-story-alignment-notice {
  padding: 1rem;
  border: 1px solid var(--state-warning);
  border-radius: var(--radius-panel);
  background: var(--state-warning-soft);
}

.personal-story-alignment-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.personal-story-read-view {
  min-height: 28rem;
  padding: clamp(1rem, 3vw, 2.25rem);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface-soft);
  color: var(--ink-primary);
  font-size: 1rem;
  line-height: 1.75;
}

.personal-story-read-view p {
  max-width: 72ch;
  margin: 0 auto 1rem;
}

.personal-story-read-view > section {
  max-width: 72ch;
  margin: 0 auto 1.25rem;
}

.personal-story-read-view > section > h3 {
  margin: 0 0 0.35rem;
  color: var(--ink-primary);
  font-size: 1rem;
}

.personal-story-read-view > section > p {
  margin: 0;
}

.personal-story-read-view > p:last-child,
.personal-story-read-view > section:last-child {
  margin-bottom: 0;
}

.personal-story-unsaved {
  width: fit-content;
  margin: 0;
  padding: 0.35rem 0.6rem;
  border-radius: 999px;
  background: var(--state-warning-soft);
  color: var(--state-warning);
  font-size: 0.78rem;
  font-weight: 750;
}

.personal-story-delivery-status {
  color: var(--ink-muted);
  font-size: 0.84rem;
}

.personal-story-editor-panel textarea {
  min-height: 28rem;
}

.personal-story-profile-panel .definition-main > span {
  display: block;
}

.personal-story-pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.15rem;
}

.personal-story-version-list {
  display: grid;
  gap: 0.75rem;
}

.personal-story-version-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
}

.personal-story-version-main {
  display: grid;
  gap: 0.6rem;
  min-width: 0;
}

.personal-story-version-main h3 {
  margin: 0.15rem 0;
  color: var(--ink-primary);
  font-size: 1rem;
  line-height: 1.25;
}

.personal-story-version-main p {
  margin: 0;
  color: var(--ink-secondary);
  line-height: 1.45;
}

.personal-story-version-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.personal-story-version-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
  align-items: center;
}

button.danger-action {
  border-color: rgba(171, 51, 51, 0.28);
  color: var(--state-danger);
}

button.danger-action:hover {
  border-color: var(--state-danger);
  color: var(--state-danger);
}

@media (max-width: 720px) {
  .personal-story-hero,
  .personal-story-current-grid,
  .personal-story-version-card {
    grid-template-columns: 1fr;
  }

  .personal-story-status-stack,
  .personal-story-version-actions {
    justify-content: flex-start;
  }

  .personal-story-command-row,
  .personal-story-composer {
    position: static;
  }

  .personal-story-timeline {
    max-height: none;
  }

  .personal-story-answer-grid,
  .personal-story-composer-input {
    grid-template-columns: 1fr;
  }

  .personal-story-mic {
    justify-self: end;
  }

  .personal-story-keyboard-hint {
    width: 100%;
  }
}

.table-empty {
  text-align: left;
  margin: 0.15rem 0;
}

.json-block {
  max-height: 520px;
  overflow: auto;
  border: 1px solid rgba(247, 251, 248, 0.14);
  border-radius: var(--radius-panel);
  background: #101816;
  color: #d7efe8;
  padding: 1rem;
  font-size: 0.82rem;
  line-height: 1.55;
  white-space: pre;
  box-shadow: inset 0 1px 0 rgba(247, 251, 248, 0.04);
}

.reference-disclosure {
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: 0 2px 4px rgba(16, 38, 32, 0.03);
  overflow: hidden;
}

.secondary-reference {
  margin-top: 1rem;
}

.reference-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.4rem;
  padding: 0.9rem 1rem;
  cursor: pointer;
  list-style: none;
  background: linear-gradient(180deg, var(--surface), var(--surface-soft));
}

.reference-disclosure > summary::-webkit-details-marker {
  display: none;
}

.reference-disclosure > summary:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: -2px;
  box-shadow: inset 0 0 0 3px var(--focus-ring-soft);
}

.reference-disclosure > summary::after {
  content: "Show";
  flex: 0 0 auto;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  color: var(--ink-secondary);
  font-size: 0.74rem;
  font-weight: 700;
  padding: 0.28rem 0.6rem;
}

.reference-disclosure[open] > summary::after {
  content: "Hide";
}

.reference-disclosure > summary span {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.reference-disclosure > summary strong {
  color: var(--ink-primary);
  font-size: 0.94rem;
}

.reference-disclosure > summary small {
  color: var(--ink-tertiary);
  font-size: 0.8rem;
  line-height: 1.4;
}

.reference-disclosure-body {
  display: grid;
  gap: 0.75rem;
  padding: 0 1rem 1rem;
  border-top: 1px solid var(--line);
}

.reference-disclosure .json-block {
  max-height: 360px;
}

.workspace-command-disclosure {
  border: 1px solid var(--workspace-line-strong);
  border-radius: var(--radius-panel);
  background:
    linear-gradient(180deg, var(--workspace-surface-raised), var(--workspace-surface));
  box-shadow: var(--shadow-subtle);
  overflow: hidden;
}

.lead-tools-disclosure {
  margin-bottom: 1.25rem;
}

.lead-tools-disclosure .lead-filter-toolbar-container {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.workspace-command-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.35rem;
  padding: 0.9rem 1rem;
  cursor: pointer;
  list-style: none;
  background: var(--workspace-surface-muted);
}

.workspace-command-disclosure > summary::-webkit-details-marker {
  display: none;
}

.workspace-command-disclosure > summary:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: -2px;
  box-shadow: inset 0 0 0 3px var(--focus-ring-soft);
}

.workspace-command-disclosure > summary::after {
  content: "Open";
  flex: 0 0 auto;
  border: 1px solid var(--workspace-line-strong);
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--ink-secondary);
  font-size: 0.74rem;
  font-weight: 700;
  padding: 0.28rem 0.62rem;
}

.workspace-command-disclosure[open] > summary::after {
  content: "Close";
}

.workspace-command-disclosure > summary > span {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.workspace-command-disclosure > summary > span > strong {
  color: var(--ink-primary);
  font-size: 0.98rem;
  line-height: 1.2;
}

.workspace-command-disclosure > summary > span > small {
  color: var(--ink-tertiary);
  font-size: 0.82rem;
  line-height: 1.4;
}

.workspace-command-body {
  display: grid;
  gap: var(--workspace-gap);
  padding: 1rem;
  border-top: 1px solid var(--workspace-line);
}

.workspace-command-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--workspace-gap);
  align-items: start;
}

.workspace-command-grid > .item-card,
.workspace-command-body > .item-card {
  margin: 0;
}

.code-panel .panel-body {
  display: grid;
  gap: 0.75rem;
}

.policy-note {
  margin-bottom: 0.25rem;
}

.policy-rule-grid {
  display: grid;
  gap: 0.75rem;
}

.policy-rule-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, auto);
  gap: 1rem;
  align-items: start;
  padding: 0.9rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface-muted);
}

.policy-rule-main {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.policy-rule-main h4 {
  margin: 0;
  color: var(--ink-primary);
  font-size: 0.98rem;
}

.policy-rule-main p {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.calendar-intake-plan {
  display: grid;
  gap: 0.85rem;
}

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

.calendar-planning-note {
  display: grid;
  gap: 0.28rem;
  padding: 0.9rem;
  border: 1px solid rgba(41, 92, 85, 0.22);
  border-radius: var(--radius-panel);
  background:
    linear-gradient(180deg, rgba(41, 92, 85, 0.06), rgba(255, 254, 251, 0.92)),
    var(--surface-muted);
}

.calendar-planning-note > strong {
  color: var(--ink-primary);
  font-size: 0.98rem;
}

.calendar-planning-note > p {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.calendar-owner-grid,
.calendar-entries-layout,
.calendar-sessions-layout,
.calendar-configure-grid {
  display: grid;
  gap: 1rem;
}

.calendar-owner-grid {
  grid-template-columns: 1fr;
}

.calendar-sessions-layout {
  grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
  align-items: start;
}
.calendar-entries-layout {
  grid-template-columns: 1fr;
  align-items: start;
}

.calendar-entries-layout.has-selected-booking {
  grid-template-columns: minmax(380px, 1.25fr) minmax(0, 0.75fr);
}

.calendar-configure-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.calendar-session-create-panel .panel-body,
.calendar-entry-manage-panel .panel-body,
.calendar-session-types-panel .panel-body,
.calendar-session-list-panel .panel-body,
.calendar-session-detail-panel .panel-body,
.calendar-configure-panel .panel-body {
  display: grid;
  gap: 1rem;
}

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

.calendar-session-header-actions,
.calendar-session-type-actions {
  display: flex;
  gap: 0.5rem;
}

.calendar-session-type-create-form {
  border-color: var(--line-strong);
  background: var(--surface);
}

.calendar-session-type-list,
.calendar-session-list,
.calendar-session-subsection {
  display: grid;
  gap: 0.75rem;
}

.calendar-session-type-list-spacious {
  gap: 1rem;
}

.session-type-description-field {
  min-height: 70px;
}

.calendar-post-booking-settings {
  display: grid;
  gap: 0.75rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--line);
}

.calendar-google-status,
.calendar-google-actions,
.calendar-google-settings-form {
  display: grid;
  gap: 0.75rem;
}

.calendar-google-status {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  padding: 0.85rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.calendar-google-status > div {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.calendar-google-status strong,
.calendar-google-status span {
  overflow-wrap: anywhere;
}

.calendar-google-status span {
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.calendar-post-booking-header {
  margin-bottom: 0;
}

.calendar-session-filter-form {
  padding: 1rem 1.15rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
  margin-bottom: 1rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.calendar-session-filter-form:focus-within {
  border-color: var(--line-strong);
  box-shadow: var(--shadow-subtle);
}

.calendar-session-row {
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: center;
  min-height: 5rem;
  padding: 0.9rem 1.1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface);
  color: var(--ink-primary);
  text-align: left;
  box-shadow: var(--shadow-subtle);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
}

.calendar-session-row:hover,
.calendar-session-row:focus-visible {
  border-color: var(--brand-gold);
  background: var(--surface);
  color: var(--ink-primary);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
  transform: translateY(-1px);
}

.calendar-session-row-selected,
.calendar-session-row-selected:hover {
  border-color: var(--action-primary);
  background: var(--surface);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
  border-left: 4px solid var(--action-primary);
  transform: none;
}

.calendar-session-avatar {
  flex-shrink: 0;
  width: 2.45rem;
  height: 2.45rem;
  border-radius: 10px;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  color: var(--brand-gold);
  font-weight: 700;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}

.calendar-session-row:hover .calendar-session-avatar {
  transform: scale(1.05);
}

.calendar-session-row-main,
.calendar-session-row-meta {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.calendar-session-row-main strong {
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--ink-primary);
}

.calendar-session-row-main strong,
.calendar-session-row-main span,
.calendar-session-row-meta span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.calendar-session-row-main span,
.calendar-session-row-meta > span:not(.badge) {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 550;
}

.calendar-session-row-contact {
  color: var(--brand-gold) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
}

.calendar-session-row-record {
  color: var(--muted) !important;
  font-size: 0.78rem !important;
}

.calendar-session-row-time {
  color: var(--ink-primary) !important;
  font-size: 0.84rem !important;
  font-weight: 550 !important;
}

.calendar-session-row-host {
  color: var(--muted) !important;
  font-size: 0.8rem !important;
}

.calendar-session-row-location {
  color: var(--muted) !important;
  font-size: 0.78rem !important;
  font-weight: 550 !important;
}

.calendar-session-row-main strong.calendar-session-title {
  font-size: 1.04rem;
  font-weight: 700;
  color: var(--ink-primary);
  transition: color 0.15s ease;
}

.calendar-session-row:hover .calendar-session-row-main strong.calendar-session-title {
  color: var(--brand-dark-green);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.calendar-session-row-action {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  padding: 0.42rem 0.85rem !important;
  border-radius: var(--radius-control) !important;
  background: var(--surface-muted) !important;
  border: 1px solid var(--line-strong) !important;
  color: var(--ink-primary) !important;
  font-size: 0.82rem !important;
  font-weight: 650 !important;
  transition: all 0.2s ease !important;
}

.calendar-session-row:hover .calendar-session-row-action {
  background: var(--brand-dark-green) !important;
  border-color: var(--brand-dark-green) !important;
  color: #ffffff !important;
  box-shadow: var(--shadow-subtle) !important;
}

.calendar-back-btn,
.calendar-entry-detail-nav .button-link,
.calendar-entry-detail-nav .button-link-secondary,
.calendar-session-record-nav .button-link,
.calendar-session-record-nav .button-link-secondary,
.calendar-session-record-nav .button-secondary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  padding: 0.52rem 1.05rem !important;
  border-radius: var(--radius-control) !important;
  background: var(--surface) !important;
  border: 1px solid var(--line-gold) !important;
  color: var(--ink-primary) !important;
  font-size: 0.85rem !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  box-shadow: var(--shadow-subtle) !important;
  transition: all 0.2s ease !important;
}

.calendar-back-btn:hover,
.calendar-entry-detail-nav .button-link:hover,
.calendar-entry-detail-nav .button-link-secondary:hover,
.calendar-session-record-nav .button-link:hover,
.calendar-session-record-nav .button-link-secondary:hover,
.calendar-session-record-nav .button-secondary:hover {
  background: var(--surface-muted) !important;
  border-color: var(--brand-gold) !important;
  color: var(--brand-dark-green) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06) !important;
  text-decoration: none !important;
}

.calendar-session-row-meta {
  justify-items: end;
}

.member-profile-facts,
.workspace-rail-panel dl {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
}

.member-profile-facts > div,
.workspace-rail-panel dl > div {
  display: grid;
  gap: 0.2rem;
  padding: 0.65rem 0.85rem;
  background: var(--surface-muted);
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  min-width: 0;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.member-profile-facts > div:hover,
.workspace-rail-panel dl > div:hover {
  border-color: var(--line-strong);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
}

.member-profile-facts dt,
.workspace-rail-panel dl dt {
  margin: 0;
  padding: 0;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--brand-gold);
}

.member-profile-facts dd,
.workspace-rail-panel dl dd {
  margin: 0;
  padding: 0;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--ink-primary);
  word-break: break-word;
  overflow-wrap: anywhere;
}

.calendar-session-detail-panel .definition-row,
.calendar-session-record-main .definition-row,
.calendar-session-subsection .definition-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.85rem 1.1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  margin-bottom: 0.5rem;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.calendar-session-detail-panel .definition-row:hover,
.calendar-session-record-main .definition-row:hover,
.calendar-session-subsection .definition-row:hover {
  border-color: var(--line-strong);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
}

.calendar-session-status-form,
.calendar-session-host-form,
.calendar-session-outcome-form,
.calendar-session-booking-summary {
  padding: 1.1rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  box-shadow: var(--shadow-subtle);
  margin-top: 0.85rem;
}

.calendar-session-outcome-panel {
  padding-top: 0.2rem;
}

.calendar-session-outcome-list,
.calendar-session-attendance-list {
  display: grid;
  gap: 0.65rem;
}

.calendar-session-outcome-card,
.calendar-session-attendance-row {
  display: grid;
  gap: 0.62rem;
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  transition: border-color 0.2s ease;
}

.calendar-session-attendance-row:hover {
  border-color: var(--line-strong);
}

.calendar-session-outcome-card p {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.88rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.calendar-session-outcome-form {
  padding-top: 0.9rem;
}

.calendar-outcome-workflow-panel {
  display: grid;
  gap: 0.72rem;
  min-width: 0;
  padding: 0.8rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.calendar-outcome-workflow-panel[hidden] {
  display: none;
}

.calendar-session-outcome-form > label,
.calendar-session-attendance-row label {
  display: grid;
  gap: 0.32rem;
  min-width: 0;
}

.calendar-session-outcome-form > label > span,
.calendar-session-attendance-row label > span {
  color: var(--ink-secondary);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.calendar-session-outcome-form textarea {
  min-height: 5.25rem;
  resize: vertical;
}

.calendar-session-attendance-row {
  grid-template-columns: minmax(0, 1.1fr) minmax(8rem, 0.7fr) minmax(0, 1fr) minmax(8rem, 0.7fr);
  align-items: end;
}

.calendar-session-attendance-person {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.calendar-session-attendance-person strong,
.calendar-session-attendance-person span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.calendar-session-attendance-person span {
  color: var(--muted);
  font-size: 0.8rem;
}

/* Native Dialog Modal Styling */
dialog#calendar-session-create-dialog {
  border: 1px solid var(--line-gold);
  border-radius: var(--radius-panel);
  background: var(--surface);
  color: var(--ink-primary);
  padding: 0;
  max-width: 680px;
  width: 90%;
  box-shadow: 0 12px 36px rgba(16, 38, 32, 0.25);
  overflow: hidden;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
}

dialog#calendar-session-create-dialog::backdrop {
  background-color: rgba(16, 38, 32, 0.65);
  backdrop-filter: blur(4px);
  transition: backdrop-filter 0.3s ease, background-color 0.3s ease;
}

dialog#calendar-session-create-dialog .dialog-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

dialog#calendar-session-create-dialog .dialog-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1.5rem;
  background: linear-gradient(180deg, var(--surface-soft), var(--surface));
  border-bottom: 1px solid var(--line-subtle);
}

dialog#calendar-session-create-dialog .dialog-header-text {
  display: grid;
  gap: 0.25rem;
}

dialog#calendar-session-create-dialog .dialog-header-text h2 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--ink-primary);
}

dialog#calendar-session-create-dialog .dialog-description {
  margin: 0;
  font-size: 0.84rem;
  color: var(--ink-secondary);
  line-height: 1.4;
}

dialog#calendar-session-create-dialog .dialog-close-btn {
  background: transparent;
  border: none;
  font-size: 1.75rem;
  line-height: 1;
  color: var(--ink-secondary);
  cursor: pointer;
  padding: 0.25rem;
  transition: color 0.2s ease;
}

dialog#calendar-session-create-dialog .dialog-close-btn:hover {
  color: var(--danger);
}

dialog#calendar-session-create-dialog .dialog-body {
  padding: 1.5rem;
  max-height: 80vh;
  overflow-y: auto;
}

dialog#calendar-session-create-dialog .dialog-form-error {
  margin-top: 1rem;
  margin-bottom: 0;
}


.calendar-configure-form {
  gap: 1rem;
}

.calendar-configure-availability-panel,
.calendar-configure-blocked-panel,
.calendar-configure-conflict-panel {
  grid-column: 1 / -1;
}

.calendar-availability-list,
.calendar-blocked-list {
  display: grid;
  gap: 0.75rem;
}

.calendar-availability-row,
.calendar-blocked-row {
  display: grid;
  gap: 0.75rem;
  align-items: end;
  padding: 0.85rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.calendar-availability-row {
  grid-template-columns: minmax(8rem, 1fr) minmax(9rem, 0.8fr) repeat(2, minmax(8rem, 0.75fr));
}

.calendar-blocked-row {
  grid-template-columns: minmax(9rem, 0.75fr) minmax(8rem, 0.65fr) minmax(16rem, 1.3fr) minmax(14rem, 1fr) minmax(8rem, 0.65fr);
}

/* All Day blocked times toggle button */
.blocked-all-day-btn {
  background: var(--canvas-soft);
  border: 1px solid var(--line);
  color: var(--ink-secondary);
  border-radius: var(--radius-control);
  padding: 0.5rem 1rem;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  width: 100%;
  height: 2.65rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 200ms ease;
  box-shadow: var(--shadow-subtle);
}

.blocked-all-day-btn:hover {
  border-color: var(--line-strong);
  color: var(--ink-primary);
  transform: none;
}

.blocked-all-day-btn.active {
  background: var(--accent-gold-soft);
  border-color: var(--line-gold);
  color: var(--accent-gold);
}

.blocked-all-day-btn.active:hover {
  background: rgba(196, 131, 45, 0.18);
  border-color: var(--accent-gold);
}

/* All Day placeholder container */
.calendar-blocked-all-day-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.65rem;
  padding: 0 0.75rem;
  background: var(--canvas-soft);
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-control);
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 500;
  text-align: center;
  grid-column: span 2;
}

/* Time inputs container in blocked row */
.calendar-blocked-time-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  align-items: end;
  grid-column: span 1;
}

.calendar-availability-row > strong {
  align-self: center;
  color: var(--ink-primary);
  font-size: 0.94rem;
}

.calendar-availability-row label,
.calendar-blocked-row label {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
}

.calendar-availability-row label > span,
.calendar-blocked-row label > span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.calendar-configure-actions {
  justify-content: flex-end;
}

.calendar-availability-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.75fr);
  gap: 1rem;
  align-items: start;
}

.calendar-availability-main,
.calendar-availability-side,
.calendar-availability-preset-list,
.calendar-availability-assignment-list,
.calendar-availability-block-list,
.calendar-availability-week-editor {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.calendar-availability-presets-panel .panel-body,
.calendar-availability-assignments-panel .panel-body,
.calendar-availability-blocks-panel .panel-body,
.calendar-availability-how-panel .panel-body,
.calendar-availability-import-panel .panel-body,
.calendar-availability-host-panel .panel-body,
.calendar-configure-availability-workspace-panel .panel-body {
  display: grid;
  gap: 1rem;
}

.calendar-availability-preset-card,
.calendar-availability-assignment-card,
.calendar-availability-block-card {
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface-muted);
}

.calendar-availability-preset-card {
  overflow: hidden;
}

.calendar-availability-preset-header,
.calendar-availability-assignment-editor > summary,
.calendar-availability-block-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
}

.calendar-availability-preset-header > div,
.calendar-availability-assignment-editor > summary > span:first-child,
.calendar-availability-block-card > div {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.calendar-availability-preset-header h3,
.calendar-availability-preset-header p,
.calendar-availability-assignment-editor > summary strong,
.calendar-availability-assignment-editor > summary small {
  margin: 0;
}

.calendar-availability-preset-header p,
.calendar-availability-assignment-editor > summary small,
.calendar-availability-block-card span {
  color: var(--ink-tertiary);
  font-size: 0.8rem;
  line-height: 1.4;
}

.calendar-availability-preset-editor {
  border-top: 1px solid var(--line-subtle);
}

.calendar-availability-preset-editor > summary {
  cursor: pointer;
  color: var(--action-primary);
  padding: 0.8rem 1rem;
  font-size: 0.86rem;
  font-weight: 700;
}

.calendar-availability-preset-editor > summary:hover {
  background: var(--surface-soft);
}

.calendar-availability-preset-editor-body {
  padding: 0 1rem 1rem;
}

.calendar-availability-day {
  display: grid;
  grid-template-columns: minmax(120px, 0.7fr) minmax(0, 2fr) auto;
  gap: 0.75rem;
  align-items: start;
  padding: 0.75rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
}

.calendar-availability-day-heading {
  display: grid;
  gap: 0.2rem;
  padding-top: 0.35rem;
}

.calendar-availability-day-heading > span {
  color: var(--ink-tertiary);
  font-size: 0.75rem;
}

.calendar-availability-day-windows {
  display: grid;
  gap: 0.55rem;
}

.calendar-availability-window-editor-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(90px, 1fr)) auto;
  gap: 0.55rem;
  align-items: end;
}

.calendar-availability-window-editor-row > label {
  display: grid;
  gap: 0.25rem;
}

.calendar-availability-window-editor-row > label > span {
  color: var(--ink-tertiary);
  font-size: 0.72rem;
  font-weight: 650;
}

.calendar-availability-remove-window {
  width: 2.65rem;
  min-width: 2.65rem;
  height: 2.65rem;
  min-height: 2.65rem;
}

.calendar-availability-copy-day {
  grid-column: 2 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}

.calendar-availability-copy-day > select {
  width: auto;
  min-width: 9rem;
}

.calendar-availability-date-hours-disclosure,
.calendar-availability-preset-reuse {
  border-top: 1px solid var(--line-subtle);
}

.calendar-availability-date-hours-disclosure > summary {
  padding-inline: 1rem;
}

.calendar-availability-date-hours-disclosure > .workspace-command-body {
  padding: 0 1rem 1rem;
}

.calendar-availability-date-override-list,
.calendar-availability-date-window-list,
.calendar-availability-schedule-preview {
  display: grid;
  gap: 0.65rem;
}

.calendar-availability-date-override-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
}

.calendar-availability-date-override-card > div {
  display: grid;
  gap: 0.2rem;
}

.calendar-availability-date-override-card span,
.calendar-availability-schedule-preview span,
.calendar-availability-schedule-preview small {
  color: var(--ink-tertiary);
  font-size: 0.78rem;
}

.calendar-availability-date-override-form {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--line-subtle);
}

.calendar-availability-date-hours-pending {
  margin: 0;
  padding: 0.85rem 1rem;
  border-top: 1px solid var(--line-subtle);
}

.calendar-availability-preset-reuse {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1rem;
}

.calendar-availability-preset-reuse form,
.calendar-availability-preset-reuse fieldset {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 0;
}

.calendar-availability-preset-reuse fieldset {
  border: 0;
  padding: 0;
}

.calendar-availability-preset-reuse legend {
  font-size: 0.78rem;
  font-weight: 700;
}

.calendar-availability-preset-reuse label {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.8rem;
}

.calendar-availability-preset-reuse input[type="checkbox"] {
  width: auto;
}

.calendar-availability-schedule-preview {
  margin: 1rem;
  padding: 0.85rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
}

.calendar-availability-schedule-preview ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.calendar-availability-schedule-preview li {
  padding: 0.35rem 0.55rem;
  border-radius: var(--radius-control);
  background: var(--surface-soft);
  font-size: 0.78rem;
}

.calendar-availability-assignment-card {
  display: grid;
  gap: 0;
  overflow: hidden;
}

.calendar-availability-assignment-editor > summary {
  cursor: pointer;
  list-style: none;
}

.calendar-availability-assignment-editor > summary::-webkit-details-marker {
  display: none;
}

.calendar-availability-assignment-editor > summary strong {
  color: var(--ink-primary);
  font-size: 1rem;
}

.calendar-availability-assignment-editor > summary:hover {
  background: var(--surface-soft);
}

.calendar-availability-assignment-fields,
.calendar-availability-assignment-editor > .form-actions {
  margin-inline: 1rem;
}

.calendar-availability-assignment-fields {
  padding-top: 1rem;
  border-top: 1px solid var(--line-subtle);
}

.calendar-availability-assignment-editor > .form-actions {
  padding-bottom: 1rem;
}

.calendar-availability-block-list {
  padding-top: 1rem;
  border-top: 1px solid var(--line-subtle);
}

.calendar-availability-block-card {
  align-items: center;
  padding: 0.75rem;
}

.calendar-availability-flow-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.calendar-availability-flow-list > li {
  display: grid;
  gap: 0.2rem;
  padding: 0.8rem 0;
  border-bottom: 1px solid var(--line-subtle);
}

.calendar-availability-flow-list > li:last-child {
  border-bottom: 0;
}

.calendar-availability-flow-list span {
  color: var(--ink-tertiary);
  font-size: 0.82rem;
  line-height: 1.45;
}

.calendar-configure-availability-workspace-panel {
  grid-column: 1 / -1;
}

.calendar-configure-availability-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.calendar-configure-availability-summary > div {
  display: grid;
  gap: 0.2rem;
  padding: 0.85rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.calendar-configure-availability-summary strong {
  color: var(--ink-primary);
  font-size: 1.35rem;
}

.calendar-configure-availability-summary span {
  color: var(--ink-tertiary);
  font-size: 0.78rem;
}

.calendar-configure-empty-status {
  padding: 0.85rem;
  border: 1px dashed var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.calendar-configure-empty-status strong {
  display: block;
  font-size: 0.88rem;
  color: var(--ink-primary);
  margin-bottom: 0.25rem;
}

.calendar-configure-empty-status p {
  font-size: 0.82rem;
  color: var(--ink-tertiary);
  margin: 0;
}

.calendar-availability-compact-empty {
  padding: 0.5rem 0.25rem;
}

.reminder-lead-time-group {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(130px, 1.2fr);
  gap: 0.5rem;
}

@media (max-width: 1080px) {
  .calendar-availability-workspace-grid {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 760px) {
  .calendar-availability-side,
  .calendar-availability-day,
  .calendar-availability-window-editor-row {
    grid-template-columns: 1fr;
  }

  .calendar-availability-copy-day {
    grid-column: 1;
    justify-content: stretch;
    flex-direction: column;
  }

  .calendar-availability-copy-day > select,
  .calendar-availability-preset-reuse {
    width: 100%;
  }

  .calendar-availability-preset-reuse,
  .calendar-availability-date-override-card {
    align-items: stretch;
    flex-direction: column;
  }

  .calendar-availability-preset-header,
  .calendar-availability-assignment-editor > summary,
  .calendar-availability-block-card {
    align-items: stretch;
    flex-direction: column;
  }
}

.booking-link-grid,
.public-booking-layout {
  display: grid;
  gap: 1rem;
}

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

.booking-link-card,
.public-booking-card,
.public-booking-summary {
  display: grid;
  gap: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface);
  padding: 1rem;
  box-shadow: var(--shadow-subtle);
}

.booking-link-card-main,
.public-booking-summary {
  min-width: 0;
}

.booking-link-card-main h3,
.public-booking-summary h2 {
  margin: 0;
  font-size: 1.08rem;
}

.booking-link-card-main p,
.public-booking-summary p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.booking-link-card-meta,
.public-booking-header-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.booking-link-url {
  overflow-wrap: anywhere;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  color: var(--ink-secondary);
  padding: 0.7rem;
  font-size: 0.86rem;
  font-weight: 700;
}

.booking-link-actions {
  margin-top: auto;
}

.booking-link-grid-compact {
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

.partner-link-list,
.calendar-entry-list {
  display: grid;
  gap: 0.85rem;
}

.partner-link-row,
.calendar-entry-card {
  display: grid;
  gap: 0.9rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface);
  padding: 1rem;
  box-shadow: var(--shadow-subtle);
}

.partner-link-person,
.calendar-entry-main {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
}

.partner-link-person h3,
.calendar-entry-main h3 {
  margin: 0.15rem 0 0;
  font-size: 1rem;
  color: var(--ink-primary);
}

.calendar-entry-main p {
  margin: 0.25rem 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.partner-link-form {
  display: grid;
  grid-template-columns: minmax(10rem, 18rem) auto;
  gap: 0.75rem;
  align-items: end;
}

.partner-link-name-field {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
}

.partner-link-name-field > span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.partner-link-url-list {
  display: grid;
  gap: 0.55rem;
}

.partner-link-url-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.65rem;
  align-items: center;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  padding: 0.6rem;
}

.copy-icon-button {
  width: 2.35rem;
  min-width: 2.35rem;
  min-height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  border-radius: var(--radius-control);
  padding: 0;
}

.copy-icon-button svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.copy-icon-button-labeled {
  width: auto;
  min-width: 0;
  padding: 0.5rem 0.8rem;
}

.partner-link-url-copy {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.partner-link-url-copy strong {
  color: var(--ink-primary);
  font-size: 0.9rem;
}

.partner-link-url-copy span {
  overflow-wrap: anywhere;
  color: var(--ink-secondary);
  font-size: 0.85rem;
  font-weight: 650;
}

.calendar-entry-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.35rem;
}

.calendar-entry-handoff {
  display: grid;
  gap: 0.25rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  padding: 0.75rem;
}

.calendar-entry-handoff strong {
  color: var(--ink-primary);
  font-size: 0.95rem;
}

.calendar-entry-handoff span:last-child {
  color: var(--ink-secondary);
  font-size: 0.86rem;
  line-height: 1.45;
}

.calendar-entry-details {
  border-top: 1px solid var(--line-subtle);
  padding-top: 0.75rem;
}

.calendar-entry-actions {
  display: flex;
  justify-content: flex-end;
}

.clipboard-fallback-textarea {
  position: fixed;
  inset: auto auto 0 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.public-booking-screen {
  --bg-color: #F7FAF7;
  --card-color: #FFFFFF;
  --primary-green: #146B55;
  --primary-green-hover: #105644;
  --booking-gold: #C4832D;
  --booking-gold-soft: rgba(196, 131, 45, 0.12);
  --dark-text: #16201C;
  --muted-text: #5D6B64;
  --border-color: #DDE7E1;
  --soft-accent: #EEF6F2;

  min-height: 100vh;
  display: grid;
  align-items: start;
  padding: 2.5rem 1.5rem;
  background: var(--bg-color);
  color: var(--dark-text);
  font-family: var(--font-body);
}

.public-booking-shell {
  width: min(1120px, 100%);
  display: grid;
  gap: 1.75rem;
  margin: 0 auto;
}

.public-booking-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  border: 1px solid var(--border-color);
  border-radius: 16px;
  background: linear-gradient(90deg, #FFFFFF 60%, #EEF6F2 100%);
  padding: 1.5rem 2rem;
  box-shadow: 0 4px 12px rgba(20, 107, 85, 0.03);
}

.public-booking-brand {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  min-width: 0;
}

.public-booking-brand .brand-mark {
  background: linear-gradient(135deg, #188368 0%, #105543 100%);
  color: #FFFFFF;
  font-weight: 700;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 1.35rem;
  border: none;
  box-shadow: 0 4px 8px rgba(20, 107, 85, 0.2);
  font-family: var(--font-heading);
  letter-spacing: 0;
}

.public-booking-brand .brand-details {
  display: flex;
  flex-direction: column;
}

.public-booking-brand .micro-label {
  color: var(--primary-green);
  letter-spacing: 0.08em;
  font-weight: 700;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.public-booking-brand h1 {
  margin: 0.15rem 0 0.25rem 0;
  font-size: 2.1rem;
  color: var(--dark-text);
  font-weight: 700;
  font-family: var(--font-heading);
  line-height: 1.2;
}

.public-booking-brand p {
  margin: 0;
  color: var(--muted-text);
  font-size: 0.92rem;
}

.public-booking-header-meta {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

.public-booking-header-meta .badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: #FFFFFF;
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: 0.45rem 1rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--dark-text);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.public-booking-header-meta .pill-icon {
  width: 16px;
  height: 16px;
  color: var(--primary-green);
  fill: currentColor;
  flex-shrink: 0;
}

.public-booking-layout {
  display: grid;
  gap: 1.75rem;
  max-width: 780px;
  margin: 0 auto;
}

.public-booking-card {
  display: grid;
  gap: 1.75rem;
  border: 1px solid var(--border-color);
  border-radius: 16px;
  background: var(--card-color);
  padding: 2.25rem;
  box-shadow: 0 4px 12px rgba(20, 107, 85, 0.03);
}

.public-booking-card .card-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.6rem;
  padding: 1.2rem 1.5rem 1.6rem;
  border-bottom: 1px solid var(--border-color);
}

.public-booking-card .card-header .micro-label {
  display: inline-block;
  color: var(--primary-green);
  font-weight: 700;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: var(--soft-accent);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: 0.3rem 0.9rem;
}

.public-booking-card .card-header h2 {
  margin: 0.25rem 0 0;
  font-size: 2.15rem;
  color: var(--dark-text);
  font-weight: 700;
  font-family: var(--font-heading);
  font-style: normal;
  line-height: 1.2;
}

.public-booking-card .card-header p {
  margin: 0;
  color: var(--muted-text);
  font-size: 0.92rem;
  line-height: 1.5;
  max-width: 340px;
}

.public-booking-form {
  display: grid;
  gap: 1.25rem;
}

.public-booking-progress {
  display: grid;
  gap: 0.85rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-panel);
  background: linear-gradient(180deg, #FFFFFF 0%, #F7FAF7 100%);
  padding: 1rem;
}

.public-booking-progress-copy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.public-booking-progress-copy .micro-label {
  color: var(--text-gold);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.public-booking-progress-copy strong {
  color: var(--dark-text);
  font-size: 0.95rem;
  font-weight: 750;
  line-height: 1.2;
  text-align: right;
}

.public-booking-progress-track {
  position: relative;
  height: 0.5rem;
  overflow: hidden;
  border-radius: 999px;
  background: #E7EFEA;
}

.public-booking-progress-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 25%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--primary-green) 0%, var(--booking-gold) 100%);
  transition: width 260ms ease;
}

.public-booking-form[data-booking-step="1"] .public-booking-progress-fill {
  width: 25%;
}

.public-booking-form[data-booking-step="2"] .public-booking-progress-fill {
  width: 50%;
}

.public-booking-form[data-booking-step="3"] .public-booking-progress-fill {
  width: 75%;
}

.public-booking-form[data-booking-step="4"] .public-booking-progress-fill {
  width: 100%;
}

.public-booking-step-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.public-booking-step-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-control);
  background: var(--card-color);
  color: var(--muted-text);
  padding: 0.45rem 0.55rem;
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.2;
}

.public-booking-step-list li > span {
  display: inline-grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: var(--soft-accent);
  color: var(--primary-green);
  font-size: 0.72rem;
  font-weight: 700;
}

.public-booking-step-list li > strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: inherit;
  font-weight: inherit;
}

.public-booking-step-list li[data-step-state="active"] {
  border-color: rgba(20, 107, 85, 0.34);
  background: #F3F8F5;
  color: var(--dark-text);
}

.public-booking-step-list li[data-step-state="active"] > span {
  background: var(--primary-green);
  color: #FFFFFF;
}

.public-booking-step-list li[data-step-state="complete"] {
  border-color: var(--line-gold);
  background: var(--booking-gold-soft);
  color: var(--dark-text);
}

.public-booking-step-list li[data-step-state="complete"] > span {
  background: var(--booking-gold);
  color: #FFFFFF;
}

.public-booking-step-error {
  margin: 0;
  border: 1px solid rgba(171, 51, 51, 0.22);
  border-radius: var(--radius-control);
  background: rgba(171, 51, 51, 0.08);
  color: var(--state-danger);
  padding: 0.7rem 0.85rem;
  font-size: 0.85rem;
  font-weight: 650;
}

.public-booking-step-viewport {
  min-height: 430px;
  display: grid;
}

.public-booking-step-panel {
  align-content: start;
  outline: none;
}

.public-booking-step-panel[data-booking-active="true"] {
  animation: public-booking-step-in 260ms ease both;
}

@keyframes public-booking-step-in {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.public-booking-step-heading {
  display: grid;
  gap: 0.35rem;
}

.public-booking-step-heading p {
  margin: 0;
  color: var(--muted-text);
  font-size: 0.9rem;
  line-height: 1.45;
}

.public-booking-step-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--border-color);
}

.public-booking-step-actions-end {
  justify-content: flex-end;
}

.public-booking-next-button,
.public-booking-back-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-width: 7.5rem;
}

.public-booking-next-button::after,
.public-booking-back-button::before {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-color: currentColor;
  border-style: solid;
  border-width: 0 2px 2px 0;
}

.public-booking-next-button::after {
  transform: rotate(-45deg);
}

.public-booking-back-button::before {
  transform: rotate(135deg);
}

.public-booking-back-button {
  background: var(--action-secondary);
  border-color: var(--border-color);
  color: var(--dark-text);
  box-shadow: none;
}

.public-booking-back-button:hover {
  background: #FFFFFF;
  border-color: var(--primary-green);
  color: var(--primary-green);
}

.public-booking-final-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  flex-shrink: 0;
}

.custom-datepicker-trigger[aria-invalid="true"] {
  border-color: var(--state-danger);
  box-shadow: 0 0 0 3px rgba(171, 51, 51, 0.1);
}

.form-section {
  display: grid;
  gap: 1.25rem;
}

.form-section-heading {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--dark-text);
  display: flex;
  align-items: center;
  gap: 0.6rem;
  text-transform: none;
  letter-spacing: normal;
}

.form-section-heading .section-heading-icon {
  width: 20px;
  height: 20px;
  color: var(--primary-green);
  fill: currentColor;
  flex-shrink: 0;
}

.form-section-divider {
  border: none;
  border-top: 1px solid var(--border-color);
  margin: 0.5rem 0;
}

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

.form-grid-full {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

.public-booking-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem 1rem;
}

.public-booking-screen input,
.public-booking-screen textarea,
.public-booking-screen select {
  width: 100%;
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--card-color);
  color: var(--dark-text);
  font-size: 0.92rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

.public-booking-screen input:focus,
.public-booking-screen textarea:focus,
.public-booking-screen select:focus {
  outline: none;
  border-color: var(--primary-green);
  box-shadow: 0 0 0 3px rgba(20, 107, 85, 0.12);
}

.public-booking-screen .public-booking-readonly-input {
  background: var(--soft-accent);
  color: var(--dark-text);
  font-weight: 700;
}

.public-booking-screen textarea {
  min-height: 110px;
  resize: vertical;
}

.public-booking-screen .field-hint {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.82rem;
  color: var(--muted-text);
  line-height: 1.45;
}

.public-booking-screen .field-label {
  color: var(--dark-text);
  font-weight: 600;
  font-size: 0.88rem;
  margin-bottom: 0.15rem;
}

.public-booking-screen .lead-combobox {
  width: 100%;
}

.public-booking-screen .lead-combobox input {
  padding-right: 2.75rem;
}

.public-booking-screen .lead-combobox-menu {
  z-index: 30;
}

.public-booking-phone-field {
  display: grid;
  gap: 0.35rem;
}

.public-booking-screen .public-booking-phone-control {
  display: grid;
  grid-template-columns: auto minmax(5.25rem, auto) minmax(0, 1fr);
  align-items: stretch;
  width: 100%;
  min-height: 2.75rem;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--card-color);
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.public-booking-screen .public-booking-phone-control:focus-within {
  border-color: var(--primary-green);
  box-shadow: 0 0 0 3px rgba(20, 107, 85, 0.12);
}

.public-booking-screen .public-booking-phone-control input,
.public-booking-screen .public-booking-phone-control select {
  min-height: calc(2.75rem - 2px);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.public-booking-screen .public-booking-phone-control input:focus,
.public-booking-screen .public-booking-phone-control select:focus {
  border-color: transparent;
  box-shadow: none;
  outline: none;
}

.public-booking-phone-icon {
  display: inline-grid;
  place-items: center;
  padding-left: 0.85rem;
  color: var(--primary-green);
}

.public-booking-phone-icon svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.public-booking-screen .public-booking-phone-code-select {
  width: 5.4rem;
  border-right: 1px solid var(--border-color);
  color: var(--dark-text);
  font-weight: 700;
  text-align: center;
  text-align-last: center;
  padding-left: 0.7rem;
  padding-right: 0.7rem;
  cursor: pointer;
}

.public-booking-phone-contact-hint {
  margin-top: 0.15rem;
}

.public-booking-screen .input-with-icon {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.public-booking-screen .input-with-icon input,
.public-booking-screen .input-with-icon select {
  padding-left: 2.5rem;
}

.public-booking-screen .input-with-icon select {
  padding-right: 2.5rem;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.public-booking-screen .input-with-icon .input-icon-left {
  position: absolute;
  left: 0.85rem;
  width: 18px;
  height: 18px;
  color: var(--primary-green);
  pointer-events: none;
  fill: currentColor;
}

.public-booking-screen .input-with-icon .input-icon-right {
  position: absolute;
  right: 0.85rem;
  width: 18px;
  height: 18px;
  color: var(--muted-text);
  pointer-events: none;
  fill: currentColor;
}

.custom-datepicker-container {
  position: relative;
  width: 100%;
}

.custom-datepicker-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 0.85rem 0.75rem 2.5rem;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--card-color);
  color: var(--dark-text);
  font-size: 0.92rem;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  height: 41px;
  box-sizing: border-box;
  position: relative;
}

.custom-datepicker-trigger:focus,
.custom-datepicker-trigger:hover {
  border-color: var(--primary-green);
  box-shadow: 0 0 0 3px rgba(20, 107, 85, 0.12);
  outline: none;
}

.custom-datepicker-trigger .input-icon-left {
  position: absolute;
  left: 0.85rem;
  width: 18px;
  height: 18px;
  color: var(--primary-green);
  pointer-events: none;
  fill: currentColor;
}

.custom-datepicker-trigger .input-icon-right {
  position: absolute;
  right: 0.85rem;
  width: 18px;
  height: 18px;
  color: var(--muted-text);
  pointer-events: none;
  fill: currentColor;
}

.form-footer-action-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  background: var(--soft-accent);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 1.25rem;
  margin-top: 1rem;
}

.banner-info-text {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  background: var(--card-color);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 0.6rem 1rem;
  font-size: 0.82rem;
  color: var(--muted-text);
  line-height: 1.4;
  flex-grow: 1;
}

.banner-info-icon {
  width: 16px;
  height: 16px;
  color: var(--primary-green);
  fill: currentColor;
  flex-shrink: 0;
}

.btn-confirm-booking {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  background: var(--primary-green);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  padding: 0.75rem 1.5rem;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 6px -1px rgba(20, 107, 85, 0.2);
  transition: background-color 0.2s ease, transform 0.1s ease;
  white-space: nowrap;
}

.btn-confirm-booking:hover {
  background: var(--primary-green-hover);
}

.btn-confirm-booking:active {
  transform: translateY(1px);
}

.btn-booking-icon {
  width: 18px;
  height: 18px;
  fill: currentColor;
  flex-shrink: 0;
}

.btn-booking-spinner {
  display: none;
  width: 1rem;
  height: 1rem;
  border: 2px solid rgba(255, 255, 255, 0.42);
  border-top-color: #FFFFFF;
  border-radius: 999px;
  flex-shrink: 0;
  animation: booking-submit-spin 700ms linear infinite;
}

.public-booking-form[data-booking-submitting="true"] .btn-booking-spinner {
  display: inline-block;
}

.public-booking-form[data-booking-submitting="true"] .btn-booking-icon {
  display: none;
}

.public-booking-form[data-booking-submitting="true"] .btn-confirm-booking {
  cursor: wait;
  opacity: 0.92;
}

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

.btn-sparkle {
  font-size: 1rem;
  animation: button-sparkle-pulse 2s infinite ease-in-out;
}

@keyframes button-sparkle-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.2);
    opacity: 1;
  }
}

.custom-datepicker-popover {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  z-index: 50;
  background: var(--card-color);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-floating);
  width: 580px;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.custom-datepicker-popover[hidden],
.calendar-blocked-time-container > [hidden] {
  display: none;
}

.datepicker-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 0.5rem;
}

.datepicker-nav-btn {
  background: none;
  border: none;
  font-size: 1.2rem;
  cursor: pointer;
  color: var(--primary-green);
  padding: 0.25rem 0.5rem;
  border-radius: var(--radius-control);
}

.datepicker-nav-btn:hover {
  background: var(--soft-accent);
}

.datepicker-month-year {
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--dark-text);
}

.datepicker-body {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 1.25rem;
  align-items: start;
}

.datepicker-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.25rem;
  text-align: center;
}

.datepicker-day-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--muted-text);
  padding: 0.25rem 0;
}

.datepicker-day {
  background: none;
  border: none;
  font-size: 0.85rem;
  padding: 0.5rem 0;
  border-radius: 6px;
  cursor: pointer;
  color: var(--dark-text);
  font-weight: 600;
}

.datepicker-day:hover:not(.past):not(.selected) {
  background: var(--soft-accent);
  color: var(--primary-green);
}

.datepicker-day.past {
  color: #cbd4cf;
  cursor: not-allowed;
}

.datepicker-day.selected {
  background: var(--primary-green);
  color: #ffffff;
}

.datepicker-time-panel {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border-left: 1px solid var(--border-color);
  padding-left: 1rem;
  max-height: 240px;
  overflow-y: auto;
}

.datepicker-time-title {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--muted-text);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.datepicker-time-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.35rem;
}

.datepicker-time-btn {
  background: var(--soft-accent);
  border: 1px solid var(--border-color);
  padding: 0.5rem;
  font-size: 0.82rem;
  font-weight: 600;
  border-radius: 6px;
  cursor: pointer;
  color: var(--primary-green);
  text-align: center;
  transition: background 0.15s ease;
}

.datepicker-time-btn:hover {
  background: var(--primary-green);
  color: #ffffff;
}

.datepicker-time-btn.selected {
  background: var(--primary-green);
  color: #ffffff;
}

.datepicker-no-date {
  font-size: 0.85rem;
  color: var(--muted-text);
  text-align: center;
  padding: 2rem 0;
}

.public-booking-checkline {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  color: var(--dark-text);
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
}

.public-booking-checkline input[type="checkbox"] {
  width: auto;
  margin-top: 0.25rem;
  flex-shrink: 0;
  accent-color: var(--primary-green);
}

.public-booking-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.public-booking-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.public-booking-confirmation {
  width: min(720px, 100%);
}

.public-booking-redirect-card {
  width: min(680px, 100%);
  margin: 0 auto;
  gap: 1.25rem;
}

.public-booking-redirect-status {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-control);
  background: var(--soft-accent);
  padding: 1rem;
}

.public-booking-redirect-status .micro-label {
  color: var(--primary-green);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.public-booking-redirect-status h2 {
  margin: 0.25rem 0 0;
  color: var(--dark-text);
  font-family: var(--font-heading);
  font-size: 1.45rem;
  line-height: 1.2;
}

.public-booking-redirect-status p {
  margin: 0.35rem 0 0;
  color: var(--muted-text);
  font-size: 0.92rem;
  line-height: 1.45;
}

.public-booking-redirect-spinner {
  width: 2.5rem;
  height: 2.5rem;
  border: 3px solid rgba(20, 107, 85, 0.14);
  border-top-color: var(--primary-green);
  border-radius: 999px;
  animation: booking-submit-spin 760ms linear infinite;
}

.public-booking-redirect-list {
  margin-top: 0;
}

.public-session-landing-card {
  display: grid;
  gap: 1rem;
  width: min(760px, 100%);
}

.public-session-zoom {
  display: grid;
  gap: 0.35rem;
  border: 1px solid var(--border-color);
  border-radius: 10px;
  background: var(--soft-accent);
  padding: 0.85rem 1rem;
}

.public-session-zoom span {
  color: var(--muted-text);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.public-session-zoom a {
  color: var(--primary-green);
  font-weight: 700;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.public-session-landing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.public-session-action-button {
  align-items: center;
  display: inline-flex;
  gap: 0.45rem;
}

.public-session-calendar-menu {
  display: inline-flex;
  position: relative;
}

.public-session-calendar-menu > summary {
  cursor: pointer;
  list-style: none;
}

.public-session-calendar-menu > summary::-webkit-details-marker {
  display: none;
}

.public-session-calendar-menu-list {
  background: var(--card-color);
  border: 1px solid var(--border-color);
  border-radius: 10px;
  box-shadow: var(--shadow-floating);
  display: grid;
  gap: 0.35rem;
  left: 0;
  min-width: 240px;
  padding: 0.5rem;
  position: absolute;
  top: calc(100% + 0.55rem);
  z-index: 20;
}

.public-session-calendar-menu-list a {
  border-radius: var(--radius-control);
  color: var(--dark-text);
  font-size: 0.9rem;
  font-weight: 700;
  padding: 0.55rem 0.65rem;
  text-decoration: none;
}

.public-session-calendar-menu-list a:hover,
.public-session-calendar-menu-list a:focus-visible {
  background: var(--soft-accent);
  color: var(--primary-green);
  outline: none;
}

.button-action-icon {
  flex: 0 0 auto;
  height: 1.05rem;
  width: 1.05rem;
}

.button-action-icon path {
  fill: currentColor;
}

.public-session-calendar-secondary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.public-session-calendar-secondary a {
  color: var(--muted-text);
  font-size: 0.88rem;
  font-weight: 700;
}

.public-booking-calendar-save {
  display: grid;
  gap: 0.9rem;
  border: 1px solid var(--border-color);
  border-radius: 10px;
  background: var(--soft-accent);
  padding: 1rem;
}

.public-booking-calendar-save h3 {
  margin: 0;
  color: var(--dark-text);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
}

.public-booking-calendar-save p {
  margin: 0.25rem 0 0;
  color: var(--muted-text);
  font-size: 0.88rem;
  line-height: 1.45;
}

.public-booking-calendar-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.public-booking-confirmation-actions {
  margin-top: 1rem;
  justify-content: flex-start;
}

@media (max-width: 640px) {
  .public-booking-brand {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .public-booking-brand .brand-mark {
    display: none;
  }

  .public-booking-brand .brand-details {
    align-items: center;
    width: 100%;
  }

  .public-booking-header-meta {
    width: 100%;
    justify-content: center;
  }

  .public-booking-progress-copy {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.25rem;
  }

  .public-booking-progress-copy strong {
    text-align: left;
  }

  .public-booking-step-list {
    gap: 0.35rem;
  }

  .public-booking-step-list li {
    grid-template-columns: 1fr;
    justify-items: center;
    padding: 0.45rem 0.3rem;
  }

  .public-booking-step-list li > strong {
    display: none;
  }

  .public-booking-step-viewport {
    min-height: auto;
  }

  .public-booking-step-actions,
  .public-booking-final-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .public-booking-step-actions-end {
    align-items: stretch;
  }

  .public-booking-next-button,
  .public-booking-back-button {
    width: 100%;
  }

  .public-session-landing-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .public-session-action-button {
    justify-content: center;
    width: 100%;
  }

  .public-session-calendar-menu {
    display: block;
    width: 100%;
  }

  .public-session-calendar-menu-list {
    margin-top: 0.5rem;
    min-width: 0;
    position: static;
    width: 100%;
  }

  .custom-datepicker-popover {
    width: calc(100vw - 2.5rem);
    max-width: 320px;
  }
  .datepicker-body {
    grid-template-columns: 1fr;
  }
  .datepicker-time-panel {
    border-left: none;
    border-top: 1px solid var(--border-color);
    padding-left: 0;
    padding-top: 1rem;
  }
  .form-footer-action-banner {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    padding: 1rem;
  }
  .banner-info-text {
    width: 100%;
    box-sizing: border-box;
  }
  .btn-confirm-booking {
    width: 100%;
    justify-content: center;
  }
}

.audit-ledger .table-title {
  background:
    linear-gradient(180deg, rgba(45, 98, 90, 0.08), rgba(247, 248, 243, 0.86)),
    var(--surface);
}

.audit-ledger .table-title .micro-label {
  color: var(--state-audit);
}

@media (max-width: 1180px) {
  .definition-grid,
  .access-definition-grid,
  .access-purpose-grid,
  .form-grid-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .access-capability-panel {
    grid-row: auto;
  }

  .member-lifecycle-grid {
    grid-template-columns: 1fr;
  }

  .member-profile-fact-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lead-brief-grid,
  .lead-detail-control-grid,
  .lead-next-touch-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lead-next-touch-summary {
    grid-column: 1 / -1;
    padding-right: 0;
    padding-bottom: 0.75rem;
    border-right: 0;
    border-bottom: 1px solid var(--line-subtle);
  }

  .workspace-grid,
  .member-profile-core-grid,
  .workspace-grid-form,
  .member-setup-tasks-panel .member-setup-preview,
  .dashboard-grid,
  .dashboard-grid-ops,
  .dashboard-grid-partner,
  .dashboard-grid-secondary,
  .policy-rule-card,
  .calendar-intake-session-grid,
  .calendar-owner-grid,
  .calendar-entries-layout,
  .calendar-sessions-layout,
  .calendar-configure-grid,
  .calendar-availability-row,
  .calendar-blocked-row,
  .setup-workflow-layout,
  .support-layout {
    grid-template-columns: 1fr;
  }

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

  .milestones-overview-panel .setup-queue-counts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.topbar-mobile-toggle {
  display: none;
}
.sidebar-overlay {
  display: none;
}

@media (max-width: 900px) {
  .topbar-mobile-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: var(--ink-secondary);
    padding: 0.5rem;
    margin-right: 0.5rem;
    cursor: pointer;
    border-radius: var(--radius-control);
  }
  .topbar-mobile-toggle:hover {
    background: var(--surface-hover);
    color: var(--ink-primary);
  }
  .topbar-mobile-toggle svg {
    width: 24px;
    height: 24px;
    display: block;
  }

  .sidebar-overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(16, 38, 32, 0.4);
    backdrop-filter: blur(2px);
    z-index: 999;
    opacity: 1;
    transition: opacity 0.25s ease;
  }
  .layout.sidebar-collapsed .sidebar-overlay {
    display: none;
    opacity: 0;
    pointer-events: none;
  }

  .login-shell {
    width: min(560px, 100%);
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .login-context {
    min-height: 260px;
    padding: 2.25rem;
  }

  .login-panel {
    padding: 2.4rem;
  }

  .login-context::after {
    height: 56%;
  }

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

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

  .sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: 292px;
    height: 100vh;
    z-index: 1000;
    grid-template-rows: auto 1fr auto;
    transform: translateX(0);
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 4px 0 15px rgba(16, 38, 32, 0.25);
  }

  .layout.sidebar-collapsed .sidebar {
    transform: translateX(-100%);
    box-shadow: none;
  }

  .sidebar-toggle {
    position: static;
    justify-self: end;
    width: 2.2rem;
    height: 2.2rem;
    min-height: 2.2rem;
    border-radius: var(--radius-control);
    transform: none;
  }

  .sidebar-toggle:hover {
    transform: none;
  }

  .lead-card-grid,
  .lead-command-layout,
  .lead-focus-shell,
  .lead-brief-grid,
  .lead-detail-control-grid,
  .lead-next-touch-strip,
  .lead-next-touch-facts,
  .lead-next-touch-strip .lead-followup-quick-actions,
  .lead-next-touch-strip .lead-followup-next-form,
  .lead-narrative-grid,
  .lead-followup-queue,
  .lead-card-body {
    grid-template-columns: 1fr;
  }

  .lead-command-side {
    position: static;
  }

  .lead-focus-rail {
    position: static;
  }

  .lead-inline-update-heading {
    flex-direction: column;
    align-items: stretch;
  }

  .lead-inline-update-heading .compact-action {
    align-self: flex-start;
  }

  .operator-card {
    grid-template-columns: auto minmax(0, 1fr);
  }
}

.advanced-filters-disclosure {
  margin-top: 0.5rem;
}

.advanced-filters-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  cursor: pointer;
  color: var(--ink-secondary);
  font-size: 0.82rem;
  font-weight: 600;
  user-select: none;
  list-style: none;
  margin-bottom: 0.25rem;
  transition: color 0.15s ease;
}

.advanced-filters-toggle::-webkit-details-marker {
  display: none;
}

.advanced-filters-toggle:hover {
  color: var(--action-primary);
}

.disclosure-chevron {
  width: 0.9rem;
  height: 0.9rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 0.2s ease;
}

.advanced-filters-disclosure[open] .disclosure-chevron {
  transform: rotate(180deg);
}

.lead-filter-grid-advanced {
  margin-top: 0.75rem;
  padding-top: 0.85rem;
  border-top: 1px dashed var(--line-subtle);
}

@media (max-width: 720px) {
  .login-screen,
  .content {
    padding: 1rem;
  }

  .public-information-site-header,
  .public-information-main,
  .public-information-footer {
    width: min(100% - 2rem, 1120px);
  }

  .public-information-site-header {
    align-items: flex-start;
    flex-direction: column;
    padding-block: 1rem;
  }

  .public-information-nav {
    width: 100%;
    flex-wrap: wrap;
  }

  .public-information-nav .button-link {
    margin-left: auto;
  }

  .public-information-main {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding-block: 2.75rem 3.5rem;
  }

  .public-information-page-header {
    position: static;
  }

  .public-information-page-header h1 {
    font-size: 2.45rem;
  }

  .public-information-footer {
    grid-template-columns: 1fr;
    align-items: start;
    padding-block: 1.35rem;
  }

  .public-information-footer nav {
    flex-wrap: wrap;
  }

  .public-information-footer > span:last-child {
    justify-self: start;
  }

  .login-context,
  .maintenance-card,
  .admin-entry-card {
    padding: 1.1rem;
  }

  .lead-create-surface,
  .lead-form-section,
  .lead-focus-shell {
    padding: 1rem;
  }

  .lead-card-header {
    grid-template-columns: 1fr;
  }

  .lead-create-heading,
  .lead-filter-footer,
  .lead-data-panel-header {
    flex-direction: column;
  }

  .public-booking-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .public-booking-card .card-header {
    padding: 1.5rem 1rem 1.25rem;
  }

  .public-booking-summary {
    position: static;
    top: auto;
  }

  .lead-card-header,
  .lead-create-heading,
  .lead-filter-footer,
  .lead-data-panel-header {
    align-items: stretch;
  }

  .lead-card-badges,
  .lead-card-actions,
  .lead-filter-actions {
    justify-content: flex-start;
  }

  .lead-card-badges .lead-signal-stack {
    justify-content: flex-start;
  }

  .lead-strategy-choice-grid {
    grid-template-columns: 1fr;
  }

  .lead-followup-queue-chips {
    grid-template-columns: 1fr;
  }

  .login-panel {
    padding: 1.35rem;
  }

  .login-panel-inner {
    gap: 1.15rem;
  }

  .maintenance-card h1,
  .admin-entry-card h1 {
    font-size: 1.55rem;
  }

  .login-context h1,
  .login-brand h2 {
    font-size: 2.35rem;
  }

  .login-context p {
    font-size: 1rem;
  }

  .brand-mark-large.login-hero-mark {
    width: 4.15rem;
    height: 4.15rem;
    font-size: 1.45rem;
  }

  .login-context-grid {
    grid-template-columns: 1fr;
  }

  .topbar {
    align-items: start;
    flex-direction: column;
    padding: 0.95rem 1rem;
  }

  .topbar-actions,
  .topbar .compact-action,
  .topbar .button-link {
    width: 100%;
  }

  .topbar .compact-action,
  .topbar .button-link {
    justify-content: center;
  }

  .page-header {
    align-items: start;
    flex-direction: column;
    gap: 1rem;
  }

  .page-header-right {
    align-items: flex-start;
    width: 100%;
  }

  .page-header-actions,
  .page-header-actions > * {
    width: 100%;
    justify-content: center;
  }

  .page-header-meta {
    justify-content: flex-start;
  }

  .journey-record-layout,
  .journey-update-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .journey-record-primary {
    order: 0;
  }

  .journey-record-context {
    order: 1;
    position: static;
  }

  .journey-update-context {
    order: 0;
    position: static;
  }

  .journey-update-main {
    order: 1;
  }

  .definition-grid,
  .access-purpose-grid,
  .form-grid,
  .form-grid-four,
  .public-booking-contact-grid,
  .calendar-session-form-grid,
  .calendar-session-attendance-row,
  .calendar-availability-row,
  .calendar-blocked-row,
  .booking-link-grid,
  .public-booking-layout,
  .public-booking-checkbox-grid,
  .form-grid-note,
  .setup-template-choice-list,
  .setup-context-grid,
  .setup-member-summary {
    grid-template-columns: 1fr;
  }

  .setup-assignment-status {
    align-items: flex-start;
    flex-direction: column;
  }

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

  .dashboard-priority-row,
  .dashboard-row {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .dashboard-priority-count {
    width: fit-content;
    min-width: 2.4rem;
  }

  .dashboard-row-badges {
    justify-content: flex-start;
    min-width: 0;
  }

  .dashboard-row-badges .lead-signal-stack,
  .dashboard-row-badges .badge-list {
    justify-content: flex-start;
  }

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

  .form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .lead-create-actions .button-link,
  .form-actions button {
    width: 100%;
  }

  .lead-journey-form > .form-actions {
    position: sticky;
    z-index: 4;
    bottom: 0;
    margin: 0 -0.45rem -0.45rem;
    padding: 0.75rem;
    border-top: 1px solid var(--line-subtle);
    border-radius: var(--radius-control);
    background: color-mix(in srgb, var(--surface) 94%, transparent);
    box-shadow: 0 -12px 24px -20px rgba(16, 38, 32, 0.45);
    backdrop-filter: blur(10px);
  }

  .lead-card-note-snippet {
    grid-template-columns: 1fr auto;
  }

  .lead-card-note-copy {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .table-title {
    flex-direction: column;
  }

  .table-meta {
    align-items: flex-start;
  }

  .definition-row,
  .member-fact-row,
  .stack-item {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .stack-item {
    flex-direction: column;
  }

  .setup-task-main,
  .setup-task-row,
  .setup-task-meta,
  .milestones-overview-panel .setup-queue-counts,
  .template-management-layout,
  .template-settings-inline,
  .template-settings-inline-wide,
  .support-tabs,
  .support-control-grid,
  .support-overview-grid,
  .support-resolution-summary {
    grid-template-columns: 1fr;
  }

  .support-action-header,
  .support-filter-actions,
  .lead-filter-footer,
  .lead-filter-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .support-action-header button,
  .support-filter-actions button,
  .lead-filter-actions button {
    width: 100%;
  }

  .lead-table .table-wrap {
    overflow: visible;
  }

  .lead-table table,
  .lead-table thead,
  .lead-table tbody,
  .lead-table tr,
  .lead-table td {
    display: block;
    width: 100%;
  }

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

  .lead-table tbody {
    display: grid;
    gap: 0.75rem;
    padding: 0.75rem;
  }

  .lead-table tr {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--line-subtle);
    border-radius: var(--radius-control);
    background: var(--surface);
  }

  .lead-table tr:hover {
    background: var(--surface);
  }

  .lead-table td {
    display: grid;
    grid-template-columns: minmax(5.8rem, 0.34fr) minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.72rem 0.85rem;
    border-bottom: 1px solid var(--line-subtle);
  }

  .lead-table td::before {
    content: attr(data-label);
    color: var(--ink-tertiary);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  .lead-table .identity-cell,
  .lead-table .lead-latest-activity,
  .lead-table-assignment-cell .badge-list,
  .lead-assignment-list {
    min-width: 0;
    max-width: none;
  }

  .lead-table-lead-cell,
  .lead-table-open-cell {
    grid-template-columns: 1fr;
  }

  .lead-table-lead-cell::before,
  .lead-table-open-cell::before {
    display: none;
  }

  .lead-table-open-cell .button-link {
    width: 100%;
    justify-content: center;
  }

  .setup-task-actions {
    justify-content: flex-start;
  }

  .setup-task-actions,
  .milestone-support-link-header,
  .milestone-support-comment {
    grid-template-columns: 1fr;
  }

  .setup-task-actions button {
    flex: 1 1 100%;
    width: 100%;
    white-space: normal;
  }

  .setup-task-actions .button-link,
  .milestone-support-link .button-link {
    width: 100%;
    justify-content: center;
    white-space: normal;
  }

  .setup-summary-actions,
  .setup-summary-actions .member-inline-actions,
  .setup-summary-actions .button-link {
    width: 100%;
  }

  .setup-template-choice {
    grid-template-columns: 1rem minmax(0, 1fr);
  }

  .setup-template-choice .badge {
    grid-column: 2;
    justify-self: start;
  }

  .setup-blocker-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .setup-blocker-actions button {
    width: 100%;
  }

  .row-action-group,
  .setup-context-footer,
  .manage-account-summary,
  .member-inline-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .row-action-group,
  .row-action-group .button-link,
  .setup-context-footer .button-link,
  .member-inline-actions .button-link {
    width: 100%;
  }

  .definition-badge {
    justify-content: flex-start;
  }

  .member-profile-header,
  .member-section-heading,
  .member-detail-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .member-profile-summary-main,
  .member-origin-row,
  .member-activity-row {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .member-profile-summary-main {
    flex-direction: column;
  }

  .member-profile-summary-main,
  .member-profile-header-actions .page-header-actions,
  .member-origin-meta,
  .member-activity-row-meta {
    justify-content: flex-start;
    justify-items: start;
    text-align: left;
  }

  .member-detail-actions .button-link,
  .member-detail-actions button {
    width: 100%;
  }

  .member-profile-header-actions .page-header-actions .button-link,
  .member-profile-header-actions .page-header-actions button {
    width: 100%;
  }

  .member-profile-main {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .member-profile-fact-strip {
    grid-template-columns: 1fr;
  }

  .member-profile-badges {
    justify-content: flex-start;
  }

  .lead-profile-topline {
    align-items: stretch;
    flex-direction: column;
  }

  .lead-profile-main {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: end;
  }

  .lead-profile-toolbar {
    align-self: flex-end;
    padding-bottom: 0;
  }

  .lead-profile-stat-strip,
  .lead-snapshot-grid {
    grid-template-columns: 1fr;
  }

  .lead-profile-stat {
    border-right: 0;
    border-bottom: 1px solid var(--line-subtle);
  }

  .lead-profile-stat:last-child {
    border-bottom: 0;
  }
}

/* Pagination styling matching design system colors and layout guidelines */
.pagination-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 0.5rem;
  border-top: 1px solid var(--line-light);
  margin-top: 1.5rem;
}

.pagination-info {
  font-size: 0.88rem;
  color: var(--ink-secondary);
}

.pagination-info span {
  font-weight: 600;
  color: var(--ink-primary);
}

.pagination-controls {
  display: flex;
  gap: 0.35rem;
  align-items: center;
}

.pagination-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0 0.75rem;
  font-size: 0.86rem;
  font-weight: 600;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  background: var(--action-secondary);
  color: var(--ink-primary);
  text-decoration: none;
  cursor: pointer;
  transition: all 150ms ease;
}

.pagination-button:hover:not(.is-disabled) {
  background: var(--surface);
  border-color: var(--ink-tertiary);
}

.pagination-button.is-disabled {
  pointer-events: none;
  opacity: 0.4;
}

.pagination-button.active {
  background: var(--accent);
  color: var(--accent-ink);
  border-color: var(--accent);
}

.pagination-ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  color: var(--ink-tertiary);
  font-size: 0.86rem;
}

/* Reimagined Lead Detail Workspace styling */

.lead-header-card {
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  overflow: hidden;
  box-shadow: var(--shadow-subtle);
  margin-bottom: 1.5rem;
}

.lead-header-banner {
  display: none;
}

.lead-header-body {
  padding: 1rem 1.25rem;
}

.lead-header-avatar-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0;
  margin-bottom: 1rem;
}

.lead-header-avatar-container {
  padding: 0.15rem;
  background: var(--surface);
  border-radius: 12px;
  box-shadow: var(--shadow-subtle);
  display: inline-block;
}

.lead-profile-avatar-large {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--surface-soft), var(--line-subtle));
  border: 1.5px solid var(--accent-gold);
  font-size: 1.25rem;
  font-weight: 700;
  font-family: var(--font-heading);
  color: var(--action-primary);
  display: inline-grid;
  place-items: center;
}

.lead-header-details {
  display: grid;
  gap: 0.75rem;
}

.lead-header-breadcrumb-row {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.lead-header-name {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--ink-primary);
  line-height: 1.2;
}

.lead-header-meta-lines {
  display: grid;
  gap: 0.5rem;
  margin-top: 0.25rem;
}

.lead-header-meta-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem;
  font-size: 0.86rem;
  color: var(--ink-secondary);
}

.lead-header-meta-line-contacts {
  color: var(--ink-tertiary);
}

.lead-header-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.lead-header-icon-inline {
  display: inline-flex;
  align-items: center;
  color: var(--ink-tertiary);
}

.lead-header-icon-inline svg {
  width: 0.95rem;
  height: 0.95rem;
  stroke-width: 2;
  fill: none;
  color: currentColor;
}

.lead-header-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.35rem;
}

.lead-header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  justify-content: flex-end;
  align-items: center;
}

/* Touch strip state border/bg enhancements */
.state-banner-v2 {
  display: grid;
  grid-template-columns: minmax(15rem, 1fr) minmax(20rem, 2fr) auto;
  gap: 1.5rem;
  align-items: center;
  padding: 1.25rem;
  border-radius: var(--radius-panel);
  border: 1px solid var(--line-subtle);
  box-shadow: var(--shadow-subtle);
  background: var(--surface);
  transition: all 0.2s ease;
  margin-bottom: 1.5rem;
}

.state-banner-summary {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}

.state-banner-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 1.2rem;
  font-weight: bold;
}

.success-icon {
  background: var(--state-success-soft);
  color: var(--state-success);
}

.warning-icon {
  background: var(--state-warning-soft);
  color: var(--state-warning);
}

.state-banner-title-text h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--ink-primary);
}

.state-banner-title-text p {
  margin: 0.15rem 0 0;
  font-size: 0.84rem;
  color: var(--ink-secondary);
}

.state-banner-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 1rem;
  border-left: 1px solid var(--line-subtle);
  padding-left: 1.5rem;
}

.state-banner-grid .state-stat-card.span-two-columns {
  grid-column: span 2;
}

.state-stat-card {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.state-stat-card .micro-label {
  font-size: 0.65rem;
  color: var(--ink-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
}

.state-stat-card strong {
  font-size: 0.88rem;
  color: var(--ink-primary);
  line-height: 1.35;
  display: block;
}

.state-stat-card .compact-action-btn {
  margin-top: 0.35rem;
  font-size: 0.74rem;
  padding: 0.25rem 0.5rem;
  min-height: auto;
  border: 1px solid var(--line-strong);
  background: var(--action-secondary);
  color: var(--ink-primary);
  border-radius: 4px;
  cursor: pointer;
  width: fit-content;
}

.state-stat-card .compact-action-btn:hover {
  background: var(--surface);
  border-color: var(--ink-secondary);
}

.state-banner-actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.state-banner-actions .action-btn {
  padding: 0.5rem 1rem;
  min-height: 2.25rem;
  font-size: 0.86rem;
  font-weight: 600;
  width: 100%;
}

.lead-relationship-strip {
  display: grid;
  grid-template-columns: minmax(13rem, 0.85fr) minmax(0, 1.8fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.15rem;
  border: 1px solid var(--line-subtle);
  border-left: 4px solid var(--action-primary);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
  margin-bottom: 1.5rem;
}

.lead-relationship-strip-heading {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.lead-relationship-strip-heading .micro-label {
  color: var(--accent-copper);
}

.lead-relationship-strip-heading h3 {
  margin: 0;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.05rem;
  line-height: 1.22;
}

.lead-relationship-strip-heading p {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.82rem;
  line-height: 1.38;
}

.lead-relationship-strip-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
  min-width: 0;
  padding-left: 1rem;
  border-left: 1px solid var(--line-subtle);
}

.lead-relationship-strip-fact {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}

.lead-relationship-strip-fact > span {
  color: var(--ink-tertiary);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.lead-relationship-strip-fact strong {
  min-width: 0;
  color: var(--ink-primary);
  font-size: 0.88rem;
  line-height: 1.32;
}

.lead-relationship-strip-fact .badge,
.lead-relationship-strip-fact .member-reference strong {
  font-size: 0.78rem;
}

.lead-relationship-strip-fact .badge {
  border-color: transparent;
}

.lead-relationship-strip-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.55rem;
  min-width: 10rem;
}

.lead-relationship-action {
  min-height: 2.35rem;
  white-space: nowrap;
}

.lead-relationship-action[disabled] {
  cursor: not-allowed;
  opacity: 0.68;
}

/* Success State Colors */
.state-banner-success {
  border-left: 4px solid var(--state-success);
  background: linear-gradient(180deg, rgba(21, 102, 83, 0.01), var(--surface));
}

/* Overdue State Colors */
.state-banner-v2.lead-touch-overdue {
  border-left: 4px solid var(--state-danger);
  background: linear-gradient(180deg, rgba(171, 51, 51, 0.02), var(--surface));
}
.state-banner-v2.lead-touch-overdue .state-banner-title-text h3 {
  color: var(--state-danger);
}

/* Today State Colors */
.state-banner-v2.lead-touch-today {
  border-left: 4px solid var(--accent-gold);
  background: linear-gradient(180deg, rgba(196, 131, 45, 0.03), var(--surface));
}
.state-banner-v2.lead-touch-today .state-banner-title-text h3 {
  color: var(--accent-copper);
}

/* Warm Follow-up State Colors */
.state-banner-v2.lead-touch-warm {
  border-left: 4px solid var(--state-warning);
  background: linear-gradient(180deg, rgba(158, 100, 18, 0.02), var(--surface));
}
.state-banner-v2.lead-touch-warm .state-banner-title-text h3 {
  color: var(--accent-copper);
}

/* Upcoming State Colors */
.state-banner-v2.lead-touch-upcoming {
  border-left: 4px solid var(--action-primary);
  background: linear-gradient(180deg, rgba(21, 104, 87, 0.01), var(--surface));
}

/* Timeline Cards */
.timeline-box {
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  padding: 1.15rem;
  box-shadow: var(--shadow-subtle);
  margin-bottom: 1rem;
}

.timeline-box-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.65rem;
  gap: 0.5rem;
}

.timeline-box-header .micro-label {
  font-size: 0.65rem;
  color: var(--accent-copper);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.timeline-box-header .timestamp {
  font-size: 0.78rem;
  color: var(--ink-tertiary);
}

.latest-update-box {
  background: linear-gradient(180deg, rgba(21, 104, 87, 0.015), var(--surface));
}

.latest-note-box {
  border-left: 3px solid var(--state-success);
}

.latest-note-box .badge-public {
  background: var(--state-success-soft);
  color: var(--state-success);
  font-size: 0.65rem;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
}

.latest-note-box .note-author {
  font-size: 0.8rem;
  color: var(--ink-secondary);
  font-style: italic;
  margin-top: 0.5rem;
  text-align: right;
}

/* Add Note Panel */
.note-form textarea {
  width: 100%;
  min-height: 5rem;
  padding: 0.65rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  font-size: 0.88rem;
  resize: vertical;
}

.note-form-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.65rem;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.visibility-selector {
  font-size: 0.82rem;
  color: var(--ink-secondary);
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.visibility-selector select {
  font-size: 0.82rem;
  padding: 0.25rem;
  border-radius: 4px;
  border: 1px solid var(--line-strong);
  background: var(--surface);
}

/* Activity timeline styling */
.activity-timeline-panel {
  margin-top: 1rem;
}

.activity-list {
  list-style: none;
  padding: 0;
  margin: 0.75rem 0 0;
  display: grid;
  gap: 0.75rem;
}

.activity-item {
  display: flex;
  align-items: start;
  gap: 0.75rem;
  padding: 0.65rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.activity-icon {
  font-size: 1.1rem;
  flex-shrink: 0;
}

.activity-body {
  display: grid;
  gap: 0.15rem;
  flex-grow: 1;
}

.activity-body strong {
  font-size: 0.88rem;
  color: var(--ink-primary);
}

.activity-body span {
  font-size: 0.78rem;
  color: var(--ink-secondary);
}

.activity-time {
  font-size: 0.78rem;
  color: var(--ink-tertiary);
  white-space: nowrap;
}

.technical-history-disclosure {
  margin-top: 1rem;
  font-size: 0.86rem;
}

.technical-history-disclosure summary {
  color: var(--ink-secondary);
  cursor: pointer;
  font-weight: 500;
}

.technical-history-disclosure summary:hover {
  color: var(--action-primary);
}

/* Sidebar Widgets */
.sidebar-widget {
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  padding: 1.15rem;
  box-shadow: var(--shadow-subtle);
}

.widget-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.85rem;
  border-bottom: 1px solid var(--line-subtle);
  padding-bottom: 0.5rem;
}

.widget-header h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--ink-primary);
}

.widget-header .edit-link {
  font-size: 0.78rem;
  color: var(--action-primary);
  text-decoration: none;
  font-weight: 600;
}

.widget-header .edit-link:hover {
  text-decoration: underline;
}

.widget-row {
  display: grid;
  gap: 0.15rem;
  padding: 0.5rem 0;
  border-top: 1px solid var(--line-subtle);
}

.widget-row:first-of-type {
  border-top: 0;
}

.widget-label {
  font-size: 0.65rem;
  color: var(--ink-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
}

.widget-value {
  font-size: 0.88rem;
  color: var(--ink-primary);
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.widget-value .profile-link {
  font-size: 0.78rem;
  color: var(--ink-tertiary);
  text-decoration: none;
}

.widget-value .profile-link:hover {
  color: var(--action-primary);
}

.widget-value .badge {
  font-size: 0.7rem;
}

/* Snapshot widget list */
.widget-data-list {
  display: grid;
  gap: 0.55rem;
}

.data-row {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 0.75rem;
  font-size: 0.82rem;
  padding: 0.15rem 0;
}

.data-row span {
  color: var(--ink-secondary);
}

.data-row strong {
  color: var(--ink-primary);
  text-align: right;
  word-break: break-all;
}

.data-row-final {
  border-bottom: 0;
}

.wa-link {
  display: inline-grid;
  place-items: center;
  width: 1.15rem;
  height: 1.15rem;
  margin-left: 0.2rem;
  color: var(--state-success);
  text-decoration: none;
  vertical-align: -0.18rem;
}

.wa-link svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
}

/* Accordion bottom folds */
.lead-bottom-folds {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 1.5rem;
}

.fold-accordion {
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  overflow: hidden;
  box-shadow: var(--shadow-subtle);
}

.fold-accordion summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  font-weight: 600;
  cursor: pointer;
  background: var(--surface-soft);
  list-style: none;
  font-size: 0.94rem;
}

.fold-accordion summary::-webkit-details-marker {
  display: none;
}

.fold-accordion summary span:first-of-type {
  color: var(--ink-primary);
}

.fold-hint {
  font-size: 0.76rem;
  color: var(--ink-tertiary);
  font-weight: normal;
}

.fold-content {
  padding: 1rem;
  border-top: 1px solid var(--line-subtle);
}

.context-narrative {
  margin-bottom: 0.75rem;
  display: grid;
  gap: 0.15rem;
}

.context-narrative strong {
  font-size: 0.82rem;
  color: var(--ink-secondary);
}

.context-narrative p {
  margin: 0;
  font-size: 0.88rem;
  color: var(--ink-primary);
  line-height: 1.4;
}

.objection-badge-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.75rem;
}

/* Details and forms styling matching fold accordion */
.lead-subsection {
  margin-top: 1rem;
}

/* Secondary Action Redesign (Safety Panel) */
.lead-secondary-actions {
  border-top: 1.5px dashed var(--line-strong);
  padding-top: 1.5rem;
  margin-top: 1.5rem;
}

.lead-secondary-actions-disclosure {
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface-muted);
  overflow: hidden;
}

.lead-secondary-actions-disclosure summary {
  padding: 1rem;
  cursor: pointer;
  background: var(--surface-soft);
  list-style: none;
}

.lead-secondary-actions-disclosure summary::-webkit-details-marker {
  display: none;
}

.lead-secondary-actions-disclosure summary strong {
  display: block;
  font-size: 0.94rem;
  color: var(--ink-primary);
  font-weight: 600;
}

.lead-secondary-actions-disclosure summary small {
  display: block;
  font-size: 0.78rem;
  color: var(--ink-tertiary);
  margin-top: 0.15rem;
}

.lead-secondary-actions-body {
  padding: 1rem;
  border-top: 1px solid var(--line-subtle);
  background: var(--surface);
}

/* Responsive Overrides */
@media (max-width: 992px) {
  .state-banner-v2,
  .lead-relationship-strip {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .state-banner-grid,
  .lead-relationship-strip-grid {
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid var(--line-subtle);
    padding-top: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .state-banner-actions {
    flex-direction: row;
    width: 100%;
  }

  .state-banner-actions button {
    flex: 1;
  }

  .lead-relationship-strip-actions {
    justify-content: flex-start;
    min-width: 0;
  }
}

@media (max-width: 768px) {
  .lead-header-avatar-actions {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    margin-top: 0;
  }

  .lead-header-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .lead-header-meta-line {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
  }

  .state-banner-grid,
  .lead-relationship-strip-grid {
    grid-template-columns: 1fr;
  }
}

/* Top back breadcrumb link */
.lead-detail-back-container {
  margin-bottom: 1.25rem;
}

.lead-detail-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  min-height: auto !important;
  color: var(--ink-secondary) !important;
  font-weight: 500 !important;
  font-size: 0.95rem !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: color 0.2s ease !important;
}

.lead-detail-back-btn:hover {
  color: var(--ink-primary) !important;
  transform: none !important;
  box-shadow: none !important;
}

.lead-detail-back-btn span {
  font-size: 1.1rem;
  line-height: 1;
}

/* 5-Column Stats Strip inside Header Card */
.lead-header-stats-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid var(--line-subtle);
  background: var(--surface-soft);
}

.lead-header-stat-col {
  padding: 1rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

.lead-header-stat-col:not(:last-child) {
  border-right: 1px solid var(--line-subtle);
}

.lead-header-stat-label {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--ink-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.lead-header-stat-value {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ink-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 1.75rem;
}

.lead-header-stat-value time {
  font-weight: 600;
}

.lead-header-stat-value .muted {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--ink-tertiary);
}

.lead-stat-overdue {
  color: var(--state-danger) !important;
  font-weight: 700 !important;
}

/* Narrative grid and card refinements */
.lead-narrative-grid {
  gap: 0.7rem !important;
  align-items: start;
}

.lead-narrative-card {
  align-self: start;
  gap: 0.35rem;
  padding: 0.5rem 0.6rem;
}

.lead-narrative-title {
  gap: 0.55rem;
}

.lead-narrative-title h4 {
  font-size: 0.98rem;
}

.lead-narrative-title span:not(.lead-narrative-icon) {
  font-size: 0.72rem;
}

.lead-narrative-icon {
  width: 1.65rem;
  height: 1.65rem;
}

.lead-narrative-value {
  padding: 0.35rem 0.55rem;
  line-height: 1.35;
}

/* Styled backgrounds and borders for narrative values */
.lead-narrative-gold .lead-narrative-value {
  background: var(--accent-gold-soft);
  border: 1px solid var(--line-gold);
}

.lead-narrative-warning .lead-narrative-value {
  background: var(--state-warning-soft);
  border: 1px solid rgba(158, 100, 18, 0.22);
}

.lead-narrative-success .lead-narrative-value {
  background: var(--state-success-soft);
  border: 1px solid rgba(21, 102, 83, 0.18);
}

.lead-narrative-danger .lead-narrative-value {
  background: var(--state-danger-soft);
  border: 1px solid rgba(171, 51, 51, 0.14);
}

.lead-objection-notes-box p {
  margin: 0;
  padding-right: 6.5rem;
}

.lead-objection-tags {
  gap: 0.3rem;
  margin: 0;
}

.lead-objection-tags-with-notes {
  margin-bottom: 0.5rem;
}

.lead-objection-notes-box {
  padding: 0.45rem 0.55rem;
}

.lead-notes-group {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
}

.lead-notes-group .lead-latest-note-panel,
.lead-notes-group .lead-note-disclosure {
  margin-bottom: 0;
}

/* Responsive styles for Stats Strip */
@media (max-width: 768px) {
  .lead-header-stats-strip {
    grid-template-columns: repeat(2, 1fr);
  }
  .lead-header-stat-col:nth-child(even) {
    border-right: none;
  }
  .lead-header-stat-col:nth-child(1),
  .lead-header-stat-col:nth-child(2),
  .lead-header-stat-col:nth-child(3),
  .lead-header-stat-col:nth-child(4) {
    border-bottom: 1px solid var(--line-subtle);
  }
}

@media (max-width: 480px) {
  .lead-header-stats-strip {
    grid-template-columns: 1fr;
  }
  .lead-header-stat-col {
    border-right: none !important;
    border-bottom: 1px solid var(--line-subtle);
  }
  .lead-header-stat-col:last-child {
    border-bottom: none;
  }
}

/* Hide redundant relationship and source badges in header on desktop */
@media (min-width: 769px) {
  .lead-narrative-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .lead-header-card .badge-kind-relationship,
  .lead-header-card .badge-kind-assignment,
  .lead-header-card .badge-kind-source {
    display: none;
  }
}

/* Members UI Summary Metrics & Table updates */
.member-summary-metrics-row .lead-followup-queue-chips {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lead-queue-chip-attention {
  border-color: var(--state-danger-soft) !important;
  background: rgba(186, 45, 45, 0.03) !important;
}

.lead-queue-chip-attention strong {
  color: var(--state-danger) !important;
}

.text-right {
  text-align: right;
}

@media (max-width: 960px) {
  .member-summary-metrics-row .lead-followup-queue-chips {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 480px) {
  .member-summary-metrics-row .lead-followup-queue-chips {
    grid-template-columns: 1fr !important;
  }
}

/* Optimize Members table actions column layout to prevent clipping */
.members-table th.text-right,
.members-table td.text-right {
  width: 1%;
  white-space: nowrap;
}

@media (max-width: 600px) {
  .setup-levels-track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Premium overrides for member milestones list */
.member-list-operational .lead-card-grid {
  grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr));
  gap: 1rem;
}

.member-list-operational .lead-preview-card.lead-card-selected {
  border-color: var(--line-gold);
  box-shadow: 0 0 0 1px var(--line-gold), var(--shadow-subtle);
  background: linear-gradient(180deg, rgba(215, 169, 94, 0.03), transparent), var(--surface);
}

.member-list-operational .lead-card-avatar {
  border: 1px solid var(--line-gold);
  border-radius: 10px;
  background: linear-gradient(135deg, var(--accent-gold-soft), rgba(196, 131, 45, 0.25));
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-weight: 700;
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.4), var(--shadow-subtle);
}

.member-list-operational .lead-card-actions {
  display: flex;
  width: 100%;
  gap: 0.5rem;
}

.member-list-operational .lead-card-footer {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px dashed var(--line-subtle);
  margin-top: 0.5rem;
}

.member-list-operational .lead-card-next-action-strip {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.75rem;
  border-radius: var(--radius-control);
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.3;
}

.member-list-operational .lead-card-next-action-strip.status-attention {
  background: var(--state-warning-soft);
  border: 1px solid rgba(141, 94, 21, 0.3);
  color: var(--state-warning);
}

.member-list-operational .lead-card-next-action-strip.status-stuck {
  background: var(--state-danger-soft);
  border: 1px solid rgba(156, 52, 52, 0.3);
  color: var(--state-danger);
}

.member-list-operational .lead-card-next-action-strip.status-verified {
  background: var(--state-success-soft);
  border: 1px solid rgba(29, 111, 96, 0.28);
  color: var(--state-success);
}

.member-list-operational .lead-card-next-action-strip.status-neutral {
  background: var(--surface-soft);
  border: 1px solid var(--line-subtle);
  color: var(--ink-secondary);
}

/* Hide notice panel headers when placed directly after a page header */
.page-header + .notice-panel,
.assigned-members-section .page-header + .notice-panel {
  display: none;
}

/* 2-column desktop grid for milestones panels */
.milestones-selected-panel,
.milestones-own-panel {
  container-type: inline-size;
}

/* 2-column desktop grid for milestones panels using container queries */
@container (min-width: 650px) {
  .milestones-split-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    align-items: start;
  }
}
.milestones-split-left,
.milestones-split-right {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
}

/* Sidebar queue selection premium left rail indicators */
button.setup-queue-member {
  position: relative;
  transition: all 150ms ease;
}

button.setup-queue-member.is-selected {
  border-color: var(--line-subtle) !important;
  background: var(--accent-gold-soft) !important;
  box-shadow: none !important;
  padding-left: 1.25rem !important;
}

button.setup-queue-member.is-selected::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--accent-gold);
  border-radius: var(--radius-control) 0 0 var(--radius-control);
}

/* Member list top margin and selection indicator */
.member-list-operational {
  margin-top: 2.25rem;
}

.active-selection-indicator {
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--accent-gold);
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.active-selection-indicator svg {
  width: 1rem;
  height: 1rem;
}

/* Premium rail selection style for bottom cards */
.member-list-operational .lead-preview-card.lead-card-selected {
  border-color: var(--line-subtle) !important;
  box-shadow: var(--shadow-subtle) !important;
  background: var(--surface) !important;
  position: relative;
}

.member-list-operational .lead-preview-card.lead-card-selected::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--accent-gold);
  border-radius: var(--radius-panel) 0 0 var(--radius-panel);
}

/* ==========================================================================
   GROWVANCE CALENDAR & SESSIONS PREMIUM UI OVERRIDES
   ========================================================================== */

/* --- 1. Session Booking UI Wizard & Form Polish --- */
.public-booking-screen {
  background: #f6f8f5; /* Warm neutral canvas */
}

.public-booking-card {
  border: 1px solid var(--border-color);
  border-radius: 16px;
  background: var(--card-color);
  padding: 2rem;
  box-shadow: 0 10px 30px -10px rgba(20, 107, 85, 0.08);
}

/* Redesigned Step Progress indicators */
.public-booking-progress {
  border: 1px solid var(--border-color);
  border-radius: 12px;
  background: #ffffff;
  padding: 1.25rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.01);
  margin-bottom: 0.5rem;
}

.public-booking-step-list {
  display: flex;
  gap: 0;
  margin-top: 0.75rem !important;
  list-style: none;
  padding: 0;
  background: #f0f2f0; /* Track background */
  border-radius: 8px;
  overflow: hidden;
}

.public-booking-step-list li {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.85rem;
  padding: 0.58rem 1.5rem 0.58rem 1.75rem; /* Extra padding for cutouts */
  background: #f0f2f0;
  color: var(--muted-text);
  font-size: 0.8rem;
  font-weight: 600;
  transition: all 200ms ease;
  border: none !important;
  box-shadow: none !important;
}

/* First step shape */
.public-booking-step-list li:first-child {
  padding-left: 1.25rem;
  z-index: 4;
  clip-path: polygon(0% 0%, calc(100% - 12px) 0%, 100% 50%, calc(100% - 12px) 100%, 0% 100%);
}

/* Middle steps shapes */
.public-booking-step-list li:nth-child(2) {
  margin-left: -12px;
  z-index: 3;
  clip-path: polygon(0% 0%, calc(100% - 12px) 0%, 100% 50%, calc(100% - 12px) 100%, 0% 100%, 12px 50%);
}

.public-booking-step-list li:nth-child(3) {
  margin-left: -12px;
  z-index: 2;
  clip-path: polygon(0% 0%, calc(100% - 12px) 0%, 100% 50%, calc(100% - 12px) 100%, 0% 100%, 12px 50%);
}

/* Last step shape */
.public-booking-step-list li:last-child {
  margin-left: -12px;
  z-index: 1;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 12px 50%);
  border-radius: 0 8px 8px 0;
}

.public-booking-step-list li::after {
  display: none !important;
}

.public-booking-step-list li > span {
  position: relative;
  z-index: 3;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 6px; /* Squircle style */
  background: #ffffff;
  color: var(--primary-green);
  font-weight: 700;
  font-size: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 200ms ease;
}

.public-booking-step-list li > strong {
  position: relative;
  z-index: 3;
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  line-height: 1.2;
}

/* Active and Complete states */
.public-booking-step-list li[data-step-state="active"] {
  background: var(--primary-green) !important;
  color: #ffffff !important;
}

.public-booking-step-list li[data-step-state="active"] > span {
  background: #ffffff !important;
  color: var(--primary-green) !important;
}

.public-booking-step-list li[data-step-state="complete"] {
  background: var(--accent-gold-soft) !important;
  color: var(--dark-text) !important;
}

.public-booking-step-list li[data-step-state="complete"] > span {
  background: var(--booking-gold) !important;
  color: #ffffff !important;
}

@media (max-width: 640px) {
  .public-booking-step-list li {
    justify-content: center;
    min-height: 2.55rem;
    padding: 0.48rem 0.5rem 0.48rem 1rem;
  }

  .public-booking-step-list li:first-child {
    padding-left: 0.75rem;
  }

  .public-booking-step-list li > strong {
    display: none;
  }
}

/* --- 2. Datepicker Popover Polish --- */
.custom-datepicker-popover {
  border: 1px solid var(--border-color);
  border-radius: 14px;
  box-shadow: 0 15px 35px -5px rgba(20, 107, 85, 0.15);
  background: #ffffff;
  padding: 1.25rem;
  width: 600px;
  backdrop-filter: blur(10px);
}

.datepicker-header {
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 0.75rem;
  margin-bottom: 0.75rem;
}

.datepicker-month-year {
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--dark-text);
}

.datepicker-grid {
  gap: 0.35rem;
}

.datepicker-day {
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.85rem;
  height: 2.2rem;
  width: 2.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 150ms ease;
  background: #ffffff;
  border: 1px solid #f0f2f0;
}

.datepicker-day.active {
  color: var(--dark-text);
  border-color: var(--border-color);
}

.datepicker-day.active:hover {
  background: var(--soft-accent);
  border-color: var(--primary-green);
  color: var(--primary-green);
}

.datepicker-day.selected {
  background: var(--primary-green) !important;
  color: #ffffff !important;
  border-color: var(--primary-green) !important;
  box-shadow: 0 4px 8px rgba(20, 107, 85, 0.25);
}

.datepicker-day.past {
  background: #fafafa;
  color: #cccccc;
  border-color: transparent;
}

/* Time slots container */
.datepicker-time-panel {
  border-left: 1px solid var(--border-color);
  padding-left: 1.25rem;
}

.datepicker-time-title {
  font-family: var(--font-heading);
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
  color: var(--dark-text);
}

.datepicker-time-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
  max-height: 220px;
  overflow-y: auto;
  padding-right: 0.25rem;
}

.datepicker-time-btn {
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: #ffffff;
  color: var(--dark-text);
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0.5rem 0.6rem;
  text-align: center;
  transition: all 150ms ease;
}

.datepicker-time-btn:hover {
  border-color: var(--primary-green);
  background: var(--soft-accent);
  color: var(--primary-green);
}

.datepicker-time-btn.selected {
  background: var(--primary-green) !important;
  color: #ffffff !important;
  border-color: var(--primary-green) !important;
  box-shadow: 0 3px 6px rgba(20, 107, 85, 0.2);
}

/* --- 3. Post-Booking Landing Page Revamp --- */
.public-session-landing-card {
  padding: 2.5rem;
  gap: 1.5rem;
}

.public-session-landing-card .success-badge-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.public-session-landing-card .success-check-circle {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  background: #f0f7f3;
  border: 2px solid var(--state-success);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--state-success);
  box-shadow: 0 4px 10px rgba(46, 125, 50, 0.1);
}

.public-session-landing-card .success-check-circle svg {
  width: 1.75rem;
  height: 1.75rem;
}

.public-session-landing-card .details-grid-two-column {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  background: #fcfdfc;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 1.25rem;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.01);
}

.public-session-landing-card .details-grid-item {
  display: grid;
  gap: 0.25rem;
}

.public-session-landing-card .details-grid-item-full {
  grid-column: 1 / -1;
}

.public-session-landing-card .details-grid-item span:first-child {
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--muted-text);
  letter-spacing: 0.05em;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.field-icon-inline {
  width: 0.95rem;
  height: 0.95rem;
  fill: currentColor;
  flex-shrink: 0;
  vertical-align: middle;
}

.public-session-landing-card .details-grid-item span:last-child {
  font-size: 0.94rem;
  font-weight: 600;
  color: var(--dark-text);
}

/* Callout zoom link block */
.public-session-landing-card .zoom-link-callout {
  display: flex;
  align-items: center;
  gap: 1rem;
  border: 1px solid var(--border-color);
  border-left: 4px solid var(--primary-green);
  border-radius: 8px;
  background: #f3f8f5;
  padding: 1rem 1.25rem;
}

.public-session-landing-card .zoom-link-icon-box {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary-green);
  flex-shrink: 0;
}

.public-session-landing-card .zoom-link-icon-box svg {
  width: 1.25rem;
  height: 1.25rem;
}

.public-session-landing-card .zoom-link-details {
  flex-grow: 1;
  min-width: 0;
  display: grid;
  gap: 0.15rem;
}

.public-session-landing-card .zoom-link-details strong {
  font-size: 0.88rem;
  color: var(--dark-text);
}

.public-session-landing-card .zoom-link-details a {
  font-size: 0.84rem;
  color: var(--primary-green);
  font-weight: 700;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.public-session-landing-card .zoom-link-details a:hover {
  text-decoration: underline;
}

.public-session-landing-actions {
  display: flex;
  gap: 0.75rem;
  margin-top: 0.5rem;
}

.public-session-landing-actions button,
.public-session-landing-actions a,
.public-session-landing-actions .secondary-action-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.6rem 1rem;
  cursor: pointer;
  transition: all 150ms ease;
  text-decoration: none;
}

.public-session-calendar-menu {
  flex: 1;
  position: relative;
}

.public-session-calendar-menu > summary {
  width: 100%;
}

.public-session-landing-actions .landing-action-icon {
  width: 1.1rem;
  height: 1.1rem;
}

.public-session-landing-actions .landing-action-icon-outline {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.public-session-landing-actions .landing-action-icon-fill {
  fill: currentColor;
}

.public-session-landing-actions .primary-action-btn {
  background: var(--primary-green);
  color: #ffffff;
  border: none;
  box-shadow: 0 4px 10px rgba(20, 107, 85, 0.15);
}

.public-session-landing-actions .primary-action-btn:hover {
  background: var(--primary-green-hover);
}

.public-session-landing-actions .secondary-action-btn {
  background: #ffffff;
  color: var(--dark-text);
  border: 1px solid var(--border-color);
}

.public-session-landing-actions .secondary-action-btn:hover {
  background: #fafbfa;
  border-color: var(--muted-text);
}

/* Dark Theme Public Booking & Landing Page Polish Overrides */
html[data-theme="dark"] .public-booking-screen {
  background: var(--bg-color) !important;
}

html[data-theme="dark"] .public-booking-header {
  background: linear-gradient(90deg, var(--surface) 60%, var(--soft-accent) 100%) !important;
  border-color: var(--border-color) !important;
}

html[data-theme="dark"] .public-booking-progress {
  background: var(--card-color) !important;
  border-color: var(--border-color) !important;
}

html[data-theme="dark"] .public-booking-step-list {
  background: var(--surface-strong) !important;
}

html[data-theme="dark"] .public-booking-step-list li {
  background: var(--surface-strong) !important;
  color: var(--muted-text) !important;
}

html[data-theme="dark"] .public-booking-step-list li > span {
  background: var(--soft-accent) !important;
  color: var(--primary-green) !important;
}

html[data-theme="dark"] .public-booking-step-list li[data-step-state="active"] {
  background: var(--primary-green) !important;
  color: #ffffff !important;
}

html[data-theme="dark"] .public-booking-step-list li[data-step-state="active"] > span {
  background: #ffffff !important;
  color: var(--primary-green) !important;
}

html[data-theme="dark"] .public-booking-step-list li[data-step-state="complete"] {
  background: var(--booking-gold-soft) !important;
  color: var(--dark-text) !important;
}

html[data-theme="dark"] .public-booking-step-list li[data-step-state="complete"] > span {
  background: var(--booking-gold) !important;
  color: #ffffff !important;
}

html[data-theme="dark"] .custom-datepicker-popover {
  background: var(--card-color) !important;
  border-color: var(--border-color) !important;
}

html[data-theme="dark"] .datepicker-day {
  background: var(--card-color) !important;
  border-color: var(--line-subtle) !important;
  color: var(--dark-text) !important;
}

html[data-theme="dark"] .datepicker-day.past {
  background: var(--surface-soft) !important;
  color: var(--ink-tertiary) !important;
  border-color: transparent !important;
}

html[data-theme="dark"] .datepicker-time-btn {
  background: var(--card-color) !important;
  border-color: var(--border-color) !important;
  color: var(--dark-text) !important;
}

html[data-theme="dark"] .public-session-landing-card .details-grid-two-column {
  background: var(--surface-soft) !important;
  border-color: var(--border-color) !important;
}

html[data-theme="dark"] .public-session-landing-card .zoom-link-callout {
  background: var(--surface-soft) !important;
  border-color: var(--border-color) !important;
}

html[data-theme="dark"] .public-session-landing-card .zoom-link-icon-box {
  background: var(--surface) !important;
  border-color: var(--border-color) !important;
}

html[data-theme="dark"] .public-session-landing-card .success-check-circle {
  background: var(--state-success-soft) !important;
}

html[data-theme="dark"] .public-session-landing-actions .secondary-action-btn {
  background: var(--action-secondary) !important;
  color: var(--dark-text) !important;
  border-color: var(--border-color) !important;
}

html[data-theme="dark"] .public-session-landing-actions .secondary-action-btn:hover {
  background: var(--surface) !important;
  border-color: var(--muted-text) !important;
}


/* --- 4. Links Page Card Grid Revamp --- */
.calendar-links-section .partner-link-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 1.25rem;
}

.partner-link-card-premium {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: transform 150ms ease, box-shadow 150ms ease;
}

.partner-link-card-premium:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.04);
}

.partner-link-card-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-bottom: 1px solid var(--line-subtle);
  padding-bottom: 0.85rem;
}

.initials-avatar-squircle {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--canvas-soft, #f4f6f4) 0%, var(--surface-soft, #e2e8e2) 100%);
  border: 1px solid var(--line-subtle);
  color: var(--primary-green);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.partner-link-card-identity {
  flex-grow: 1;
  min-width: 0;
  display: grid;
  gap: 0.1rem;
}

.partner-link-card-identity h3 {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--ink-primary);
}

.partner-link-card-identity .role-pill {
  justify-self: start;
}

.partner-link-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.partner-link-card-body .partner-link-form {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--surface-muted);
  border: 1px solid var(--line-subtle);
  border-radius: 8px;
  padding: 0.35rem 0.5rem;
}

.partner-link-card-body .partner-link-name-field {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-grow: 1;
  min-width: 0;
}

.partner-link-card-body .partner-link-name-field > span {
  font-size: 0.76rem;
  font-weight: 700;
  color: var(--ink-secondary);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.partner-link-card-body .partner-link-name-field input {
  border: none;
  background: transparent;
  padding: 0.25rem;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--ink-primary);
  width: 100%;
}

.partner-link-card-body .partner-link-name-field input:focus {
  outline: none;
  box-shadow: none;
}

.partner-link-card-body .partner-link-form button {
  padding: 0.35rem 0.75rem;
  font-size: 0.8rem;
  font-weight: 700;
  border-radius: 6px;
  height: auto;
}

/* Copies rows container in links page card */
.partner-link-card-urls {
  display: grid;
  gap: 0.5rem;
}

.partner-link-url-row-premium {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border: 1px solid var(--line-subtle);
  border-radius: 8px;
  padding: 0.6rem 0.85rem;
  background: var(--canvas-soft, #f7faf7);
  transition: border-color 150ms ease;
}

.partner-link-url-row-premium:hover {
  border-color: var(--line-strong);
}

.partner-link-url-info {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  flex-grow: 1;
}

.partner-link-url-info strong {
  font-size: 0.82rem;
  color: var(--ink-primary);
  font-weight: 700;
}

.partner-link-url-info span {
  font-size: 0.78rem;
  color: var(--ink-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.copy-icon-btn-premium {
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 6px;
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ink-secondary);
  cursor: pointer;
  transition: all 150ms ease;
  padding: 0;
  flex-shrink: 0;
}

.copy-icon-btn-premium:hover {
  border-color: var(--primary-green);
  color: var(--primary-green);
  background: var(--soft-accent);
}

.copy-icon-btn-premium svg {
  width: 0.9rem;
  height: 0.9rem;
}

/* --- 5. Entries Page Card Polish --- */
.calendar-entry-card-premium {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.calendar-entry-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
}

.calendar-entry-identity-box {
  display: grid;
  gap: 0.2rem;
}

.calendar-entry-identity-box .type-label {
  font-family: var(--font-heading);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--accent-gold);
  letter-spacing: 0.08em;
}

.calendar-entry-identity-box h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--ink-primary);
}

.calendar-entry-identity-box p {
  margin: 0.15rem 0 0;
  font-size: 0.88rem;
  color: var(--ink-secondary);
  font-weight: 500;
}

.calendar-entry-status-badges {
  display: flex;
  gap: 0.35rem;
  align-items: center;
}

/* Clean Info grid replaces stacked grey rows */
.entry-info-grid-premium {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  border-top: 1px solid var(--line-subtle);
  border-bottom: 1px solid var(--line-subtle);
  padding: 1rem 0;
}

.entry-info-item {
  display: grid;
  gap: 0.15rem;
}

.entry-info-item span:first-child {
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--ink-secondary);
  letter-spacing: 0.02em;
}

.entry-info-item span:last-child {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--ink-primary);
}

.calendar-entry-handoff-premium {
  border: 1px solid var(--line-subtle);
  border-left: 4px solid var(--primary-green);
  border-radius: 8px;
  background: var(--canvas-soft, #f7faf7);
  padding: 0.85rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.calendar-entry-handoff-premium strong {
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--ink-primary);
}

.calendar-entry-handoff-premium span {
  font-size: 0.82rem;
  color: var(--ink-secondary);
  line-height: 1.4;
}

.calendar-entry-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.calendar-entry-footer .open-lead-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: var(--action-secondary);
  border: 1px solid var(--line-subtle);
  border-radius: 6px;
  padding: 0.5rem 1rem;
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--ink-primary);
  text-decoration: none;
  transition: all 150ms ease;
}

.calendar-entry-footer .open-lead-btn:hover {
  background: var(--surface);
  border-color: var(--ink-secondary);
  color: var(--primary-green);
}

/* --- 6. Sessions Page Modal & Summary Cards --- */
#calendar-session-create-dialog,
#calendar-session-type-create-dialog {
  border: none;
  border-radius: 14px;
  padding: 0;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  background: var(--surface);
  width: min(680px, 95vw);
  max-height: 90vh;
  overflow: hidden;
}

#calendar-session-create-dialog::backdrop,
#calendar-session-type-create-dialog::backdrop {
  background: rgba(22, 32, 28, 0.45);
  backdrop-filter: blur(4px);
}

#calendar-session-create-dialog .dialog-content,
#calendar-session-type-create-dialog .dialog-content {
  display: flex;
  flex-direction: column;
  max-height: 90vh;
}

#calendar-session-create-dialog .dialog-header,
#calendar-session-type-create-dialog .dialog-header {
  border-bottom: 1px solid var(--line-subtle);
  padding: 1.5rem;
  background: var(--canvas-soft, #f7faf7);
}

#calendar-session-create-dialog .dialog-body,
#calendar-session-type-create-dialog .dialog-body {
  padding: 1.5rem;
  overflow-y: auto;
}

/* Summary Card Style for Session Types */
.session-type-summary-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  transition: all 150ms ease;
}

.session-type-summary-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.session-type-summary-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.session-type-summary-header h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ink-primary);
}

.session-type-summary-card p {
  margin: 0;
  font-size: 0.88rem;
  color: var(--ink-secondary);
  line-height: 1.45;
}

.session-type-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  border-top: 1px solid var(--line-subtle);
  padding-top: 0.75rem;
}

.session-type-summary-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.25rem;
}

.session-type-summary-actions button {
  font-size: 0.82rem;
  font-weight: 700;
  padding: 0.45rem 0.9rem;
  border-radius: 6px;
  height: auto;
}

/* Edit Card wrapper style for inline toggling */
.session-type-edit-card {
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  animation: session-card-expand 200ms ease both;
}

@keyframes session-card-expand {
  from {
    opacity: 0;
    transform: scale(0.98);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.nav-ai-assistant {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.nav-ai-assistant-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.25rem;
  align-items: stretch;
  min-width: 0;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  overflow: hidden;
}

.nav-ai-assistant.active .nav-ai-assistant-main,
.nav-ai-assistant-main:hover {
  background: var(--surface-strong-hover);
  border-color: rgba(215, 169, 94, 0.14);
}

.nav-ai-assistant-main .nav-link,
.nav-ai-assistant-main .nav-link:hover,
.nav-ai-assistant-main .nav-link.active {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.nav-ai-new {
  width: 2.25rem;
  min-height: 2.85rem;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-left: 1px solid rgba(181, 205, 188, 0.1);
  background: transparent;
  color: var(--icon-dark-secondary);
  border-radius: 0;
  box-shadow: none;
}

.nav-ai-new:hover {
  background: rgba(247, 251, 248, 0.06);
  color: var(--icon-dark-primary);
  box-shadow: none;
  transform: none;
}

.nav-ai-thread-list {
  display: grid;
  gap: 0.22rem;
  margin-left: 1.78rem;
  padding: 0.18rem 0 0.12rem 2rem;
  border-left: 1px solid rgba(181, 205, 188, 0.16);
}

.nav-ai-empty,
.nav-ai-notice {
  margin: 0;
  padding: 0.45rem 0.72rem;
  color: rgba(243, 234, 216, 0.62);
  font-size: 0.76rem;
  line-height: 1.35;
}

.nav-ai-notice {
  margin-left: 3.78rem;
  border: 1px solid rgba(215, 169, 94, 0.22);
  border-radius: var(--radius-control);
  color: var(--text-gold-dark);
  background: rgba(196, 131, 45, 0.08);
}

.nav-ai-thread {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.1rem;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
}

.nav-ai-thread.active {
  border-color: rgba(215, 169, 94, 0.22);
  background: rgba(196, 131, 45, 0.1);
}

.nav-ai-thread:hover {
  background: rgba(247, 251, 248, 0.06);
}

.nav-ai-thread-title {
  min-height: 2.05rem;
  min-width: 0;
  padding: 0.4rem 0.52rem;
  display: flex;
  align-items: center;
  gap: 0.32rem;
  border: 0;
  background: transparent;
  color: rgba(243, 234, 216, 0.76);
  box-shadow: none;
  text-align: left;
}

.nav-ai-thread-title:hover {
  background: transparent;
  color: var(--ink-inverse);
  box-shadow: none;
  transform: none;
}

.nav-ai-thread-title span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.78rem;
  font-weight: 600;
}

.nav-ai-thread-actions {
  display: flex;
  align-items: center;
  gap: 0.05rem;
  padding-right: 0.2rem;
  opacity: 0;
  transition: opacity 150ms ease;
}

.nav-ai-thread:hover .nav-ai-thread-actions,
.nav-ai-thread:focus-within .nav-ai-thread-actions,
.nav-ai-thread.active .nav-ai-thread-actions {
  opacity: 1;
}

.nav-ai-thread-actions button {
  width: 1.55rem;
  min-height: 1.55rem;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: rgba(243, 234, 216, 0.62);
  border-radius: calc(var(--radius-control) - 2px);
  box-shadow: none;
}

.nav-ai-thread-actions button:hover {
  background: rgba(247, 251, 248, 0.08);
  color: var(--ink-inverse);
  box-shadow: none;
  transform: none;
}

.nav-ai-thread-edit {
  display: grid;
  gap: 0.35rem;
  padding: 0.45rem;
  border: 1px solid rgba(215, 169, 94, 0.22);
  border-radius: var(--radius-control);
  background: rgba(247, 251, 248, 0.06);
}

.nav-ai-thread-edit input {
  min-height: 2rem;
  padding: 0.4rem 0.5rem;
  border-color: rgba(181, 205, 188, 0.22);
  background: rgba(16, 38, 32, 0.86);
  color: var(--ink-inverse);
  font-size: 0.78rem;
}

.nav-ai-edit-actions {
  display: flex;
  gap: 0.35rem;
}

.nav-ai-edit-actions button {
  min-height: 1.9rem;
  padding: 0.3rem 0.55rem;
  border-color: rgba(181, 205, 188, 0.18);
  background: rgba(247, 251, 248, 0.08);
  color: rgba(243, 234, 216, 0.86);
  font-size: 0.72rem;
  box-shadow: none;
}

.ai-assistant-section {
  display: grid;
  gap: 1.1rem;
}

.ai-assistant-hero {
  display: grid;
  grid-template-columns: 3.4rem minmax(0, 1fr);
  gap: 1.1rem;
  align-items: center;
  padding: 1.2rem 1.35rem;
  border: 1px solid var(--line-subtle);
  border-top: 3px solid var(--line-gold);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
}

.ai-assistant-hero-icon {
  width: 3.4rem;
  height: 3.4rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 14px;
  background: linear-gradient(135deg, var(--accent-gold-soft), rgba(21, 104, 87, 0.08));
  color: var(--accent-copper);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.ai-assistant-hero-copy {
  display: grid;
  gap: 0.35rem;
}

.ai-assistant-hero h1 {
  margin: 0;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.85rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.ai-assistant-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.92rem;
  line-height: 1.55;
}

.ai-assistant-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.25rem;
}

.ai-assistant-shell {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}

.ai-assistant-command-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.ai-assistant-command-row button {
  min-height: 2.15rem;
  padding: 0.4rem 0.85rem;
  border-radius: 9999px;
  border: 1px solid var(--line-subtle);
  background: var(--surface);
  color: var(--ink-secondary);
  font-size: 0.82rem;
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  transition: all 0.18s ease;
}

.ai-assistant-command-row button:hover,
.ai-assistant-command-row button:focus-visible {
  border-color: var(--line-gold);
  background: var(--accent-gold-soft);
  color: var(--accent-copper);
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.ai-assistant-context-bar {
  display: grid;
  grid-template-columns: auto minmax(14rem, 24rem) minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.75rem 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
}

.ai-assistant-context-bar label {
  color: var(--ink-secondary);
  font-size: 0.82rem;
  font-weight: 700;
}

.ai-assistant-context-bar select {
  min-width: 0;
  min-height: 2.3rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  background: var(--surface);
  padding: 0.35rem 0.65rem;
  font-size: 0.88rem;
}

.ai-assistant-context-bar > span,
.ai-assistant-context-info {
  overflow: hidden;
  color: var(--ink-secondary);
  font-size: 0.82rem;
  font-weight: 550;
  padding: 0.22rem 0.65rem;
  border: 1px solid var(--line-subtle);
  border-radius: 9999px;
  background: var(--surface-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ai-assistant-strategy-button {
  display: inline-flex;
  gap: 0.4rem;
  align-items: center;
  justify-content: center;
  min-height: 2.3rem;
  padding: 0.4rem 0.85rem;
  border-radius: var(--radius-control);
  white-space: nowrap;
}

.ai-assistant-chat-panel {
  display: grid;
  grid-template-rows: auto auto minmax(18rem, 1fr) auto;
  min-height: min(680px, calc(100vh - 15rem));
  max-height: calc(100vh - 9rem);
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
}

.ai-assistant-chat-header {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  align-items: center;
  padding: 0.95rem 1.25rem;
  border-bottom: 1px solid var(--line-subtle);
  background: var(--surface-muted);
}

.ai-assistant-chat-title {
  min-width: 0;
  display: grid;
  gap: 0.18rem;
}

.ai-assistant-chat-title .micro-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.ai-assistant-chat-title h2 {
  margin: 0;
  overflow: hidden;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ai-assistant-chat-title p {
  margin: 0;
  color: var(--ink-tertiary);
  font-size: 0.82rem;
}

.ai-assistant-new-chat {
  display: inline-flex;
  gap: 0.4rem;
  align-items: center;
  white-space: nowrap;
  border-radius: 9999px;
  padding: 0.4rem 0.85rem;
}

.ai-assistant-notice {
  margin: 0.75rem 1rem 0;
  padding: 0.65rem 0.8rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  color: var(--ink-secondary);
  background: var(--surface-soft);
  font-size: 0.86rem;
}

.ai-assistant-notice.success {
  border-color: rgba(21, 102, 83, 0.22);
  color: var(--state-success);
  background: var(--state-success-soft);
}

.ai-assistant-notice.warning {
  border-color: rgba(158, 100, 18, 0.22);
  color: var(--state-warning);
  background: var(--state-warning-soft);
}

.ai-assistant-notice.error {
  border-color: rgba(171, 51, 51, 0.22);
  color: var(--state-danger);
  background: var(--state-danger-soft);
}

.ai-assistant-timeline {
  display: grid;
  align-content: start;
  gap: 1.1rem;
  min-height: 0;
  overflow-y: auto;
  padding: 1.25rem;
}

.ai-assistant-starters {
  display: grid;
  gap: 0.85rem;
  padding: 1.1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface-muted);
}

.ai-assistant-starters-heading {
  display: grid;
  gap: 0.25rem;
}

.ai-assistant-starters-heading h3,
.ai-assistant-starters-heading p {
  margin: 0;
}

.ai-assistant-starters-heading h3 {
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 700;
}

.ai-assistant-starters-heading p {
  color: var(--ink-secondary);
  font-size: 0.84rem;
}

.ai-assistant-starter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.ai-assistant-starter-card {
  min-width: 0;
  min-height: 6.2rem;
  display: grid;
  gap: 0.35rem;
  align-content: start;
  justify-items: start;
  padding: 0.9rem 1rem;
  text-align: left;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  color: var(--ink-primary);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
  transition: all 0.18s ease;
}

.ai-assistant-starter-card:hover,
.ai-assistant-starter-card:focus-visible {
  border-color: var(--line-gold);
  background: var(--accent-gold-soft);
  transform: translateY(-2px);
  box-shadow: var(--shadow-subtle);
}

.ai-assistant-starter-card strong {
  font-size: 0.9rem;
}

.ai-assistant-starter-card span {
  color: var(--ink-secondary);
  font-size: 0.8rem;
  line-height: 1.45;
}

.ai-assistant-message {
  display: flex;
  gap: 0.75rem;
  min-width: 0;
}

.ai-assistant-message.is-user {
  flex-direction: row-reverse;
}

.ai-assistant-avatar {
  width: 2.2rem;
  height: 2.2rem;
  flex: 0 0 2.2rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 50%;
  background: linear-gradient(135deg, var(--surface), var(--accent-gold-soft));
  color: var(--action-primary);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.ai-assistant-message.is-user .ai-assistant-avatar {
  border: 1px solid rgba(34, 197, 94, 0.4);
  background: #0e241b;
  color: #34d399;
  box-shadow: 0 2px 6px rgba(14, 36, 27, 0.2);
}

html[data-theme="dark"] .ai-assistant-message.is-user .ai-assistant-avatar {
  border: 1px solid rgba(52, 211, 153, 0.4);
  background: #133a2a;
  color: #34d399;
}

.ai-assistant-bubble {
  max-width: min(740px, 86%);
  min-width: 0;
  display: grid;
  gap: 0.5rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--line-subtle);
  border-left: 3px solid var(--line-gold);
  border-radius: 1.15rem 1.15rem 1.15rem 0.25rem;
  background: var(--surface);
  color: var(--ink-primary);
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.03);
}

html[data-theme="dark"] .ai-assistant-message.is-assistant .ai-assistant-bubble {
  border-color: var(--line-subtle);
  border-left-color: var(--line-gold);
  background: #15261e;
  color: var(--ink-primary);
}

/* User Chat Bubble - Signature Sidebar Green */
.ai-assistant-message.is-user .ai-assistant-bubble {
  border: 1px solid rgba(14, 36, 27, 0.9);
  border-left: 1px solid rgba(14, 36, 27, 0.9);
  border-radius: 1.15rem 1.15rem 0.25rem 1.15rem;
  background: var(--sidebar-bg, #0e241b);
  color: #ffffff;
  box-shadow: 0 2px 10px rgba(14, 36, 27, 0.18);
}

.ai-assistant-message.is-user .ai-assistant-bubble p {
  color: #ffffff;
}

.ai-assistant-message.is-user .ai-assistant-message-meta {
  color: rgba(255, 255, 255, 0.75);
}

html[data-theme="dark"] .ai-assistant-message.is-user .ai-assistant-bubble {
  border: 1px solid rgba(52, 211, 153, 0.35);
  border-radius: 1.15rem 1.15rem 0.25rem 1.15rem;
  background: linear-gradient(135deg, #133a2a, #184a37);
  color: #f4fbf7;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.3);
}

html[data-theme="dark"] .ai-assistant-message.is-user .ai-assistant-bubble p {
  color: #f4fbf7;
}

html[data-theme="dark"] .ai-assistant-message.is-user .ai-assistant-message-meta {
  color: rgba(230, 245, 238, 0.8);
}

.ai-assistant-message-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  color: var(--ink-tertiary);
  font-size: 0.75rem;
  font-weight: 650;
}

.ai-assistant-bubble p {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--ink-primary);
  font-size: 0.92rem;
  line-height: 1.55;
}

.ai-assistant-prose {
  min-width: 0;
  display: grid;
  gap: 0.55rem;
  overflow-wrap: anywhere;
  color: var(--ink-primary);
  font-size: 0.92rem;
  line-height: 1.55;
}

.ai-assistant-prose > :first-child {
  margin-top: 0;
}

.ai-assistant-prose > :last-child {
  margin-bottom: 0;
}

.ai-assistant-prose h3,
.ai-assistant-prose h4,
.ai-assistant-prose h5 {
  margin: 0.4rem 0 0;
  color: var(--ink-primary);
  line-height: 1.3;
}

.ai-assistant-prose h3 {
  font-size: 1rem;
}

.ai-assistant-prose h4,
.ai-assistant-prose h5 {
  font-size: 0.94rem;
}

.ai-assistant-prose p {
  margin: 0;
}

.ai-assistant-prose ul,
.ai-assistant-prose ol {
  display: grid;
  gap: 0.3rem;
  margin: 0;
  padding-left: 1.3rem;
}

.ai-assistant-prose li {
  padding-left: 0.1rem;
}

.ai-assistant-prose blockquote {
  margin: 0;
  padding: 0.65rem 0.75rem;
  border-left: 3px solid var(--line-gold);
  border-radius: 0 var(--radius-control) var(--radius-control) 0;
  background: var(--accent-gold-soft);
  color: var(--ink-secondary);
}

.ai-assistant-prose code {
  padding: 0.08rem 0.24rem;
  border-radius: calc(var(--radius-control) - 2px);
  background: var(--surface-muted);
  color: var(--ink-primary);
  font-size: 0.85em;
}

.ai-assistant-prose pre {
  max-width: 100%;
  margin: 0;
  overflow-x: auto;
  padding: 0.7rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.ai-assistant-prose pre code {
  padding: 0;
  background: transparent;
}

.ai-assistant-answer-footer {
  display: grid;
  gap: 0.55rem;
  padding-top: 0.55rem;
  border-top: 1px solid var(--line-subtle);
}

.ai-assistant-citations {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.ai-assistant-citation {
  min-height: 1.9rem;
  max-width: min(28rem, 100%);
  padding: 0.35rem 0.55rem;
  display: grid;
  gap: 0.15rem;
  justify-items: start;
  text-align: left;
  border-color: var(--line-gold);
  background: var(--accent-gold-soft);
  color: var(--accent-copper);
  font-size: 0.74rem;
  box-shadow: none;
  text-decoration: none;
}

.ai-assistant-citation-excerpt {
  max-width: 100%;
  overflow: hidden;
  color: var(--ink-secondary);
  font-size: 0.7rem;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ai-assistant-answer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

.ai-assistant-answer-actions button {
  min-height: 2rem;
  display: inline-flex;
  gap: 0.32rem;
  align-items: center;
  padding: 0.35rem 0.55rem;
  color: var(--ink-secondary);
  font-size: 0.74rem;
  box-shadow: none;
}

.ai-assistant-answer-actions button.is-active {
  border-color: var(--line-gold);
  background: var(--accent-gold-soft);
  color: var(--accent-copper);
}

.ai-assistant-objection-bank > summary {
  align-items: center;
}

.ai-assistant-objection-bank > summary > .badge {
  flex: 0 0 auto;
}

.ai-assistant-objection-bank-body {
  display: grid;
  gap: 0.8rem;
}

.ai-assistant-objection-search {
  display: grid;
  gap: 0.45rem;
}

.ai-assistant-objection-search > label {
  color: var(--ink-secondary);
  font-size: 0.82rem;
  font-weight: 700;
}

.ai-assistant-objection-search > p {
  margin: 0;
  color: var(--ink-tertiary);
  font-size: 0.78rem;
}

.ai-assistant-objection-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 0.45rem;
}

.ai-assistant-objection-list {
  display: grid;
  gap: 0.55rem;
}

.ai-assistant-objection-item {
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
}

.ai-assistant-objection-item > summary {
  cursor: pointer;
  padding: 0.75rem;
  color: var(--ink-primary);
}

.ai-assistant-objection-item > summary > span {
  display: grid;
  gap: 0.18rem;
}

.ai-assistant-objection-item > summary small {
  color: var(--ink-tertiary);
  font-size: 0.75rem;
  font-weight: 500;
}

.ai-assistant-objection-item-body {
  display: grid;
  gap: 0.75rem;
  padding: 0 0.75rem 0.75rem;
}

.ai-assistant-objection-question,
.ai-assistant-objection-response {
  display: grid;
  gap: 0.35rem;
  padding-top: 0.7rem;
  border-top: 1px solid var(--line-subtle);
}

.ai-assistant-objection-question p {
  margin: 0;
  color: var(--ink-primary);
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.ai-assistant-objection-remove {
  justify-self: start;
  color: var(--state-danger);
}

.ai-assistant-objection-empty {
  margin: 0;
}

.ai-assistant-feedback-dialog {
  width: min(34rem, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  padding: 0;
  overflow: auto;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-panel);
  background: var(--surface);
  color: var(--ink-primary);
  box-shadow: var(--shadow-floating);
}

.ai-assistant-feedback-dialog::backdrop {
  background: rgba(13, 31, 26, 0.62);
}

.ai-assistant-feedback-form {
  display: grid;
  gap: 0.9rem;
  padding: 1rem;
}

.ai-assistant-feedback-form > header {
  display: grid;
  gap: 0.3rem;
}

.ai-assistant-feedback-form > header h2,
.ai-assistant-feedback-form > header p {
  margin: 0;
}

.ai-assistant-feedback-form > header h2 {
  font-size: 1.1rem;
}

.ai-assistant-feedback-form > header p {
  color: var(--ink-secondary);
  line-height: 1.5;
}

.ai-assistant-feedback-form > label {
  display: grid;
  gap: 0.4rem;
  color: var(--ink-secondary);
  font-size: 0.84rem;
  font-weight: 700;
}

.ai-assistant-feedback-form textarea {
  resize: vertical;
}

.ai-assistant-composer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
  padding: 0.85rem 1.1rem;
  border-top: 1px solid var(--line-subtle);
  background: var(--surface-muted);
}

.ai-assistant-composer textarea {
  min-height: 2.75rem;
  max-height: 8rem;
  resize: vertical;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  background: var(--surface);
  padding: 0.6rem 0.85rem;
  font-size: 0.92rem;
  line-height: 1.45;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ai-assistant-composer textarea:focus {
  border-color: var(--line-gold);
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15);
}

.ai-assistant-composer-actions {
  display: flex;
  gap: 0.4rem;
  align-items: center;
}

.ai-assistant-composer .icon-button {
  width: 2.65rem;
  min-height: 2.65rem;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border-radius: var(--radius-control);
}

.ai-assistant-send {
  transition: transform 0.15s ease;
}

.ai-assistant-send:hover {
  transform: scale(1.04);
}

.ai-assistant-mic {
  border-color: var(--line-strong);
  background: var(--action-secondary);
  color: var(--ink-primary);
}

.ai-assistant-mic.listening {
  border-color: rgba(158, 100, 18, 0.32);
  background: var(--state-warning-soft);
  color: var(--state-warning);
}

.ai-assistant-icon {
  display: inline-grid;
  place-items: center;
}

.ai-assistant-icon svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ai-assistant-hero-icon .ai-assistant-icon svg {
  width: 1.35rem;
  height: 1.35rem;
}

@media (max-width: 720px) {
  .ai-assistant-hero {
    grid-template-columns: 1fr;
  }

  .ai-assistant-chat-panel {
    display: block;
    min-height: 620px;
    max-height: none;
    overflow: visible;
  }

  .ai-assistant-chat-header {
    position: sticky;
    top: 0;
    z-index: 2;
    align-items: stretch;
    flex-direction: column;
  }

  .ai-assistant-context-bar {
    grid-template-columns: 1fr;
  }

  .ai-assistant-context-bar > span {
    white-space: normal;
  }

  .ai-assistant-bubble {
    max-width: 92%;
  }

  .ai-assistant-starter-grid {
    grid-template-columns: 1fr;
  }

  .ai-assistant-timeline {
    min-height: 30rem;
    overflow: visible;
    padding-bottom: 8.5rem;
  }

  .ai-assistant-timeline > :last-child {
    scroll-margin-bottom: 8.5rem;
  }

  .ai-assistant-answer-footer {
    align-items: stretch;
  }

  .ai-assistant-answer-actions {
    align-items: stretch;
  }

  .ai-assistant-answer-actions button {
    flex: 1 1 auto;
    justify-content: center;
  }

  .ai-assistant-objection-bank > summary {
    align-items: flex-start;
  }

  .ai-assistant-objection-search-row {
    display: flex;
    flex-wrap: wrap;
  }

  .ai-assistant-objection-search-row input {
    flex: 1 1 100%;
  }

  .ai-assistant-composer {
    position: sticky;
    bottom: 0;
    z-index: 3;
    grid-template-columns: 1fr;
    padding-bottom: calc(0.8rem + env(safe-area-inset-bottom));
    box-shadow: var(--shadow-floating);
  }

  .ai-assistant-composer-actions {
    justify-content: flex-end;
  }
}

@media (max-width: 980px) {
  .layout.sidebar-collapsed .nav-ai-thread-list,
  .layout.sidebar-collapsed .nav-ai-notice,
  .layout.sidebar-collapsed .nav-ai-new {
    display: none;
  }
}

/* --- UI Productization Rules --- */
.member-profile-meta-item {
  display: inline-flex;
  align-items: center;
  font-size: 0.85rem;
  color: var(--muted);
  margin-right: 1.25rem;
}

.member-profile-meta-item:last-child {
  margin-right: 0;
}

.member-profile-meta-item > span[aria-hidden="true"] {
  display: inline-block;
  width: 0.95rem;
  height: 0.95rem;
  color: var(--muted);
  margin-right: 0.25rem;
}

.member-profile-meta-item svg {
  vertical-align: middle;
}

.member-profile-fact-strip-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
  border-top: 1px solid var(--line-subtle);
  padding-top: 1rem;
  margin-top: 0.5rem;
}

.member-profile-fact-strip-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  border-top: 1px solid var(--line-subtle);
  padding-top: 1rem;
  margin-top: 0.5rem;
}

.member-profile-title p {
  margin: 0 0 0.25rem 0;
}

.member-profile-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.panel-header-icon {
  width: 1.15rem;
  height: 1.15rem;
  color: var(--ink-secondary);
  margin-right: 0.4rem;
  display: inline-block;
  vertical-align: middle;
}

/* --- Member Detail Page Styles --- */
.member-manage-btn {
  background: var(--action-primary);
  border-color: var(--action-primary);
  color: var(--accent-ink);
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-control);
}

.member-manage-btn .btn-icon {
  width: 1.05rem;
  height: 1.05rem;
  margin-right: 0.4rem;
  display: inline-block;
  vertical-align: middle;
}

.member-detail-section .reference-disclosure {
  margin-top: 1rem;
}

.member-detail-section .reference-disclosure > summary > span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.member-detail-section .reference-disclosure > summary > span > span {
  display: inline-grid;
}

.member-detail-section .reference-disclosure > summary > span > span > strong {
  color: var(--ink-primary);
  font-weight: 700;
  font-size: 0.95rem;
}

.member-detail-section .reference-disclosure > summary > span > span > small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: normal;
}

.member-admin-controls-body,
.member-activity-disclosure-body {
  padding-top: 1rem;
}

.disclosure-header-icon {
  width: 1.15rem;
  height: 1.15rem;
  color: var(--ink-secondary);
  margin-right: 0.4rem;
  display: inline-block;
  vertical-align: middle;
}

.member-full-history-disclosure {
  margin-top: 1rem;
}

.inline-disclosure > summary > span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

.inline-disclosure > summary > span > small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: normal;
}

.member-full-history-body {
  padding-top: 0.75rem;
}

.lifecycle-card-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 0.5rem;
}

.lifecycle-card-title h4 {
  margin: 0.1rem 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--ink-primary);
}

.lifecycle-card-title .micro-label {
  color: var(--muted);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.lifecycle-card-status {
  flex-shrink: 0;
  display: grid;
  gap: 0.15rem;
  justify-items: end;
}

.lifecycle-card-status .micro-label {
  color: var(--muted);
  font-size: 0.65rem;
  text-transform: uppercase;
}

.lifecycle-control .form-grid-lifecycle {
  display: grid;
  gap: 0.6rem;
}

.lifecycle-control .form-group-lifecycle {
  display: grid;
  gap: 0.2rem;
}

.lifecycle-control .form-group-lifecycle label {
  font-size: 0.76rem;
  color: var(--ink-secondary);
  font-weight: 600;
}

.lifecycle-control select,
.lifecycle-control input {
  padding: 0.4rem;
  font-size: 0.85rem;
  width: 100%;
}

.lifecycle-control input {
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
}

.lifecycle-control .form-actions-lifecycle {
  margin-top: 0.5rem;
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  align-items: center;
}

.lifecycle-control .form-actions-lifecycle button {
  padding: 0.4rem 1rem;
  font-size: 0.85rem;
  border-radius: var(--radius-control);
  font-weight: 600;
}

.lifecycle-control .form-actions-lifecycle button[type="submit"] {
  background: var(--action-primary);
  border-color: var(--action-primary);
  color: var(--accent-ink);
}

.member-note-readonly {
  margin-top: 1rem;
}

.member-profile-fact > strong {
  color: var(--ink-primary);
  font-size: 0.95rem;
  font-weight: 700;
}

.panel-header-badge {
  margin-left: 0.5rem;
  font-size: 0.75rem;
  vertical-align: middle;
  display: inline-flex;
}

.member-priority-tasks-panel .member-inline-actions {
  margin-top: 0.75rem;
}

/* Setup & Milestones view productization overrides */
.definition-row.member-fact-row {
  display: flex;
  align-items: center;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--line-subtle);
  border-radius: 0;
  background: transparent;
  border-top: none;
  border-left: none;
  border-right: none;
}

.fact-icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 50%;
  background: var(--surface-muted);
  color: var(--ink-secondary);
  flex-shrink: 0;
  margin-right: 0.85rem;
}

.profile-fact-svg {
  width: 1.1rem;
  height: 1.1rem;
  vertical-align: middle;
}

.definition-row.member-fact-row > .definition-main {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 0.25rem;
}

.definition-row.member-fact-row > .definition-main > strong {
  color: var(--ink-primary);
  font-size: 0.9rem;
  font-weight: 600;
}

.definition-row.member-fact-row > .definition-main > span {
  color: var(--muted);
  font-size: 0.78rem;
}

.definition-row.member-fact-row > .definition-badge.member-fact-value {
  flex-shrink: 0;
  text-align: right;
}

.readiness-card-icon {
  width: 0.9rem;
  height: 0.9rem;
  flex-shrink: 0;
}

.helper-warning-text {
  font-size: 0.75rem;
  color: var(--state-warning);
  margin: 0.25rem 0;
}

/* ==========================================================================
   Milestones Three-Column Workspace Layout Refactor (mockup Image 4 alignment)
   ========================================================================== */

.milestones-three-column-grid {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(300px, 0.8fr);
  gap: 1.25rem;
  align-items: start;
}

.milestones-primary-workspace {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(380px, 1.35fr);
  gap: 1.25rem;
  align-items: start;
  min-width: 0;
}

.milestones-right-context-stack {
  display: grid;
  gap: 1.25rem;
}

.milestones-right-card {
  margin-bottom: 0px !important;
}

.milestones-center-history-wrapper {
  display: none !important;
}

.setup-task-row.is-compact-row {
  display: flex;
  align-items: center;
  padding: 0.65rem 0.85rem;
  background: var(--surface-muted);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  gap: 0.75rem;
  margin-bottom: 0.5rem;
  width: 100%;
  box-sizing: border-box;
}

.setup-task-row.is-compact-row .setup-task-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

@media (max-width: 1024px) {
  .milestones-three-column-grid {
    grid-template-columns: 1fr;
  }

  .milestones-primary-workspace {
    grid-template-columns: 1fr;
  }
}

/* Column 1: Members selector list sidebar */
.milestones-member-sidebar {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.milestones-sidebar-header {
  display: grid;
  gap: 0.25rem;
}

.milestones-sidebar-header h3 {
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0;
  color: var(--ink-primary);
}

.milestones-sidebar-header p {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.35;
  color: var(--ink-tertiary);
}

.member-selector-list {
  display: grid;
  gap: 0.6rem;
}

.member-selector-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.85rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  color: var(--ink-primary);
  text-align: left;
  box-shadow: var(--shadow-subtle);
  cursor: pointer;
  transition: border-color 200ms ease, box-shadow 200ms ease, transform 150ms ease;
}

.member-selector-card:hover {
  border-color: var(--line-strong);
  box-shadow: var(--shadow-raised);
}

.member-selector-card.is-selected {
  border-color: var(--action-primary);
  box-shadow: 0 0 0 1px var(--action-primary), var(--shadow-raised);
  background: var(--soft-accent);
}

.member-selector-card:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}

.member-selector-avatar {
  display: inline-grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 10px; /* squircle outline */
  font-family: var(--font-heading);
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--ink-inverse);
  flex-shrink: 0;
}

.member-selector-info {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.member-selector-identity {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.member-selector-identity strong {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ink-primary);
}

.member-selector-milestone {
  font-size: 0.78rem;
  color: var(--ink-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.member-selector-sub {
  font-size: 0.72rem;
  color: var(--ink-tertiary);
}

.member-selector-chevron {
  display: flex;
  align-items: center;
  color: var(--ink-tertiary);
  width: 1.1rem;
  height: 1.1rem;
}

.member-selector-chevron svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

/* Column 2: Selected member workspace details */
.milestones-member-detail {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
}

.milestones-task-progress-region {
  grid-column: 1 / -1;
  min-width: 0;
}

@media (max-width: 1024px) {
  .milestones-task-progress-region {
    grid-column: auto;
  }
}

/* Horizontal milestone state timeline list */
.milestones-horizontal-timeline {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 2px;
  background: var(--surface-muted);
  padding: 12px 6px;
  border-radius: var(--radius-control);
  border: 1px solid var(--line-subtle);
  margin: 1rem 0;
  position: relative;
}

.milestones-horizontal-timeline::before {
  content: '';
  position: absolute;
  top: 17px;
  left: 8%;
  right: 8%;
  height: 2px;
  background: var(--line-subtle);
  z-index: 1;
}

@media (max-width: 768px) {
  .milestones-horizontal-timeline {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px 4px;
  }
  .milestones-horizontal-timeline::before {
    display: none;
  }
}

.timeline-pill {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  font-size: 0.72rem;
  font-weight: 550;
  padding: 0.25rem;
  background: transparent;
  color: var(--ink-secondary);
  border: none;
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
  text-align: center;
  position: relative;
  z-index: 2;
}

.timeline-pill::before {
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--line-strong);
  border: 2px solid var(--surface);
  transition: all 200ms ease;
  flex-shrink: 0;
}

.timeline-pill.is-active-gold {
  color: var(--ink-primary);
  font-weight: 600;
  background: transparent;
  box-shadow: none;
}

.timeline-pill.is-active-gold::before {
  background: var(--accent-gold);
  box-shadow: 0 0 0 2px var(--line-gold);
}

.timeline-pill.is-active-red {
  color: var(--ink-primary);
  font-weight: 600;
  background: transparent;
  box-shadow: none;
}

.timeline-pill.is-active-red::before {
  background: var(--state-danger);
  box-shadow: 0 0 0 2px var(--line-strong);
}

.timeline-pill.is-active-green {
  color: var(--ink-primary);
  font-weight: 600;
  background: transparent;
  box-shadow: none;
}

.timeline-pill.is-active-green::before {
  background: var(--state-success);
  box-shadow: 0 0 0 2px var(--state-success);
}

.timeline-pill.is-active-warning {
  color: var(--ink-primary);
  font-weight: 600;
  background: transparent;
  box-shadow: none;
}

.timeline-pill.is-active-warning::before {
  background: var(--state-warning);
  box-shadow: 0 0 0 2px var(--state-warning);
}

.timeline-pill.is-active-audit {
  color: var(--ink-primary);
  font-weight: 600;
  background: transparent;
  box-shadow: none;
}

.timeline-pill.is-active-audit::before {
  background: var(--state-audit);
  box-shadow: 0 0 0 2px var(--state-audit);
}

/* Clean Empty State Card for Task Progress */
.milestones-empty-task-card {
  display: grid;
  place-items: center;
  text-align: center;
  padding: 2.25rem 1.5rem;
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-panel);
  background: var(--surface-muted);
}

.milestones-empty-task-card .empty-icon-circle {
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: var(--soft-accent);
  color: var(--action-primary);
  margin-bottom: 1rem;
}

.milestones-empty-task-card .empty-icon-circle svg {
  width: 1.75rem;
  height: 1.75rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.milestones-empty-task-card h4 {
  font-size: 0.98rem;
  font-weight: 600;
  margin: 0 0 0.35rem;
  color: var(--ink-primary);
}

.milestones-empty-task-card p {
  font-size: 0.82rem;
  color: var(--ink-tertiary);
  margin: 0 0 1.25rem;
  max-width: 26rem;
  line-height: 1.4;
}

.milestones-empty-task-card .empty-actions {
  display: grid;
  gap: 0.65rem;
  justify-items: center;
}

/* Column 3: Stats and Queues sidebar */
.milestones-stats-sidebar {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
}

/* Snapshot list with dots */
.snapshot-dot-list {
  display: grid;
  gap: 0.65rem;
  padding: 0.25rem 0;
}

.snapshot-dot-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.85rem;
  color: var(--ink-secondary);
}

.snapshot-dot-label {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.snapshot-color-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.snapshot-color-dot-needs-work,
.milestone-queue-indicator-needsWork {
  background: var(--state-warning);
}

.snapshot-color-dot-stuck,
.milestone-queue-indicator-stuck {
  background: var(--state-danger);
}

.snapshot-color-dot-review,
.milestone-queue-indicator-readyForReview {
  background: var(--accent-gold);
}

.snapshot-color-dot-changes,
.milestone-queue-indicator-needsChanges {
  background: var(--line-strong);
}

.snapshot-color-dot-support,
.milestone-queue-indicator-supportLinked {
  background: var(--state-audit);
}

.snapshot-color-dot-verified,
.milestone-queue-indicator-setupReady {
  background: var(--state-success);
}

.snapshot-dot-item strong {
  font-family: var(--font-heading);
  font-size: 0.95rem;
  color: var(--ink-primary);
}

/* Interactive Queue Rows */
.milestone-queue-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  padding: 0.72rem 0.8rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--ink-primary);
  text-align: left;
  cursor: pointer;
  transition: all 150ms ease;
  font-size: 0.82rem;
}

.milestone-queue-row:hover {
  border-color: var(--line-strong);
  background: var(--surface-muted);
}

.milestone-queue-row:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 1px;
}

.milestone-queue-row-left {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
}

.milestone-queue-indicator-box {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  flex-shrink: 0;
}

.stepper-no-tasks {
  margin: 0.5rem 0 0;
  color: var(--ink-tertiary);
  font-size: 0.78rem;
}

.milestone-queue-label {
  font-weight: 500;
  color: var(--ink-primary);
}

.milestone-queue-row-right {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--ink-tertiary);
  font-size: 0.78rem;
}

.milestone-queue-row-right svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.filter-reset-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.5rem 0.65rem;
  border: 1px solid var(--line-gold);
  border-radius: var(--radius-control);
  background: var(--accent-gold-soft);
  color: var(--text-gold);
  font-size: 0.78rem;
  margin-bottom: 0.5rem;
}

.filter-reset-bar button {
  background: none;
  border: none;
  color: var(--accent-gold-muted);
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  font-size: 0.78rem;
  text-decoration: underline;
}

.filter-reset-bar button:hover {
  color: var(--accent-gold);
}

.milestones-member-detail-container {
  border: none;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.milestones-member-detail-header {
  display: grid;
  gap: 0.25rem;
}

.milestones-member-detail-title {
  font-family: var(--font-heading);
  font-size: 1.68rem;
  font-weight: 700;
  margin: 0;
  color: var(--ink-primary);
}

.milestones-member-detail-meta {
  font-size: 0.85rem;
  color: var(--ink-secondary);
}

.milestones-member-detail-meta strong {
  color: var(--ink-primary);
}

.milestones-progress-section {
  border-top: 1px solid var(--line-subtle);
  margin: 0.75rem 0;
}

.milestones-detail-task-progress-header {
  display: grid;
  gap: 0.75rem;
}

.milestones-task-progress-panel {
  display: grid;
  gap: 1rem;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
}

.milestones-task-progress-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
}

.milestones-task-progress-header > div:first-child {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.milestones-task-progress-header > .badge {
  flex: 0 0 auto;
  white-space: nowrap;
}

.milestones-task-progress-header > .badge > span:last-child {
  overflow-wrap: normal;
}

.milestones-detail-task-progress-title {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0;
}

.milestones-task-progress-header p {
  max-width: 42rem;
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.84rem;
  line-height: 1.45;
}

.milestones-task-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.55rem;
}

.milestones-task-summary-tile {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--line-subtle);
  border-left: 4px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-soft);
  transition: all 200ms ease;
}

.milestones-task-summary-tile strong {
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.12rem;
  line-height: 1;
}

.milestones-task-summary-tile span {
  color: var(--ink-primary);
  font-size: 0.78rem;
  font-weight: 750;
  line-height: 1.25;
  overflow-wrap: normal;
}

.milestones-task-summary-tile small {
  color: var(--ink-tertiary);
  font-size: 0.68rem;
  line-height: 1.28;
}

.milestones-task-summary-tile.task-summary-neutral {
  border-left-color: var(--line-subtle);
}

.milestones-task-summary-tile.task-summary-warning {
  border-color: rgba(158, 100, 18, 0.22);
  border-left-color: var(--state-warning);
  background: var(--state-warning-soft);
}

.milestones-task-summary-tile.task-summary-danger {
  border-color: rgba(171, 51, 51, 0.22);
  border-left-color: var(--state-danger);
  background: var(--state-danger-soft);
}

.milestones-task-summary-tile.task-summary-system {
  border-color: rgba(21, 104, 87, 0.2);
  border-left-color: var(--action-primary);
  background: var(--soft-accent);
}

.milestones-task-summary-tile.task-summary-audit {
  border-color: rgba(41, 92, 85, 0.18);
  border-left-color: var(--state-audit);
  background: var(--state-audit-soft);
}

.milestones-task-worklist {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
}

.milestones-task-worklist-header {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
  padding-top: 0.1rem;
}

.milestones-task-worklist-header h4 {
  margin: 0;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.25;
}

.milestones-task-worklist-header p {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.78rem;
  line-height: 1.42;
}

.milestones-task-milestone-group {
  gap: 0.68rem;
  padding: 0;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.milestones-task-milestone-group .setup-queue-heading {
  align-items: flex-start;
  margin-bottom: 0.35rem;
}

.milestones-task-milestone-group .setup-queue-heading > div:first-child {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.milestones-task-milestone-group .setup-queue-heading > div:first-child > span {
  color: var(--ink-tertiary);
  font-size: 0.74rem;
  line-height: 1.35;
}

.milestones-task-progress-panel .setup-task-list {
  gap: 0.65rem;
}

.milestones-task-progress-panel .setup-task-row.member-task-preview {
  grid-template-columns: minmax(0, 1fr) minmax(10rem, auto);
  align-items: start;
  gap: 0.85rem;
  margin-bottom: 0;
  padding: 0.85rem;
  border-color: var(--line-subtle);
  background: var(--surface);
}

.milestones-task-progress-panel .setup-task-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.setup-task-heading-copy {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.setup-task-heading-copy > span {
  color: var(--ink-tertiary);
  font-size: 0.66rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: uppercase;
}

.milestones-task-progress-panel .setup-task-status-badges {
  flex: 0 0 auto;
  justify-content: flex-end;
}

.milestones-task-progress-panel .setup-task-blocker-note {
  border-color: rgba(171, 51, 51, 0.18);
  background: rgba(171, 51, 51, 0.045);
}

.milestones-task-progress-panel .milestone-task-next-action {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding: 0;
  border: none;
  background: transparent;
  margin-top: 0.25rem;
}

.milestones-task-progress-panel .milestone-task-next-action strong {
  color: var(--ink-tertiary);
}

.milestones-task-progress-panel .setup-task-actions {
  align-self: center;
  min-width: 10rem;
}

.milestones-task-progress-panel .setup-task-actions .compact-action,
.milestones-task-progress-panel .setup-task-actions .setup-no-action {
  width: 100%;
  justify-content: center;
  text-align: center;
}

.milestones-actions-footer {
  margin-top: 1.25rem;
  border-top: 1px solid var(--line-subtle);
  padding-top: 1rem;
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

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

  .milestones-task-progress-panel .setup-task-row.member-task-preview {
    grid-template-columns: 1fr;
  }

  .milestones-task-progress-panel .setup-task-actions {
    min-width: 0;
    justify-content: flex-start;
  }

  .milestones-task-progress-panel .setup-task-actions .compact-action,
  .milestones-task-progress-panel .setup-task-actions .setup-no-action {
    width: auto;
  }
}

@media (max-width: 480px) {
  .milestones-task-progress-panel {
    padding: 0.8rem;
  }

  .milestones-task-progress-header,
  .milestones-task-progress-panel .setup-task-title {
    flex-direction: column;
  }

  .milestones-task-summary-grid {
    grid-template-columns: 1fr;
  }

  .milestones-task-progress-panel .setup-task-status-badges {
    justify-content: flex-start;
  }
}

.milestones-percentage-progress {
  display: grid;
  gap: 0.35rem;
  margin: 0.25rem 0;
}

.milestones-percentage-progress-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ink-secondary);
}

.milestones-own-panel .form-actions {
  justify-content: flex-end;
}

/* Avatar Status Gradients */
.member-selector-avatar.avatar-default {
  background: linear-gradient(135deg, var(--surface-strong), var(--surface-strong-hover));
  color: var(--ink-inverse);
}

.member-selector-avatar.avatar-stuck {
  background: linear-gradient(135deg, var(--state-danger), #e25858);
  color: var(--ink-inverse);
  box-shadow: 0 2px 8px rgba(171, 51, 51, 0.25);
}

.member-selector-avatar.avatar-review {
  background: linear-gradient(135deg, var(--state-warning), #d9962a);
  color: var(--ink-inverse);
  box-shadow: 0 2px 8px rgba(158, 100, 18, 0.25);
}

.member-selector-avatar.avatar-verified {
  background: linear-gradient(135deg, var(--state-success), #2ebd9c);
  color: var(--ink-inverse);
  box-shadow: 0 2px 8px rgba(21, 102, 83, 0.25);
}

/* Queue Interactive selection state */
.milestone-queue-row.is-filtered {
  border-color: var(--action-primary);
  background: var(--soft-accent);
  box-shadow: 0 0 0 1px var(--action-primary);
}

.member-selector-card.is-selected {
  border-color: var(--action-primary);
  border-left: 4px solid var(--action-primary);
  padding-left: calc(0.85rem - 4px);
  background: var(--soft-accent);
  box-shadow: var(--shadow-raised);
}

/* Polished Support Chat Message History Timeline */
.support-comment-thread {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0.5rem 0;
}

.chat-bubble {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  max-width: 85%;
  padding: 0.8rem 1rem;
  border-radius: var(--radius-panel);
  line-height: 1.45;
  font-size: 0.88rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.member-bubble {
  align-self: flex-end;
  background: var(--action-primary);
  color: var(--ink-inverse);
  border-bottom-right-radius: 0.2rem;
  box-shadow: 0 2px 5px rgba(21, 104, 87, 0.15);
}
.member-bubble .chat-author {
  color: var(--ink-inverse);
  opacity: 0.95;
  font-weight: 700;
}
.member-bubble .chat-time {
  color: var(--ink-inverse);
  opacity: 0.75;
}
.member-bubble p {
  color: var(--ink-inverse) !important;
  margin: 0;
}

.team-bubble {
  align-self: flex-start;
  background: var(--surface-soft);
  color: var(--ink-primary);
  border-bottom-left-radius: 0.2rem;
  border: 1px solid var(--line-subtle);
}
.team-bubble .chat-author {
  color: var(--ink-secondary);
  font-weight: 700;
}
.team-bubble .chat-time {
  color: var(--ink-tertiary);
}
.team-bubble p {
  color: var(--ink-primary);
  margin: 0;
}

.internal-note-box {
  align-self: stretch;
  max-width: 100%;
  background: var(--state-danger-soft);
  color: var(--ink-primary);
  border: 1px dashed rgba(156, 52, 52, 0.22);
}
.internal-note-box .chat-author {
  color: var(--state-danger);
  font-weight: 700;
}
.internal-note-box .chat-time {
  color: var(--ink-tertiary);
}
.internal-note-box p {
  color: var(--ink-primary);
  margin: 0;
}

.chat-bubble-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  font-size: 0.72rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  padding-bottom: 0.2rem;
  margin-bottom: 0.2rem;
}
.member-bubble .chat-bubble-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.chat-bubble-body p {
  white-space: pre-wrap;
  word-break: break-word;
}

.support-message-attachments {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.55rem;
}

.support-message-attachment {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 0.4rem;
  max-width: 100%;
  padding: 0.45rem 0.55rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--action-primary);
  text-decoration: none;
}

.support-message-attachment:hover {
  border-color: var(--line-gold);
  text-decoration: none;
}

.support-message-attachment > span {
  display: grid;
  width: 1rem;
  height: 1rem;
  place-items: center;
  flex: 0 0 auto;
}

.support-message-attachment svg {
  width: 0.9rem;
  height: 0.9rem;
}

.support-message-attachment strong {
  overflow: hidden;
  color: inherit;
  font-size: 0.72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.support-message-attachment small {
  flex: 0 0 auto;
  color: var(--ink-tertiary);
  font-size: 0.65rem;
}

.member-bubble .support-message-attachment {
  border-color: color-mix(in srgb, var(--ink-inverse) 22%, transparent);
  background: color-mix(in srgb, var(--surface-strong) 18%, transparent);
  color: var(--ink-inverse);
}

.member-bubble .support-message-attachment small {
  color: color-mix(in srgb, var(--ink-inverse) 75%, transparent);
}

.chat-bubble-footer {
  display: flex;
  gap: 0.35rem;
  margin-top: 0.35rem;
  font-size: 0.72rem;
}

/* Attachments Panel Styling */
.attachment-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
  gap: 0.85rem;
  margin-top: 0.5rem;
}

.attachment-item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.65rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
.attachment-item:hover {
  border-color: var(--line-gold);
  box-shadow: 0 2px 8px rgba(21, 104, 87, 0.03);
}

.attachment-preview {
  width: 2.2rem;
  height: 2.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.2rem;
  background: var(--surface-soft);
  overflow: hidden;
  border: 1px solid var(--line-subtle);
  flex-shrink: 0;
}

.attachment-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.attachment-icon-fallback svg {
  width: 1.15rem;
  height: 1.15rem;
  color: var(--ink-tertiary);
}

.attachment-info {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.attachment-name {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--action-primary);
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.attachment-name:hover {
  text-decoration: underline;
}

.attachment-size {
  font-size: 0.68rem;
  color: var(--ink-tertiary);
}

/* Escalation Gate Styling */
.support-escalation-panel {
  border-color: rgba(196, 131, 45, 0.22);
}

.support-escalation-content {
  display: grid;
  gap: 0.75rem;
}

.escalation-info-text {
  font-size: 0.84rem;
  color: var(--ink-secondary);
  line-height: 1.45;
  margin: 0;
}

.escalation-locked-notice,
.escalation-unlocked-notice {
  display: flex;
  align-items: start;
  gap: 0.6rem;
  padding: 0.65rem 0.85rem;
  border-radius: var(--radius-control);
  font-size: 0.78rem;
  line-height: 1.4;
}

.escalation-locked-notice {
  background: var(--state-danger-soft);
  border: 1px solid rgba(156, 52, 52, 0.15);
  color: var(--ink-primary);
}
.escalation-locked-notice .warning-icon {
  width: 1.15rem;
  height: 1.15rem;
  color: var(--state-danger);
  flex-shrink: 0;
  margin-top: 0.08rem;
}

.escalation-unlocked-notice {
  background: var(--state-success-soft);
  border: 1px solid rgba(29, 111, 96, 0.15);
  color: var(--ink-primary);
}
.escalation-unlocked-notice .unlocked-icon {
  width: 1.15rem;
  height: 1.15rem;
  color: var(--state-success);
  flex-shrink: 0;
  margin-top: 0.08rem;
}

.escalate-button {
  font-weight: 700;
  padding: 0.65rem 1.2rem;
  border-radius: var(--radius-control);
  font-size: 0.86rem;
  width: 100%;
  cursor: pointer;
  transition: all 200ms ease;
  background: var(--action-primary);
  color: #fff;
  border: none;
}
.escalate-button:hover:not(:disabled) {
  background: var(--action-primary-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(21, 104, 87, 0.12);
}
.escalate-button:disabled {
  background: var(--surface-soft);
  color: var(--ink-tertiary);
  border: 1px solid var(--line-subtle);
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* ==========================================================================
   Part 3: Milestones Layout & Stepper Refactor Styling
   ========================================================================== */

/* Slanted Stepper styling for Member Milestones journey */
.milestones-slanted-stepper {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: relative;
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
}

.milestones-slanted-stepper::before {
  content: '';
  position: absolute;
  top: 1.5rem;
  bottom: 1.5rem;
  left: 1.25rem;
  width: 2px;
  background: var(--line-subtle);
  z-index: 1;
}

.stepper-step {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  position: relative;
  z-index: 2;
}

.stepper-icon {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  flex-shrink: 0;
  background: var(--surface);
  border: 2px solid var(--line-strong);
  z-index: 3;
  transition: all 200ms ease;
}

.stepper-icon.is-completed {
  background: var(--state-success);
  border-color: var(--state-success);
  color: var(--ink-inverse);
}

.stepper-icon.is-active {
  background: var(--accent-gold-soft);
  border-color: var(--accent-gold);
  color: var(--text-gold);
  box-shadow: 0 0 0 4px rgba(196, 131, 45, 0.15);
}

.stepper-icon.is-future {
  background: var(--surface-soft);
  border-color: var(--line-subtle);
  color: var(--ink-tertiary);
}

.stepper-content {
  flex: 1;
  padding: 1.15rem;
  border-radius: var(--radius-panel);
  border: 1px solid var(--line-subtle);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
  transition: all 200ms ease;
  transform: skewX(-8deg);
  min-width: 0;
}

.stepper-content > * {
  transform: skewX(8deg);
}

.stepper-content.is-active {
  border-color: var(--line-gold);
  background: var(--surface);
  box-shadow: var(--shadow-raised);
}

.stepper-content.is-completed {
  border-color: var(--state-success);
  background: var(--surface-soft);
}

.stepper-title-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  width: 100%;
}

.stepper-title-main {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  min-width: 0;
}

.stepper-title {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  margin: 0;
  color: var(--ink-primary);
}

.stepper-desc {
  font-size: 0.82rem;
  color: var(--ink-secondary);
  margin: 0.25rem 0 0;
  line-height: 1.45;
}

/* Sidebar Search & Pagination */
.assigned-members-search-wrap {
  padding: 0.25rem 0 0.5rem;
}

.assigned-members-search-input {
  width: 100%;
  padding: 0.55rem 0.75rem;
  font-size: 0.85rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--ink-primary);
  transition: border-color 200ms ease;
}

.assigned-members-search-input:focus {
  border-color: var(--action-primary);
  outline: none;
  box-shadow: 0 0 0 2px var(--focus-ring);
}

.sidebar-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.65rem 0.25rem;
  font-size: 0.78rem;
  color: var(--ink-secondary);
  border-top: 1px solid var(--line-subtle);
  margin-top: 0.75rem;
}

.pagination-buttons {
  display: flex;
  gap: 0.35rem;
}

.pagination-btn {
  padding: 0.25rem 0.55rem;
  font-size: 0.78rem;
  font-weight: 600;
  border-radius: 4px;
  border: 1px solid var(--line-subtle);
  background: var(--surface);
  cursor: pointer;
  color: var(--ink-primary);
  transition: all 150ms ease;
}

.pagination-btn:hover:not(:disabled) {
  border-color: var(--line-strong);
  background: var(--surface-muted);
}

.pagination-btn.is-active {
  background: var(--action-primary);
  border-color: var(--action-primary);
  color: #fff;
}

.pagination-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* Owner command center metrics dashboard */
.milestones-owner-dashboard {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}

@media (max-width: 900px) {
  .milestones-owner-dashboard {
    grid-template-columns: 1fr;
  }
}

.dashboard-metric-card {
  padding: 1.25rem;
  border-radius: var(--radius-panel);
  border: 1px solid var(--line-subtle);
  background: var(--surface);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  box-shadow: var(--shadow-subtle);
  border-left-width: 4px;
}

.dashboard-metric-card.metric-stuck {
  border-left-color: var(--state-danger);
}

.dashboard-metric-card.metric-pending {
  border-left-color: var(--state-warning);
}

.dashboard-metric-card.metric-workloads {
  border-left-color: var(--action-primary);
}

.dashboard-metric-value {
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 700;
  color: var(--ink-primary);
  line-height: 1.1;
}

.dashboard-metric-label {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ink-secondary);
}

.dashboard-metric-sub {
  font-size: 0.78rem;
  color: var(--ink-tertiary);
  line-height: 1.4;
}

.workload-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-top: 0.35rem;
  font-size: 0.78rem;
  max-height: 8.5rem;
  overflow-y: auto;
}

.workload-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.3rem 0;
  border-bottom: 1px dashed var(--line-subtle);
}

.workload-item:last-child {
  border-bottom: none;
}

.workload-name {
  font-weight: 550;
  color: var(--ink-primary);
}

.workload-count {
  font-weight: 700;
  color: var(--action-primary);
  background: var(--soft-accent);
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  font-size: 0.72rem;
}

/* Unlock Criteria Banner */
.unlocked-notice-banner {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 1rem;
  border-radius: var(--radius-control);
  font-size: 0.82rem;
  border: 1px solid var(--line-subtle);
  margin-bottom: 1rem;
  line-height: 1.45;
}
.unlocked-notice-banner.is-verified-strip {
  background: var(--state-success-soft);
  border-color: rgba(29, 111, 96, 0.15);
  color: var(--ink-primary);
}
.unlocked-notice-banner.is-pending-strip {
  background: var(--surface-soft);
  border-color: var(--line-subtle);
  color: var(--ink-primary);
}
.unlocked-notice-banner.is-review-strip {
  background: var(--state-warning-soft);
  border-color: rgba(158, 100, 18, 0.15);
  color: var(--ink-primary);
}

/* trigger deploy */

.milestones-three-column-grid.no-stats-sidebar {
  grid-template-columns: 1fr;
}

.milestones-shepherd-assignment-inline {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line-subtle);
}

.milestones-shepherd-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink-secondary);
  display: block;
  margin-bottom: 0.4rem;
}

.milestones-shepherd-select {
  width: 100%;
  max-width: 300px;
  padding: 0.45rem;
  border-radius: var(--radius-control);
  border: 1px solid var(--line);
  background-color: var(--surface);
  color: var(--ink-primary);
  font-family: inherit;
  font-size: 0.85rem;
}

.milestones-member-current-header {
  margin-bottom: 1rem;
}

.milestones-member-current-title {
  margin: 0;
  font-size: 1.25rem;
}

.milestones-current-status-wrap {
  display: inline-block;
  margin-top: 0.25rem;
}

.milestones-tasks-progress-label {
  font-size: 0.8rem;
  color: var(--ink-secondary);
  font-weight: 500;
  margin-top: 0.25rem;
  display: block;
}

.milestones-member-next-action-tip {
  margin-top: 0.5rem;
  font-size: 0.85rem;
  color: var(--ink-secondary);
}

/* Specialized Setup Queues Tabbing & Filter Elements */
.setup-tabs-navigation {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 2px solid var(--line-subtle);
  padding-bottom: 0.5rem;
}

.setup-tab-button {
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--ink-secondary);
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 0.92rem;
  padding: 0.5rem 1rem;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-bottom: -0.65rem;
}

.setup-tab-button:hover {
  color: var(--ink-primary);
}

.setup-tab-button.is-active {
  color: var(--accent-gold, #c4832d);
  border-bottom-color: var(--accent-gold, #c4832d);
}

.setup-specialized-queue-container {
  width: 100%;
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-card, 8px);
  padding: 1.5rem;
}

.setup-queue-table-wrapper {
  overflow-x: auto;
}

.setup-queue-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 0.88rem;
  line-height: 1.5;
}

.setup-queue-table th {
  font-family: var(--font-heading);
  font-weight: 600;
  color: var(--ink-secondary);
  border-bottom: 2px solid var(--line-subtle);
  padding: 0.75rem 1rem;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
}

.setup-queue-table td {
  padding: 1rem;
  border-bottom: 1px solid var(--line-subtle);
  vertical-align: top;
}

.setup-queue-table tbody tr:hover {
  background: var(--surface-soft);
}

.setup-queue-table-empty {
  text-align: center;
  padding: 3rem 1rem;
}

.setup-assign-control-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.setup-shepherd-select {
  padding: 0.45rem;
  border-radius: var(--radius-control, 4px);
  border: 1px solid var(--line-subtle);
  background-color: var(--surface-soft);
  color: var(--ink-primary);
  font-family: inherit;
  font-size: 0.85rem;
}

.setup-shepherd-select:focus {
  outline: none;
  border-color: var(--accent-gold, #c4832d);
}

.setup-stuck-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.25rem;
}

.setup-stuck-card {
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-card, 8px);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.setup-stuck-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px solid var(--line-subtle);
  padding-bottom: 0.75rem;
}

.setup-stuck-card-header h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 600;
}

.setup-stuck-tasks-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.setup-stuck-task-item {
  border-left: 3px solid var(--state-danger, #ab3333);
  padding-left: 0.75rem;
}

.setup-stuck-task-meta {
  display: flex;
  flex-direction: column;
  margin-bottom: 0.35rem;
}

.setup-stuck-task-meta strong {
  font-size: 0.88rem;
}

.setup-stuck-task-blocker {
  background: var(--surface-soft);
  padding: 0.5rem 0.75rem;
  border-radius: var(--radius-control, 4px);
  border: 1px solid var(--line-subtle);
  font-size: 0.82rem;
}

.setup-stuck-label {
  font-weight: 600;
  color: var(--ink-secondary);
  display: block;
  margin-bottom: 0.15rem;
  font-size: 0.75rem;
  text-transform: uppercase;
}

.setup-stuck-text {
  margin: 0;
  color: var(--ink-primary);
}

.setup-review-actions-group {
  display: flex;
  gap: 0.5rem;
}

.setup-support-description {
  margin: 0.25rem 0 0 0;
  font-size: 0.82rem;
  color: var(--ink-secondary);
}

.setup-support-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

/* Sidebar Readiness Queue Filters */
.setup-queue-grid-filters {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.setup-queue-filter-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control, 4px);
  padding: 0.5rem 0.75rem;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: inherit;
  font-size: 0.82rem;
  text-align: left;
}

.setup-queue-filter-row:hover {
  background: var(--surface-soft);
  border-color: var(--line-strong);
}

.setup-queue-filter-row.is-filtered {
  border-color: var(--accent-gold, #c4832d);
  background: var(--surface-soft);
}

.setup-queue-filter-left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.setup-queue-indicator-box {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  display: inline-block;
  flex-shrink: 0;
}

.setup-queue-label {
  font-weight: 500;
  color: var(--ink-primary);
}

.setup-queue-filter-count {
  font-weight: 600;
  color: var(--ink-secondary);
  font-size: 0.82rem;
}

.setup-queue-list-filtered {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.milestones-primary-actions-top {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
}

.milestones-top-action-btn button,
.milestones-top-action-btn a,
.milestones-top-action-btn .button-link {
  margin: 0;
}

.owner-override-action-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
}

.owner-override-action-wrap button.secondary,
.owner-override-action-wrap button.compact-action.secondary {
  background: var(--surface-soft);
  border: 1px solid var(--line-subtle);
  color: var(--ink-secondary);
  box-shadow: none;
}

.owner-override-action-wrap button.secondary:hover,
.owner-override-action-wrap button.compact-action.secondary:hover {
  background: var(--surface-hover, #1a2e28);
  border-color: rgba(245, 158, 11, 0.4);
  color: #ffffff;
}

.owner-override-tooltip {
  font-size: 0.72rem;
  color: var(--ink-secondary);
  text-align: right;
  max-width: 160px;
  line-height: 1.2;
}

.milestones-timeline-disclosure {
  margin-top: 1rem;
}

.setup-category-disclosure {
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-control);
  background: var(--surface);
  margin-bottom: 0.75rem;
  overflow: hidden;
}

@keyframes setupTaskPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.7);
    border-color: #f59e0b;
  }
  60% {
    box-shadow: 0 0 0 10px rgba(245, 158, 11, 0);
    border-color: #f59e0b;
  }
  100% {
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0);
  }
}

.setup-task-row.setup-task-highlight {
  animation: setupTaskPulse 2s ease-out;
  border-color: #f59e0b !important;
}

.setup-category-disclosure > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 0.9rem 1rem;
  cursor: pointer;
  background: var(--workspace-surface-muted);
  list-style: none;
  user-select: none;
}

.setup-category-disclosure > summary::-webkit-details-marker {
  display: none;
}

.setup-category-title-block {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.setup-category-title-block strong {
  font-size: 0.95rem;
  color: var(--ink-primary);
  font-family: var(--font-headings);
  line-height: 1.2;
  font-weight: 700;
}

.setup-category-title-block small {
  font-size: 0.78rem;
  color: var(--ink-tertiary);
  line-height: 1.35;
}

.setup-category-disclosure > summary .disclosure-chevron {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  color: var(--ink-secondary);
  transition: transform 0.2s ease;
}

.setup-category-disclosure[open] > summary .disclosure-chevron {
  transform: rotate(180deg);
}

.setup-category-body {
  border-top: 1px solid var(--workspace-line);
  background: var(--workspace-surface-muted);
}

.setup-category-disclosure > .setup-category-body > .setup-task-list {
  padding: 0.85rem;
  background: var(--workspace-surface-muted);
  display: grid;
  gap: 0.75rem;
  border: none;
  border-radius: 0;
  overflow: visible;
}

.setup-category-disclosure > .setup-category-body > .setup-task-list > .setup-task-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-control);
  background: var(--workspace-surface-raised);
  padding: 0.78rem 0.85rem;
  margin-bottom: 0;
  box-shadow: var(--shadow-subtle);
  transition: border-color 200ms ease, box-shadow 200ms ease;
}

.setup-category-disclosure > .setup-category-body > .setup-task-list > .setup-task-row:last-child {
  border-bottom: 1px solid var(--workspace-line);
}

.setup-category-disclosure > .setup-category-body > .setup-task-list > .setup-task-row:hover {
  border-color: var(--line-strong);
  background: var(--workspace-surface-raised);
}

/* Recommended task card styling */
.setup-recommended-card {
  border: 2px solid var(--line-gold);
  border-radius: var(--radius-panel);
  background: var(--surface);
  padding: 1.25rem;
  margin-bottom: 1.25rem;
  position: relative;
  box-shadow: 0 4px 12px rgba(196, 131, 45, 0.06);
}

.setup-recommended-badge {
  display: inline-block;
  margin-bottom: 0.5rem;
}

.setup-recommended-badge .micro-label {
  background: var(--accent-gold-soft);
  color: var(--accent-gold);
  border: 1px solid var(--line-gold);
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.setup-recommended-content {
  margin-bottom: 1rem;
}

.setup-recommended-header {
  display: grid;
  gap: 0.2rem;
}

.setup-recommended-category {
  font-size: 0.75rem;
  color: var(--ink-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
}

.setup-recommended-title {
  font-size: 1.15rem;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  margin: 0;
  line-height: 1.3;
}

.setup-recommended-meta {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.setup-recommended-action {
  display: flex;
  justify-content: flex-start;
  gap: 0.5rem;
}

.setup-task-row.is-next-task {
  background-color: var(--accent-gold-soft);
  border-left: 3px solid var(--line-gold);
}

@media (max-width: 1180px) {
  /* Reorder columns on mobile/tablet viewports so sidebar is first */
  .setup-workflow-layout {
    display: flex;
    flex-direction: column;
  }
  .setup-workflow-side {
    order: -1;
  }

  /* Keep quieter checklist row buttons compact instead of 100% width on mobile */
  .setup-category-disclosure > .setup-category-body > .setup-task-list > .setup-task-row > .setup-task-actions > button {
    flex: 0 1 auto;
    width: auto;
    white-space: nowrap;
  }

  /* Recommended task card actions still stretch nicely for emphasis */
  .setup-recommended-card .setup-task-actions button {
    flex: 1 1 100%;
    width: 100%;
  }
}

/* GrowVance workspace foundation repair */
.workspace-page > .section {
  gap: var(--workspace-page-density, var(--workspace-gap));
}

.workspace-page .notice-panel,
.workspace-page .empty-state {
  border-color: var(--workspace-line);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--workspace-surface-muted) 78%, var(--surface) 22%), var(--workspace-surface));
}

.workspace-page .table-card {
  overflow: hidden;
}

.workspace-page .table-title {
  background:
    linear-gradient(180deg, var(--workspace-surface-raised), var(--workspace-surface));
  border-bottom-color: var(--workspace-line);
}

.workspace-page .form-panel,
.workspace-page .definition-panel,
.workspace-page .code-panel {
  background:
    linear-gradient(180deg, var(--workspace-surface-raised), var(--workspace-surface));
}

.workspace-page .page-header-actions .button-link,
.workspace-page .form-actions button[type="submit"],
.workspace-page .calendar-configure-actions button[type="submit"] {
  box-shadow: 0 10px 18px -14px rgba(21, 104, 87, 0.7);
}

.workspace-page .button-link-secondary,
.workspace-page button.secondary,
.workspace-page .compact-action.secondary {
  background: var(--workspace-surface-muted);
  border-color: var(--workspace-line-strong);
}

/* Route-level productization pass: make daily workspaces read as queues, not stacked forms. */
.dashboard-redirect-banner-wrap {
  margin-bottom: var(--workspace-gap);
}

.workspace-page-dashboard {
  --workspace-page-max: 1480px;
}

.dashboard-operating-shell {
  display: grid;
  gap: var(--workspace-gap-loose);
  min-width: 0;
}

.dashboard-attention-summary,
.dashboard-priority-workspace,
.dashboard-journey-handoffs {
  min-width: 0;
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-l);
  background: var(--workspace-surface);
  box-shadow: var(--shadow-subtle);
}

.dashboard-attention-summary {
  display: grid;
  grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.28fr);
  gap: 1.2rem;
  align-items: center;
  padding: 1.2rem;
  border-color: var(--workspace-focus-line);
  background:
    linear-gradient(180deg, var(--workspace-command-surface), var(--workspace-surface));
  box-shadow: var(--workspace-shadow-focus);
}

.dashboard-attention-heading,
.dashboard-section-heading {
  display: grid;
  gap: 0.32rem;
  min-width: 0;
}

.dashboard-attention-heading h2,
.dashboard-section-heading h2,
.dashboard-journey-route-group h3 {
  margin: 0;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-weight: 700;
  letter-spacing: 0;
}

.dashboard-attention-heading h2 {
  font-size: 1.32rem;
}

.dashboard-section-heading h2 {
  font-size: 1.12rem;
}

.dashboard-attention-heading p,
.dashboard-section-heading p {
  margin: 0;
  max-width: 66ch;
  color: var(--ink-secondary);
  font-size: 0.86rem;
  line-height: 1.5;
}

.dashboard-attention-signal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.75rem;
  min-width: 0;
}

.dashboard-attention-signal {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  min-height: 6.2rem;
  padding: 0.95rem 1.05rem;
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-m);
  background: var(--surface);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.dashboard-attention-signal:hover {
  border-color: var(--workspace-focus-line);
  box-shadow: var(--shadow-subtle);
  transform: translateY(-2px);
}

.dashboard-attention-signal > span {
  color: var(--ink-secondary);
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.dashboard-attention-signal > strong {
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.dashboard-attention-signal > small {
  color: var(--ink-tertiary);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.35;
}

.dashboard-attention-signal.dashboard-tone-danger > small {
  color: var(--state-danger);
}

.dashboard-attention-signal.dashboard-tone-warning > small {
  color: var(--state-warning);
}

.dashboard-attention-signal.dashboard-tone-success > small {
  color: var(--state-success);
}

.dashboard-attention-signal.dashboard-tone-audit > small,
.dashboard-attention-signal.dashboard-tone-system > small {
  color: var(--state-audit);
}

.dashboard-attention-caught-up {
  grid-column: 1 / -1;
}

.dashboard-attention-caught-up > strong {
  font-size: 1rem;
}

.dashboard-operating-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.72fr);
  gap: var(--workspace-gap);
  align-items: start;
  min-width: 0;
}

.dashboard-operating-grid.is-caught-up {
  grid-template-columns: minmax(0, 1fr);
}

.dashboard-operating-grid.is-caught-up .dashboard-journey-handoffs {
  position: static;
}

.dashboard-priority-workspace,
.dashboard-journey-handoffs {
  display: grid;
  gap: 1rem;
  padding: 1.15rem;
}

.dashboard-priority-work-list,
.dashboard-journey-route-groups,
.dashboard-journey-route-list {
  display: grid;
  gap: 0.72rem;
  min-width: 0;
}

.dashboard-priority-work-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 0.85rem;
  align-items: center;
  min-width: 0;
  padding: 0.95rem 1.05rem;
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-m);
  color: var(--ink-primary);
  text-decoration: none;
  background: var(--surface);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background 160ms ease;
}

.dashboard-priority-work-row:hover,
.dashboard-priority-work-row:focus-visible {
  border-color: rgba(245, 158, 11, 0.45);
  background: var(--surface-soft, #14221e);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  transform: translateX(3px);
}

.dashboard-priority-work-icon {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: var(--radius-m);
  background: rgba(245, 158, 11, 0.08);
  border: 1px solid rgba(245, 158, 11, 0.18);
  color: var(--action-primary);
}

.dashboard-priority-work-icon svg,
.dashboard-journey-route-icon svg {
  width: 1.08rem;
  height: 1.08rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dashboard-priority-work-copy {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.dashboard-priority-work-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem 0.7rem;
  align-items: center;
  color: var(--ink-tertiary);
  font-size: 0.72rem;
  font-weight: 700;
}

.dashboard-priority-work-copy > strong {
  color: var(--ink-primary);
  font-size: 0.94rem;
  overflow-wrap: anywhere;
}

.dashboard-priority-work-copy > small {
  color: var(--ink-secondary);
  font-size: 0.8rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.dashboard-priority-work-status {
  justify-self: end;
}

.dashboard-priority-work-action {
  color: var(--action-primary);
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.dashboard-journey-handoffs {
  position: sticky;
  top: calc(58px + 1rem);
}

.dashboard-journey-route-group {
  display: grid;
  gap: 0.55rem;
}

.dashboard-journey-route-group h3 {
  font-size: 0.92rem;
}

.dashboard-journey-route {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.7rem;
  align-items: center;
  min-width: 0;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-m);
  color: var(--ink-primary);
  text-decoration: none;
  background: var(--surface);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background 160ms ease;
}

.dashboard-journey-route:hover,
.dashboard-journey-route:focus-visible {
  border-color: rgba(245, 158, 11, 0.4);
  background: var(--surface-soft, #14221e);
  transform: translateX(4px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.dashboard-journey-route-icon {
  width: 2rem;
  height: 2rem;
  border-radius: var(--radius-s);
}

.dashboard-journey-route > span:nth-child(2) {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}

.dashboard-journey-route strong {
  color: var(--ink-primary);
  font-size: 0.84rem;
}

.dashboard-journey-route small {
  color: var(--ink-secondary);
  font-size: 0.72rem;
  line-height: 1.35;
}

.dashboard-journey-route > span:last-child {
  color: var(--action-primary);
  font-weight: 700;
  transition: transform 160ms ease;
}

.dashboard-journey-route:hover > span:last-child {
  transform: translateX(2px);
}

.workspace-page-dashboard .dashboard-layout-owner {
  grid-template-columns: minmax(0, 1fr) minmax(296px, 0.34fr);
  align-items: start;
  gap: 1.25rem;
}

.dashboard-command-center {
  min-width: 0;
}

.dashboard-command-main {
  display: grid;
  gap: 1.15rem;
  min-width: 0;
}

.dashboard-command-rail {
  display: grid;
  gap: 1rem;
  min-width: 0;
  position: sticky;
  top: calc(58px + 1rem);
  align-content: start;
}

.dashboard-owner-focus,
.dashboard-owner-pulse,
.dashboard-owner-quick-actions {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.dashboard-owner-focus > h2,
.dashboard-owner-pulse > h2,
.dashboard-owner-quick-actions > h2 {
  margin: 0;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.dashboard-owner-attention-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(205px, 1fr));
  gap: 0.85rem;
  min-width: 0;
}

.dashboard-owner-attention-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.95rem;
  align-items: center;
  min-width: 0;
  min-height: 7.2rem;
  padding: 1.1rem 1.25rem;
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-l);
  color: var(--ink-primary);
  text-decoration: none;
  background: var(--workspace-surface);
  box-shadow: var(--shadow-subtle);
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms cubic-bezier(0.34, 1.4, 0.64, 1);
}

.dashboard-owner-attention-card.is-active {
  border-color: var(--workspace-focus-line);
  background: linear-gradient(145deg, var(--workspace-command-surface) 0%, var(--workspace-surface) 100%);
  box-shadow: 0 4px 14px rgba(16, 38, 32, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.dashboard-owner-attention-card.dashboard-tone-danger.is-active {
  border-color: rgba(226, 88, 88, 0.35);
  background: linear-gradient(145deg, rgba(226, 88, 88, 0.06) 0%, var(--workspace-surface) 100%);
}

.dashboard-owner-attention-card.dashboard-tone-danger.is-active .dashboard-owner-attention-mark {
  background: linear-gradient(135deg, rgba(226, 88, 88, 0.16) 0%, rgba(226, 88, 88, 0.06) 100%);
  color: var(--state-danger);
  border-color: rgba(226, 88, 88, 0.4);
  box-shadow: 0 0 0 4px rgba(226, 88, 88, 0.08);
}

.dashboard-owner-attention-card.dashboard-tone-success.is-active {
  border-color: rgba(21, 102, 83, 0.35);
  background: linear-gradient(145deg, rgba(21, 102, 83, 0.06) 0%, var(--workspace-surface) 100%);
}

.dashboard-owner-attention-card.dashboard-tone-success.is-active .dashboard-owner-attention-mark {
  background: linear-gradient(135deg, rgba(21, 102, 83, 0.16) 0%, rgba(21, 102, 83, 0.06) 100%);
  color: var(--state-success);
  border-color: rgba(21, 102, 83, 0.4);
  box-shadow: 0 0 0 4px rgba(21, 102, 83, 0.08);
}

.dashboard-owner-attention-card.dashboard-tone-warning.is-active {
  border-color: rgba(196, 131, 45, 0.35);
  background: linear-gradient(145deg, rgba(196, 131, 45, 0.06) 0%, var(--workspace-surface) 100%);
}

.dashboard-owner-attention-card.dashboard-tone-warning.is-active .dashboard-owner-attention-mark {
  background: linear-gradient(135deg, rgba(196, 131, 45, 0.16) 0%, rgba(196, 131, 45, 0.06) 100%);
  color: var(--accent-copper);
  border-color: rgba(196, 131, 45, 0.4);
  box-shadow: 0 0 0 4px rgba(196, 131, 45, 0.08);
}

.dashboard-owner-attention-card.is-inactive {
  background: var(--workspace-surface);
  opacity: 0.72;
}

.dashboard-owner-attention-card:hover,
.dashboard-owner-attention-card:focus-visible {
  border-color: var(--workspace-focus-line);
  box-shadow: 0 10px 28px -6px rgba(16, 38, 32, 0.12);
  transform: translateY(-3px);
  opacity: 1;
}

.dashboard-owner-attention-mark {
  width: 3.2rem;
  height: 3.2rem;
  display: inline-grid;
  place-items: center;
  border-radius: 12px;
  background: var(--workspace-surface-muted);
  color: var(--ink-tertiary);
  font-family: var(--font-heading);
  font-size: 1.35rem;
  font-weight: 800;
  border: 1.5px solid var(--workspace-line-strong);
  transition: background 200ms ease, color 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.dashboard-owner-attention-copy {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.dashboard-owner-attention-title-wrap {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.dashboard-owner-attention-title-wrap strong {
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--ink-primary);
}

.dashboard-owner-attention-copy small {
  color: var(--ink-secondary);
  font-size: 0.8rem;
  line-height: 1.3;
}

.dashboard-owner-card-arrow {
  color: var(--action-primary);
  font-size: 1.2rem;
  font-weight: 800;
  opacity: 0.5;
  transition: opacity 180ms ease, transform 180ms ease;
}

.dashboard-owner-attention-card:hover .dashboard-owner-card-arrow {
  opacity: 1;
  transform: translateX(4px);
}

.dashboard-owner-queue-panel .panel-body,
.dashboard-owner-rail-panel .panel-body {
  display: grid;
  gap: 0.75rem;
}

.dashboard-owner-queue-list,
.dashboard-owner-rail-list {
  display: grid;
  gap: 0.6rem;
}

.dashboard-owner-queue-row {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto auto auto;
  gap: 0.85rem;
  align-items: center;
  min-width: 0;
  padding: 0.75rem 1rem;
  border: 1px solid var(--workspace-line);
  border-left: 4px solid var(--workspace-line-strong);
  border-radius: var(--radius-control);
  background: var(--workspace-surface);
  color: var(--ink-primary);
  text-decoration: none;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.dashboard-owner-queue-row:hover {
  background: var(--workspace-surface-raised);
  transform: translateX(3px);
  border-color: var(--workspace-focus-line);
  box-shadow: 0 4px 12px -2px rgba(16, 38, 32, 0.08);
}

.dashboard-owner-queue-danger {
  border-left-color: var(--state-danger);
}

.dashboard-owner-queue-warning {
  border-left-color: var(--state-warning);
}

.dashboard-owner-queue-audit {
  border-left-color: var(--state-audit);
}

.dashboard-type-chip-support {
  background: rgba(226, 88, 88, 0.12) !important;
  color: var(--state-danger) !important;
}

.dashboard-type-chip-lead {
  background: rgba(21, 102, 83, 0.12) !important;
  color: var(--state-success) !important;
}

.dashboard-type-chip-member {
  background: rgba(41, 92, 85, 0.12) !important;
  color: var(--state-audit) !important;
}

.dashboard-type-chip-session {
  background: rgba(196, 131, 45, 0.12) !important;
  color: var(--accent-copper) !important;
}

.dashboard-queue-review-btn {
  padding: 0.35rem 0.75rem !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  border-radius: var(--radius-control) !important;
  transition: transform 140ms ease, background 140ms ease !important;
}

.dashboard-owner-queue-row:hover .dashboard-queue-review-btn {
  background: var(--action-primary) !important;
  color: var(--ink-inverse) !important;
  border-color: var(--action-primary) !important;
}

.dashboard-owner-avatar {
  width: 2.2rem;
  height: 2.2rem;
  font-size: 0.8rem;
  border-radius: 10px;
}

.dashboard-owner-mini-avatar {
  width: 1.75rem;
  height: 1.75rem;
  font-size: 0.7rem;
  border-radius: 8px;
}

.dashboard-owner-type-chip {
  justify-self: start;
  padding: 0.24rem 0.52rem;
  border-radius: 999px;
  background: var(--workspace-surface-muted);
  color: var(--ink-secondary);
  font-size: 0.72rem;
  font-weight: 750;
}

.dashboard-owner-queue-main {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.dashboard-owner-queue-main strong,
.dashboard-owner-workload-row strong {
  overflow-wrap: anywhere;
}

.dashboard-owner-queue-main span,
.dashboard-owner-queue-date,
.dashboard-owner-activity-row small {
  color: var(--ink-secondary);
  font-size: 0.8rem;
  line-height: 1.3;
}

.dashboard-owner-queue-date {
  white-space: nowrap;
}

.dashboard-owner-pulse-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.dashboard-owner-pulse-card {
  padding: 1.1rem 1.25rem;
  border-radius: var(--radius-l);
  border: 1px solid var(--workspace-line);
  background: var(--workspace-surface);
  box-shadow: var(--shadow-subtle);
  display: grid;
  gap: 0.85rem;
  transition: box-shadow 220ms ease, border-color 220ms ease, transform 220ms ease;
}

.dashboard-owner-pulse-card:hover {
  border-color: var(--workspace-focus-line);
  box-shadow: 0 8px 24px -6px rgba(16, 38, 32, 0.1);
  transform: translateY(-2px);
}

.dashboard-owner-pulse-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.dashboard-owner-pulse-title-wrap {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.dashboard-owner-pulse-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 8px;
  background: var(--soft-accent);
  color: var(--action-primary);
  flex-shrink: 0;
}

.dashboard-owner-pulse-icon svg {
  width: 1.05rem;
  height: 1.05rem;
  stroke: currentColor;
  fill: none;
}

.dashboard-owner-pulse-heading h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1.02rem;
  font-weight: 700;
  color: var(--ink-primary);
}

.dashboard-owner-pulse-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-radius: var(--radius-control);
  overflow: hidden;
  border: 1px solid var(--workspace-line);
}

.dashboard-owner-pulse-metrics span {
  display: grid;
  gap: 0.25rem;
  padding: 0.75rem 0.45rem;
  text-align: center;
  border-right: 1px solid var(--workspace-line);
  background: var(--workspace-surface-muted);
  transition: background 180ms ease;
}

.dashboard-owner-pulse-metrics span.metric-active {
  background: linear-gradient(180deg, var(--soft-accent) 0%, var(--workspace-surface) 100%);
}

.dashboard-owner-pulse-metrics span.metric-active strong {
  color: var(--action-primary);
  font-size: 1.25rem;
}

.dashboard-owner-pulse-metrics span.metric-inactive {
  background: var(--workspace-surface-muted);
  opacity: 0.65;
}

.dashboard-owner-pulse-metrics span:last-child {
  border-right: 0;
}

.dashboard-owner-pulse-metrics strong {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1;
  color: var(--ink-primary);
}

.dashboard-owner-pulse-metrics small {
  color: var(--ink-secondary);
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.25;
}

.dashboard-owner-pulse-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: var(--action-primary);
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  opacity: 0.9;
  transition: opacity 150ms ease, transform 150ms ease;
}

.dashboard-owner-pulse-link:hover {
  opacity: 1;
  text-decoration: underline;
  transform: translateX(2px);
}

.dashboard-owner-signal-row,
.dashboard-owner-workload-row,
.dashboard-owner-activity-row {
  display: grid;
  gap: 0.65rem;
  align-items: center;
  min-width: 0;
}

.dashboard-owner-signal-row {
  grid-template-columns: auto minmax(0, 1fr);
  padding: 0.35rem 0.5rem;
  border-radius: var(--radius-control);
  transition: background 160ms ease;
}

.dashboard-owner-signal-row:hover {
  background: var(--workspace-surface-muted);
}

.dashboard-owner-workload-row {
  grid-template-columns: auto minmax(0, 1fr) auto auto;
}

.dashboard-owner-activity-row {
  grid-template-columns: minmax(0, 1fr) auto;
}

.dashboard-owner-action-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
}

.dashboard-owner-quick-actions-panel .dashboard-owner-quick-actions-list {
  display: grid;
  gap: 0.55rem;
}

.dashboard-quick-action-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.7rem 0.95rem !important;
  border-radius: var(--radius-control) !important;
  background: var(--workspace-surface) !important;
  border: 1px solid var(--workspace-line) !important;
  color: var(--ink-primary) !important;
  font-weight: 600 !important;
  font-size: 0.88rem !important;
  box-shadow: var(--shadow-subtle) !important;
  transition: background 180ms ease, border-color 180ms ease, transform 160ms ease, box-shadow 160ms ease !important;
}

.dashboard-quick-action-btn:hover {
  background: var(--soft-accent) !important;
  border-color: var(--action-primary) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--shadow-subtle) !important;
}

.quick-action-icon {
  display: inline-flex;
  align-items: center;
  width: 1.15rem;
  height: 1.15rem;
  color: var(--action-primary);
  opacity: 0.9;
  flex-shrink: 0;
}

.quick-action-icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  fill: none;
}

.quick-action-arrow {
  color: var(--ink-tertiary);
  font-size: 1.15rem;
  font-weight: 800;
  transition: transform 160ms ease, color 160ms ease;
}

.dashboard-quick-action-btn:hover .quick-action-arrow {
  transform: translateX(3px);
  color: var(--action-primary);
}

.quick-action-icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dashboard-header-action-pair {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.65rem;
}

.workspace-page-dashboard .dashboard-panel {
  min-height: 100%;
}

/* Rail panel title styling */
.dashboard-owner-rail-panel .panel-title {
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--ink-secondary);
}

/* Signal row micro-badge contrast */
.dashboard-owner-signal-row .badge {
  flex-shrink: 0;
}

.workspace-page-dashboard .dashboard-metric-grid {
  grid-template-columns: repeat(4, minmax(5.75rem, 1fr));
}

.dashboard-journey-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.34fr);
  gap: var(--workspace-gap-loose);
  align-items: start;
  min-width: 0;
}

.dashboard-journey-main,
.dashboard-journey-rail {
  display: grid;
  gap: var(--workspace-gap);
  min-width: 0;
  align-content: start;
}

.dashboard-journey-rail {
  position: sticky;
  top: calc(58px + 1rem);
}

.dashboard-journey-focus-panel {
  display: grid;
  grid-template-columns: minmax(8rem, 0.28fr) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: center;
  min-width: 0;
  padding: 1.25rem;
  border: 1px solid var(--workspace-focus-line);
  border-radius: var(--radius-l);
  background: linear-gradient(180deg, var(--workspace-command-surface), var(--workspace-surface));
  box-shadow: var(--workspace-shadow-focus);
}

.dashboard-journey-focus-illustration {
  min-height: 8.8rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background:
    radial-gradient(circle at 72% 32%, rgba(232, 166, 42, 0.22), transparent 0.7rem),
    radial-gradient(circle at 68% 68%, rgba(232, 166, 42, 0.18), transparent 1rem),
    var(--workspace-surface-muted);
  color: var(--action-primary);
}

.dashboard-journey-focus-illustration > span {
  width: 5.2rem;
  height: 5.2rem;
  display: grid;
  place-items: center;
  border: 2px solid currentColor;
  border-radius: var(--radius-panel);
  background: var(--workspace-surface-raised);
}

.dashboard-journey-focus-illustration svg,
.dashboard-journey-card-icon svg,
.dashboard-journey-task-icon svg,
.dashboard-journey-panel-title svg,
.dashboard-journey-tool svg,
.dashboard-journey-activity-row svg {
  width: 1.15rem;
  height: 1.15rem;
}

.dashboard-journey-focus-illustration svg {
  width: 2.6rem;
  height: 2.6rem;
}

.dashboard-journey-focus-copy {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.dashboard-journey-title-row,
.dashboard-journey-profile-row,
.dashboard-journey-profile-progress,
.dashboard-journey-mini-row,
.dashboard-journey-activity-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  min-width: 0;
}

.dashboard-journey-title-row {
  align-items: start;
}

.dashboard-journey-focus-copy h2 {
  margin: 0;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.55rem;
  line-height: 1.15;
}

.dashboard-journey-focus-copy p,
.dashboard-encouragement-note p {
  margin: 0;
  color: var(--ink-secondary);
  line-height: 1.45;
}

.dashboard-journey-progress-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.45rem 0.75rem;
  color: var(--ink-primary);
  font-size: 0.84rem;
  font-weight: 750;
}

.dashboard-journey-progress-track {
  grid-column: 1 / -1;
  height: 0.45rem;
  overflow: hidden;
  border-radius: 999px;
  background: var(--workspace-surface-muted);
}

.dashboard-progress-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--accent-gold);
}

.dashboard-progress-0 { width: 0%; }
.dashboard-progress-5 { width: 5%; }
.dashboard-progress-10 { width: 10%; }
.dashboard-progress-15 { width: 15%; }
.dashboard-progress-20 { width: 20%; }
.dashboard-progress-25 { width: 25%; }
.dashboard-progress-30 { width: 30%; }
.dashboard-progress-35 { width: 35%; }
.dashboard-progress-40 { width: 40%; }
.dashboard-progress-45 { width: 45%; }
.dashboard-progress-50 { width: 50%; }
.dashboard-progress-55 { width: 55%; }
.dashboard-progress-60 { width: 60%; }
.dashboard-progress-65 { width: 65%; }
.dashboard-progress-70 { width: 70%; }
.dashboard-progress-75 { width: 75%; }
.dashboard-progress-80 { width: 80%; }
.dashboard-progress-85 { width: 85%; }
.dashboard-progress-90 { width: 90%; }
.dashboard-progress-95 { width: 95%; }
.dashboard-progress-100 { width: 100%; }

.dashboard-journey-actions {
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.94fr);
}

.dashboard-journey-actions .button-link {
  justify-content: center;
}

.dashboard-journey-progress-grid,
.dashboard-journey-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--workspace-gap);
}

.dashboard-journey-progress-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.85rem;
  align-items: center;
  min-width: 0;
  min-height: 8rem;
  padding: 1rem;
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-l);
  background: linear-gradient(180deg, var(--workspace-surface-raised), var(--workspace-surface));
  box-shadow: var(--shadow-subtle);
  color: var(--ink-primary);
  text-decoration: none;
}

.dashboard-journey-card-icon,
.dashboard-journey-task-icon {
  width: 2.45rem;
  height: 2.45rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--workspace-surface-muted);
  color: currentColor;
}

.dashboard-journey-card-copy,
.dashboard-journey-task-copy,
.dashboard-journey-mini-row > span:first-child {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.dashboard-journey-card-action,
.dashboard-journey-inline-action,
.dashboard-journey-card-copy small {
  color: var(--action-primary);
  font-size: 0.78rem;
  font-weight: 800;
}

.dashboard-journey-card-copy strong {
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.15rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.dashboard-journey-card-action {
  grid-column: 2;
}

.dashboard-journey-task-panel .panel-body,
.dashboard-journey-mini-panel .panel-body,
.dashboard-journey-rail-panel .panel-body {
  display: grid;
  gap: 0.75rem;
}

.dashboard-journey-task-list,
.dashboard-journey-activity-list,
.dashboard-journey-profile-list,
.dashboard-journey-tool-grid {
  display: grid;
  min-width: 0;
}

.dashboard-journey-profile-list,
.dashboard-journey-tool-grid {
  gap: 0.7rem;
}

.dashboard-journey-task-row {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto auto;
  gap: 0.75rem;
  align-items: center;
  min-width: 0;
  padding: 0.72rem 0;
  border-bottom: 1px solid var(--workspace-line);
  color: var(--ink-primary);
  text-decoration: none;
}

.dashboard-journey-task-row:last-child,
.dashboard-journey-mini-row:last-child,
.dashboard-journey-activity-row:last-child {
  border-bottom: 0;
}

.dashboard-journey-task-status {
  width: 1.25rem;
  height: 1.25rem;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: var(--workspace-surface-raised);
  color: var(--ink-secondary);
  font-size: 0.72rem;
  font-weight: 900;
}

.dashboard-journey-task-copy strong,
.dashboard-journey-mini-row strong,
.dashboard-journey-activity-row strong {
  color: var(--ink-primary);
  font-size: 0.88rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.dashboard-journey-task-copy span,
.dashboard-journey-mini-row small,
.dashboard-journey-activity-row small {
  color: var(--ink-secondary);
  font-size: 0.78rem;
  line-height: 1.35;
}

.dashboard-journey-mini-panel {
  min-height: 100%;
}

.dashboard-journey-mini-row {
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--workspace-line);
  color: var(--ink-primary);
  text-decoration: none;
}

.dashboard-journey-panel-title {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.dashboard-journey-profile-row strong,
.dashboard-journey-profile-row > span:first-child,
.dashboard-journey-profile-progress span {
  color: var(--ink-secondary);
  font-size: 0.82rem;
}

.dashboard-journey-profile-row strong,
.dashboard-journey-profile-progress strong {
  color: var(--ink-primary);
  font-weight: 750;
  text-align: right;
}

.dashboard-journey-profile-progress {
  padding-top: 0.75rem;
  border-top: 1px solid var(--workspace-line);
}

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

.dashboard-journey-tool {
  min-height: 4.6rem;
  display: grid;
  place-items: center;
  gap: 0.4rem;
  padding: 0.75rem;
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-control);
  background: var(--workspace-surface-raised);
  color: var(--action-primary);
  text-align: center;
  text-decoration: none;
}

.dashboard-journey-tool strong {
  color: var(--ink-primary);
  font-size: 0.82rem;
}

.dashboard-journey-activity-row {
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 0.58rem 0;
  border-bottom: 1px solid var(--workspace-line);
  color: var(--ink-primary);
  text-decoration: none;
}

.dashboard-encouragement-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.7rem;
  align-items: center;
  padding: 0.85rem;
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-l);
  background: var(--workspace-surface-muted);
}

.dashboard-encouragement-note > span {
  width: 1.35rem;
  height: 1.35rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--action-primary);
  color: var(--ink-inverse);
  font-size: 0.8rem;
  font-weight: 900;
}

.dashboard-shepherd-board {
  gap: var(--workspace-gap);
}

.dashboard-shepherd-focus-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: var(--workspace-gap);
  min-width: 0;
}

.dashboard-shepherd-focus-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.25rem;
  align-items: center;
  min-width: 0;
  min-height: 11.75rem;
  padding: 1.35rem;
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-l);
  background: linear-gradient(135deg, var(--workspace-surface-raised), var(--workspace-surface));
  box-shadow: var(--shadow-subtle);
}

.dashboard-shepherd-focus-card-my {
  border-color: rgba(29, 111, 96, 0.24);
  background:
    radial-gradient(circle at 14% 24%, rgba(29, 111, 96, 0.08), transparent 34%),
    linear-gradient(135deg, var(--workspace-surface-raised), var(--workspace-surface));
}

.dashboard-shepherd-focus-card-assigned {
  border-color: rgba(177, 111, 21, 0.26);
  background:
    radial-gradient(circle at 18% 20%, rgba(177, 111, 21, 0.1), transparent 34%),
    linear-gradient(135deg, var(--workspace-surface-raised), var(--workspace-surface));
}

.dashboard-shepherd-focus-icon {
  width: 5.75rem;
  height: 5.75rem;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--workspace-line-strong);
  border-radius: 999px;
  background: var(--workspace-surface);
  color: var(--action-primary);
  box-shadow: var(--shadow-subtle);
}

.dashboard-shepherd-focus-card-assigned .dashboard-shepherd-focus-icon {
  color: var(--accent-gold);
}

.dashboard-shepherd-focus-icon svg,
.dashboard-shepherd-lane-heading svg,
.dashboard-shepherd-mini-heading svg,
.dashboard-shepherd-task-icon svg,
.dashboard-shepherd-rail-panel svg,
.dashboard-shepherd-action-list svg,
.dashboard-shepherd-update-row svg,
.dashboard-shepherd-encouragement svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dashboard-shepherd-focus-icon svg {
  width: 2.85rem;
  height: 2.85rem;
}

.dashboard-shepherd-focus-copy {
  display: grid;
  gap: 0.72rem;
  min-width: 0;
}

.dashboard-shepherd-focus-copy h2 {
  margin: 0;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.4rem;
  line-height: 1.15;
}

.dashboard-shepherd-focus-copy p,
.dashboard-shepherd-rail-panel p,
.dashboard-shepherd-encouragement p {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.86rem;
  line-height: 1.45;
}

.dashboard-shepherd-progress-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: center;
  max-width: 24rem;
}

.dashboard-shepherd-progress-line progress {
  width: 100%;
  height: 0.42rem;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: var(--workspace-line);
}

.dashboard-shepherd-progress-line progress::-webkit-progress-bar {
  background: var(--workspace-line);
  border-radius: 999px;
}

.dashboard-shepherd-progress-line progress::-webkit-progress-value {
  background: var(--action-primary);
  border-radius: 999px;
}

.dashboard-shepherd-progress-line progress::-moz-progress-bar {
  background: var(--action-primary);
  border-radius: 999px;
}

.dashboard-shepherd-progress-line strong {
  color: var(--ink-primary);
  font-size: 0.82rem;
}

.dashboard-shepherd-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(285px, 0.3fr);
  gap: var(--workspace-gap);
  align-items: start;
  min-width: 0;
}

.dashboard-shepherd-lanes {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--workspace-gap);
  min-width: 0;
}

.dashboard-shepherd-lane,
.dashboard-shepherd-rail {
  display: grid;
  gap: var(--workspace-gap);
  min-width: 0;
  align-content: start;
}

.dashboard-shepherd-rail {
  position: sticky;
  top: calc(58px + 1rem);
}

.dashboard-shepherd-lane {
  padding: 0.85rem;
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-l);
  background: rgba(255, 255, 255, 0.48);
  box-shadow: var(--shadow-subtle);
}

.dashboard-shepherd-lane-heading,
.dashboard-shepherd-rail-panel > header {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
}

.dashboard-shepherd-lane-heading span,
.dashboard-shepherd-rail-panel > header span,
.dashboard-shepherd-action-list span,
.dashboard-shepherd-task-icon {
  width: 2rem;
  height: 2rem;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: var(--radius-control);
  background: var(--state-success-soft);
  color: var(--action-primary);
}

.dashboard-shepherd-lane-heading h2,
.dashboard-shepherd-rail-panel h2 {
  margin: 0;
  color: var(--ink-primary);
  font-size: 1rem;
  line-height: 1.2;
}

.dashboard-shepherd-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}

.dashboard-shepherd-mini-card,
.dashboard-shepherd-member-card,
.dashboard-shepherd-rail-panel,
.dashboard-shepherd-encouragement {
  min-width: 0;
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-control);
  background: linear-gradient(180deg, var(--workspace-surface-raised), var(--workspace-surface));
  box-shadow: var(--shadow-subtle);
}

.dashboard-shepherd-mini-card {
  display: grid;
  gap: 0.55rem;
  padding: 0.85rem;
}

.dashboard-shepherd-mini-heading {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.dashboard-shepherd-mini-heading span {
  color: var(--action-primary);
}

.dashboard-shepherd-mini-heading strong,
.dashboard-shepherd-member-title strong,
.dashboard-shepherd-task-copy strong,
.dashboard-shepherd-compact-row strong,
.dashboard-shepherd-note-row strong,
.dashboard-shepherd-action-list strong,
.dashboard-shepherd-update-row strong,
.dashboard-shepherd-encouragement strong {
  color: var(--ink-primary);
  font-size: 0.86rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.dashboard-shepherd-mini-card p {
  margin: 0;
  color: var(--ink-primary);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.3;
}

.dashboard-shepherd-mini-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
  color: var(--ink-secondary);
  font-size: 0.75rem;
}

.dashboard-shepherd-mini-card a,
.dashboard-shepherd-compact-panel .panel-footer a {
  justify-self: start;
  color: var(--action-primary);
  font-size: 0.76rem;
  font-weight: 750;
  text-decoration: none;
}

.dashboard-shepherd-task-panel .panel-body {
  padding: 0;
}

.dashboard-shepherd-task-list,
.dashboard-shepherd-assigned-list,
.dashboard-shepherd-compact-list,
.dashboard-shepherd-note-list,
.dashboard-shepherd-update-list,
.dashboard-shepherd-action-list {
  display: grid;
  gap: 0.62rem;
  min-width: 0;
}

.dashboard-shepherd-task-row {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto auto;
  gap: 0.65rem;
  align-items: center;
  min-width: 0;
  padding: 0.72rem 0.8rem;
  color: var(--ink-primary);
  text-decoration: none;
  border-bottom: 1px solid var(--workspace-line);
}

.dashboard-shepherd-task-row:last-child {
  border-bottom: 0;
}

.dashboard-shepherd-task-dot {
  width: 0.78rem;
  height: 0.78rem;
  border: 1px solid var(--workspace-line-strong);
  border-radius: 999px;
  background: var(--workspace-surface);
}

.dashboard-shepherd-task-copy {
  display: grid;
  gap: 0.14rem;
  min-width: 0;
}

.dashboard-shepherd-task-copy small,
.dashboard-shepherd-compact-row small,
.dashboard-shepherd-note-row span,
.dashboard-shepherd-note-row small,
.dashboard-shepherd-update-row small {
  color: var(--ink-secondary);
  font-size: 0.76rem;
  line-height: 1.35;
}

.dashboard-shepherd-member-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
  padding: 0.9rem;
}

.dashboard-shepherd-member-avatar {
  width: 2.9rem;
  height: 2.9rem;
  font-size: 0.9rem;
}

.dashboard-shepherd-member-main {
  display: grid;
  gap: 0.4rem;
  min-width: 0;
}

.dashboard-shepherd-member-title,
.dashboard-shepherd-member-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

.dashboard-shepherd-member-main p {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.78rem;
  line-height: 1.35;
}

.dashboard-shepherd-member-main p span {
  color: var(--ink-primary);
  font-weight: 700;
}

.dashboard-shepherd-two-up {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.75rem;
}

.dashboard-shepherd-compact-panel .panel-body {
  display: grid;
  gap: 0.75rem;
}

.dashboard-shepherd-compact-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.6rem;
  align-items: center;
  color: var(--ink-primary);
  text-decoration: none;
}

.dashboard-shepherd-mini-avatar {
  width: 1.75rem;
  height: 1.75rem;
  font-size: 0.68rem;
}

.dashboard-shepherd-compact-row > span:nth-child(2),
.dashboard-shepherd-note-row {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.dashboard-shepherd-rail-panel {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
}

.dashboard-shepherd-check-list {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0 0 0.8rem 0;
  border-bottom: 1px solid var(--workspace-line);
  list-style: none;
}

.dashboard-shepherd-check-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.5rem;
  align-items: center;
  color: var(--ink-primary);
  font-size: 0.82rem;
  font-weight: 650;
}

.dashboard-shepherd-check-list li::before {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: var(--state-success);
}

.dashboard-shepherd-update-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.6rem;
  align-items: center;
  min-width: 0;
}

.dashboard-shepherd-update-row span {
  color: var(--action-primary);
}

.dashboard-shepherd-action-list a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.62rem;
  align-items: center;
  min-width: 0;
  padding: 0.68rem 0.75rem;
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-control);
  background: var(--workspace-surface-raised);
  color: var(--ink-primary);
  text-decoration: none;
}

.dashboard-shepherd-encouragement {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  padding: 1rem;
  background: var(--state-success-soft);
}

.dashboard-shepherd-encouragement > span {
  width: 3rem;
  height: 3rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--action-primary);
  color: var(--ink-inverse);
}

.support-command-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.34fr);
  gap: var(--workspace-gap-loose);
  align-items: start;
  min-width: 0;
}

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

.support-command-main,
.support-command-rail {
  display: grid;
  gap: var(--workspace-gap);
  min-width: 0;
  align-content: start;
}

.support-command-rail {
  position: sticky;
  top: calc(58px + 1rem);
}

.support-command-rail .support-action-panel {
  border-color: var(--workspace-line-strong);
  background: linear-gradient(180deg, var(--workspace-surface-muted), var(--workspace-surface));
  box-shadow: var(--workspace-shadow-surface);
}

.support-command-layout .support-tabs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.support-command-layout .support-tab {
  min-height: 3.75rem;
}

.support-command-layout .support-layout {
  grid-template-columns: minmax(320px, 0.82fr) minmax(420px, 1.18fr);
}

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

.support-command-layout .lead-card-grid {
  grid-template-columns: 1fr;
}

.support-route-stack {
  display: grid;
  gap: var(--workspace-gap);
  min-width: 0;
}

.support-my-todos-stack {
  align-content: start;
}

.support-my-todos-layout {
  align-items: stretch;
}

.support-todo-focus-panel .panel-body,
.support-todo-focus-summary {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.support-todo-focus-panel {
  min-height: 100%;
}

.points-rewards-owner-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.42fr);
  gap: var(--workspace-gap-loose);
  align-items: start;
  min-width: 0;
}

.points-rewards-activity-stack,
.points-rewards-control-rail {
  display: grid;
  gap: var(--workspace-gap);
  min-width: 0;
  align-content: start;
}

.points-rewards-control-rail {
  position: sticky;
  top: calc(58px + 1rem);
}

.points-rewards-control-rail .form-panel,
.points-rewards-control-rail .points-rewards-source-panel {
  margin-bottom: 0;
}

.points-rewards-control-rail .form-grid-four {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.points-rewards-activity-stack .table-card:first-child {
  border-color: var(--workspace-focus-line);
  box-shadow: var(--workspace-shadow-focus);
}

.points-rewards-command-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.points-rewards-command-grid > .points-rewards-source-panel {
  grid-column: 1 / -1;
}

.workspace-page-setup,
.workspace-page-milestones,
.workspace-page-assigned-members {
  --workspace-page-max: 1500px;
}

.workspace-page-setup .setup-workflow-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--workspace-gap-loose);
}

.setup-owner-tools-disclosure {
  align-self: start;
  margin-top: var(--workspace-gap);
}

.setup-owner-tools-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
}

.workspace-page-setup .setup-workflow-side,
.workspace-page-milestones .milestones-stats-sidebar,
.workspace-page-assigned-members .milestones-stats-sidebar {
  position: sticky;
  top: calc(58px + 1rem);
}

.workspace-page-setup .setup-work-panel,
.workspace-page-milestones .milestones-selected-panel {
  border-color: var(--workspace-focus-line);
  box-shadow: var(--workspace-shadow-focus);
}

.setup-review-progress {
  display: grid;
  gap: 0.55rem;
}

.setup-review-progress progress {
  width: 100%;
  height: 0.65rem;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: var(--surface-soft);
  accent-color: var(--state-success);
}

.setup-review-progress progress::-webkit-progress-bar {
  border-radius: 999px;
  background: var(--surface-soft);
}

.setup-review-progress progress::-webkit-progress-value,
.setup-review-progress progress::-moz-progress-bar {
  border-radius: 999px;
  background: var(--state-success);
}

.setup-review-task-row {
  grid-template-columns: minmax(0, 1fr);
}

.setup-checklist-brief,
.setup-review-update-section {
  min-width: 0;
}

.setup-queue-filter-needsWork .setup-queue-indicator-box,
.setup-queue-filter-readyForReview .setup-queue-indicator-box {
  background: var(--state-warning);
}

.setup-queue-filter-stuck .setup-queue-indicator-box {
  background: var(--state-danger);
}

.setup-queue-filter-needsChanges .setup-queue-indicator-box {
  background: var(--line-strong);
}

.setup-queue-filter-supportLinked .setup-queue-indicator-box {
  background: var(--state-audit);
}

.setup-queue-filter-setupReady .setup-queue-indicator-box {
  background: var(--state-success);
}

.workspace-page-milestones .milestones-three-column-grid,
.workspace-page-assigned-members .milestones-three-column-grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.28fr);
}

.workspace-page-milestones .milestones-three-column-grid.no-stats-sidebar {
  grid-template-columns: minmax(0, 1fr);
}

.workspace-page-milestones .milestones-primary-workspace,
.workspace-page-assigned-members .milestones-primary-workspace {
  grid-template-columns: minmax(320px, 0.36fr) minmax(0, 0.64fr);
}

.milestone-review-queue,
.milestone-brief-section,
.milestone-update-section {
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--workspace-surface-raised);
  box-shadow: var(--shadow-subtle);
}

.milestone-review-queue {
  display: grid;
  gap: var(--workspace-gap);
  padding: var(--workspace-gap);
}

.milestone-review-queue-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--workspace-gap);
}

.milestone-review-queue-header h2,
.milestone-brief-section-header h2,
.milestone-update-section > header h2 {
  margin: 0.15rem 0 0;
  font-size: 1.1rem;
}

.milestone-review-queue-header p,
.milestone-brief-section-header p,
.milestone-update-section > header p {
  margin: 0.35rem 0 0;
  color: var(--ink-secondary);
}

.milestone-review-queue-tools {
  display: grid;
  gap: 0.75rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--line-subtle);
}

.milestone-review-search {
  display: grid;
  gap: 0.35rem;
  max-width: 28rem;
  color: var(--ink-secondary);
  font-size: 0.84rem;
  font-weight: 600;
}

.milestone-review-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.milestone-review-filter {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.35rem;
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-soft);
  color: var(--ink-secondary);
  font-size: 0.82rem;
}

.milestone-review-filter strong {
  min-width: 1.35rem;
  padding: 0.05rem 0.35rem;
  border-radius: 999px;
  background: var(--surface);
  color: var(--ink-primary);
  text-align: center;
}

.milestone-review-filter:hover,
.milestone-review-filter:focus-visible,
.milestone-review-filter.is-active {
  border-color: var(--workspace-focus-line);
  background: var(--workspace-focus-surface);
  color: var(--ink-primary);
}

.milestone-review-filter-stuck.is-active {
  border-color: var(--state-danger);
}

.milestone-review-filter-readyForReview.is-active,
.milestone-review-filter-needsChanges.is-active,
.milestone-review-filter-needsWork.is-active {
  border-color: var(--state-warning);
}

.milestone-review-filter-supportLinked.is-active {
  border-color: var(--state-audit);
}

.milestone-review-filter-setupReady.is-active {
  border-color: var(--state-success);
}

.milestone-review-queue-list {
  display: grid;
  gap: 0.65rem;
}

.milestone-review-queue-row {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.75fr) minmax(0, 0.85fr) minmax(0, 1.2fr) auto;
  gap: 1rem;
  align-items: center;
  min-width: 0;
  padding: 0.9rem 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--ink-primary);
  text-decoration: none;
}

.milestone-review-queue-row:hover,
.milestone-review-queue-row:focus-visible {
  border-color: var(--workspace-focus-line);
  box-shadow: var(--workspace-shadow-focus);
}

.milestone-review-identity,
.milestone-review-status,
.milestone-review-responsibility,
.milestone-review-next {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.milestone-review-identity {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.7rem;
}

.milestone-review-identity strong,
.milestone-review-responsibility strong,
.milestone-review-next strong {
  overflow-wrap: anywhere;
}

.milestone-review-identity small,
.milestone-review-status small,
.milestone-review-responsibility small,
.milestone-review-next small {
  color: var(--ink-secondary);
  font-size: 0.78rem;
}

.milestone-review-status {
  justify-items: start;
}

.milestone-review-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: 0.45rem 0.75rem;
  border-radius: var(--radius-control);
  background: var(--action-secondary);
  color: var(--ink-primary);
  font-size: 0.82rem;
  font-weight: 700;
  white-space: nowrap;
  transition: all 180ms ease;
}

html[data-theme="dark"] .milestone-review-queue-row:hover .milestone-review-open {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
  border-color: rgba(245, 158, 11, 0.6) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.35) !important;
}

.milestones-task-progress-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.4rem;
}

.milestone-review-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  color: var(--ink-secondary);
  font-size: 0.84rem;
}

.milestone-settings-disclosure {
  margin-top: var(--workspace-gap);
}

.milestone-record-layout,
.milestone-update-layout {
  display: grid;
  gap: var(--workspace-gap-loose);
  align-items: start;
}

.milestone-record-layout {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.3fr);
}

.milestone-update-layout {
  grid-template-columns: minmax(260px, 0.28fr) minmax(0, 1fr);
}

.milestone-record-main,
.milestone-record-rail,
.milestone-update-context,
.milestone-update-main {
  display: grid;
  gap: var(--workspace-gap);
  min-width: 0;
  align-content: start;
}

.milestone-record-rail,
.milestone-update-context {
  position: sticky;
  top: calc(58px + 1rem);
}

.milestone-brief-section,
.milestone-update-section {
  padding: var(--workspace-gap);
}

.milestone-brief-section {
  display: grid;
  gap: 1rem;
  border-color: var(--workspace-focus-line);
  box-shadow: var(--workspace-shadow-focus);
}

.milestone-record-rail-panel {
  margin: 0;
}

.milestone-record-rail-panel .panel-body {
  display: grid;
  gap: 0.65rem;
}

.milestone-record-rail-panel .panel-body p {
  margin: 0;
  color: var(--ink-secondary);
}

.milestone-path-disclosure {
  margin: 0;
}

.milestone-update-section {
  display: grid;
  gap: 1rem;
}

.milestone-update-section .milestones-task-progress-panel {
  margin: 0;
  border: 0;
  box-shadow: none;
}

.milestone-final-decision {
  border-color: var(--state-success);
}

.milestone-context-list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
}

.milestone-context-list > div {
  display: grid;
  gap: 0.2rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--line-subtle);
}

.milestone-context-list > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.milestone-context-list dt {
  color: var(--ink-secondary);
  font-size: 0.78rem;
  font-weight: 600;
}

.milestone-context-list dd {
  margin: 0;
  color: var(--ink-primary);
  font-weight: 600;
}

@media (max-width: 1120px) {
  .milestone-review-queue-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr) minmax(0, 1fr) auto;
  }

  .milestone-review-responsibility {
    grid-column: 1 / 3;
  }

  .milestone-review-next {
    grid-column: 3 / 4;
  }
}

@media (max-width: 900px) {
  .milestone-record-layout,
  .milestone-update-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .milestone-record-rail,
  .milestone-update-context {
    position: static;
  }

  .milestone-update-context {
    order: -1;
  }

  .milestone-review-queue-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .milestone-review-status,
  .milestone-review-responsibility,
  .milestone-review-next {
    grid-column: 1 / -1;
  }

  .milestone-review-open {
    grid-column: 2;
    grid-row: 1;
  }
}

@media (max-width: 640px) {
  .milestone-review-queue-header,
  .milestone-review-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .milestone-review-queue-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .milestone-review-open {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
  }

  .milestone-review-filter-row > *,
  .milestone-record-rail .button-link,
  .milestone-update-main .button-link {
    width: 100%;
    justify-content: center;
  }
}

.milestones-focused-workspace {
  display: grid;
  gap: var(--workspace-gap);
  min-width: 0;
}

.milestones-team-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.5fr);
  gap: var(--workspace-gap);
  align-items: start;
  min-width: 0;
}

.milestones-team-tools .milestones-member-sidebar,
.milestones-team-tools .milestones-stats-sidebar {
  position: static;
}

.setup-system-map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.36fr);
  gap: var(--workspace-gap-loose);
  align-items: start;
  min-width: 0;
}

.setup-system-map-main,
.setup-system-map-side {
  display: grid;
  gap: var(--workspace-gap);
  min-width: 0;
  align-content: start;
}

.setup-system-map-side {
  position: sticky;
  top: calc(58px + 1rem);
}

.setup-system-map-panel {
  border-color: var(--workspace-focus-line);
  box-shadow: var(--workspace-shadow-focus);
}

.setup-map-summary-badges,
.setup-map-task-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

/* Setup Stats Metrics Grid */
.setup-metrics-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: var(--workspace-gap);
}

.setup-metric-card {
  display: flex;
  flex-direction: column;
  padding: 1.15rem 1.25rem;
  background: linear-gradient(180deg, var(--workspace-surface-raised), var(--surface));
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(16, 38, 32, 0.02);
}

.setup-metric-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
}

.setup-metric-card.groups::before {
  background-color: var(--state-success);
}

.setup-metric-card.tasks::before {
  background-color: var(--accent-gold);
}

.setup-metric-card.unplaced::before {
  background-color: var(--state-warning);
}

.setup-metric-value {
  font-family: var(--font-headings);
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--ink-primary);
  line-height: 1.1;
  margin-bottom: 0.25rem;
}

.setup-metric-value-status {
  font-family: var(--font-body);
  font-size: 1.15rem;
  line-height: 1.2;
}

.setup-metric-value-container {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  width: 100%;
}

.setup-progress-bar-track-compact {
  width: 100%;
  height: 0.25rem;
  border: 0;
  border-radius: 2px;
  background: var(--line-subtle);
}

.setup-progress-bar-fill-accent::-webkit-progress-value,
.setup-progress-bar-fill-accent::-moz-progress-bar {
  background: var(--accent-gold);
}

.setup-metric-label {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--ink-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.setup-map-milestone[open] > summary .disclosure-chevron {
  transform: rotate(180deg);
}

@media (max-width: 768px) {
  .setup-metrics-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
}

.setup-map-milestone-list,
.setup-map-task-list,
.template-task-group-list {
  display: grid;
  gap: 0.75rem;
}

.setup-map-milestone,
.template-task-group {
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-control);
  background: var(--workspace-surface);
  overflow: hidden;
}

.setup-map-milestone > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 0.9rem 1rem;
  list-style: none;
  cursor: pointer;
  background: var(--workspace-surface-muted);
}

.setup-map-milestone > summary::-webkit-details-marker {
  display: none;
}

.setup-map-milestone > summary > span:first-child,
.template-task-group-header > div {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.setup-map-group-title-row {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.setup-map-group-title-row > strong {
  min-width: 0;
}

.setup-map-group-edit-link {
  flex: 0 0 auto;
}

.setup-map-milestone > summary strong,
.template-task-group-header strong {
  color: var(--ink-primary);
  line-height: 1.2;
}

.setup-map-milestone > summary small,
.template-task-group-header span {
  color: var(--ink-tertiary);
  line-height: 1.35;
}

.setup-map-task-list {
  padding: 0.85rem;
  background: var(--workspace-surface);
}

.setup-map-task-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, auto);
  gap: 0.85rem;
  align-items: center;
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-control);
  background: linear-gradient(180deg, var(--workspace-surface-raised), var(--workspace-surface));
  padding: 0.78rem 0.85rem;
}

.setup-map-task-row > div:first-child {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.setup-map-task-row strong {
  color: var(--ink-primary);
  line-height: 1.25;
}

.setup-map-task-row span {
  color: var(--ink-tertiary);
  font-size: 0.78rem;
}

.setup-map-task-actions {
  justify-content: flex-end;
}

.setup-map-edit-link {
  min-height: 2.1rem;
}

.setup-map-delete-button {
  width: 2.1rem;
  height: 2.1rem;
  color: var(--danger);
  background: var(--action-secondary);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  min-height: unset;
  box-shadow: 0 1px 2px rgba(16, 38, 32, 0.04);
}

.setup-map-delete-button:hover {
  background: var(--state-danger-soft);
  border-color: var(--state-danger);
  color: var(--state-danger);
  box-shadow: 0 4px 8px rgba(171, 51, 51, 0.08);
  transform: translateY(-1px);
}

.setup-map-delete-button:active {
  transform: translateY(0);
}

.setup-map-delete-button.is-confirming {
  background: var(--state-danger);
  border-color: var(--state-danger);
  color: #ffffff;
}

.setup-map-delete-button svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.setup-system-map-layout.setup-system-map-layout-single {
  grid-template-columns: minmax(0, 1fr);
}

.setup-map-unplaced {
  border-color: var(--workspace-focus-line);
}

.template-task-group {
  padding: 0.8rem;
  background: var(--workspace-surface-muted);
}

.template-task-group-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  margin-bottom: 0.75rem;
}

.template-task-group .template-edit-disclosure {
  background: var(--workspace-surface);
}

.template-management-stack {
  display: grid;
  gap: var(--workspace-gap);
}

.template-edit-disclosure {
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-control);
  background: var(--workspace-surface);
  overflow: hidden;
}

.template-edit-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.78rem 0.9rem;
  list-style: none;
  cursor: pointer;
  background: var(--workspace-surface-muted);
}

.template-edit-disclosure > summary::-webkit-details-marker {
  display: none;
}

.template-edit-disclosure > summary::after {
  content: "Edit";
  flex: 0 0 auto;
  border: 1px solid var(--workspace-line-strong);
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--ink-secondary);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.24rem 0.55rem;
}

.template-edit-disclosure[open] > summary::after {
  content: "Close";
}

.template-edit-disclosure > summary > span {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.template-edit-disclosure > summary > span > strong {
  color: var(--ink-primary);
  line-height: 1.2;
}

.template-edit-disclosure > summary > span > small {
  color: var(--ink-tertiary);
  line-height: 1.35;
}

.workspace-page-dashboard .dashboard-section,
.workspace-page-leads .lead-workspace,
.workspace-page-assigned-leads .lead-workspace,
.workspace-page-support .support-section,
.workspace-page-support-assigned-requests .support-section,
.workspace-page-calendar-bookings .calendar-bookings-section,
.workspace-page-calendar-entries .calendar-entries-section,
.workspace-page-calendar-sessions .calendar-sessions-section,
.workspace-page-calendar-sessions .calendar-session-record-section,
.workspace-page-calendar-assigned-sessions .calendar-sessions-section,
.workspace-page-calendar-assigned-sessions .calendar-session-record-section,
.workspace-page-calendar-configure .calendar-configure-section,
.workspace-page-personal-story .personal-story-section,
.workspace-page-personal-story-current .personal-story-section,
.workspace-page-personal-story-versions .personal-story-section,
.workspace-page-content-studio .content-studio-section,
.workspace-page-content-studio-studio .content-studio-section,
.workspace-page-content-studio-review .content-studio-section,
.workspace-page-content-studio-history .content-studio-section {
  gap: var(--workspace-gap-loose);
}

.dashboard-command-queue,
.dashboard-grid-primary > .item-card:first-child,
.workspace-archetype-review .setup-workflow-main,
.workspace-archetype-review .milestones-member-workflow,
.calendar-session-create-panel,
.calendar-entry-manage-panel {
  border-color: var(--workspace-focus-line);
  background:
    linear-gradient(180deg, var(--workspace-command-surface), var(--workspace-surface));
  box-shadow: var(--workspace-shadow-focus);
}

.dashboard-priority-row,
.dashboard-row,
.calendar-session-row,
.calendar-entry-card,
.calendar-entry-card-premium,
.support-request-cell {
  border-color: var(--workspace-line);
}

.dashboard-priority-row,
.dashboard-row,
.calendar-session-row,
.calendar-entry-card-premium {
  background:
    linear-gradient(180deg, var(--workspace-surface-raised), var(--workspace-surface));
}

.dashboard-metric,
.dashboard-metric-card {
  background:
    linear-gradient(180deg, var(--workspace-surface-raised), var(--workspace-surface-muted));
  border: 1px solid var(--workspace-line);
  box-shadow: var(--shadow-subtle);
}

@media (max-width: 760px) {
  .dashboard-attention-summary,
  .dashboard-operating-grid {
    grid-template-columns: minmax(0, 1fr);
  }

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

  .dashboard-journey-handoffs {
    position: static;
  }

  .dashboard-priority-work-row {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
  }

  .dashboard-priority-work-status,
  .dashboard-priority-work-action {
    grid-column: 2;
    justify-self: start;
  }

  .workspace-page-dashboard .dashboard-focus-panel {
    max-width: none;
  }

  .workspace-page-dashboard .dashboard-focus-panel .button-link {
    width: 100%;
    justify-content: center;
  }

  .workspace-page-dashboard .dashboard-priority-list,
  .workspace-page-dashboard .dashboard-layout-owner,
  .workspace-page-dashboard .dashboard-journey-shell,
  .workspace-page-dashboard .dashboard-journey-focus-panel,
  .workspace-page-dashboard .dashboard-journey-progress-grid,
  .workspace-page-dashboard .dashboard-journey-card-grid,
  .dashboard-owner-attention-grid,
  .dashboard-owner-pulse-grid,
  .dashboard-owner-action-grid,
  .dashboard-shepherd-focus-grid,
  .dashboard-shepherd-main,
  .dashboard-shepherd-lanes,
  .dashboard-shepherd-mini-grid,
  .dashboard-shepherd-two-up,
  .workspace-page-dashboard .dashboard-grid-primary,
  .workspace-page-dashboard .dashboard-grid-secondary,
  .workspace-page-dashboard .dashboard-metric-grid,
  .workspace-command-grid,
  .points-rewards-command-grid,
  .setup-owner-tools-grid,
  .setup-system-map-layout,
  .milestones-team-tools,
  .support-command-layout,
  .support-command-layout .support-layout,
  .points-rewards-owner-layout,
  .workspace-page-milestones .milestones-three-column-grid,
  .workspace-page-assigned-members .milestones-three-column-grid,
  .workspace-page-milestones .milestones-three-column-grid.no-stats-sidebar,
  .workspace-page-milestones .milestones-primary-workspace,
  .workspace-page-assigned-members .milestones-primary-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .setup-system-map-side {
    position: static;
  }

  .setup-map-milestone > summary,
  .setup-map-task-row,
  .template-task-group-header {
    grid-template-columns: minmax(0, 1fr);
  }

  .setup-map-task-actions {
    justify-content: flex-start;
  }

  .setup-map-group-title-row {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  /* Milestones Mobile Layout Fixes */
  .workspace-page-milestones,
  .workspace-page-assigned-members,
  .milestones-own-panel,
  .milestones-selected-panel,
  .milestones-split-grid,
  .milestones-split-left,
  .milestones-split-right,
  .setup-task-row,
  .member-task-preview,
  .milestones-member-current-header,
  .milestones-bp-focused-journey,
  .milestones-bp-header-card,
  .milestones-bp-current-milestone {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .milestones-three-column-grid,
  .milestones-primary-workspace,
  .milestones-split-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .milestones-member-sidebar,
  .milestones-stats-sidebar,
  .milestones-right-context-stack,
  .milestones-timeline-disclosure,
  .milestones-own-history-disclosure {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    position: static !important;
  }

  .workspace-page-dashboard .dashboard-priority-row,
  .dashboard-row,
  .support-command-layout .support-tab,
  .milestones-task-progress-panel .setup-task-row.member-task-preview {
    min-width: 0;
  }

  .support-member-detail-header,
  .support-member-waiting-state,
  .support-member-previous-row {
    flex-direction: column;
    align-items: stretch;
  }

  .support-member-status-stack,
  .support-member-previous-meta {
    justify-content: flex-start;
  }

  .support-member-request-meta {
    grid-template-columns: minmax(0, 1fr);
  }

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

  .dashboard-journey-focus-illustration {
    min-height: 6.5rem;
  }

  .dashboard-journey-actions,
  .dashboard-journey-task-row,
  .dashboard-journey-mini-row,
  .dashboard-journey-profile-row,
  .dashboard-journey-profile-progress,
  .dashboard-journey-activity-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-journey-task-badge,
  .dashboard-journey-inline-action,
  .dashboard-journey-profile-row strong,
  .dashboard-journey-profile-progress strong,
  .dashboard-journey-activity-row small {
    justify-self: start;
    text-align: left;
  }

  .dashboard-owner-queue-row {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
  }

  .dashboard-owner-type-chip,
  .dashboard-owner-queue-date,
  .dashboard-owner-queue-status,
  .dashboard-owner-queue-row .button-link {
    grid-column: 2;
    justify-self: start;
  }

  .dashboard-owner-pulse-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-owner-pulse-metrics span:nth-child(2n) {
    border-right: 0;
  }

  .dashboard-header-action-pair {
    justify-content: stretch;
  }

  .dashboard-header-action-pair .button-link {
    width: 100%;
    justify-content: center;
  }

  .dashboard-shepherd-focus-card,
  .dashboard-shepherd-member-card,
  .dashboard-shepherd-task-row,
  .dashboard-shepherd-compact-row,
  .dashboard-shepherd-update-row,
  .dashboard-shepherd-encouragement {
    grid-template-columns: minmax(0, 1fr);
    justify-items: start;
  }

  .dashboard-shepherd-focus-icon {
    width: 4.4rem;
    height: 4.4rem;
  }

  .dashboard-shepherd-focus-icon svg {
    width: 2.2rem;
    height: 2.2rem;
  }

  .dashboard-shepherd-member-card .button-link {
    justify-self: start;
  }

  .dashboard-shepherd-progress-line {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-row-badges {
    min-width: 0;
    justify-content: flex-start;
  }

  .dashboard-row-badges .lead-signal-stack,
  .dashboard-row-badges .badge-list {
    justify-content: flex-start;
  }

  .dashboard-row-date {
    white-space: normal;
  }

  .support-command-rail,
  .points-rewards-control-rail,
  .dashboard-journey-rail,
  .dashboard-shepherd-rail,
  .workspace-page-setup .setup-workflow-side,
  .workspace-page-milestones .milestones-stats-sidebar,
  .workspace-page-assigned-members .milestones-stats-sidebar {
    position: static;
  }

  .points-rewards-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .points-rewards-pagination > div,
  .points-rewards-pagination button {
    width: 100%;
  }

  .support-command-layout .support-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .support-command-layout .empty-state {
    width: 100%;
    min-width: 0;
  }

  .workspace-command-body {
    padding: 0.85rem;
  }

  .stepper-content,
  .stepper-content > * {
    transform: none;
  }
}

/* Existing-team registration and private Business Owner Data directory */
.team-registration-screen {
  place-items: start center;
}

.team-registration-shell {
  width: min(1440px, 100%);
  grid-template-columns: minmax(260px, 0.68fr) minmax(0, 1.82fr);
}

.team-registration-shell > .login-context {
  place-items: start center;
  padding-inline: 2rem;
  padding-top: 6rem;
}

.team-registration-shell > .login-context h1 {
  font-size: 2.95rem;
}

.team-registration-panel {
  place-items: start stretch;
  padding: 3rem;
}

.team-registration-panel > .login-panel-inner {
  width: 100%;
  max-width: 940px;
}

.team-registration-panel .login-brand h2 {
  max-width: 15ch;
}

.team-registration-form {
  gap: 1.25rem;
}

.team-registration-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.team-registration-progress > li {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  padding: 0.65rem 0.7rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  color: var(--ink-tertiary);
  background: var(--surface-soft);
  font-size: 0.78rem;
}

.team-registration-progress > li > span {
  display: grid;
  flex: 0 0 auto;
  width: 1.65rem;
  height: 1.65rem;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-weight: 800;
}

.team-registration-progress > li > strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.team-registration-progress > li[data-state="current"] {
  border-color: var(--line-gold);
  color: var(--ink-primary);
  background: var(--accent-gold-soft);
}

.team-registration-progress > li[data-state="complete"] {
  border-color: var(--state-success);
  color: var(--state-success);
  background: var(--state-success-soft);
}

.team-registration-step-actions {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr);
  gap: 0.75rem;
  align-items: center;
}

.team-registration-step-actions > button {
  width: 100%;
}

.business-owner-onboarding-panel > .login-panel-inner {
  max-width: 980px;
}

.business-owner-onboarding-actions {
  grid-template-columns: minmax(160px, 0.36fr) minmax(240px, 0.64fr);
}

.business-owner-onboarding-screen .auth-text-action {
  justify-self: center;
  margin-top: 0.25rem;
}

.business-owner-not-applicable {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  width: fit-content;
  max-width: 100%;
  margin-top: 0.15rem;
  color: var(--ink-secondary);
  font-size: 0.82rem;
  line-height: 1.4;
  cursor: pointer;
}

.business-owner-not-applicable > input[type="checkbox"] {
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  min-height: auto;
  padding: 0;
  margin-top: 0.08rem;
}

.business-owner-onboarding-screen input:disabled,
.business-owner-onboarding-screen select:disabled,
.business-owner-onboarding-screen textarea:disabled {
  color: var(--ink-tertiary);
  background: var(--surface-soft);
  cursor: not-allowed;
  opacity: 0.72;
}

.business-owner-onboarding-screen .team-registration-grid > .field {
  align-self: start;
  align-content: start;
}

.business-owner-product-fieldset {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.business-owner-product-fieldset > .field-label {
  padding: 0;
}

.business-owner-product-fieldset > small {
  color: var(--ink-tertiary);
  font-size: 0.78rem;
}

.business-owner-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
}

.business-owner-product-option {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  min-width: 0;
  padding: 0.7rem 0.75rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  color: var(--ink-primary);
  background: var(--surface-soft);
  font-size: 0.84rem;
  line-height: 1.35;
  cursor: pointer;
}

.business-owner-product-option:has(input:checked) {
  border-color: var(--action-primary);
  background: var(--state-success-soft);
}

.business-owner-product-option > input[type="checkbox"] {
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  min-height: auto;
  padding: 0;
  margin-top: 0.02rem;
  accent-color: var(--action-primary);
}

.business-owner-product-option > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.profile-picture-form {
  margin-bottom: 1rem;
}

.profile-picture-editor {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.team-registration-section > .profile-picture-editor {
  margin-bottom: 1rem;
}

.profile-picture-editor-preview .member-profile-avatar {
  width: 5rem;
  height: 5rem;
}

.profile-picture-editor-controls {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
}

.profile-picture-editor-controls > div:first-child {
  display: grid;
  gap: 0.15rem;
}

.profile-picture-editor-controls > div:first-child > strong {
  color: var(--ink-primary);
  font-size: 0.9rem;
}

.profile-picture-editor-controls > div:first-child > span {
  color: var(--ink-secondary);
  font-size: 0.78rem;
  line-height: 1.4;
}

.profile-picture-drop-zone {
  min-height: 3.25rem;
  justify-content: flex-start;
  padding: 0.6rem 0.75rem;
  text-align: left;
}

.profile-picture-editor-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.profile-picture-editor-actions:empty {
  display: none;
}

.profile-picture-editor .success-text,
.profile-picture-editor .error-text {
  margin: 0;
}

@media (max-width: 640px) {
  .business-owner-product-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .profile-picture-editor {
    grid-template-columns: minmax(0, 1fr);
  }

  .profile-picture-editor-preview {
    display: flex;
    justify-content: center;
  }

  .profile-picture-editor-actions {
    align-items: stretch;
    flex-direction: column;
  }
}

.team-registration-section {
  min-width: 0;
  margin: 0;
  padding: 1.25rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
}

.team-registration-section > legend {
  padding: 0 0.35rem;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 700;
}

.team-registration-section > p {
  margin: 0 0 1rem;
  color: var(--ink-tertiary);
  font-size: 0.86rem;
}

.team-registration-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.team-registration-field-full {
  grid-column: 1 / -1;
}

.team-registration-section input,
.team-registration-section select,
.team-registration-section textarea {
  width: 100%;
  background: var(--surface-soft);
}

.password-input-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.75rem;
  align-items: stretch;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  background: var(--surface-soft);
  box-shadow: inset 0 1px 2px rgba(16, 38, 32, 0.02);
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.password-input-shell:hover {
  border-color: var(--ink-tertiary);
}

.password-input-shell:focus-within {
  border-color: var(--action-primary);
  background: var(--surface);
  box-shadow: 0 0 0 4px var(--focus-ring-soft);
}

.team-registration-section .password-input-shell > input {
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.team-registration-section .password-input-shell > input:hover,
.team-registration-section .password-input-shell > input:focus,
.team-registration-section .password-input-shell > input:focus-visible {
  border-color: transparent;
  background: transparent;
  outline: 0;
  box-shadow: none;
}

button.password-visibility-toggle {
  display: grid;
  width: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  place-items: center;
  align-self: stretch;
  margin: 0;
  padding: 0;
  border: 0;
  border-left: 1px solid var(--line-subtle);
  border-radius: 0;
  color: var(--ink-secondary);
  background: transparent;
  box-shadow: none;
}

button.password-visibility-toggle:hover {
  color: var(--ink-primary);
  background: var(--surface-muted);
  box-shadow: none;
  transform: none;
}

button.password-visibility-toggle:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: -4px;
  box-shadow: none;
}

.password-visibility-icon {
  display: grid;
  width: 1.25rem;
  height: 1.25rem;
  place-items: center;
}

.password-visibility-icon[hidden] {
  display: none;
}

.password-visibility-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.team-registration-access {
  display: grid;
  gap: 1rem;
  border-color: var(--line-gold);
  background: linear-gradient(145deg, var(--surface) 0%, var(--accent-gold-soft) 100%);
  box-shadow: var(--shadow-subtle);
}

.team-registration-access > p {
  margin: 0;
}

.team-registration-access-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line-gold);
}

.team-registration-access-heading h3,
.team-registration-access-heading p {
  margin: 0;
}

.team-registration-access-heading h3 {
  margin-top: 0.2rem;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.4rem;
}

.team-registration-access-heading p {
  margin-top: 0.25rem;
  color: var(--ink-secondary);
  font-size: 0.86rem;
}

.team-registration-access-badge {
  flex: 0 0 auto;
  padding: 0.4rem 0.62rem;
  border: 1px solid rgba(21, 102, 83, 0.24);
  border-radius: 999px;
  color: var(--state-success);
  background: var(--state-success-soft);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.team-registration-coupon {
  max-width: 440px;
}

.team-registration-coupon-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.team-registration-coupon-control input {
  border-radius: var(--radius-control) 0 0 var(--radius-control);
  color: var(--ink-primary);
  font-weight: 800;
  letter-spacing: 0.08em;
}

.team-registration-coupon-control strong {
  align-self: stretch;
  display: grid;
  place-items: center;
  padding: 0 0.85rem;
  border: 1px solid var(--state-success);
  border-left: 0;
  border-radius: 0 var(--radius-control) var(--radius-control) 0;
  color: var(--state-success);
  background: var(--state-success-soft);
  font-size: 0.78rem;
}

.team-registration-receipt {
  display: grid;
  gap: 0;
  margin: 0;
  border-top: 1px solid var(--line-subtle);
}

.team-registration-receipt > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--line-subtle);
}

.team-registration-receipt dt,
.team-registration-receipt dd {
  margin: 0;
}

.team-registration-receipt dd {
  color: var(--ink-primary);
  font-weight: 750;
  white-space: nowrap;
}

.team-registration-discount-row dt,
.team-registration-discount-row dd {
  color: var(--state-success);
}

.team-registration-total-row {
  color: var(--ink-primary);
  font-size: 1.02rem;
  font-weight: 800;
}

.team-registration-access .team-registration-access-note {
  padding: 0.8rem;
  border-left: 3px solid var(--accent-gold);
  border-radius: var(--radius-control);
  color: var(--ink-secondary);
  background: var(--surface);
}

.team-registration-access-note strong {
  color: var(--ink-primary);
}

.team-registration-complete-receipt {
  display: grid;
  gap: 0.35rem;
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid var(--line-gold);
  border-radius: var(--radius-panel);
  background: var(--accent-gold-soft);
}

.team-registration-complete-receipt span {
  color: var(--state-success);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.team-registration-complete-receipt strong {
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.35rem;
}

.team-registration-complete-receipt small {
  color: var(--ink-secondary);
}

.business-owner-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin-bottom: 1rem;
}

.business-owner-summary-card {
  display: grid;
  gap: 0.25rem;
  padding: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.business-owner-summary-card strong {
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.7rem;
}

.business-owner-summary-card span {
  color: var(--ink-primary);
  font-size: 0.82rem;
  font-weight: 750;
}

.business-owner-summary-card small,
.business-owner-card small,
.business-owner-missing-card small {
  color: var(--ink-tertiary);
}

.business-owner-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.45fr) minmax(230px, 0.55fr);
  gap: 0.85rem;
  padding: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
}

.business-owner-results-note {
  margin: 0.85rem 0;
  color: var(--ink-tertiary);
  font-size: 0.8rem;
  font-weight: 700;
}

.business-owner-directory {
  display: grid;
  gap: 0.75rem;
}

.business-owner-card,
.business-owner-missing-card {
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.business-owner-card > summary,
.business-owner-missing-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.15rem;
}

.business-owner-card > summary {
  cursor: pointer;
}

.business-owner-card[open] > summary {
  border-bottom: 1px solid var(--line-subtle);
  background: var(--surface-soft);
}

.business-owner-card-identity,
.business-owner-card-meta,
.business-owner-card-status {
  display: grid;
  gap: 0.25rem;
}

.business-owner-card-identity strong,
.business-owner-missing-card h2 {
  margin: 0;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.12rem;
}

.business-owner-missing-card p {
  margin: 0.25rem 0 0;
  color: var(--ink-secondary);
}

.business-owner-card-meta,
.business-owner-card-status {
  justify-items: end;
  text-align: right;
}

.business-owner-card-body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding: 1rem;
}

.business-owner-data-group {
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-soft);
}

.business-owner-data-group h3 {
  margin: 0 0 0.75rem;
  color: var(--ink-primary);
  font-size: 0.95rem;
}

.business-owner-data-group dl {
  display: grid;
  gap: 0;
  margin: 0;
}

.business-owner-data-group dl > div {
  display: grid;
  grid-template-columns: minmax(130px, 0.75fr) minmax(0, 1.25fr);
  gap: 0.75rem;
  padding: 0.55rem 0;
  border-top: 1px solid var(--line-subtle);
}

.business-owner-data-group dl > div:first-child {
  border-top: 0;
}

.business-owner-data-group dt {
  color: var(--ink-tertiary);
  font-size: 0.75rem;
  font-weight: 700;
}

.business-owner-data-group dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--ink-primary);
  font-size: 0.84rem;
}

.business-owner-data-group a {
  color: var(--action-primary);
  font-weight: 700;
}

.business-owner-empty-value {
  color: var(--ink-tertiary);
  font-style: italic;
}

@media (max-width: 1100px) {
  .business-owner-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .team-registration-shell {
    width: min(720px, 100%);
    grid-template-columns: 1fr;
  }

  .team-registration-shell > .login-context {
    min-height: 240px;
    padding-top: 2.25rem;
  }

  .business-owner-card-body {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .team-registration-panel {
    padding: 1.25rem;
  }

  .team-registration-grid,
  .business-owner-summary-grid,
  .business-owner-toolbar,
  .business-owner-card > summary,
  .business-owner-missing-card,
  .business-owner-data-group dl > div {
    grid-template-columns: 1fr;
  }

  .business-owner-card-meta,
  .business-owner-card-status {
    justify-items: start;
    text-align: left;
  }

  .team-registration-access-heading {
    align-items: start;
    flex-direction: column;
  }

  .team-registration-progress,
  .team-registration-step-actions,
  .business-owner-onboarding-actions {
    grid-template-columns: 1fr;
  }

  .team-registration-progress > li > strong {
    white-space: normal;
  }
}

@media (max-width: 480px) {
  .dashboard-attention-signal-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-attention-summary,
  .dashboard-priority-workspace,
  .dashboard-journey-handoffs {
    padding: 0.9rem;
  }

  .dashboard-priority-work-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-priority-work-icon,
  .dashboard-priority-work-status,
  .dashboard-priority-work-action {
    grid-column: 1;
    justify-self: start;
  }
}

.lead-filter-panel,
.lead-list-panel {
  background:
    linear-gradient(180deg, var(--workspace-surface-raised), var(--workspace-surface));
  border: 1px solid var(--workspace-line-strong);
  box-shadow: var(--workspace-shadow-surface);
}

.lead-card-grid {
  gap: 1.25rem;
}

.support-layout,
.calendar-owner-grid,
.calendar-entries-layout,
.calendar-sessions-layout,
.calendar-configure-grid {
  gap: var(--workspace-gap-loose);
}

.support-layout > *,
.calendar-session-types-panel,
.calendar-session-list-panel,
.calendar-session-detail-panel,
.calendar-configure-availability-panel,
.calendar-configure-blocked-panel,
.calendar-configure-conflict-panel {
  background:
    linear-gradient(180deg, var(--workspace-surface-raised), var(--workspace-surface));
}

.content-studio-section .item-card,
.settings-content-studio-section .item-card,
.personal-story-section .item-card {
  background:
    linear-gradient(180deg, var(--workspace-surface-raised), var(--workspace-surface));
}

.content-studio-dashboard-card,
.personal-story-card,
.story-version-card {
  border-color: var(--workspace-line);
  box-shadow: var(--workspace-shadow-surface);
}

@media (max-width: 1180px) {
  .workspace-surface-grid {
    grid-template-columns: 1fr;
  }

  .workspace-side-rail {
    position: static;
  }
}

@media (max-width: 900px) {
  .content.workspace-page {
    width: 100%;
    padding: 1rem;
  }

  .workspace-page .item-card,
  .workspace-page .table-card,
  .workspace-focus-panel,
  .workspace-rail-panel {
    box-shadow: var(--shadow-subtle);
  }
}

@media (max-width: 640px) {
  .content.workspace-page {
    padding: 0.85rem;
    gap: 0.85rem;
  }

  .page-header.workspace-header {
    padding: 1rem;
  }

  .workspace-action-row,
  .workspace-summary-strip {
    align-items: stretch;
    flex-direction: column;
  }

  .workspace-action-row > *,
  .workspace-summary-strip > * {
    width: 100%;
  }
}

/* ==========================================================================
   Milestones Business Partner Focused Journey Polish Pass
   ========================================================================== */

.milestones-bp-focused-journey {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1.75rem;
  background: var(--surface);
  border-radius: var(--radius-card);
  border: 1px solid var(--line-subtle);
}

.milestones-bp-header-card {
  background: linear-gradient(135deg, #102e23 0%, #174235 100%);
  color: #f7faf9;
  border-radius: var(--radius-card);
  padding: 2.25rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: var(--shadow-subtle);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.milestones-bp-header-card::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(197, 160, 89, 0.12) 0%, transparent 70%);
  pointer-events: none;
}

.milestones-bp-current-milestone {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.milestones-bp-current-milestone h2 {
  font-family: var(--font-heading);
  font-size: 1.85rem;
  font-weight: 700;
  margin: 0;
  color: #ffffff;
  line-height: 1.25;
}

.milestones-bp-meta-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  font-size: 0.875rem;
  color: #c9ded7;
}

.milestones-bp-next-action-tip {
  background: rgba(255, 255, 255, 0.07);
  border-left: 3px solid var(--accent-gold, #c5a059);
  padding: 0.85rem 1.15rem;
  border-radius: 0 var(--radius-control) var(--radius-control) 0;
  font-size: 0.92rem;
  color: #e3ede9;
  margin: 0.25rem 0 0.5rem 0;
  line-height: 1.45;
}

.milestones-bp-next-action-tip strong {
  color: #ffffff;
}

.milestones-bp-primary-cta {
  display: flex;
  justify-content: flex-start;
}

/* Premium gold-accented Continue checklist button */
.milestones-bp-primary-cta .button-link {
  background: linear-gradient(135deg, #c5a059 0%, #b28e44 100%) !important;
  color: #102e23 !important;
  font-weight: 600 !important;
  border: none !important;
  padding: 0.85rem 2rem !important;
  border-radius: var(--radius-control) !important;
  box-shadow: 0 4px 12px rgba(178, 142, 68, 0.25) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.milestones-bp-primary-cta .button-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(178, 142, 68, 0.35) !important;
}

.milestones-bp-primary-cta .button-link:active {
  transform: translateY(0);
}

.milestones-journey-section.card-like-panel {
  padding: 1.5rem 1.75rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-card);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
}

.milestones-journey-header {
  margin-bottom: 1.25rem;
}

.milestones-journey-header .micro-label {
  color: var(--accent-gold);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.milestones-journey-header h3 {
  margin: 0.25rem 0 0;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
}

.milestones-journey-body {
  padding: 0;
}

/* Progress bar inside the hero card */
.milestones-bp-header-card .milestones-percentage-progress {
  margin-top: 0.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.milestones-bp-header-card .milestones-progress-track {
  background: rgba(255, 255, 255, 0.15) !important;
  height: 8px;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 0.65rem;
}

.milestones-bp-header-card .milestones-progress-track span {
  background: linear-gradient(90deg, #c5a059 0%, #ecd6a5 100%) !important;
  height: 100%;
  display: block;
  border-radius: 4px;
}

.milestones-bp-header-card .milestones-percentage-progress-label {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.15rem;
  color: #ffffff;
}

.milestones-bp-header-card .milestones-tasks-progress-label {
  color: #c9ded7;
  font-size: 0.85rem;
  margin-left: 0.5rem;
}

/* Next Task Highlight Focus Card */
.milestones-next-task-focus-card {
  border: 1px solid var(--line-subtle);
  border-left: 4px solid var(--accent-gold, #c5a059);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
  border-radius: var(--radius-card);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}

.milestones-next-task-focus-card:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-raised);
}

.milestones-next-task-focus-card .card-header {
  background: transparent;
  border-bottom: none;
  padding: 1.5rem 1.75rem 0.5rem 1.75rem;
}

.milestones-next-task-focus-card .card-header .micro-label {
  color: var(--accent-gold, #c5a059);
  font-weight: 700;
  letter-spacing: 0.12em;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.milestones-next-task-focus-card .card-header h3 {
  font-family: var(--font-heading);
  font-size: 1.45rem;
  font-weight: 700;
  margin: 0.35rem 0 0 0;
  color: var(--ink-primary);
  line-height: 1.3;
}

.milestones-next-task-focus-card .panel-body {
  padding: 0 1.75rem 1.75rem 1.75rem;
}

/* Remove inner task preview row borders & background when nested in focus card */
.milestones-next-task-focus-card .setup-task-row {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.75rem !important;
}

/* Hide duplicate heading copy inside Next Task Focus Card */
.milestones-next-task-focus-card .setup-task-heading-copy {
  display: none !important;
}

/* Re-align badges row */
.milestones-next-task-focus-card .setup-task-title {
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: center !important;
  margin-top: 0 !important;
  margin-bottom: 0.25rem !important;
}

.milestones-next-task-focus-card .setup-task-badges {
  margin-top: 0 !important;
  gap: 0.5rem !important;
}

/* Style Next Step tip block to look designed */
.milestones-next-task-focus-card .milestone-task-next-action {
  background: var(--surface-soft);
  border-left: 3px solid var(--accent-gold, #c5a059);
  padding: 0.85rem 1.15rem !important;
  border-radius: 0 var(--radius-control) var(--radius-control) 0 !important;
  font-size: 0.88rem !important;
  color: var(--ink-secondary) !important;
  margin: 0.5rem 0 1rem 0 !important;
  line-height: 1.5 !important;
  display: block !important;
}

.milestones-next-task-focus-card .milestone-task-next-action strong {
  color: var(--ink-primary) !important;
  font-weight: 700;
  display: block;
  margin-bottom: 0.25rem;
}

/* Align and polish buttons in Next Task Card */
.milestones-next-task-focus-card .setup-task-actions {
  display: flex !important;
  gap: 0.75rem !important;
  margin-top: 0.5rem !important;
  justify-content: flex-start !important;
}

.milestones-next-task-focus-card .setup-task-actions .button-link,
.milestones-next-task-focus-card .setup-task-actions button,
.milestones-next-task-focus-card .setup-task-actions .compact-action {
  font-size: 0.85rem !important;
  padding: 0.65rem 1.5rem !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: var(--radius-control) !important;
  font-weight: 600 !important;
  box-shadow: var(--shadow-subtle) !important;
}

/* Designed secondary sections disclosures stack */
.milestones-bp-secondary-sections {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin-top: 0;
}

.milestones-bp-secondary-sections .workspace-command-disclosure {
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.milestones-bp-secondary-sections .workspace-command-disclosure:hover {
  box-shadow: var(--shadow-subtle);
  border-color: var(--line-strong);
}

.milestones-bp-secondary-sections .workspace-command-disclosure summary {
  padding: 1.25rem 1.5rem;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
  background: var(--surface);
  transition: background-color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
}

.milestones-bp-secondary-sections .workspace-command-disclosure summary::-webkit-details-marker {
  display: none;
}

.milestones-bp-secondary-sections .workspace-command-disclosure summary:hover {
  background: var(--surface-soft);
}

/* Softer border & background on opened disclosures - sand gold accent stripe instead of orange */
.milestones-bp-secondary-sections .workspace-command-disclosure[open] {
  border-color: var(--line-strong);
  border-left: 3px solid rgba(197, 160, 89, 0.35);
  box-shadow: var(--shadow-subtle);
}

.milestones-bp-secondary-sections .workspace-command-disclosure[open] summary {
  border-bottom: 1px solid var(--line-subtle);
  background: var(--surface-soft);
}

/* circular chevron and animations for disclosures summary */
.milestones-bp-secondary-sections .workspace-command-disclosure summary::after {
  content: '' !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: 1px solid var(--line-subtle) !important;
  background-color: var(--surface) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px !important;
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease !important;
  transform: none !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  padding: 0 !important;
}

.milestones-bp-secondary-sections .workspace-command-disclosure:hover summary::after {
  border-color: var(--line-strong) !important;
  background-color: var(--surface-soft) !important;
}

/* Softer chevron style when expanded - keep it soft grey background with dark arrow */
.milestones-bp-secondary-sections .workspace-command-disclosure[open] summary::after {
  transform: rotate(90deg) !important;
  background-color: var(--surface-soft) !important;
  border-color: var(--line-strong) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E") !important;
}

.milestones-bp-secondary-sections .workspace-command-disclosure summary span {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  align-items: flex-start;
  text-align: left;
}

.milestones-bp-secondary-sections .workspace-command-disclosure summary strong {
  font-family: var(--font-heading);
  font-size: 0.98rem;
  color: var(--ink-primary);
}

.milestones-bp-secondary-sections .workspace-command-disclosure summary small {
  font-size: 0.8rem;
  color: var(--ink-secondary);
  font-weight: 400;
}

.milestones-bp-secondary-sections .workspace-command-disclosure .workspace-command-body {
  padding: 1.5rem;
  background: var(--surface);
}

/* Compact Supporting Checklist Styling */
.milestones-current-work-section .milestones-task-worklist {
  background: var(--surface-soft);
  border-radius: var(--radius-control);
  padding: 1rem;
  border: 1px solid var(--line-subtle);
}

.milestones-current-work-section .milestones-task-worklist-header {
  margin-bottom: 0.75rem;
}

.milestones-current-work-section .milestones-task-worklist-header h4 {
  font-size: 0.95rem;
  margin: 0.15rem 0;
}

.milestones-current-work-section .milestones-task-worklist-header p {
  font-size: 0.78rem;
  color: var(--ink-secondary);
  margin: 0;
}

/* Compact checklist task row layout */
.milestones-current-work-section .setup-task-row {
  padding: 0.5rem 0.75rem !important;
  border-radius: var(--radius-control) !important;
  margin-bottom: 0.35rem !important;
  border: 1px solid var(--line-subtle) !important;
  background: var(--surface) !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.milestones-current-work-section .setup-task-row:last-child {
  margin-bottom: 0 !important;
}

/* Subtle hover/active states for checklist rows */
.milestones-current-work-section .setup-task-row:hover {
  background-color: var(--surface-soft) !important;
  border-color: var(--line-strong) !important;
  box-shadow: var(--shadow-subtle) !important;
}

.milestones-current-work-section .setup-task-main {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  min-width: 0 !important;
}

/* Make title and badges compact on a single row */
.milestones-current-work-section .setup-task-title {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.75rem !important;
  flex-wrap: wrap !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.milestones-current-work-section .setup-task-heading-copy {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  margin: 0 !important;
}

/* Hide helper text, next steps, blocker notes, and labels in compact checklist mode */
.milestones-current-work-section .milestone-task-next-action,
.milestones-current-work-section .setup-task-blocker-note,
.milestones-current-work-section .milestone-task-linked-support,
.milestones-current-work-section .setup-task-heading-copy span {
  display: none !important;
}

.milestones-current-work-section .setup-task-row:has(> .setup-blocker-form:not([hidden])) {
  align-items: stretch !important;
  flex-wrap: wrap !important;
}

.milestones-current-work-section .setup-task-row > .setup-blocker-form:not([hidden]) {
  display: grid !important;
  flex: 1 0 100%;
  width: 100%;
}

.milestones-current-work-section .setup-task-heading-copy strong {
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: var(--ink-primary) !important;
}

.milestones-current-work-section .setup-task-badges {
  margin-top: 0 !important;
  gap: 0.35rem !important;
  display: inline-flex !important;
  align-items: center !}

.milestones-current-work-section .setup-task-badges .badge {
  font-size: 0.72rem !important;
  padding: 0.1rem 0.4rem !important;
}

.milestones-current-work-section .setup-task-actions {
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

.milestones-current-work-section .setup-task-actions .button-link,
.milestones-current-work-section .setup-task-actions button,
.milestones-current-work-section .setup-task-actions .compact-action {
  font-size: 0.78rem !important;
  padding: 0.45rem 1rem !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: var(--radius-control) !important;
  font-weight: 700 !important;
}

/* Brand Palette Button Polish for milestones journey actions */
/* "Request review", "Start task" and active stepper button get primary brand styles */
.milestones-bp-focused-journey [data-milestone-action="submit"],
.milestones-bp-focused-journey [data-milestone-action="start"] {
  background: linear-gradient(135deg, #c5a059 0%, #b28e44 100%) !important;
  color: #102e23 !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(178, 142, 68, 0.15) !important;
}

.milestones-bp-focused-journey [data-milestone-action="submit"]:hover,
.milestones-bp-focused-journey [data-milestone-action="start"]:hover {
  background: linear-gradient(135deg, #ecd6a5 0%, #c5a059 100%) !important;
  color: #102e23 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(178, 142, 68, 0.25) !important;
}

/* "Need help" gets on-brand warning outline styling */
.milestones-bp-focused-journey [data-milestone-action="stuck"] {
  background: var(--surface) !important;
  color: var(--state-danger, #cc2929) !important;
  border: 1px solid var(--state-danger, #cc2929) !important;
}

.milestones-bp-focused-journey [data-milestone-action="stuck"]:hover {
  background: var(--state-danger-soft, #fdf2f2) !important;
  color: var(--state-danger, #cc2929) !important;
  border-color: var(--state-danger, #cc2929) !important;
  transform: translateY(-1px);
}

/* Stepper button styling specifically for progress path action - Spotlight */
.milestones-journey-section .stepper-reveal-btn {
  font-size: 0.78rem !important;
  padding: 0.45rem 1rem !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: var(--radius-control) !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  box-shadow: 0 4px 14px rgba(197, 160, 89, 0.35) !important;
  border: 1px solid rgba(197, 160, 89, 0.5) !important;
  transition: all 0.2s ease !important;
  flex-shrink: 0 !important;
}

.milestones-journey-section .stepper-reveal-btn:hover {
  box-shadow: 0 6px 18px rgba(197, 160, 89, 0.55) !important;
  transform: translateY(-1px) !important;
  background: linear-gradient(135deg, #ecd6a5 0%, #c5a059 100%) !important;
  border-color: rgba(197, 160, 89, 0.75) !important;
}

/* Compact Timelines/Steppers inside journey card - reduced vertical padding */
.milestones-journey-section .milestones-slanted-stepper {
  margin: 0.25rem 0;
  gap: 0.65rem;
}

.milestones-journey-section .milestones-slanted-stepper::before {
  left: 0.825rem;
  top: 0.75rem;
  bottom: 0.75rem;
}

.milestones-journey-section .stepper-step {
  gap: 0.65rem;
}

.milestones-journey-section .stepper-icon {
  width: 1.65rem;
  height: 1.65rem;
  font-size: 0.75rem;
}

.milestones-journey-section .stepper-content {
  padding: 0.5rem 0.85rem;
  transform: none;
  border-radius: var(--radius-control);
}

.milestones-journey-section .stepper-content > * {
  transform: none;
}

.milestones-journey-section .stepper-title {
  font-size: 0.86rem;
}

.milestones-journey-section .stepper-desc {
  font-size: 0.74rem;
  margin-top: 0.15rem;
  line-height: 1.35;
}

/* Quiet informational note container inside current work */
.milestones-unlock-note-container {
  margin-bottom: 0.85rem;
}

.milestones-unlock-note-container .unlocked-notice-banner {
  margin: 0 !important;
  padding: 0.75rem 1rem !important;
  border-radius: var(--radius-control) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
}

/* Desktop layout optimizations (min-width: 761px) */
@media (min-width: 761px) {
  .milestones-bp-header-card {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 2.5rem;
    align-items: center;
    padding: 1.75rem 2.25rem;
  }

  .milestones-bp-header-card .milestones-percentage-progress {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
  }

  /* Predictable columns alignment for compact checklist list */
  .milestones-current-work-section .setup-task-row {
    display: grid !important;
    grid-template-columns: 1fr 180px 140px !important;
    align-items: center !important;
    gap: 1.25rem !important;
  }

  .milestones-current-work-section .setup-task-main {
    flex: none !important;
    display: block !important;
  }

  .milestones-current-work-section .setup-task-title {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
  }

  .milestones-current-work-section .setup-task-badges {
    display: flex !important;
    justify-content: flex-start !important;
    margin: 0 !important;
  }

  .milestones-current-work-section .setup-task-actions {
    display: flex !important;
    justify-content: flex-end !important;
    margin: 0 !important;
  }
}

/* Mobile specific styling inside 760px */
@media (max-width: 760px) {
  .milestones-bp-header-card {
    padding: 1.5rem;
    gap: 1.25rem;
  }

  .milestones-bp-current-milestone h2 {
    font-size: 1.5rem;
  }

  .milestones-bp-next-action-tip {
    font-size: 0.88rem;
    padding: 0.75rem 1rem;
  }

  .milestones-bp-primary-cta .button-link {
    width: 100%;
    text-align: center;
    justify-content: center;
  }

  .milestones-current-work-section .setup-task-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.75rem !important;
  }

  .milestones-current-work-section .setup-task-actions {
    justify-content: flex-end !important;
  }

  .milestones-journey-section .stepper-title-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
  }

  .milestones-journey-section .stepper-reveal-btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
}

/* ==========================================================================
   Owner Milestones Workspace — Decision-path-first layout
   ========================================================================== */

/* --- Owner Review Header --- */
.owner-review-header {
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--line-subtle);
}

.owner-review-header .micro-label {
  display: block;
  margin-bottom: 0.15rem;
}

.owner-review-member-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ink-primary);
  margin: 0 0 0.5rem 0;
  font-family: var(--font-heading);
  line-height: 1.2;
}

.owner-review-milestone-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.owner-review-milestone-line .micro-label {
  margin: 0;
  font-size: 0.72rem;
  text-transform: uppercase;
  color: var(--ink-tertiary);
  letter-spacing: 0.04em;
}

.owner-review-milestone-label {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ink-primary);
}

.owner-review-status-strip {
  display: inline-flex;
  align-items: center;
}

.owner-operational-state {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.22rem 0.55rem;
  background: var(--surface-muted);
  color: var(--ink-secondary);
  font-size: 0.74rem;
  font-weight: 700;
}

/* --- Recommended Action Block --- */
.owner-recommended-block {
  margin-top: 0 !important;
  margin-bottom: 1.25rem !important;
  padding: 1rem 1.25rem !important;
  background: var(--accent-gold-soft, #fdfaf3) !important;
  border-left: 4px solid var(--accent-gold, #c5a059) !important;
  border-radius: 4px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
}

.owner-recommended-block .micro-label {
  display: block !important;
  color: var(--accent-gold, #c5a059) !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-size: 0.72rem !important;
}

.owner-recommended-text {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--ink-primary, #1e293b) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

.owner-recommended-subtext {
  font-size: 0.85rem !important;
  color: var(--ink-secondary, #475569) !important;
  display: block !important;
  line-height: 1.4 !important;
}

.owner-primary-cta {
  background: linear-gradient(135deg, var(--accent-gold) 0%, var(--accent-gold-muted) 100%);
  color: #fff !important;
  font-weight: 700;
  border: none;
  padding: 0.55rem 1.25rem;
  border-radius: var(--radius-control);
  cursor: pointer;
  font-size: 0.88rem;
  transition: opacity 0.15s, transform 0.1s;
  box-shadow: var(--shadow-subtle);
}

.owner-primary-cta:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

/* --- Actionable Tasks Section --- */
.owner-actionable-tasks-section {
  margin-top: 1.25rem;
}

.owner-tasks-section-header {
  margin-bottom: 0.6rem;
}

.owner-tasks-section-header h3 {
  font-size: 1.16rem;
  font-weight: 700;
  color: var(--ink-primary);
  margin: 0.1rem 0 0 0;
  font-family: var(--font-heading);
}

.owner-tasks-clear-state {
  font-size: 0.88rem;
  color: var(--ink-secondary);
  padding: 1rem 0;
  margin: 0;
}

/* --- Primary Review Task Card --- */
.owner-primary-task-card {
  display: block;
  background: var(--surface);
  border: 2px solid var(--accent-gold);
  border-radius: var(--radius-panel);
  padding: 1.35rem 1.4rem;
  box-shadow: var(--shadow-raised);
  margin-bottom: 1.25rem;
  position: relative;
  overflow: hidden;
}

.owner-primary-task-card.owner-case-monitor {
  border-color: #c4832d;
}

.owner-primary-task-card.owner-case-support {
  border-color: var(--state-danger);
}

.owner-primary-task-card.owner-case-changes {
  border-color: var(--line-strong);
}

.owner-primary-task-card.owner-case-no_review {
  border-color: var(--line-subtle);
  box-shadow: none;
  background: var(--surface-muted);
}

.owner-primary-task-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--accent-gold) 0%, var(--accent-gold-muted) 100%);
}

.owner-primary-task-card.owner-case-monitor::before {
  background: #c4832d;
}

.owner-primary-task-card.owner-case-support::before {
  background: var(--state-danger);
}

.owner-primary-task-card.owner-case-changes::before,
.owner-primary-task-card.owner-case-no_review::before {
  background: var(--line-strong);
}

.owner-primary-case-heading {
  display: grid;
  gap: 0.3rem;
  padding-bottom: 0.7rem;
  margin-bottom: 0.75rem;
  border-bottom: 1px solid var(--line-subtle);
}

.owner-primary-task-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  border-bottom: 1px solid var(--line-subtle);
  padding-bottom: 0.75rem;
}

.owner-primary-task-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--ink-primary);
}

.owner-task-instruction {
  font-size: 0.9rem;
  color: var(--ink-secondary);
  line-height: 1.5;
  margin: 0 0 1rem 0;
}

.owner-task-card-main {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.owner-task-card-header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.owner-task-card-title {
  font-size: 1.03rem;
  font-weight: 700;
  color: var(--ink-primary);
  line-height: 1.25;
}

.owner-task-context {
  font-size: 0.82rem;
  line-height: 1.45;
  margin: 0;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
}

.owner-task-context-warning {
  background: var(--state-warning-soft);
  color: var(--state-warning);
}

.owner-task-context-danger {
  background: var(--state-danger-soft);
  color: var(--state-danger);
}

.owner-task-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  padding-top: 0.5rem;
  margin-top: 0.75rem;
  border-top: 1px solid var(--line-subtle);
}

.owner-primary-task-card > .owner-task-actions {
  margin-top: 1rem;
}

.owner-task-actions .primary-verify {
  background: linear-gradient(135deg, var(--accent-gold) 0%, var(--accent-gold-muted) 100%) !important;
  color: #fff !important;
  font-weight: 700 !important;
  border: none !important;
}

.owner-task-actions .primary-verify:hover {
  opacity: 0.88;
}

.owner-task-actions .owner-primary-cta {
  background: linear-gradient(135deg, var(--accent-gold) 0%, var(--accent-gold-muted) 100%) !important;
  color: #fff !important;
  border: none !important;
  font-weight: 800 !important;
}

.owner-task-actions .owner-monitor-cta {
  background: var(--surface) !important;
  color: var(--ink-primary) !important;
  border: 1px solid var(--line-strong) !important;
}

/* --- Secondary/Other Tasks Section --- */
.owner-secondary-tasks-section {
  margin-top: 1.2rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--line-subtle);
}

.owner-section-subtitle {
  display: block;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  font-weight: 700;
  color: var(--ink-tertiary);
  margin-bottom: 0.55rem;
}

.owner-secondary-task-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.owner-secondary-task-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0.58rem 0.78rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: rgba(255, 254, 251, 0.56);
  opacity: 0.78;
}

.owner-secondary-task-row:hover,
.owner-override-row:hover {
  background-color: var(--surface);
  opacity: 1;
}

.owner-primary-task-card:hover {
  background-color: var(--surface);
}

.owner-secondary-task-row .owner-task-card-main {
  flex: 1;
}

.owner-secondary-task-row .owner-task-card-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.owner-secondary-task-row .owner-task-card-title {
  font-size: 0.83rem;
  font-weight: 600;
  color: var(--ink-secondary);
}

.owner-secondary-task-row .owner-task-actions {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}

.owner-secondary-task-row .owner-task-actions .secondary {
  padding: 0.34rem 0.68rem;
  font-size: 0.74rem;
}

/* --- Show all tasks disclosure --- */
.owner-all-tasks-disclosure {
  margin-top: 0.75rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
}

.owner-all-tasks-disclosure > summary {
  padding: 0.65rem 1rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink-secondary);
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.owner-all-tasks-disclosure > summary::-webkit-details-marker {
  display: none;
}

.owner-all-tasks-disclosure > summary::before {
  content: "▸ ";
}

.owner-all-tasks-disclosure[open] > summary::before {
  content: "▾ ";
}

.owner-all-tasks-body {
  padding: 0 1rem 0.75rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* --- Override disclosure --- */
.owner-override-disclosure {
  margin-top: 1rem;
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-control);
}

.owner-override-disclosure > summary {
  padding: 0.55rem 1rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ink-tertiary);
  cursor: pointer;
  list-style: none;
  user-select: none;
  letter-spacing: 0.02em;
}

.owner-override-disclosure > summary::-webkit-details-marker {
  display: none;
}

.owner-override-disclosure > summary::before {
  content: "▸ ";
}

.owner-override-disclosure[open] > summary::before {
  content: "▾ ";
}

.owner-override-body {
  padding: 0 1rem 0.75rem 1rem;
}

.owner-override-notice {
  font-size: 0.8rem;
  color: var(--state-warning);
  margin: 0 0 0.75rem 0;
  line-height: 1.45;
}

.owner-override-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--line-subtle);
  font-size: 0.85rem;
}

.owner-override-row:last-child {
  border-bottom: none;
}

.owner-override-row > span:first-child {
  flex: 1;
  font-weight: 500;
  color: var(--ink-primary);
}

.owner-override-btn {
  background: transparent;
  color: var(--ink-tertiary);
  border: 1px dashed var(--line-strong);
  font-size: 0.74rem;
  font-weight: 600;
  padding: 0.3rem 0.7rem;
  border-radius: var(--radius-control);
  cursor: pointer;
  white-space: nowrap;
}

.owner-override-btn:hover {
  background: var(--surface-soft);
  color: var(--ink-secondary);
  border-color: var(--ink-secondary);
}

/* --- Full checklist context disclosure --- */
.owner-context-disclosure {
  margin-top: 1.25rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
}

.owner-context-disclosure > summary {
  padding: 0.65rem 1rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink-secondary);
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.owner-context-disclosure > summary::-webkit-details-marker {
  display: none;
}

.owner-context-disclosure > summary::before {
  content: "▸ ";
}

.owner-context-disclosure[open] > summary::before {
  content: "▾ ";
}

.owner-context-disclosure-body {
  padding: 0 1rem 1rem 1rem;
}

.owner-deferred-task-stack {
  display: grid;
  gap: 0.5rem;
  margin-top: 0.9rem;
  opacity: 0.76;
}

/* --- Quieter Stats Sidebar --- */
.owner-milestones-layout .milestones-stats-sidebar {
  opacity: 0.54;
  gap: 0.85rem;
}

.owner-milestones-layout .milestones-stats-sidebar .item-card {
  background: rgba(255, 254, 251, 0.62) !important;
  border: 1px solid var(--line-subtle) !important;
  box-shadow: none !important;
}

.owner-milestones-layout .milestones-stats-sidebar .workspace-command-body {
  opacity: 0.82;
}

.owner-milestones-layout .milestones-stats-sidebar .workspace-command-disclosure summary {
  color: var(--ink-secondary) !important;
  font-size: 0.8rem !important;
}

.owner-milestones-layout .milestones-stats-sidebar .workspace-command-disclosure summary strong {
  font-weight: 600 !important;
}

.owner-milestones-layout .milestones-stats-sidebar .card-header h3 {
  font-size: 0.96rem;
}

.owner-milestones-layout .milestones-stats-sidebar .panel-body {
  font-size: 0.82rem;
}

/* --- Owner Milestones flat 3-column layout on desktop --- */
.milestones-three-column-grid.owner-milestones-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(380px, 1.35fr) minmax(300px, 0.8fr) !important;
  gap: 1.25rem;
  align-items: start;
}

/* --- Mobile responsive — decision path stacking --- */
@media (max-width: 1024px) {
  .milestones-three-column-grid.owner-milestones-layout {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .owner-milestones-layout .milestones-member-detail {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .owner-milestones-layout .milestones-member-sidebar {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .owner-milestones-layout .milestones-stats-sidebar {
    order: 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 760px) {
  .milestones-primary-workspace {
    display: flex !important;
    flex-direction: column !important;
  }
  .milestones-member-detail {
    order: 1 !important;
  }
  .milestones-member-sidebar {
    order: 2 !important;
  }
  .milestones-stats-sidebar {
    order: 3 !important;
  }

  .owner-review-member-name {
    font-size: 1.25rem;
  }

  .owner-recommended-block {
    border-left: none;
    border-top: 3px solid var(--accent-gold);
    border-radius: 0 0 var(--radius-control) var(--radius-control);
  }

  .owner-review-milestone-line {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
  }

  .owner-task-card-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
  }

  .owner-task-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .owner-override-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
  }
}

/* --- Premium Owner Review Header Card Design (BP parity alignment) --- */
.owner-review-header-card {
  background: linear-gradient(135deg, #102e23 0%, #174235 100%) !important;
  color: #f7faf9 !important;
  border-radius: var(--radius-card) !important;
  padding: 2.25rem !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: var(--shadow-subtle) !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.owner-review-header-card::before {
  content: '' !important;
  position: absolute !important;
  top: -50% !important;
  right: -20% !important;
  width: 300px !important;
  height: 300px !important;
  background: radial-gradient(circle, rgba(197, 160, 89, 0.12) 0%, transparent 70%) !important;
  pointer-events: none !important;
}

.owner-review-header-card .micro-label {
  color: var(--accent-gold, #c5a059) !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  font-size: 0.72rem !important;
  margin-bottom: 0.35rem !important;
  display: block !important;
  text-transform: uppercase !important;
}

.owner-review-header-card h2 {
  font-family: var(--font-heading) !important;
  font-size: 1.85rem !important;
  font-weight: 700 !important;
  margin: 0 !important;
  color: #ffffff !important;
  line-height: 1.25 !important;
}

.owner-review-header-card .owner-review-milestone-line {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  flex-wrap: wrap !important;
  font-size: 0.875rem !important;
  color: #c9ded7 !important;
}

.owner-review-header-card .owner-review-milestone-label {
  font-weight: 600 !important;
  color: #ffffff !important;
}

.owner-review-header-card .owner-operational-state {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  font-weight: 700 !important;
  font-size: 0.74rem !important;
}

.owner-review-header-card .milestones-percentage-progress {
  margin-top: 0.5rem !important;
  padding-top: 0 !important;
  border-top: none !important;
  color: #ffffff !important;
}

.owner-review-header-card .milestones-progress-track {
  background: rgba(255, 255, 255, 0.15) !important;
  height: 8px !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  margin-bottom: 0.65rem !important;
}

.owner-review-header-card .milestones-progress-track span {
  background: linear-gradient(90deg, #c5a059 0%, #ecd6a5 100%) !important;
  height: 100% !important;
  display: block !important;
  border-radius: 4px !important;
}

.owner-review-header-card .milestones-percentage-progress-label {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
  color: #ffffff !important;
}

.owner-review-header-card .milestones-tasks-progress-label {
  color: #c9ded7 !important;
  font-size: 0.82rem !important;
  margin-left: 0.5rem !important;
}

/* --- Owner Header Card Top Row & Shepherd Dropdown --- */
.owner-review-header-top-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: 1.5rem !important;
  flex-wrap: wrap !important;
}

.owner-review-member-identity {
  flex: 1 !important;
  min-width: 200px !important;
}

.owner-shepherd-dropdown-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
  min-width: 220px !important;
}

.owner-shepherd-select {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: var(--radius-control) !important;
  padding: 0.4rem 0.75rem !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  outline: none !important;
  width: 100% !important;
  height: 38px !important;
}

.owner-shepherd-select option {
  background: #174235 !important;
  color: #ffffff !important;
}

/* --- View Milestone Stepper Disclosure inside Card --- */
.owner-view-milestone-disclosure {
  margin-top: 0.75rem !important;
  width: 100% !important;
}

.owner-view-milestone-disclosure > summary {
  list-style: none !important;
  outline: none !important;
  cursor: default !important;
}

.owner-view-milestone-disclosure > summary::-webkit-details-marker {
  display: none !important;
}

.owner-progress-labels-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 1.5rem !important;
  width: 100% !important;
}

.owner-view-milestone-btn {
  background: var(--accent-gold, #c5a059) !important;
  color: #102e23 !important;
  border: 1px solid var(--accent-gold) !important;
  font-weight: 700 !important;
  padding: 0.45rem 1rem !important;
  border-radius: var(--radius-control) !important;
  font-size: 0.8rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

.owner-view-milestone-btn:hover {
  background: #ecd6a5 !important;
  border-color: #ecd6a5 !important;
}

.owner-view-milestone-btn::after {
  content: " ▾" !important;
  margin-left: 0.5rem !important;
  font-size: 0.75rem !important;
}

.owner-view-milestone-disclosure[open] .owner-view-milestone-btn::after {
  content: " ▴" !important;
}

.owner-view-milestone-body {
  margin-top: 1rem !important;
  padding: 1.5rem !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: var(--radius-card) !important;
}

/* Glassmorphism overrides for slanted stepper inside dark forest green card */
.owner-view-milestone-body .milestones-slanted-stepper::before {
  background: rgba(255, 255, 255, 0.12) !important;
}

.owner-view-milestone-body .stepper-icon {
  background: #102e23 !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

.owner-view-milestone-body .stepper-icon.is-completed {
  background: var(--state-success) !important;
  border-color: var(--state-success) !important;
  color: #ffffff !important;
}

.owner-view-milestone-body .stepper-icon.is-active {
  background: rgba(197, 160, 89, 0.2) !important;
  border-color: var(--accent-gold) !important;
  color: #ffffff !important;
}

.owner-view-milestone-body .stepper-content {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: none !important;
}

.owner-view-milestone-body .stepper-content.is-active {
  border-color: var(--accent-gold, #c5a059) !important;
  background: rgba(197, 160, 89, 0.12) !important;
  box-shadow: 0 0 10px rgba(197, 160, 89, 0.1) !important;
}

.owner-view-milestone-body .stepper-content.is-completed {
  border-color: rgba(163, 226, 203, 0.25) !important;
  background: rgba(21, 102, 83, 0.15) !important;
}

.owner-view-milestone-body .stepper-title {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
}

.owner-view-milestone-body .stepper-content.is-active .stepper-title {
  color: #ffffff !important;
  font-weight: 700 !important;
}

.owner-view-milestone-body .stepper-content.is-completed .stepper-title {
  color: #ffffff !important;
  font-weight: 700 !important;
}

.owner-view-milestone-body .stepper-desc {
  color: rgba(201, 222, 215, 0.5) !important;
  font-size: 0.8rem !important;
  line-height: 1.45 !important;
}

.owner-view-milestone-body .stepper-content.is-active .stepper-desc {
  color: #ffffff !important;
}

.owner-view-milestone-body .stepper-content.is-completed .stepper-desc {
  color: #c9ded7 !important;
}

.owner-view-milestone-body .stepper-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

.owner-view-milestone-body .stepper-icon.is-future {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  color: rgba(255, 255, 255, 0.4) !important;
}

/* --- Members Sidebar Selector Hover Background Tint --- */
.member-selector-card:hover {
  background: #f0f5f3 !important;
  border-color: var(--accent-gold, #c5a059) !important;
}

.member-selector-card.is-selected:hover {
  background: var(--soft-accent) !important;
  border-color: var(--action-primary) !important;
}

/* --- Stepper Active Milestone Tasks Dropdown --- */
.owner-active-stepper-tasks-disclosure {
  width: 100% !important;
}

.owner-active-stepper-summary {
  list-style: none !important;
  outline: none !important;
  cursor: pointer !important;
}

.owner-active-stepper-summary::-webkit-details-marker {
  display: none !important;
}

.owner-active-stepper-dropdown-trigger {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  color: var(--accent-gold, #c5a059) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border: 1px solid rgba(197, 160, 89, 0.3) !important;
  border-radius: var(--radius-control) !important;
  padding: 0.2rem 0.5rem !important;
  background: rgba(197, 160, 89, 0.08) !important;
  transition: all 0.2s ease !important;
}

.owner-active-stepper-summary:hover .owner-active-stepper-dropdown-trigger {
  background: rgba(197, 160, 89, 0.15) !important;
  border-color: var(--accent-gold, #c5a059) !important;
}

.owner-active-stepper-tasks-list {
  margin-top: 0.85rem !important;
  padding-top: 0.85rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.stepper-tasks-dropdown-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}

.stepper-task-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 1.25rem !important;
  font-size: 0.82rem !important;
  color: #e2f0eb !important;
  padding: 0.45rem 0.75rem !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border-radius: 4px !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  transition: all 0.2s ease !important;
}

.stepper-task-item:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

.stepper-task-title {
  font-weight: 500 !important;
}

.stepper-task-left {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  flex-grow: 1 !important;
  min-width: 0 !important;
}

.owner-active-stepper-tasks-list .owner-override-btn {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: var(--radius-control) !important;
  padding: 0.25rem 0.55rem !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  flex-shrink: 0 !important;
  line-height: 1.2 !important;
}

.owner-active-stepper-tasks-list .owner-override-btn:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
}

/* --- Horizontal Metrics Top Dashboard --- */
.milestones-owner-dashboard-wrapper {
  margin-bottom: 1.5rem !important;
}

.milestones-owner-dashboard {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.25rem !important;
}

.milestones-owner-dashboard .dashboard-metric-card {
  background: var(--surface) !important;
  border: 1px solid var(--line-subtle) !important;
  border-radius: var(--radius-card) !important;
  padding: 1.5rem !important;
  box-shadow: var(--shadow-subtle) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  transition: all 0.25s ease !important;
  border-left-width: 4px !important;
}

.milestones-owner-dashboard .dashboard-metric-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-raised) !important;
}

/* --- 2-Column Owner Grid (Right Sidebar Removed) --- */
.milestones-three-column-grid.owner-milestones-layout.no-stats-sidebar {
  grid-template-columns: minmax(280px, 0.85fr) minmax(380px, 2.15fr) !important;
}

@media (max-width: 1024px) {
  .milestones-three-column-grid.owner-milestones-layout.no-stats-sidebar {
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
}

/* --- Custom Confirmation Dialog Modal --- */
.custom-confirm-dialog {
  border: 1px solid var(--line-subtle) !important;
  background: var(--surface) !important;
  border-radius: var(--radius-card) !important;
  padding: 1.5rem !important;
  max-width: 400px !important;
  box-shadow: var(--shadow-raised) !important;
  color: var(--text-main) !important;
  margin: auto !important;
}

.custom-confirm-dialog::backdrop {
  background: rgba(0, 0, 0, 0.6) !important;
  backdrop-filter: blur(4px) !important;
}

.custom-confirm-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
}

.custom-confirm-message {
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  color: var(--text-main) !important;
}

.custom-confirm-actions {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 0.75rem !important;
}

.custom-confirm-actions button {
  padding: 0.5rem 1rem !important;
  font-size: 0.85rem !important;
}

/* --- Custom Confirmation Dialog Button States --- */
.custom-confirm-actions button {
  padding: 0.5rem 1.25rem !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.custom-confirm-actions .btn-cancel {
  background: transparent !important;
  border: 1px solid var(--line-subtle) !important;
  color: var(--ink-secondary) !important;
}

.custom-confirm-actions .btn-cancel:hover {
  background: var(--canvas-soft) !important;
  color: var(--ink-primary) !important;
}

.custom-confirm-actions .btn-confirm {
  background: var(--accent-gold) !important;
  border: 1px solid var(--accent-gold) !important;
  color: var(--ink-inverse) !important;
}

.custom-confirm-actions .btn-confirm:hover {
  background: var(--accent-gold-muted) !important;
  border-color: var(--accent-gold-muted) !important;
  box-shadow: 0 0 8px rgba(196, 131, 45, 0.3) !important;
}

/* --- Metric Card Left Accents --- */
.milestones-owner-dashboard .dashboard-metric-card.metric-stuck {
  border-left: 4px solid var(--state-danger) !important;
}

.milestones-owner-dashboard .dashboard-metric-card.metric-pending {
  border-left: 4px solid var(--state-warning) !important;
}

.milestones-owner-dashboard .dashboard-metric-card.metric-workloads {
  border-left: 4px solid var(--state-success) !important;
}

/* --- Workload Items --- */
.milestones-owner-dashboard .workload-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  margin-top: 0.25rem !important;
}

.milestones-owner-dashboard .workload-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  padding: 0.5rem 0.75rem !important;
  background: var(--canvas-soft) !important;
  border-radius: 8px !important;
  border: 1px solid var(--line-subtle) !important;
}

.milestones-owner-dashboard .workload-avatar {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: var(--surface-strong) !important;
  color: var(--ink-inverse) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-transform: uppercase !important;
}

.milestones-owner-dashboard .workload-info {
  display: flex !important;
  flex-direction: column !important;
}

.milestones-owner-dashboard .workload-name {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--ink-primary) !important;
}

.milestones-owner-dashboard .workload-count {
  font-size: 0.75rem !important;
  color: var(--ink-secondary) !important;
}

/* Revamped Calendar Entries styles */
.calendar-overview-stats {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 1rem !important;
  margin-bottom: 1.5rem !important;
}

.calendar-overview-stats .stat-card {
  display: flex !important;
  align-items: center !important;
  gap: 1.25rem !important;
  padding: 1.25rem !important;
  background: var(--panel) !important;
  border: 1px solid var(--line-subtle) !important;
  border-top: 3px solid var(--line-subtle) !important;
  border-radius: 6px !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02), 0 1px 2px rgba(0, 0, 0, 0.03) !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.calendar-overview-stats .stat-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-raised) !important;
  border-color: var(--line-strong) !important;
}

.calendar-overview-stats .stat-card.card-leads {
  border-top-color: var(--accent-gold) !important;
}
.calendar-overview-stats .stat-card.card-scheduled {
  border-top-color: #10b981 !important;
}
.calendar-overview-stats .stat-card.card-review {
  border-top-color: #f59e0b !important;
}
.calendar-overview-stats .stat-card.card-outcomes {
  border-top-color: #8b5cf6 !important;
}

.member-overview-stats {
  margin-bottom: 0 !important;
}

.calendar-overview-stats .stat-card.member-stat-card {
  color: inherit !important;
  text-decoration: none !important;
}

.calendar-overview-stats .stat-card.member-stat-card:focus-visible {
  outline: 3px solid var(--focus-ring) !important;
  outline-offset: 2px !important;
}

.calendar-overview-stats .stat-card.card-members {
  border-top-color: var(--accent-gold) !important;
}

.calendar-overview-stats .stat-card.card-rising {
  border-top-color: var(--state-warning) !important;
}

.calendar-overview-stats .stat-card.card-shepherds {
  border-top-color: var(--state-success) !important;
}

.calendar-overview-stats .stat-card.card-attention {
  border-top-color: var(--state-danger) !important;
}

.calendar-overview-stats .stat-icon-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 8px !important;
  background: var(--surface-soft) !important;
  color: var(--muted) !important;
  transition: all 0.2s ease !important;
}

.calendar-overview-stats .stat-card:hover .stat-icon-wrapper {
  transform: scale(1.05) !important;
}

.calendar-overview-stats .stat-icon-wrapper.success {
  background: rgba(16, 185, 129, 0.08) !important;
  color: #10b981 !important;
}

.calendar-overview-stats .stat-icon-wrapper.info {
  background: rgba(196, 131, 45, 0.08) !important;
  color: var(--accent-gold) !important;
}

.calendar-overview-stats .stat-icon-wrapper.warning {
  background: rgba(245, 158, 11, 0.08) !important;
  color: #f59e0b !important;
}

.calendar-overview-stats .stat-icon-wrapper.danger {
  background: var(--state-danger-soft) !important;
  color: var(--state-danger) !important;
}

.calendar-overview-stats .stat-icon-wrapper.audit {
  background: rgba(139, 92, 246, 0.08) !important;
  color: #8b5cf6 !important;
}

.calendar-overview-stats .stat-card-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.15rem !important;
}

.calendar-overview-stats .stat-title {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: var(--ink-secondary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.calendar-overview-stats .stat-value {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--ink-primary) !important;
  line-height: 1.2 !important;
}

.calendar-overview-stats .stat-meta {
  font-size: 0.72rem !important;
  color: var(--ink-tertiary) !important;
  margin-top: 0.15rem !important;
}

.calendar-filters-bar {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.75rem !important;
  padding: 0.75rem 1rem !important;
  background: var(--panel) !important;
  border: 1px solid var(--line-subtle) !important;
  border-radius: 6px !important;
  margin-bottom: 1.5rem !important;
}

.calendar-filter-heading {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  flex: 1 0 100% !important;
}

.calendar-filter-heading > div {
  display: grid !important;
  gap: 0.15rem !important;
}

.calendar-filter-heading > div > strong {
  color: var(--ink-primary) !important;
  font-size: 0.92rem !important;
}

.calendar-filter-count {
  color: var(--ink-secondary) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
}

.calendar-filters-bar .filter-search-wrap {
  position: relative !important;
  flex: 1 1 250px !important;
  max-width: 320px !important;
}

.calendar-filters-bar .filter-search-wrap .search-icon {
  position: absolute !important;
  left: 0.75rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: var(--ink-tertiary) !important;
  display: flex !important;
  align-items: center !important;
}

.calendar-filters-bar .filter-search-wrap input {
  width: 100% !important;
  height: 36px !important;
  padding-left: 2.25rem !important;
  border-radius: 4px !important;
  border: 1px solid var(--line-strong) !important;
  background: var(--panel) !important;
  font-size: 0.85rem !important;
}

.calendar-filters-bar .filter-selects {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.5rem !important;
  flex: 2 1 auto !important;
}

.calendar-filters-bar select.filter-select {
  flex: 1 1 150px !important;
  max-width: 200px !important;
  height: 36px !important;
  padding: 0.35rem 2rem 0.35rem 0.5rem !important;
  border-radius: 4px !important;
  border: 1px solid var(--line-strong) !important;
  background: var(--panel) !important;
  font-size: 0.82rem !important;
  width: auto !important;
}

.calendar-filters-bar .date-input {
  width: 130px !important;
  height: 36px !important;
  padding: 0.35rem 0.5rem !important;
  border-radius: 4px !important;
  border: 1px solid var(--line-strong) !important;
  background: var(--panel) !important;
  font-size: 0.82rem !important;
}

.panel-header-title-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100%;
}

.close-panel-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.25rem !important;
  background: transparent !important;
  border: none !important;
  color: var(--ink-tertiary) !important;
  cursor: pointer !important;
  border-radius: 4px !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}

.close-panel-btn:hover {
  background: var(--surface-soft) !important;
  color: var(--ink-primary) !important;
}

.pagination-footer {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 1rem 1.25rem !important;
  background: var(--surface-soft) !important;
  border-top: 1px solid var(--line-subtle) !important;
  border-bottom-left-radius: 6px !important;
  border-bottom-right-radius: 6px !important;
  gap: 1rem !important;
}

.pagination-info {
  font-size: 0.82rem !important;
  color: var(--ink-secondary) !important;
  flex: 1 1 auto !important;
}

.pagination-controls {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.25rem !important;
  flex: 0 0 auto !important;
}

.pagination-page-btn,
.pagination-nav-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 32px !important;
  height: 32px !important;
  padding: 0 0.5rem !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: var(--ink-secondary) !important;
  background: var(--panel) !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

.pagination-page-btn:hover,
.pagination-nav-btn:hover:not(:disabled) {
  background: var(--surface) !important;
  color: var(--ink-primary) !important;
  border-color: var(--ink-tertiary) !important;
}

.pagination-page-btn.active {
  background: var(--ink-primary) !important;
  color: var(--surface) !important;
  border-color: var(--ink-primary) !important;
}

.pagination-nav-btn:disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}

.pagination-limit {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-size: 0.82rem !important;
  color: var(--ink-secondary) !important;
  flex: 0 0 auto !important;
}

.pagination-limit select {
  width: auto !important;
  min-width: 70px !important;
  height: 32px !important;
  padding: 0.25rem 0.5rem !important;
  font-size: 0.82rem !important;
  border-radius: 4px !important;
  background: var(--panel) !important;
  border: 1px solid var(--line-strong) !important;
}

.session-cell {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

.session-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 4px !important;
  background: var(--surface-soft) !important;
  color: var(--ink-secondary) !important;
}

.session-icon.discovery {
  background: rgba(16, 185, 129, 0.1) !important;
  color: #10b981 !important;
}

.session-icon.strategy {
  background: rgba(59, 130, 246, 0.1) !important;
  color: #3b82f6 !important;
}

.datetime-cell {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.15rem !important;
}

.actions-cell {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
}

.calendar-entry-text-action {
  min-height: 2rem !important;
  white-space: nowrap !important;
  font-size: 0.78rem !important;
  font-weight: 750 !important;
}

.select-column {
  width: 3.1rem !important;
  text-align: center !important;
}

.calendar-entry-select-control {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 2rem !important;
  min-height: 2rem !important;
}

.calendar-entry-select-control input {
  width: 1rem !important;
  height: 1rem !important;
  accent-color: var(--action-primary) !important;
  cursor: pointer !important;
}

.table tr.active-row {
  background: rgba(16, 185, 129, 0.04) !important;
}

.calendar-entry-selection-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
  margin: 0.8rem 0 0 !important;
  padding: 0.75rem 0.85rem !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-control) !important;
  background: var(--surface-muted) !important;
}

.calendar-entry-selection-toolbar.is-empty {
  color: var(--ink-secondary) !important;
  font-size: 0.84rem !important;
}

.calendar-entry-selection-summary {
  display: grid !important;
  gap: 0.12rem !important;
  min-width: 0 !important;
}

.calendar-entry-selection-summary strong {
  color: var(--ink-primary) !important;
  font-size: 0.92rem !important;
}

.calendar-entry-selection-summary span {
  color: var(--ink-secondary) !important;
  font-size: 0.8rem !important;
}

.calendar-entry-selection-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 0.5rem !important;
}

.calendar-entry-cancel-dialog {
  width: min(32rem, calc(100vw - 2rem)) !important;
  border: 1px solid var(--line-subtle) !important;
  border-radius: var(--radius-panel) !important;
  background: var(--surface) !important;
  padding: 0 !important;
  color: var(--ink-primary) !important;
  box-shadow: var(--shadow-raised) !important;
}

.calendar-entry-cancel-dialog::backdrop {
  background: rgba(16, 38, 32, 0.58) !important;
  backdrop-filter: blur(3px) !important;
}

.calendar-entry-cancel-form {
  display: grid !important;
  gap: 1rem !important;
  padding: 1.35rem !important;
}

.calendar-entry-cancel-copy,
.calendar-entry-cancel-form > label {
  display: grid !important;
  gap: 0.45rem !important;
}

.calendar-entry-cancel-copy h2,
.calendar-entry-cancel-copy p {
  margin: 0 !important;
}

.calendar-entry-cancel-copy h2 {
  color: var(--state-danger) !important;
  font-size: 1.2rem !important;
}

.calendar-entry-cancel-copy p,
.calendar-entry-cancel-form > label {
  color: var(--ink-secondary) !important;
  font-size: 0.86rem !important;
  line-height: 1.5 !important;
}

.calendar-entry-cancel-actions {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 0.55rem !important;
}

.calendar-entry-cancel-actions .danger-action:not(:disabled),
.calendar-entry-selection-actions .danger-action:not(:disabled) {
  border-color: var(--state-danger) !important;
  background: var(--state-danger) !important;
  color: var(--accent-ink) !important;
}

@media (max-width: 720px) {
  .calendar-filter-heading,
  .calendar-entry-cancel-actions {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .calendar-filter-count {
    align-self: flex-start !important;
  }
}

.calendar-entry-detail-nav {
  justify-content: space-between !important;
}

.calendar-entry-detail-layout {
  display: grid !important;
  gap: 1rem !important;
}

.calendar-entry-detail-layout:not(.is-updating) .calendar-session-outcome-panel {
  border-top: 1px solid var(--line) !important;
  padding-top: 1rem !important;
}

.calendar-entry-booking-panel .panel-body {
  display: grid !important;
  gap: 1rem !important;
}

.calendar-booking-brief {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  padding: 1rem !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-panel) !important;
  background:
    linear-gradient(180deg, var(--surface), var(--surface-soft)) !important;
}

.calendar-booking-brief-main {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.85rem !important;
  min-width: 0 !important;
}

.calendar-booking-avatar {
  display: inline-grid !important;
  place-items: center !important;
  width: 3.15rem !important;
  height: 3.15rem !important;
  border: 1px solid var(--line-gold) !important;
  border-radius: 10px !important;
  background: var(--accent-gold-soft) !important;
  color: var(--action-primary) !important;
  font-family: var(--font-heading) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
}

.calendar-booking-title-block {
  display: grid !important;
  gap: 0.18rem !important;
  min-width: 0 !important;
}

.calendar-booking-title-block h2 {
  margin: 0 !important;
  color: var(--ink-primary) !important;
  font-family: var(--font-heading) !important;
  font-size: 1.35rem !important;
  line-height: 1.2 !important;
}

.calendar-booking-title-block p {
  margin: 0 !important;
  color: var(--ink-secondary) !important;
  font-size: 0.9rem !important;
  line-height: 1.45 !important;
}

.calendar-booking-badge-list {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 0.35rem !important;
}

.calendar-booking-stat-strip {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-panel) !important;
  overflow: hidden !important;
  background: var(--surface) !important;
}

.calendar-booking-stat {
  display: grid !important;
  gap: 0.22rem !important;
  min-width: 0 !important;
  padding: 0.85rem 1rem !important;
  border-right: 1px solid var(--line) !important;
}

.calendar-booking-stat:last-child {
  border-right: 0 !important;
}

.calendar-booking-stat span,
.calendar-booking-fact span {
  color: var(--ink-secondary) !important;
  font-size: 0.68rem !important;
  font-weight: 760 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

.calendar-booking-stat strong,
.calendar-booking-fact strong {
  min-width: 0 !important;
  color: var(--ink-primary) !important;
  font-size: 0.92rem !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}

.calendar-booking-relationship,
.calendar-booking-context-card,
.calendar-booking-update-summary,
.calendar-booking-update-section {
  display: grid !important;
  gap: 0.8rem !important;
  min-width: 0 !important;
  padding: 1rem !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-panel) !important;
  background: var(--surface) !important;
}

.calendar-booking-relationship {
  border-left: 3px solid var(--action-primary) !important;
}

.calendar-booking-relationship h3,
.calendar-booking-context-card h3 {
  margin: 0 !important;
}

.calendar-booking-relationship-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.65rem !important;
}

.calendar-booking-fact {
  display: grid !important;
  gap: 0.22rem !important;
  min-width: 0 !important;
  padding: 0.75rem !important;
  border: 1px solid var(--line-subtle) !important;
  border-radius: var(--radius-control) !important;
  background: var(--surface-muted) !important;
}

.calendar-booking-fact.wide {
  grid-column: 1 / -1 !important;
}

.calendar-booking-action-row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 0.5rem !important;
  padding-top: 0.15rem !important;
}

.calendar-booking-context-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  align-items: start !important;
}

.calendar-booking-outcome-card {
  grid-column: 1 / -1 !important;
}

.calendar-booking-mini-list {
  display: grid !important;
  gap: 0.6rem !important;
}

.calendar-booking-mini-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 0.75rem !important;
  align-items: center !important;
  min-width: 0 !important;
  padding: 0.72rem !important;
  border: 1px solid var(--line-subtle) !important;
  border-radius: var(--radius-control) !important;
  background: var(--surface-muted) !important;
}

.calendar-booking-mini-row > div {
  display: grid !important;
  gap: 0.16rem !important;
  min-width: 0 !important;
}

.calendar-booking-mini-row strong {
  color: var(--ink-primary) !important;
  font-size: 0.92rem !important;
  overflow-wrap: anywhere !important;
}

.calendar-booking-mini-row > div > span {
  color: var(--ink-secondary) !important;
  font-size: 0.82rem !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere !important;
}

.calendar-entry-booking-update-panel > .card-header {
  border-left: 3px solid var(--line-gold) !important;
}

.calendar-booking-update-summary {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  background:
    linear-gradient(180deg, var(--surface-soft), var(--surface)) !important;
}

.calendar-booking-update-summary strong,
.calendar-booking-update-summary span {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

.calendar-booking-update-summary strong {
  color: var(--ink-primary) !important;
  font-family: var(--font-heading) !important;
  font-size: 1.08rem !important;
}

.calendar-booking-update-summary > span {
  color: var(--ink-secondary) !important;
  font-size: 0.88rem !important;
}

.calendar-booking-update-stack {
  display: grid !important;
  gap: 1rem !important;
}

.calendar-booking-update-section {
  padding: 1rem !important;
}

.calendar-booking-update-section .calendar-session-host-form,
.calendar-booking-update-section .calendar-session-outcome-form,
.calendar-booking-update-section .calendar-session-status-form {
  padding-top: 0 !important;
  border-top: 0 !important;
}

@media (max-width: 920px) {
  .calendar-booking-stat-strip,
  .calendar-booking-context-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .calendar-booking-stat-strip,
  .calendar-booking-relationship-grid,
  .calendar-booking-context-grid,
  .calendar-booking-update-summary {
    grid-template-columns: 1fr !important;
  }

  .calendar-booking-stat {
    border-right: 0 !important;
    border-bottom: 1px solid var(--line) !important;
  }

  .calendar-booking-stat:last-child {
    border-bottom: 0 !important;
  }

  .calendar-booking-badge-list,
  .calendar-booking-action-row {
    justify-content: flex-start !important;
  }
}

/* Calendar Sessions record journey */
.calendar-session-row-link {
  text-decoration: none;
}

.calendar-session-row-action {
  color: var(--action-primary) !important;
  font-weight: 700 !important;
}

.calendar-session-record-section,
.calendar-session-record-main,
.calendar-session-update-main,
.calendar-session-activity-list {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.calendar-session-record-nav {
  justify-content: space-between;
}

.calendar-session-record-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.32fr);
  gap: 1rem;
  align-items: start;
}

.calendar-session-record-rail {
  position: sticky;
  top: 1rem;
}

.calendar-session-brief-card,
.calendar-session-record-main > .calendar-session-subsection,
.calendar-session-record-main > .reference-disclosure,
.calendar-session-update-context > .workspace-rail-panel {
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--surface);
}

.calendar-session-brief-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.calendar-session-update-layout {
  display: grid;
  grid-template-columns: minmax(15rem, 0.34fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.calendar-session-update-context {
  position: sticky;
  top: 1rem;
}

.calendar-session-update-main .calendar-booking-update-section {
  display: grid;
  gap: 0.85rem;
}

.calendar-session-update-main .calendar-session-host-form,
.calendar-session-update-main .calendar-session-outcome-form,
.calendar-session-update-main .calendar-session-status-form {
  margin-top: 0;
  box-shadow: none;
}

.calendar-session-activity-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: start;
  padding: 0.75rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.calendar-session-activity-row > div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.calendar-session-activity-row strong,
.calendar-session-activity-row span,
.calendar-session-activity-row time {
  overflow-wrap: anywhere;
}

.calendar-session-activity-row span,
.calendar-session-activity-row time {
  color: var(--ink-secondary);
  font-size: 0.82rem;
}

@media (max-width: 980px) {
  .calendar-session-record-layout,
  .calendar-session-update-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .calendar-session-record-rail,
  .calendar-session-update-context {
    position: static;
  }

  .calendar-session-update-context {
    order: -1;
  }
}

@media (max-width: 640px) {
  .calendar-session-record-nav {
    align-items: stretch;
  }

  .calendar-session-record-nav > *,
  .calendar-session-record-section .page-header-actions > * {
    width: 100%;
    justify-content: center;
  }

  .calendar-session-brief-grid,
  .calendar-session-activity-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .calendar-session-row {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
  }

  .calendar-session-row-meta {
    grid-column: 2;
    justify-items: start;
  }
}

/* ============================================================
   SUPPORT QUEUE REDESIGN — Split Table + Detail Panel Layout
   ============================================================ */

/* Page layout wrapper for queue mode */
.sq-page-layout {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
}

/* Overview bar — 4 metric cards */
.sq-overview-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}

.sq-overview-card {
  display: grid;
  gap: 0.55rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-card);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
  position: relative;
  overflow: hidden;
}

.sq-overview-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: var(--radius-card) var(--radius-card) 0 0;
}

.sq-card-active::before { background: var(--action-primary); }
.sq-card-unassigned::before { background: var(--accent-gold); }
.sq-card-waiting::before { background: var(--state-warning); }
.sq-card-high::before { background: var(--state-danger); }

.sq-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  flex-shrink: 0;
}

.sq-card-active .sq-card-icon {
  background: rgba(16, 100, 70, 0.1);
  color: var(--action-primary);
}

.sq-card-unassigned .sq-card-icon {
  background: var(--accent-gold-soft);
  color: var(--accent-gold);
}

.sq-card-waiting .sq-card-icon {
  background: rgba(180, 110, 30, 0.1);
  color: var(--state-warning);
}

.sq-card-high .sq-card-icon {
  background: rgba(180, 40, 40, 0.1);
  color: var(--state-danger);
}

.sq-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.sq-card-count {
  font-family: var(--font-heading);
  font-size: 1.95rem;
  font-weight: 700;
  color: var(--ink-primary);
  line-height: 1;
}

.sq-card-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink-primary);
  margin: 0;
}

.sq-card-sublabel {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.22rem 0.6rem;
  border-radius: 9999px;
  width: fit-content;
}

.sq-card-active .sq-card-sublabel {
  background: rgba(16, 100, 70, 0.09);
  color: var(--action-primary);
}

.sq-card-unassigned .sq-card-sublabel {
  background: var(--accent-gold-soft);
  color: var(--text-gold, #7a5c00);
}

.sq-card-waiting .sq-card-sublabel {
  background: rgba(180, 110, 30, 0.1);
  color: var(--state-warning);
}

.sq-card-high .sq-card-sublabel {
  background: rgba(180, 40, 40, 0.08);
  color: var(--state-danger);
}

/* Inline filter toolbar */
.sq-filter-toolbar {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.7rem 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
  flex-wrap: wrap;
}

.sq-filter-search {
  position: relative;
  flex: 1.5;
  min-width: 170px;
}

.sq-filter-search-icon {
  position: absolute;
  left: 0.7rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--ink-tertiary);
  pointer-events: none;
  display: flex;
  align-items: center;
}

.sq-filter-search input {
  width: 100%;
  height: 2.2rem;
  padding: 0 0.75rem 0 2.1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  color: var(--ink-primary);
  font-size: 0.84rem;
  font-family: var(--font-body);
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.sq-filter-search input:focus {
  border-color: var(--accent-gold);
  box-shadow: 0 0 0 3px var(--ring-gold);
  background: var(--surface);
}

.sq-filter-select {
  flex: 1;
  min-width: 130px;
}

.sq-filter-select select {
  width: 100%;
  height: 2.2rem;
  padding: 0 1.8rem 0 0.75rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
  color: var(--ink-primary);
  font-size: 0.84rem;
  font-family: var(--font-body);
  font-weight: 500;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a5c54' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.6rem center;
  background-size: 0.9rem;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

html[data-theme="dark"] .sq-filter-select select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fa097' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}

.sq-filter-select select:focus {
  border-color: var(--accent-gold);
  box-shadow: 0 0 0 3px var(--ring-gold);
  background-color: var(--surface);
}

.sq-filter-divider {
  width: 1px;
  height: 1.5rem;
  background: var(--line-subtle);
  flex-shrink: 0;
}

.sq-filter-actions {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-left: auto;
  flex-shrink: 0;
}

.sq-filter-reset {
  height: 2.2rem;
  padding: 0 0.85rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--ink-secondary);
  font-size: 0.82rem;
  font-weight: 500;
  font-family: var(--font-body);
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.sq-filter-reset:hover {
  border-color: var(--line-strong);
  color: var(--ink-primary);
}

.sq-filter-apply {
  height: 2.2rem;
  padding: 0 1rem;
  border: 1px solid var(--action-primary);
  border-radius: var(--radius-control);
  background: var(--action-primary);
  color: var(--ink-inverse);
  font-size: 0.82rem;
  font-weight: 600;
  font-family: var(--font-body);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.sq-filter-apply:hover {
  background: var(--action-primary-hover);
  border-color: var(--action-primary-hover);
}

/* Main workspace: table left + detail right */
.sq-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 0;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
  overflow: hidden;
  min-width: 0;
}

/* Table panel (left) */
.sq-table-panel {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-width: 0;
  overflow: hidden;
  border-right: 1px solid var(--line-subtle);
}

.sq-table-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1.1rem 0.75rem;
  border-bottom: 1px solid var(--line-subtle);
  background: var(--surface);
}

.sq-table-heading-left {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
}

.sq-table-heading h3 {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--ink-primary);
  margin: 0;
  line-height: 1.2;
}

.sq-table-heading p {
  font-size: 0.78rem;
  color: var(--ink-secondary);
  margin: 0;
}

.sq-table-scroll {
  overflow-x: auto;
  overflow-y: auto;
  min-width: 0;
}

.sq-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.84rem;
  min-width: 680px;
}

.sq-table thead tr {
  background: var(--surface-soft);
  border-bottom: 1px solid var(--line-subtle);
}

.sq-table thead th {
  position: relative;
  padding: 0.6rem 0.85rem;
  text-align: left;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-tertiary);
  white-space: nowrap;
  user-select: none;
}

.sq-table .sr-only {
  top: 0;
  left: 0;
}

.sq-table thead th:first-child {
  padding-left: 1.1rem;
  width: 40px;
}

.sq-table tbody tr {
  border-bottom: 1px solid var(--line-subtle);
  cursor: pointer;
  transition: background-color 0.12s ease;
}

.sq-table tbody tr:last-child {
  border-bottom: none;
}

.sq-table tbody tr:hover {
  background: var(--surface-soft);
}

.sq-table tbody tr.sq-row-selected {
  background: var(--soft-accent);
  border-left: 3px solid var(--action-primary);
}

.sq-table tbody td {
  padding: 0.7rem 0.85rem;
  vertical-align: middle;
  color: var(--ink-primary);
  min-width: 0;
}

.sq-table tbody td:first-child {
  padding-left: 1.1rem;
}

/* Table cell types */
.sq-cell-member {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.sq-member-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--action-primary), rgba(16, 100, 70, 0.7));
  color: var(--ink-inverse);
  font-size: 0.7rem;
  font-weight: 700;
  font-family: var(--font-heading);
  flex-shrink: 0;
}

.sq-member-info {
  min-width: 0;
}

.sq-member-name {
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--ink-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sq-member-role {
  font-size: 0.72rem;
  color: var(--ink-tertiary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sq-cell-request {
  min-width: 0;
}

.sq-request-title {
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--ink-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 180px;
}

.sq-request-preview {
  font-size: 0.74rem;
  color: var(--ink-tertiary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 180px;
  margin-top: 0.12rem;
}

.sq-cell-category {
  white-space: nowrap;
}

.sq-category-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.22rem 0.6rem;
  border-radius: 9999px;
  font-size: 0.74rem;
  font-weight: 600;
  background: var(--surface-soft);
  color: var(--ink-secondary);
  border: 1px solid var(--line-subtle);
  white-space: nowrap;
}

.sq-category-chip.cat-content { background: rgba(16, 100, 70, 0.08); color: var(--action-primary); border-color: rgba(16, 100, 70, 0.18); }
.sq-category-chip.cat-ads { background: rgba(180, 110, 30, 0.08); color: var(--state-warning); border-color: rgba(180, 110, 30, 0.18); }
.sq-category-chip.cat-access { background: rgba(100, 50, 180, 0.07); color: #5b4fae; border-color: rgba(100, 50, 180, 0.15); }
.sq-category-chip.cat-setup { background: rgba(16, 130, 180, 0.07); color: #1a7aad; border-color: rgba(16, 130, 180, 0.15); }

.sq-cell-assign {
  min-width: 0;
  white-space: nowrap;
}

.sq-assign-name {
  font-size: 0.8rem;
  color: var(--ink-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 110px;
}

.sq-assign-unset {
  font-size: 0.8rem;
  color: var(--ink-tertiary);
  font-style: italic;
}

.sq-cell-time {
  min-width: 0;
}

.sq-time-label {
  font-size: 0.8rem;
  color: var(--ink-secondary);
  white-space: nowrap;
}

/* Table row action buttons */
.sq-cell-actions {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  justify-content: flex-end;
  white-space: nowrap;
}

.sq-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  height: 1.9rem;
  padding: 0 0.65rem;
  border-radius: var(--radius-control);
  font-size: 0.76rem;
  font-weight: 600;
  font-family: var(--font-body);
  cursor: pointer;
  transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
  border: 1px solid transparent;
  text-decoration: none;
}

.sq-action-btn-open {
  background: var(--action-primary);
  color: var(--ink-inverse);
  border-color: var(--action-primary);
}

.sq-action-btn-open:hover {
  background: var(--action-primary-hover);
  border-color: var(--action-primary-hover);
}

.sq-action-btn-assign {
  background: transparent;
  border-color: var(--line-subtle);
  color: var(--ink-secondary);
}

.sq-action-btn-assign:hover {
  border-color: var(--line-strong);
  background: var(--surface-soft);
  color: var(--ink-primary);
}

/* Table footer / pagination */
.sq-table-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem 1.1rem;
  border-top: 1px solid var(--line-subtle);
  background: var(--surface-soft);
  flex-wrap: wrap;
}

.sq-pagination-info {
  font-size: 0.78rem;
  color: var(--ink-tertiary);
}

.sq-pagination-controls {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.sq-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--radius-control);
  border: 1px solid var(--line-subtle);
  background: var(--surface);
  color: var(--ink-secondary);
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.12s ease;
}

.sq-page-btn:hover:not([disabled]) {
  border-color: var(--line-strong);
  background: var(--surface-soft);
  color: var(--ink-primary);
}

.sq-page-btn[disabled] {
  opacity: 0.4;
  cursor: default;
}

.sq-page-btn.active {
  background: var(--action-primary);
  border-color: var(--action-primary);
  color: var(--ink-inverse);
}

.sq-rows-select {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.78rem;
  color: var(--ink-tertiary);
}

.sq-rows-select select {
  height: 1.8rem;
  padding: 0 1.4rem 0 0.5rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--ink-primary);
  font-size: 0.78rem;
  font-family: var(--font-body);
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a5c54' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.35rem center;
  background-size: 0.8rem;
  cursor: pointer;
}

/* Detail panel (right) */
.sq-detail-panel {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.sq-detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1.1rem 0.75rem;
  border-bottom: 1px solid var(--line-subtle);
  background: var(--surface);
  flex-shrink: 0;
}

.sq-detail-header-title {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.sq-detail-header-title h3 {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--ink-primary);
  margin: 0;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sq-detail-header-title p {
  font-size: 0.74rem;
  color: var(--ink-tertiary);
  margin: 0;
}

.sq-detail-header-badges {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
}

.sq-detail-scroll {
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0;
}

/* Empty state inside detail panel */
.sq-detail-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 1.5rem;
  text-align: center;
  gap: 0.85rem;
  height: 100%;
}

.sq-detail-empty-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: var(--surface-soft);
  color: var(--ink-tertiary);
  border: 1px solid var(--line-subtle);
}

.sq-detail-empty strong {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--ink-primary);
}

.sq-detail-empty p {
  font-size: 0.82rem;
  color: var(--ink-secondary);
  margin: 0;
  max-width: 22rem;
  line-height: 1.55;
}

/* Quick action bar inside detail panel */
.sq-quick-actions {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--line-subtle);
  background: var(--surface-soft);
  flex-wrap: wrap;
  flex-shrink: 0;
}

.sq-quick-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  height: 1.9rem;
  padding: 0 0.75rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--ink-secondary);
  font-size: 0.76rem;
  font-weight: 600;
  font-family: var(--font-body);
  cursor: pointer;
  transition: all 0.12s ease;
  text-decoration: none;
  white-space: nowrap;
}

.sq-quick-btn:hover {
  border-color: var(--action-primary);
  color: var(--action-primary);
  background: var(--soft-accent);
}

.sq-quick-btn.sq-quick-btn-primary {
  background: var(--action-primary);
  border-color: var(--action-primary);
  color: var(--ink-inverse);
}

.sq-quick-btn.sq-quick-btn-primary:hover {
  background: var(--action-primary-hover);
  border-color: var(--action-primary-hover);
  color: var(--ink-inverse);
}

/* Inner detail content */
.sq-detail-content {
  padding: 1rem;
  display: grid;
  gap: 0;
}

/* Scale down panel paddings inside detail panel */
.sq-detail-content .panel {
  border-radius: var(--radius-control);
  border: none;
  box-shadow: none;
  padding: 0;
}

.sq-detail-content .panel + .panel,
.sq-detail-content .panel + details,
.sq-detail-content details + .panel {
  border-top: 1px solid var(--line-subtle);
  padding-top: 1rem;
  margin-top: 1rem;
}

.sq-detail-content .panel-header {
  padding: 0 0 0.65rem 0;
}

.sq-detail-content .panel-body {
  padding: 0;
}

.sq-detail-content .support-description {
  font-size: 0.84rem;
}

.sq-detail-content .support-overview-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.sq-detail-content .support-overview-item {
  padding: 0.55rem 0.65rem;
}

.sq-detail-content .support-comment-thread {
  max-height: 260px;
  overflow-y: auto;
}

.sq-detail-content .support-activity-list {
  max-height: 240px;
  overflow-y: auto;
}

.sq-detail-content .support-control-grid {
  grid-template-columns: 1fr;
}

.sq-detail-content .reference-disclosure-body {
  max-height: 200px;
  overflow-y: auto;
}

/* Table empty state */
.sq-table-empty {
  padding: 2.5rem 1.5rem;
  text-align: center;
  color: var(--ink-secondary);
}

.sq-table-empty strong {
  display: block;
  font-size: 0.9rem;
  color: var(--ink-primary);
  margin-bottom: 0.35rem;
}

.sq-table-empty p {
  font-size: 0.82rem;
  margin: 0;
}

/* Checkbox in table */
.sq-checkbox {
  accent-color: var(--action-primary);
  width: 1rem;
  height: 1rem;
  cursor: pointer;
}

/* Responsive: stack below 1100px */
@media (max-width: 1100px) {
  .sq-overview-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sq-workspace {
    grid-template-columns: 1fr;
  }

  .sq-table-panel {
    border-right: none;
    border-bottom: 1px solid var(--line-subtle);
  }

  .sq-detail-panel {
    max-height: 60vh;
    overflow-y: auto;
    border-top: 2px solid var(--line-subtle);
  }
}

@media (max-width: 768px) {
  .sq-overview-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem;
  }

  .sq-filter-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }

  .sq-filter-search,
  .sq-filter-select {
    min-width: 0;
    width: 100%;
  }

  .sq-filter-actions {
    margin-left: 0;
    width: 100%;
    justify-content: flex-end;
  }

  .sq-filter-divider {
    display: none;
  }

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

  .sq-quick-actions {
    gap: 0.35rem;
  }

  .sq-quick-btn {
    font-size: 0.72rem;
    padding: 0 0.55rem;
  }
}

@media (max-width: 480px) {
  .sq-overview-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
  }

  .sq-card-count {
    font-size: 1.55rem;
  }
}

/* ============================================================
   SUPPORT QUEUE — Full-Width, Inline Assignment, and Detail Page
   ============================================================ */

.sq-table-panel-full {
  border-right: none !important;
  width: 100%;
}

.sq-assign-row {
  background: var(--surface-soft) !important;
}

.sq-assign-row td {
  padding: 0 !important;
}

.sq-inline-assign-form {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--line-subtle);
  animation: fadeIn 0.15s ease-out;
}

.sq-inline-assign-body {
  display: flex;
  align-items: flex-end;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.sq-inline-assign-group {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-width: 220px;
}

.sq-inline-assign-label {
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--ink-secondary);
}

.sq-inline-assign-group select {
  height: 2.2rem;
  padding: 0 1.8rem 0 0.75rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--ink-primary);
  font-size: 0.84rem;
  font-family: var(--font-body);
  font-weight: 500;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a5c54' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.6rem center;
  background-size: 0.9rem;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

html[data-theme="dark"] .sq-inline-assign-group select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238fa097' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}

.sq-inline-assign-group select:focus {
  border-color: var(--accent-gold);
  box-shadow: 0 0 0 3px var(--ring-gold);
}

.sq-inline-assign-actions {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-top: 0.5rem;
}

.sq-inline-assign-save {
  height: 2.2rem;
  padding: 0 1.25rem;
  border: 1px solid var(--action-primary);
  border-radius: var(--radius-control);
  background: var(--action-primary);
  color: var(--ink-inverse);
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.sq-inline-assign-save:hover {
  background: var(--action-primary-hover);
  border-color: var(--action-primary-hover);
}

.sq-inline-assign-cancel {
  height: 2.2rem;
  padding: 0 1.25rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--ink-secondary);
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.sq-inline-assign-cancel:hover {
  border-color: var(--line-strong);
  color: var(--ink-primary);
}

/* Detail page styles */
.sq-detail-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}

.sq-detail-page-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.84rem;
  color: var(--ink-secondary);
  padding: 0.25rem 0;
}

.sq-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border: none;
  background: none;
  color: var(--action-primary);
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  font-size: 0.84rem;
  transition: color 0.15s ease;
}

.sq-back-btn:hover {
  color: var(--action-primary-hover);
  text-decoration: underline;
}

.sq-breadcrumb-sep {
  color: var(--ink-tertiary);
}

.sq-breadcrumb-current {
  font-weight: 500;
  color: var(--ink-primary);
}

.sq-detail-page-empty {
  padding: 4rem 2rem;
  text-align: center;
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.sq-cell-request .sq-category-chip {
  margin-top: 0.45rem;
}

.sq-cell-responsibility {
  min-width: 13rem;
}

.sq-cell-responsibility .support-assignment-cell {
  gap: 0.2rem;
}

.sq-cell-next-action {
  min-width: 13rem;
}

.sq-cell-next-action > span:last-child {
  display: block;
  margin-top: 0.35rem;
  color: var(--ink-secondary);
  font-size: 0.78rem;
  line-height: 1.45;
}

.sq-action-btn-open {
  text-decoration: none;
  white-space: nowrap;
}

.support-request-route {
  display: flex;
  flex-direction: column;
  gap: var(--workspace-gap);
}

.support-request-detail-layout,
.support-request-update-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.32fr);
  gap: var(--workspace-gap-loose);
  align-items: start;
}

.support-request-detail-main,
.support-request-update-main,
.support-request-update-brief,
.support-request-context-rail {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--workspace-gap);
}

.support-request-detail-main > .panel,
.support-request-detail-main > details,
.support-request-update-main > .panel,
.support-request-update-brief > .panel,
.support-request-context-rail > .panel,
.support-request-context-rail > .workspace-rail-panel {
  margin: 0;
}

.support-request-responsibility-panel {
  position: sticky;
  top: 1rem;
}

.support-request-next-action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line-subtle);
}

.support-request-next-action p {
  margin: 0;
  color: var(--ink-secondary);
  line-height: 1.55;
}

.support-request-responsibility-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.support-request-responsibility-list > div {
  display: grid;
  gap: 0.25rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--line-subtle);
}

.support-request-responsibility-list > div:last-child {
  border-bottom: 0;
}

.support-request-responsibility-list dt {
  color: var(--ink-tertiary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.support-request-responsibility-list dd {
  margin: 0;
  color: var(--ink-primary);
  font-weight: 650;
}

.support-request-update-layout {
  grid-template-columns: minmax(16rem, 0.34fr) minmax(0, 1fr);
}

.support-request-update-brief {
  position: sticky;
  top: 1rem;
}

.support-request-update-main .support-next-action-panel .support-control-grid {
  grid-template-columns: 1fr;
}

.support-request-update-main .support-control-form {
  padding: 1rem 0;
  border-bottom: 1px solid var(--line-subtle);
}

.support-request-update-main .support-control-form:last-child {
  border-bottom: 0;
}

@media (max-width: 980px) {
  .support-request-detail-layout,
  .support-request-update-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .support-request-context-rail,
  .support-request-update-brief {
    position: static;
  }

  .support-request-update-brief {
    order: 0;
  }

  .support-request-update-main {
    order: 1;
  }
}

@media (max-width: 640px) {
  .support-request-route .page-header-actions,
  .support-request-route .header-actions {
    width: 100%;
  }

  .support-request-route .page-header-actions .button-link,
  .support-request-route .header-actions .button-link {
    width: 100%;
    justify-content: center;
  }

  .support-request-detail-layout,
  .support-request-update-layout {
    gap: var(--workspace-gap);
  }

  .support-request-route .support-overview-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* My To-dos Revamp Custom Styles */
.todo-page-layout {
  animation: fadeIn 0.3s ease-out;
  width: 100%;
}

.todo-assigned-header {
  margin: 1.5rem 0 0.75rem 0;
}

.todo-assigned-header h3 {
  font-family: 'Fraunces', serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--ink-primary);
}

.todo-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.todo-stat-card {
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.75rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  cursor: pointer;
}

.todo-stat-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--workspace-shadow-focus);
  border-color: var(--workspace-focus-line);
}

.todo-stat-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.todo-stat-label {
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--ink-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.todo-stat-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--surface-soft);
  color: var(--action-primary);
  display: flex;
  align-items: center;
  justify-content: center;
}

.todo-stat-value {
  font-family: 'Fraunces', serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--ink-primary);
  margin: 0.25rem 0;
}

.todo-stat-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.todo-stat-action-btn {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--action-primary);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
}

.todo-stat-action-btn:hover {
  color: var(--action-primary-hover);
}

.todo-workspace-grid {
  display: flex;
  flex-direction: column;
  gap: var(--workspace-gap-loose);
  align-items: stretch;
}

.todo-main-column {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.todo-sidebar-column {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: static;
}

.todo-filter-toolbar {
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  padding: 0.75rem 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.todo-filter-search-box {
  position: relative;
  flex: 1 1 200px;
}

.todo-filter-search-box input {
  width: 100%;
  padding-left: 2rem;
  height: 2.25rem;
}

.todo-filter-search-icon {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--ink-tertiary);
  pointer-events: none;
}

.todo-filter-select-box {
  flex: 0 1 160px;
}

.todo-filter-select-box select {
  width: 100%;
  height: 2.25rem;
  padding: 0 0.5rem;
}

.todo-filter-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}

.todo-filter-reset-btn {
  background: none;
  border: none;
  color: var(--ink-secondary);
  font-weight: 600;
  font-size: 0.84rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.todo-filter-reset-btn:hover {
  color: var(--ink-primary);
}

.todo-filter-apply-btn {
  background: var(--action-primary);
  color: var(--ink-inverse);
  border: none;
  border-radius: 4px;
  font-weight: 600;
  font-size: 0.84rem;
  padding: 0 1rem;
  height: 2.25rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  transition: background 0.15s ease;
}

.todo-filter-apply-btn:hover {
  background: var(--action-primary-hover);
}

.todo-section {
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  padding: 1.25rem;
}

.todo-section-title {
  display: flex;
  flex-direction: column;
  margin-bottom: 1rem;
}

.todo-section-title h4 {
  font-family: 'Fraunces', serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--ink-primary);
  margin: 0;
}

.todo-section-title p {
  font-size: 0.84rem;
  color: var(--ink-secondary);
  margin: 0.25rem 0 0 0;
}

.todo-empty-state-card {
  padding: 3rem 1.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background: var(--surface-soft);
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-panel);
}

.todo-empty-icon-circle {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--surface);
  color: var(--action-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.todo-empty-state-card strong {
  font-size: 1rem;
  color: var(--ink-primary);
}

.todo-empty-state-card p {
  font-size: 0.84rem;
  color: var(--ink-secondary);
  max-width: 400px;
  line-height: 1.4;
  margin: 0;
}

.todo-empty-state-card a {
  margin-top: 0.5rem;
}

.todo-member-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.todo-avatar-green {
  background: linear-gradient(135deg, #156857, #2d9d78) !important;
  color: #ffffff !important;
  font-weight: 700;
}

.todo-member-info {
  display: flex;
  flex-direction: column;
}

.todo-member-info strong {
  font-size: 0.9rem;
  color: var(--ink-primary);
}

.todo-member-role {
  font-size: 0.78rem;
  color: var(--ink-secondary);
}

.todo-table th {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ink-secondary);
  background: var(--surface-soft);
  padding: 0.75rem 1rem;
}

.todo-table td {
  padding: 1rem;
  vertical-align: middle;
}

.todo-table tr {
  border-bottom: 1px solid var(--line-subtle);
  transition: background 0.15s ease;
  cursor: pointer;
}

.todo-table tr:hover {
  background: var(--surface-soft);
}

.todo-table tr.todo-row-selected {
  background: var(--surface-soft);
  border-left: 3px solid var(--action-primary);
}

.todo-table-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.todo-table-actions button {
  height: 2rem;
  padding: 0 0.75rem;
  font-size: 0.78rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

.todo-table-actions .todo-view-btn {
  width: 2rem;
  height: 2rem;
  padding: 0;
  border-radius: 50%;
}

.todo-pagination-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1rem;
  font-size: 0.84rem;
  color: var(--ink-secondary);
}

.todo-pagination-buttons {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.todo-pagination-btn {
  min-width: 2rem;
  height: 2rem;
  border: 1px solid var(--line-subtle);
  background: var(--surface);
  color: var(--ink-primary);
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.todo-pagination-btn:hover:not(:disabled) {
  border-color: var(--action-primary);
  color: var(--action-primary);
}

.todo-pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.todo-pagination-btn.todo-page-active {
  background: var(--action-primary);
  color: var(--ink-inverse);
  border-color: var(--action-primary);
}

/* Right Sidebar Panel Styles */
.todo-panel-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.todo-panel-collapse-btn {
  background: none;
  border: none;
  color: var(--ink-secondary);
  cursor: pointer;
  padding: 0.25rem;
}

.todo-details-empty {
  padding: 3rem 1.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  color: var(--ink-secondary);
}

.todo-details-empty-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--surface-soft);
  color: var(--ink-tertiary);
  display: flex;
  align-items: center;
  justify-content: center;
}

.todo-details-empty h3 {
  font-family: 'Fraunces', serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--ink-primary);
  margin: 0;
}

.todo-details-empty p {
  font-size: 0.84rem;
  line-height: 1.4;
  margin: 0;
}

.todo-details-container {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.todo-details-header {
  border-bottom: 1px solid var(--line-subtle);
  padding-bottom: 1rem;
}

.todo-details-header h4 {
  font-family: 'Fraunces', serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--ink-primary);
  margin: 0.25rem 0;
}

.todo-details-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
  background: var(--surface-soft);
  border-radius: 6px;
  padding: 0.75rem 1rem;
}

.todo-details-meta-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.todo-details-meta-item span.meta-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ink-secondary);
}

.todo-details-meta-item span.meta-value {
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--ink-primary);
}

.todo-details-section {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.todo-details-section h5 {
  font-size: 0.84rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ink-secondary);
  margin: 0;
}

.todo-details-content-box {
  background: var(--surface-soft);
  border-left: 3px solid var(--action-primary);
  border-radius: 4px;
  padding: 0.75rem 1rem;
  font-size: 0.86rem;
  line-height: 1.4;
  color: var(--ink-primary);
}

.todo-details-content-box-danger {
  border-left-color: var(--state-danger);
}

.todo-blocker-note-summary {
  max-width: 12.5rem;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.todo-form-submit-spaced,
.todo-details-actions-spaced {
  margin-top: 0.5rem;
}

.todo-stuck-note-form {
  padding-top: 1rem;
  border-top: 1px solid var(--line-subtle);
}

.todo-tips-icon {
  color: var(--action-primary);
}

.todo-decision-form-panel {
  border-top: 1px solid var(--line-subtle);
  padding-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.todo-decision-options {
  display: flex;
  gap: 1rem;
}

.todo-decision-option {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.84rem;
  font-weight: 600;
  cursor: pointer;
}

.todo-details-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.todo-details-actions button,
.todo-details-actions a {
  flex: 1 1 120px;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.84rem;
  font-weight: 600;
}

.todo-conversation-preview {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-height: 200px;
  overflow-y: auto;
  border: 1px solid var(--line-subtle);
  border-radius: 4px;
  padding: 0.5rem;
}

.todo-conversation-bubble {
  background: var(--surface-soft);
  border-radius: 8px;
  padding: 0.5rem 0.75rem;
  font-size: 0.84rem;
  line-height: 1.3;
}

.todo-conversation-bubble.is-outgoing {
  background: var(--action-primary);
  color: var(--ink-inverse);
  align-self: flex-end;
}

.todo-activity-panel .todo-activity-row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--line-subtle);
}

.todo-activity-panel .todo-activity-row:last-child {
  border-bottom: none;
}

.todo-activity-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.activity-icon-blue { background: #e0f2fe; color: #0284c7; }
.activity-icon-green { background: #dcfce7; color: #15803d; }
.activity-icon-orange { background: #ffedd5; color: #ea580c; }
.activity-icon-gray { background: #f3f4f6; color: #4b5563; }

.todo-activity-text {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  flex: 1;
}

.todo-activity-text strong {
  font-size: 0.84rem;
  color: var(--ink-primary);
  font-weight: 600;
  line-height: 1.3;
}

.todo-activity-time {
  font-size: 0.78rem;
  color: var(--ink-secondary);
}

.todo-tips-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-left: 1.25rem;
  margin: 0;
}

.todo-tips-list li {
  font-size: 0.84rem;
  line-height: 1.4;
  color: var(--ink-secondary);
}

.todo-tips-footer {
  margin-top: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.todo-tips-footer a {
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--action-primary);
  text-decoration: none;
}

.todo-tips-footer a:hover {
  text-decoration: underline;
}

/* Custom Header Badge count tags */
.badge-kind-todo-count {
  border-radius: 20px;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  padding: 0.25rem 0.75rem !important;
  border: 1px solid transparent;
}

.badge-kind-todo-count.badge-success {
  background-color: #dcfce7 !important;
  color: #15803d !important;
  border-color: #bbf7d0 !important;
}

.badge-kind-todo-count.badge-warning {
  background-color: #ffedd5 !important;
  color: #ea580c !important;
  border-color: #fed7aa !important;
}

.badge-kind-todo-count.badge-neutral {
  background-color: #f3f4f6 !important;
  color: #4b5563 !important;
  border-color: #e5e7eb !important;
}

.badge-kind-todo-count.badge-danger {
  background-color: #fee2e2 !important;
  color: #b91c1c !important;
  border-color: #fca5a5 !important;
}

.todo-header-action-primary {
  background: var(--action-primary) !important;
  color: var(--ink-inverse) !important;
  border-color: var(--action-primary) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
}

.todo-header-action-primary:hover {
  background: var(--action-primary-hover) !important;
  border-color: var(--action-primary-hover) !important;
}

.todo-header-action-secondary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
}

@media (max-width: 1024px) {
  .todo-workspace-grid {
    grid-template-columns: 1fr;
  }
  .todo-sidebar-column {
    position: static;
  }
}

/* Guide Library */
.guide-library-section,
.guide-reader-section {
  display: grid;
  gap: var(--workspace-gap-loose);
}

.guide-library-header {
  max-width: 48rem;
}

.guide-library-header .micro-label {
  display: block;
  margin-bottom: 0.7rem;
  color: var(--text-gold);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.guide-library-header h1,
.guide-reader-header h1,
.guide-not-found h1 {
  margin: 0;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1.12;
}

.guide-library-header p {
  margin: 0.75rem 0 0;
  color: var(--ink-secondary);
  font-size: 0.96rem;
  line-height: 1.6;
}

.guide-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.guide-card {
  display: flex;
  min-width: 0;
  min-height: 14.5rem;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.2rem;
  color: var(--ink-primary);
  text-decoration: none;
  background: var(--workspace-surface);
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-l);
  box-shadow: var(--workspace-shadow-surface);
  transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.guide-card:hover {
  transform: translateY(-2px);
  background: var(--workspace-surface-raised);
  border-color: var(--workspace-focus-line);
  box-shadow: var(--workspace-shadow-focus);
}

.guide-card:focus-visible,
.guide-back-link:focus-visible,
.guide-inline-link:focus-visible,
.guide-support-callout a:focus-visible {
  outline: 3px solid var(--focus-ring-soft);
  outline-offset: 3px;
}

.guide-card-icon {
  display: inline-flex;
  width: 2.7rem;
  height: 2.7rem;
  align-items: center;
  justify-content: center;
  color: var(--text-gold);
  background: var(--accent-gold-soft);
  border: 1px solid var(--line-gold);
  border-radius: var(--radius-control);
}

.guide-card-icon svg,
.guide-card-link svg,
.guide-reader-label svg,
.guide-back-link svg,
.guide-inline-link svg,
.guide-support-callout svg {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.guide-card-icon svg {
  width: 1.3rem;
  height: 1.3rem;
}

.guide-card h2 {
  margin: 1rem 0 0;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.05rem;
  line-height: 1.35;
}

.guide-card p {
  margin: 0.65rem 0 0;
  color: var(--ink-secondary);
  font-size: 0.85rem;
  line-height: 1.6;
}

.guide-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: auto;
  padding-top: 1.1rem;
  color: var(--text-gold);
  font-size: 0.82rem;
  font-weight: 700;
}

.guide-card-link svg {
  transition: transform 180ms ease;
}

.guide-card:hover .guide-card-link svg {
  transform: translateX(3px);
}

.guide-reader-section {
  width: min(100%, 66rem);
  margin-inline: auto;
}

.guide-back-link,
.guide-inline-link,
.guide-support-callout a {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 0.45rem;
  color: var(--action-primary);
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none;
}

.guide-back-link:hover,
.guide-inline-link:hover,
.guide-support-callout a:hover {
  color: var(--action-primary-hover);
}

.guide-reader-card {
  overflow: hidden;
  background: var(--workspace-surface);
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-l);
  box-shadow: var(--workspace-shadow-surface);
}

.guide-reader-header {
  padding: 2rem;
  background: var(--workspace-surface-muted);
  border-bottom: 1px solid var(--workspace-line);
}

.guide-reader-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.85rem;
  color: var(--text-gold);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.guide-reader-header h1 {
  max-width: 52rem;
  font-size: 2.35rem;
}

.guide-reader-header p {
  max-width: 48rem;
  margin: 0.9rem 0 0;
  color: var(--ink-secondary);
  font-size: 1rem;
  line-height: 1.65;
}

.guide-reader-header small {
  display: block;
  margin-top: 1rem;
  color: var(--ink-tertiary);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.guide-reader-body {
  padding: 2rem;
}

.guide-prose {
  max-width: 50rem;
}

.guide-prose > p,
.guide-prose-section > p,
.guide-step-list p {
  color: var(--ink-secondary);
  font-size: 0.94rem;
  line-height: 1.75;
}

.guide-prose > p {
  margin: 0 0 0.85rem;
}

.guide-prose-section {
  margin-top: 1.75rem;
}

.guide-prose-section h2 {
  margin: 0 0 0.8rem;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  font-size: 1.25rem;
}

.guide-step-list {
  display: grid;
  gap: 0.85rem;
  margin: 0;
  padding-left: 1.4rem;
}

.guide-step-list li {
  padding-left: 0.3rem;
  color: var(--text-gold);
}

.guide-step-list strong {
  color: var(--ink-primary);
  font-size: 0.94rem;
}

.guide-step-list p {
  margin: 0.25rem 0 0;
}

.guide-inline-link {
  margin-top: 0.45rem;
}

.guide-download-link {
  padding: 0.65rem 0.8rem;
  color: var(--text-gold);
  background: var(--accent-gold-soft);
  border: 1px solid var(--line-gold);
  border-radius: var(--radius-control);
}

.guide-download-link:hover {
  color: var(--ink-primary);
  background: var(--workspace-surface-raised);
}

.guide-support-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2rem;
  padding: 1rem;
  color: var(--ink-secondary);
  background: var(--workspace-rail-surface);
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-control);
}

.guide-support-callout > span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.88rem;
}

.guide-not-found {
  display: grid;
  justify-items: center;
  gap: 0.8rem;
  padding: 2.5rem;
  text-align: center;
  background: var(--workspace-surface);
  border: 1px solid var(--workspace-line);
  border-radius: var(--radius-l);
}

.guide-not-found p {
  margin: 0;
  color: var(--ink-secondary);
}

@media (max-width: 1100px) {
  .guide-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .guide-card-grid {
    grid-template-columns: 1fr;
  }

  .guide-card {
    min-height: 13rem;
  }

  .guide-reader-header,
  .guide-reader-body {
    padding: 1.25rem;
  }

  .guide-reader-header h1 {
    font-size: 1.8rem;
  }

  .guide-support-callout {
    align-items: flex-start;
    flex-direction: column;
  }
}

.training-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: var(--ink-secondary);
  margin-bottom: 0.75rem;
  flex-wrap: wrap;
}

.training-breadcrumb-item {
  color: var(--ink-secondary);
}

.training-breadcrumb-item.title-highlight {
  color: var(--ink-primary);
  font-weight: 600;
}

.training-breadcrumb-item.active-lesson-crumb {
  color: var(--action-primary);
  font-weight: 600;
}

.training-breadcrumb-sep {
  color: var(--ink-tertiary);
  opacity: 0.6;
}

.training-lms-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.25rem;
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-md);
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
}

.training-lms-header-main {
  flex: 1;
  min-width: min(100%, 20rem);
  display: grid;
  gap: 0.35rem;
}

.training-course-select-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.training-lms-course-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ink-primary);
  letter-spacing: -0.02em;
}

.training-course-dropdown {
  max-width: 20rem;
}

.training-lms-course-desc {
  margin: 0.25rem 0 0;
  font-size: 0.9rem;
  color: var(--ink-secondary);
  line-height: 1.45;
}

.training-lms-header-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
  min-width: 16rem;
}

.training-progress-box {
  width: 100%;
  display: grid;
  gap: 0.35rem;
}

.training-progress-bar-head {
  display: flex;
  justify-content: space-between;
  font-size: 0.78rem;
  color: var(--ink-secondary);
}

.training-progress-track {
  height: 0.5rem;
  width: 100%;
  background: var(--surface-soft);
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid var(--line-subtle);
}

.training-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--action-primary), var(--accent-gold, #d4af37));
  border-radius: 999px;
  transition: width 0.3s ease;
}

.training-lms-workspace {
  display: grid;
  grid-template-columns: minmax(300px, 380px) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}

@media (max-width: 960px) {
  .training-lms-workspace {
    grid-template-columns: 1fr;
  }
}

.training-curriculum-drawer {
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-md);
  padding: 1rem;
  display: grid;
  gap: 1rem;
}

.training-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--line-subtle);
}

.training-drawer-header h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
}

.training-modules-accordion-list {
  display: grid;
  gap: 0.75rem;
}

.training-module-details {
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-sm);
  background: var(--surface-soft);
  overflow: hidden;
}

.training-module-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  cursor: pointer;
  user-select: none;
  list-style: none;
  font-size: 0.9rem;
  transition: background 0.15s ease;
}

.training-module-summary::-webkit-details-marker {
  display: none;
}

.training-module-summary:hover {
  background: var(--surface);
}

.training-module-summary-left {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.training-module-index {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--action-primary);
  font-weight: 700;
}

.training-module-title {
  color: var(--ink-primary);
}

.training-module-summary-right {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.training-module-badge {
  font-size: 0.75rem;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  color: var(--ink-secondary);
}

.training-accordion-icon {
  width: 1rem;
  height: 1rem;
  display: inline-grid;
  place-items: center;
  transition: transform 0.2s ease;
  color: var(--ink-secondary);
}

.training-module-details[open] > .training-module-summary .training-accordion-icon {
  transform: rotate(180deg);
}

.training-module-lessons {
  display: grid;
  gap: 0.25rem;
  padding: 0.5rem;
  background: var(--surface);
  border-top: 1px solid var(--line-subtle);
}

.training-lesson-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.5rem;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.training-lesson-item:hover {
  background: var(--surface-soft);
}

.training-lesson-item.is-active {
  background: color-mix(in srgb, var(--action-primary) 12%, transparent);
  border-color: color-mix(in srgb, var(--action-primary) 35%, transparent);
}

.training-lesson-check-btn {
  background: none;
  border: none;
  padding: 0.25rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.training-check-icon {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  border: 1.5px solid var(--line-subtle);
  display: inline-grid;
  place-items: center;
  transition: all 0.15s ease;
}

.training-check-icon.checked {
  background: var(--action-primary);
  border-color: var(--action-primary);
  color: var(--surface);
}

.training-check-icon svg {
  width: 0.75rem;
  height: 0.75rem;
}

.training-lesson-select-btn {
  flex: 1;
  background: none;
  border: none;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  text-align: left;
  cursor: pointer;
  color: var(--ink-primary);
  font-size: 0.88rem;
}

.training-lesson-num {
  font-size: 0.75rem;
  color: var(--ink-tertiary);
  font-weight: 600;
  min-width: 1.75rem;
}

.training-lesson-copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  flex: 1;
  min-width: 0;
}

.training-lesson-title-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
}

.training-now-playing-tag {
  font-size: 0.68rem;
  color: var(--action-primary);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.training-lesson-play-icon {
  color: var(--ink-tertiary);
  width: 1rem;
  height: 1rem;
}

.training-lesson-item.is-active .training-lesson-play-icon {
  color: var(--action-primary);
}

.training-player-workspace {
  display: grid;
  gap: 1.25rem;
}

.training-player-container {
  display: grid;
  gap: 0.75rem;
}

.training-player-actions-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background: var(--surface);
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-md);
  flex-wrap: wrap;
}

.training-lesson-tabs-card {
  padding: 1.25rem;
  display: grid;
  gap: 1rem;
}

.training-tab-nav {
  display: flex;
  gap: 0.5rem;
  border-bottom: 1px solid var(--line-subtle);
  padding-bottom: 0.5rem;
}

.training-tab-btn {
  background: none;
  border: none;
  padding: 0.5rem 1rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--ink-secondary);
  cursor: pointer;
  border-radius: var(--radius-sm);
  transition: all 0.15s ease;
}

.training-tab-btn:hover {
  color: var(--ink-primary);
  background: var(--surface-soft);
}

.training-tab-btn.is-active {
  color: var(--action-primary);
  background: color-mix(in srgb, var(--action-primary) 12%, transparent);
}

.training-tab-panel {
  display: grid;
  gap: 0.75rem;
}

.training-tab-panel[hidden] {
  display: none !important;
}

.training-lesson-heading h2 {
  margin: 0.15rem 0 0;
  font-size: 1.25rem;
}

.training-lesson-summary-text {
  margin: 0;
  color: var(--ink-secondary);
  line-height: 1.55;
  font-size: 0.92rem;
}

.training-curriculum-overview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.75rem;
  margin-top: 0.5rem;
}

.training-curriculum-card {
  padding: 0.85rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-sm);
  background: var(--surface-soft);
  display: grid;
  gap: 0.2rem;
}

.training-curriculum-card h4 {
  margin: 0;
  font-size: 0.95rem;
}

.training-resources-list {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
  display: grid;
  gap: 0.4rem;
  color: var(--ink-secondary);
  font-size: 0.9rem;
}

.training-player-card .panel-body {
  display: grid;
  gap: 1rem;
}

.training-video-frame,
.training-branded-player-frame {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-md);
  background: var(--surface-strong);
}

.training-video-frame iframe,
.training-branded-player-frame iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}

.training-branded-player {
  overflow: hidden;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-md);
  background: var(--surface-strong);
  box-shadow: var(--shadow-subtle);
}

.training-branded-player-bar {
  min-height: 3rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.7rem 0.9rem;
  border-bottom: 1px solid var(--line-subtle);
  color: var(--ink-primary);
  font-size: 0.85rem;
}

.training-branded-player-bar span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

.training-branded-player-bar strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.training-branded-player-bar small {
  flex: none;
  color: var(--ink-secondary);
  font-size: 0.76rem;
  font-weight: 700;
}

.training-branded-player-frame {
  position: relative;
  border: 0;
  border-radius: 0;
}

.training-branded-player-frame iframe {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.training-video-cover,
.training-video-tap-target {
  position: absolute;
  inset: 0;
  border: 0;
  cursor: pointer;
}

.training-video-cover {
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.9rem;
  background: var(--surface-strong);
  color: #fff;
}

.training-video-cover[hidden] {
  display: none;
}

.training-video-cover img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

.training-video-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 19, 16, 0.08), rgba(7, 19, 16, 0.66));
  pointer-events: none;
}

.training-video-cover-play,
.training-video-cover-copy {
  position: relative;
  z-index: 1;
}

.training-video-cover-play,
.training-video-feedback {
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, #fff 56%, transparent);
  border-radius: 999px;
  background: linear-gradient(135deg, var(--action-primary), var(--accent-gold));
  color: var(--ink-inverse);
  box-shadow: 0 18px 38px color-mix(in srgb, var(--action-primary) 32%, transparent);
}

.training-video-cover-play {
  width: clamp(3.75rem, 7vw, 5rem);
  height: clamp(3.75rem, 7vw, 5rem);
}

.training-video-cover-play svg {
  width: 42%;
  height: 42%;
}

.training-video-cover-copy {
  display: grid;
  gap: 0.3rem;
  max-width: min(32rem, calc(100% - 2rem));
  text-align: center;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.82);
}

.training-video-cover-copy strong {
  color: #fff;
  font-size: clamp(1rem, 2vw, 1.35rem);
  line-height: 1.2;
}

.training-video-cover-copy small {
  color: color-mix(in srgb, #fff 84%, transparent);
  font-size: 0.78rem;
  font-weight: 750;
}

.training-video-tap-target {
  z-index: 2;
  display: none;
  background: transparent;
}

.training-branded-player.is-started .training-video-tap-target {
  display: block;
}

.training-video-mask {
  position: absolute;
  z-index: 3;
  display: none;
  pointer-events: none;
}

.training-branded-player.is-started .training-video-mask {
  display: block;
}

.training-video-mask-channel {
  top: 0;
  left: 0;
  width: min(23rem, 62%);
  height: clamp(3.5rem, 9vw, 4.25rem);
  background: linear-gradient(135deg, #071310 0%, #071310 54%, rgba(7, 19, 16, 0.96) 72%, rgba(7, 19, 16, 0) 100%);
}

.training-video-mask-watermark {
  right: 0;
  bottom: 0;
  width: min(12rem, 34%);
  height: clamp(3.5rem, 10vw, 4.75rem);
  background: linear-gradient(135deg, rgba(7, 19, 16, 0) 0%, rgba(7, 19, 16, 0.9) 47%, #071310 78%);
}

.training-video-feedback {
  position: absolute;
  z-index: 6;
  top: 50%;
  left: 50%;
  width: clamp(3.3rem, 6vw, 4.3rem);
  height: clamp(3.3rem, 6vw, 4.3rem);
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.94);
  pointer-events: none;
  transition: opacity 150ms ease, transform 150ms ease;
}

.training-video-feedback.is-visible {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.training-video-controls {
  position: absolute;
  z-index: 7;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  padding: 1.4rem 0.85rem 0.7rem;
  background: linear-gradient(180deg, transparent 0%, rgba(7, 19, 16, 0.96) 48%, #071310 100%);
  color: #fff;
  pointer-events: none;
  transition: opacity 150ms ease;
}

.training-branded-player.is-started .training-video-controls {
  opacity: 1;
  pointer-events: auto;
}

.training-video-progress {
  --video-progress: 0%;
  width: 100%;
  height: 0.3rem;
  display: block;
  appearance: none;
  border-radius: 999px;
  background: linear-gradient(to right, var(--action-primary) 0 var(--video-progress), rgba(255, 255, 255, 0.32) var(--video-progress) 100%);
  cursor: pointer;
}

.training-video-progress::-webkit-slider-thumb {
  width: 0.85rem;
  height: 0.85rem;
  appearance: none;
  border: 2px solid #fff;
  border-radius: 999px;
  background: var(--action-primary);
}

.training-video-progress::-moz-range-thumb {
  width: 0.75rem;
  height: 0.75rem;
  border: 2px solid #fff;
  border-radius: 999px;
  background: var(--action-primary);
}

.training-video-controls-row {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-top: 0.55rem;
}

.training-video-controls-row button {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  flex: none;
  border: 0;
  border-radius: var(--radius-control);
  background: transparent;
  color: #fff;
}

.training-video-controls-row button:hover {
  background: rgba(255, 255, 255, 0.12);
  color: var(--accent-gold);
}

.training-video-controls-row span {
  color: color-mix(in srgb, #fff 86%, transparent);
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
}

.training-video-speed {
  display: inline-flex;
  align-items: center;
}

.training-video-speed select {
  min-width: 3.75rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: var(--radius-control);
  padding: 0.35rem 0.45rem;
  background: rgba(7, 19, 16, 0.92);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 750;
}

.training-video-fullscreen {
  margin-left: auto;
}

.training-branded-player:fullscreen {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: #000;
}

.training-branded-player:fullscreen .training-branded-player-frame {
  width: 100%;
}

.training-branded-player.has-player-error .training-video-cover-copy small {
  color: var(--state-danger);
}

.training-player-note {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  color: var(--ink-secondary);
  font-size: 0.9rem;
}

.training-settings-form,
.training-admin-course,
.training-admin-lesson {
  display: grid;
  gap: 1rem;
}

.training-admin-course,
.training-admin-lesson {
  padding: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-md);
  background: var(--surface-soft);
}

.training-admin-lesson {
  background: var(--surface);
}

.training-admin-course-header,
.training-admin-lesson-header,
.training-admin-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.training-admin-course-header h3,
.training-admin-course-header p,
.training-admin-lesson-header h4 {
  margin: 0.15rem 0 0;
}

.training-admin-course-header p {
  color: var(--ink-secondary);
  font-size: 0.9rem;
}

.training-admin-lesson-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.training-admin-lesson-row-copy {
  min-width: 0;
  flex: 1;
}

.training-admin-lesson-row-copy h4,
.training-admin-lesson-row-copy p {
  margin: 0.15rem 0 0;
}

.training-admin-lesson-row-copy p {
  overflow: hidden;
  color: var(--ink-secondary);
  font-size: 0.85rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.training-lesson-editor-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 1rem;
  align-items: start;
}

.training-lesson-preview-panel {
  display: grid;
  gap: 0.75rem;
  padding: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-md);
  background: var(--surface-soft);
}

.training-video-preview-empty {
  min-height: 14rem;
  display: grid;
  place-items: center;
  gap: 0.5rem;
  border: 1px dashed var(--line-subtle);
  border-radius: var(--radius-md);
  color: var(--ink-secondary);
  text-align: center;
}

.training-video-preview-empty svg {
  width: 1.6rem;
  height: 1.6rem;
  color: var(--action-primary);
}

.training-admin-course-fields textarea,
.training-admin-lesson textarea {
  min-height: 5.5rem;
}

/* Training Library Index View */
.training-index-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: var(--workspace-gap, 1.15rem);
}

.training-index-header-main {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  min-width: 0;
  flex: 1;
}

.training-index-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--accent-gold);
}

.training-index-badge svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.training-index-title {
  font-family: var(--font-heading);
  font-size: 1.55rem;
  font-weight: 800;
  color: var(--ink-primary);
  margin: 0;
  line-height: 1.25;
}

.training-index-desc {
  font-size: 0.88rem;
  color: var(--ink-secondary);
  line-height: 1.5;
  margin: 0.15rem 0 0;
  max-width: 44rem;
}

.training-index-header-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.6rem;
  flex-shrink: 0;
}

.training-index-progress-card {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 0.85rem 1.1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface-card);
  min-width: 200px;
}

.training-index-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.training-index-header-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  flex-wrap: wrap;
}

.training-index-progress-count {
  font-size: 0.68rem;
}

.training-index-progress-percent {
  font-size: 0.72rem;
}

.training-index-progress-head .micro-label {
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.training-index-progress-head strong {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--ink-primary);
}

.training-index-progress-track {
  height: 6px;
  border-radius: 9999px;
  background: var(--surface-soft);
  overflow: hidden;
}

.training-index-progress-fill {
  height: 100%;
  border-radius: 9999px;
  background: var(--action-primary);
  transition: width 0.4s ease;
}

.training-index-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 1.1rem;
  font-size: 0.84rem;
  font-weight: 700;
  background: var(--action-primary);
  color: var(--ink-inverse);
  border: none;
  border-radius: var(--radius-control);
  cursor: pointer;
  transition: background var(--transition-fast), transform 0.15s ease;
}

.training-index-cta:hover {
  background: var(--action-primary-hover);
  transform: translateY(-1px);
}

.training-index-cta svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.training-index-course-list {
  display: flex;
  flex-direction: column;
  gap: var(--workspace-gap, 1.15rem);
}

.training-index-course-card {
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  overflow: hidden;
  box-shadow: var(--shadow-subtle);
  transition: border-color var(--transition-fast);
}

.training-index-course-card[open] {
  border-color: var(--line-gold);
}

.training-index-course-summary {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1rem 1.15rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: background var(--transition-fast);
}

.training-index-course-summary::-webkit-details-marker {
  display: none;
}

.training-index-course-summary:hover {
  background: var(--surface-soft);
}

.training-index-course-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  flex-shrink: 0;
  border-radius: var(--radius-panel);
  background: var(--accent-gold-soft);
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--text-gold);
}

.training-index-course-info {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
  flex: 1;
}

.training-index-course-name {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ink-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.training-index-course-meta {
  font-size: 0.8rem;
  color: var(--ink-tertiary);
}

.training-index-course-progress {
  display: none;
  width: 120px;
  flex-shrink: 0;
}

@media (min-width: 640px) {
  .training-index-course-progress {
    display: block;
  }
}

.training-index-course-chevron {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--ink-tertiary);
  transition: transform 0.2s ease;
}

.training-index-course-chevron svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.training-index-course-card[open] > .training-index-course-summary .training-index-course-chevron {
  transform: rotate(180deg);
}

.training-index-course-body {
  border-top: 1px solid var(--line-subtle);
  padding: 0.5rem;
}

.training-index-course-desc {
  padding: 0.35rem 0.65rem 0.5rem;
  font-size: 0.84rem;
  color: var(--ink-secondary);
  line-height: 1.5;
}

.training-index-module-group {
  margin-bottom: 0.5rem;
}

.training-index-module-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.3rem 0.65rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ink-tertiary);
}

.training-index-lesson-row {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.6rem 0.65rem;
  border-radius: var(--radius-control);
  text-decoration: none;
  cursor: pointer;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  font: inherit;
  color: inherit;
  transition: background var(--transition-fast);
}

.training-index-lesson-row:hover {
  background: var(--surface-soft);
}

.training-index-lesson-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  flex-shrink: 0;
  border-radius: 10px;
  border: 1px solid var(--line-subtle);
  background: var(--surface-soft);
  color: var(--ink-tertiary);
}

.training-index-lesson-icon svg {
  width: 15px;
  height: 15px;
  fill: currentColor;
}

.training-index-lesson-icon.is-completed {
  border-color: var(--state-success);
  background: var(--state-success-soft);
  color: var(--state-success);
}

.training-index-lesson-copy {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  flex: 1;
}

.training-index-lesson-type {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ink-tertiary);
}

.training-index-lesson-title {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ink-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.training-index-lesson-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--ink-tertiary);
  transition: transform 0.15s ease, color 0.15s ease;
}

.training-index-lesson-arrow svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.training-index-lesson-row:hover .training-index-lesson-arrow {
  transform: translateX(3px);
  color: var(--action-primary);
}

.training-index-more-message {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 4rem;
  border: 1px dashed var(--line-subtle);
  border-radius: var(--radius-panel);
  color: var(--ink-tertiary);
  font-size: 0.9rem;
  font-weight: 650;
}

.training-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink-secondary);
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  font-family: inherit;
  transition: color var(--transition-fast);
}

.training-back-link:hover {
  color: var(--action-primary);
}

.training-back-link svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.training-video-guide-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: var(--workspace-gap, 1.15rem);
  align-items: start;
}

.training-video-guide-main {
  display: grid;
  gap: var(--workspace-gap, 1.15rem);
  min-width: 0;
}

.training-video-lesson-card,
.training-current-module-card,
.training-completion-card,
.training-support-cta,
.training-admin-hub,
.training-admin-hero,
.training-upcoming-message,
.training-course-manage-card {
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
}

.training-video-lesson-card {
  display: grid;
  gap: 1rem;
  padding: 1rem;
}

.training-video-lesson-header {
  display: grid;
  gap: 0.35rem;
  padding: 0.35rem 0.25rem 0.75rem;
  border-bottom: 1px solid var(--line-subtle);
}

.training-video-lesson-header h2,
.training-current-module-card h2,
.training-admin-hero h2,
.training-course-manage-main h3 {
  margin: 0;
  color: var(--ink-primary);
  font-family: var(--font-heading);
  line-height: 1.2;
}

.training-video-lesson-header p,
.training-admin-hero p,
.training-course-manage-main p,
.training-upcoming-message p {
  margin: 0;
  color: var(--ink-secondary);
  line-height: 1.5;
}

.training-video-updated {
  color: var(--ink-tertiary);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.training-video-player-panel {
  overflow: hidden;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface-soft);
}

.training-video-panel-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.8rem 0.9rem;
  border-bottom: 1px solid var(--line-subtle);
  color: var(--ink-secondary);
  font-size: 0.85rem;
}

.training-video-panel-bar span,
.training-support-cta,
.training-current-module-lesson,
.training-admin-lesson-compact-row {
  display: flex;
  align-items: center;
}

.training-video-panel-bar svg {
  width: 15px;
  height: 15px;
  margin-right: 0.35rem;
  color: var(--action-primary);
}

.training-video-panel-bar strong {
  color: var(--ink-tertiary);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.training-completion-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  background: var(--surface-muted);
}

.training-completion-card > div {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
  flex: 1;
}

.training-completion-card p {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.88rem;
  line-height: 1.5;
}

.training-support-cta {
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 1rem;
  color: var(--ink-secondary);
  text-decoration: none;
  transition: border-color var(--transition-fast), transform 0.15s ease;
}

.training-support-cta:hover {
  border-color: var(--line-gold);
  transform: translateY(-1px);
}

.training-support-cta strong {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--action-primary);
}

.training-support-cta svg {
  width: 15px;
  height: 15px;
}

.training-current-module-card {
  position: sticky;
  top: 1rem;
  display: grid;
  gap: 0.8rem;
  padding: 1rem;
}

.training-current-module-lessons {
  display: grid;
  gap: 0.55rem;
  padding-top: 0.35rem;
  border-top: 1px solid var(--line-subtle);
}

.training-current-module-lesson {
  gap: 0.65rem;
  padding: 0.7rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  color: inherit;
  text-decoration: none;
  transition: border-color var(--transition-fast), background var(--transition-fast);
}

.training-current-module-lesson:hover,
.training-current-module-lesson.is-active {
  border-color: var(--line-gold);
  background: var(--surface-soft);
}

.training-current-module-lesson span:last-child {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}

.training-current-module-lesson small {
  color: var(--ink-tertiary);
  font-size: 0.68rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.training-current-module-lesson strong {
  overflow: hidden;
  color: var(--ink-primary);
  font-size: 0.86rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.training-admin-hub {
  display: grid;
  gap: var(--workspace-gap, 1.15rem);
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.training-admin-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem;
}

.training-upcoming-message-form {
  gap: 0;
}

.training-upcoming-message {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 0.85rem;
  align-items: center;
  padding: 1rem;
}

.training-upcoming-message h3 {
  margin: 0 0 0.15rem;
  color: var(--ink-primary);
}

.training-upcoming-icon {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border-radius: var(--radius-control);
  background: var(--accent-gold-soft);
  color: var(--text-gold);
}

.training-upcoming-icon svg {
  width: 17px;
  height: 17px;
}

.training-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--state-success);
  font-size: 0.78rem;
  font-weight: 750;
}

.training-switch input {
  width: 2.6rem;
  height: 1.4rem;
  margin: 0;
  accent-color: var(--action-primary);
}

.training-admin-course-stack {
  display: grid;
  gap: var(--workspace-gap, 1.15rem);
}

.training-course-manage-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 0.9rem;
  align-items: start;
  padding: 1rem;
}

.training-course-manage-main {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  min-width: 0;
}

.training-course-manage-meta {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--ink-tertiary);
  font-size: 0.78rem;
  font-weight: 650;
}

.training-admin-lesson-list {
  grid-column: 1 / -1;
  display: grid;
  gap: 0.45rem;
  padding-top: 0.8rem;
  border-top: 1px solid var(--line-subtle);
}

.training-admin-lesson-compact-row {
  gap: 0.65rem;
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-soft);
}

.training-admin-lesson-compact-row > span:nth-child(2) {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  flex: 1;
}

.training-admin-lesson-compact-row strong {
  overflow: hidden;
  color: var(--ink-primary);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.training-admin-lesson-compact-row small,
.training-admin-empty-line {
  color: var(--ink-tertiary);
  font-size: 0.78rem;
}

.training-admin-empty-line {
  margin: 0;
  padding: 0.8rem;
  border: 1px dashed var(--line-subtle);
  border-radius: var(--radius-control);
  text-align: center;
}

@media (max-width: 1024px) {
  .training-workspace-grid,
  .training-lesson-editor-grid,
  .training-video-guide-layout {
    grid-template-columns: 1fr;
  }

  .training-current-module-card {
    position: static;
  }
}

@media (max-width: 720px) {
  .training-admin-lesson-row {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .training-video-controls-row {
    gap: 0.35rem;
  }

  .training-video-speed select {
    min-width: 3.2rem;
  }

  .training-index-header {
    flex-direction: column;
  }

  .training-index-header-meta {
    align-items: flex-start;
    width: 100%;
  }

  .training-index-progress-card {
    min-width: auto;
    width: 100%;
  }

  .training-admin-hero,
  .training-completion-card,
  .training-course-manage-card {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .training-upcoming-message {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .training-upcoming-message .training-switch,
  .training-upcoming-message button {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .training-admin-hero {
    flex-direction: column;
    align-items: stretch;
  }

  .training-admin-lesson-compact-row {
    flex-wrap: wrap;
  }
}

/* Members journey: list -> profile -> readiness/responsibility update */
.member-record-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.member-preview-card {
  min-width: 0;
  display: grid;
  gap: 0.9rem;
  align-content: start;
}

.member-card-contact {
  max-width: 100%;
  overflow: hidden;
  color: var(--ink-secondary);
  font-size: 0.82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.member-card-next-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.18rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--line-subtle);
  border-left: 4px solid var(--line-strong);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.member-card-next-action.status-stuck {
  border-left-color: var(--state-danger);
  background: var(--state-danger-soft);
}

.member-card-next-action.status-attention {
  border-left-color: var(--state-warning);
  background: var(--state-warning-soft);
}

.member-card-next-action.status-verified {
  border-left-color: var(--state-success);
  background: var(--state-success-soft);
}

.member-card-next-action-label,
.member-card-responsibility span {
  color: var(--ink-tertiary);
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.member-card-next-action strong,
.member-card-responsibility strong {
  color: var(--ink-primary);
  font-size: 0.9rem;
}

.member-card-next-action > span:last-child {
  color: var(--ink-secondary);
  font-size: 0.8rem;
  line-height: 1.45;
}

.member-card-responsibility {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
}

.member-card-responsibility > div {
  min-width: 0;
  display: grid;
  gap: 0.25rem;
  padding: 0.7rem 0.8rem;
}

.member-card-responsibility > div + div {
  border-left: 1px solid var(--line-subtle);
}

.member-card-responsibility strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.member-card-latest-update {
  min-height: 5rem;
}

.member-card-footer-container {
  margin-top: auto;
}

.member-update-section {
  max-width: 78rem;
  margin-inline: auto;
}

.member-update-brief,
.member-update-workspace {
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
}

.member-update-brief {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.1rem;
}

.member-update-brief > div:first-child {
  min-width: 0;
  display: grid;
  gap: 0.2rem;
}

.member-update-brief > div:first-child > span {
  color: var(--ink-tertiary);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.member-update-brief strong {
  color: var(--ink-primary);
  font-size: 1rem;
}

.member-update-brief p,
.member-update-intro p {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.84rem;
}

.member-update-workspace {
  display: grid;
  gap: 1rem;
  padding: 1.1rem;
}

.member-update-intro {
  display: grid;
  gap: 0.25rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid var(--line-subtle);
}

.member-update-intro h2 {
  margin: 0;
  font-size: 1.05rem;
}

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

.member-update-footer {
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 920px) {
  .member-record-grid,
  .member-update-control-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .member-card-responsibility {
    grid-template-columns: 1fr;
  }

  .member-card-responsibility > div + div {
    border-top: 1px solid var(--line-subtle);
    border-left: 0;
  }

  .member-update-brief {
    align-items: flex-start;
    flex-direction: column;
  }

  .member-update-brief .badge-list,
  .member-card-footer-container .lead-card-buttons-row,
  .member-update-footer .button-link {
    width: 100%;
  }

  .member-card-footer-container .button-link,
  .member-update-footer .button-link {
    justify-content: center;
  }
}

/* Onboarding journey: readiness overview -> member brief -> guided handoff */
.onboarding-overview-panel {
  margin-top: 1rem;
}

.onboarding-record-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.onboarding-preview-card {
  min-width: 0;
  display: grid;
  gap: 0.9rem;
  align-content: start;
}

.onboarding-preview-card .lead-card-actions,
.onboarding-preview-card .button-link {
  width: 100%;
}

.onboarding-preview-card .button-link {
  justify-content: center;
}

.onboarding-progress {
  display: grid;
  gap: 0.45rem;
  padding: 0.8rem 0.9rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-muted);
}

.onboarding-progress-copy {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}

.onboarding-progress-copy span {
  color: var(--ink-secondary);
  font-size: 0.78rem;
}

.onboarding-progress-copy strong {
  color: var(--ink-primary);
  font-size: 0.86rem;
}

.onboarding-progress-track {
  width: 100%;
  height: 0.55rem;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: var(--surface-strong);
  color: var(--state-success);
}

.onboarding-progress-track::-webkit-progress-bar {
  border-radius: 999px;
  background: var(--surface-strong);
}

.onboarding-progress-track::-webkit-progress-value {
  border-radius: 999px;
  background: var(--state-success);
}

.onboarding-progress-track::-moz-progress-bar {
  border-radius: 999px;
  background: var(--state-success);
}

.onboarding-progress p {
  margin: 0;
  color: var(--ink-secondary);
  font-size: 0.8rem;
}

.onboarding-own-workspace,
.onboarding-record-layout {
  align-items: start;
}

.onboarding-record-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 21rem);
  gap: 1rem;
}

.onboarding-record-main,
.onboarding-record-rail,
.onboarding-own-workspace .workspace-primary-surface {
  min-width: 0;
  display: grid;
  gap: 1rem;
}

.onboarding-next-step,
.onboarding-readiness-brief,
.onboarding-guidance-panel,
.onboarding-next-action-panel {
  display: grid;
  gap: 0.9rem;
}

.onboarding-focus-heading {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.onboarding-focus-heading > div {
  min-width: 0;
  display: grid;
  gap: 0.35rem;
}

.onboarding-focus-heading h2,
.onboarding-focus-heading p,
.onboarding-section-heading h2,
.onboarding-section-heading p,
.onboarding-guidance-panel h2,
.onboarding-guidance-panel p,
.onboarding-next-action-panel h2,
.onboarding-next-action-panel p {
  margin: 0;
}

.onboarding-focus-heading h2,
.onboarding-section-heading h2,
.onboarding-guidance-panel h2,
.onboarding-next-action-panel h2 {
  font-size: 1.05rem;
}

.onboarding-focus-heading p,
.onboarding-section-heading p,
.onboarding-guidance-panel p,
.onboarding-next-action-panel p {
  color: var(--ink-secondary);
  font-size: 0.84rem;
  line-height: 1.5;
}

.onboarding-section-heading {
  display: grid;
  gap: 0.3rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid var(--line-subtle);
}

.onboarding-handoff-list {
  display: grid;
  gap: 0.55rem;
}

.onboarding-handoff-item {
  min-width: 0;
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
  padding: 0.75rem 0.8rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
  color: var(--ink-primary);
  text-decoration: none;
}

.onboarding-handoff-item:hover,
.onboarding-handoff-item:focus-visible {
  border-color: var(--line-strong);
  background: var(--surface-muted);
}

.onboarding-handoff-item > span:first-child {
  min-width: 0;
  display: grid;
  gap: 0.2rem;
}

.onboarding-handoff-item strong {
  font-size: 0.86rem;
}

.onboarding-handoff-item small {
  color: var(--ink-secondary);
  font-size: 0.76rem;
  line-height: 1.4;
}

.onboarding-handoff-item > span:last-child {
  flex: 0 0 auto;
  color: var(--action-primary);
  font-weight: 700;
}

.onboarding-filter-disclosure {
  margin-bottom: 1rem;
}

@media (max-width: 920px) {
  .onboarding-record-grid,
  .onboarding-record-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .onboarding-focus-heading,
  .onboarding-progress-copy {
    align-items: flex-start;
    flex-direction: column;
  }

  .onboarding-own-workspace .workspace-action-row,
  .onboarding-own-workspace .workspace-action-row .button-link {
    width: 100%;
  }

  .onboarding-own-workspace .workspace-action-row .button-link {
    justify-content: center;
  }
}

/* Team Accounts Workspace (/users) Redesign & Productization */
.workspace-page-users .user-filter-panel {
  margin-bottom: 1.25rem;
  background: linear-gradient(180deg, rgba(41, 92, 85, 0.03), var(--surface));
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
}

.workspace-page-users .user-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(21rem, 1fr));
  gap: 1.15rem;
}

.workspace-page-users .user-preview-card {
  transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
  position: relative;
  display: flex;
  flex-direction: column;
}

.workspace-page-users .user-preview-card:hover {
  border-color: var(--line-strong);
  box-shadow: var(--shadow-subtle);
}

.workspace-page-users .user-preview-card.lead-card-selected {
  border-color: var(--line-subtle);
  box-shadow: var(--shadow-subtle);
  background: var(--surface);
  position: relative;
}

.workspace-page-users .user-preview-card.lead-card-selected::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--accent-gold);
  border-radius: var(--radius-panel) 0 0 var(--radius-panel);
}

.user-card-avatar,
.user-manage-avatar {
  flex-shrink: 0;
  width: 2.65rem;
  height: 2.65rem;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.95rem;
  font-family: var(--font-heading);
  background: linear-gradient(135deg, var(--accent-gold-soft), rgba(196, 131, 45, 0.22));
  border: 1px solid var(--line-gold);
  color: var(--ink-primary);
}

.user-manage-panel {
  border-color: var(--line-gold);
  background: linear-gradient(180deg, rgba(215, 169, 94, 0.03), transparent), var(--surface);
  box-shadow: 0 0 0 1px rgba(215, 169, 94, 0.15), var(--shadow-subtle);
}

.user-create-panel {
  border-color: var(--line-strong);
  box-shadow: var(--shadow-subtle);
}

@media (max-width: 768px) {
  .workspace-page-users .user-card-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   GROWVANCE SETTINGS WORKSPACE REVAMP & REDESIGN
   ========================================================================== */

.settings-workspace-section {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* Identity Panel */
.settings-identity-panel {
  border-color: var(--line-strong);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
}

.settings-identity-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.settings-identity-card {
  padding: 0.85rem 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-md);
  background: var(--surface-soft);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.settings-identity-card strong {
  font-size: 1rem;
  font-family: var(--font-heading);
  color: var(--ink-primary);
}

.settings-identity-card small {
  color: var(--ink-secondary);
  font-size: 0.8rem;
}

/* Maintenance Mode Panel */
.maintenance-panel {
  border-color: var(--line-subtle);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.maintenance-panel-active {
  border-color: var(--state-warning);
  box-shadow: 0 0 0 1px var(--state-warning), var(--shadow-subtle);
}

.maintenance-status {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--line-subtle);
  margin-bottom: 1rem;
}

.maintenance-status-desc {
  font-size: 0.9rem;
  color: var(--ink-secondary);
}

.maintenance-preview-box {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1rem 1.15rem;
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-md);
  background: var(--surface-soft);
  margin-bottom: 1rem;
}

.maintenance-preview-active {
  border-color: var(--state-warning);
  background: rgba(224, 159, 62, 0.05);
}

.maintenance-preview-title {
  font-size: 1.05rem;
  font-family: var(--font-heading);
  color: var(--ink-primary);
}

.maintenance-preview-body {
  margin: 0;
  font-size: 0.9rem;
  color: var(--ink-secondary);
  line-height: 1.45;
}

/* Setup Checklist Admin Panel */
.template-management-panel {
  border-color: var(--line-gold);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
}

.template-management-intro {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 0.75rem;
}

.template-management-intro strong {
  font-size: 1rem;
  font-family: var(--font-heading);
  color: var(--ink-primary);
}

.template-management-intro span {
  font-size: 0.85rem;
  color: var(--ink-secondary);
}

.template-management-stack {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1rem;
}

.template-management-stack > details {
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-md);
  background: var(--surface-soft);
  transition: border-color var(--transition-fast);
}

.template-management-stack > details[open] {
  border-color: var(--line-gold);
  background: var(--surface);
}

/* Sub-page Section Layouts */
.settings-content-studio-section,
.settings-email-test-section {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* Stored Values Disclosure */
.settings-stored-values {
  margin-top: 0.5rem;
}

@media (max-width: 768px) {
  .settings-identity-grid {
    grid-template-columns: 1fr;
  }
}

/* Product Support Tickets — separate from the operational Support workspace. */
.product-support-section {
  width: min(100%, 1120px);
  margin-inline: auto;
}

.product-support-ticket-list,
.product-support-admin-table,
.product-support-conversation,
.product-support-form {
  overflow: hidden;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
  box-shadow: var(--shadow-subtle);
}

.product-support-ticket-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem;
  color: var(--ink-primary);
  text-decoration: none;
  border-bottom: 1px solid var(--line-subtle);
  transition: background-color 160ms ease;
}

.product-support-ticket-row:last-child,
.product-support-admin-row:last-child {
  border-bottom: 0;
}

.product-support-ticket-row:hover,
.product-support-admin-row:not(.product-support-admin-head):hover {
  background: var(--surface-soft);
}

.product-support-ticket-icon,
.product-support-empty-icon {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  color: var(--action-primary);
  border-radius: var(--radius-control);
  background: var(--soft-accent);
}

.product-support-ticket-icon svg,
.product-support-empty-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.product-support-ticket-copy,
.product-support-admin-subject {
  min-width: 0;
  flex: 1;
}

.product-support-ticket-copy strong,
.product-support-admin-subject strong {
  display: block;
  overflow: hidden;
  color: var(--ink-primary);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-support-ticket-copy small,
.product-support-admin-subject small,
.product-support-message > small {
  display: block;
  margin-top: 0.25rem;
  color: var(--ink-tertiary);
  font-size: 0.75rem;
}

.product-support-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 5px 10px;
  border: 1px solid var(--line-subtle);
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.product-support-status.is-open {
  color: var(--state-warning);
  border-color: var(--state-warning);
  background: var(--state-warning-soft);
}

.product-support-status.is-answered {
  color: var(--state-success);
  border-color: var(--state-success);
  background: var(--state-success-soft);
}

.product-support-status.is-closed {
  color: var(--ink-tertiary);
  background: var(--surface-soft);
}

.product-support-empty {
  display: grid;
  justify-items: center;
  min-height: 280px;
  padding: 2rem;
  text-align: center;
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-panel);
  background: var(--surface);
}

.product-support-empty h2 {
  margin: 1rem 0 0.5rem;
}

.product-support-empty p {
  max-width: 520px;
  margin: 0 0 1.25rem;
  color: var(--ink-secondary);
}

.product-support-notice {
  margin: 0 0 1rem;
  padding: 0.75rem 1rem;
  border: 1px solid;
  border-radius: var(--radius-control);
}

.product-support-notice.is-success {
  color: var(--state-success);
  border-color: var(--state-success);
  background: var(--state-success-soft);
}

.product-support-notice.is-error {
  color: var(--state-danger);
  border-color: var(--state-danger);
  background: var(--state-danger-soft);
}

.product-support-form {
  width: min(100%, 760px);
  margin-inline: auto;
}

.product-support-counts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.product-support-count-card {
  padding: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
}

.product-support-count-card strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 1.75rem;
}

.product-support-count-card span {
  color: var(--ink-secondary);
  font-size: 0.875rem;
}

.product-support-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 180px 210px auto;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface);
}

.product-support-filters input,
.product-support-filters select {
  width: 100%;
}

.product-support-admin-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 130px 170px;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  color: var(--ink-primary);
  text-decoration: none;
  border-bottom: 1px solid var(--line-subtle);
}

.product-support-admin-head {
  color: var(--ink-tertiary);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--surface-soft);
}

.product-support-admin-row time {
  color: var(--ink-tertiary);
  font-size: 0.75rem;
  text-align: right;
}

.product-support-conversation {
  min-height: min(720px, calc(100vh - 180px));
  display: flex;
  flex-direction: column;
}

.product-support-conversation-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem;
  border-bottom: 1px solid var(--line-subtle);
  background: var(--surface-soft);
}

.product-support-title-row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
}

.product-support-title-row h1 {
  margin: 0.25rem 0;
  font-size: 1.5rem;
}

.product-support-back {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  color: var(--ink-secondary);
  text-decoration: none;
  border-radius: var(--radius-control);
}

.product-support-back:hover {
  color: var(--ink-primary);
  background: var(--surface);
}

.product-support-ticket-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  color: var(--ink-tertiary);
  font-size: 0.75rem;
}

.product-support-conversation-body {
  flex: 1;
  padding: 1.25rem;
}

.product-support-message-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.product-support-message {
  max-width: min(72%, 680px);
}

.product-support-message.is-own {
  align-self: flex-end;
}

.product-support-message.is-support {
  align-self: flex-start;
}

.product-support-message-bubble {
  padding: 0.75rem 1rem;
  white-space: pre-wrap;
  line-height: 1.55;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-panel);
  background: var(--surface-soft);
}

.product-support-message.is-own .product-support-message-bubble {
  color: var(--ink-inverse);
  border-color: var(--action-primary);
  background: var(--action-primary);
}

.product-support-message.is-own > small {
  text-align: right;
}

.product-support-message-files {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.product-support-message-files a {
  padding: 0.5rem 0.75rem;
  color: var(--action-primary);
  font-size: 0.75rem;
  text-decoration: none;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
}

.product-support-composer {
  padding: 1rem;
  border-top: 1px solid var(--line-subtle);
  background: var(--surface-soft);
}

.product-support-composer-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.product-support-composer-row textarea {
  min-height: 72px;
  resize: vertical;
}

.product-support-reopen-note {
  margin: 0 0 0.5rem;
  color: var(--state-warning);
  font-size: 0.75rem;
}

@media (max-width: 760px) {
  .product-support-counts,
  .product-support-filters {
    grid-template-columns: 1fr;
  }

  .product-support-admin-head {
    display: none;
  }

  .product-support-admin-row {
    grid-template-columns: 1fr auto;
  }

  .product-support-admin-row time {
    grid-column: 1 / -1;
    text-align: left;
  }

  .product-support-conversation-header {
    align-items: stretch;
    flex-direction: column;
  }

  .product-support-message {
    max-width: 90%;
  }
}

/* Member Business Journey */
.member-business-journey-panel > .panel-body {
  display: grid;
  gap: 1rem;
}

.business-journey-current {
  display: grid;
  gap: 0.25rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-soft);
}

.business-journey-current > strong {
  color: var(--ink-primary);
  font-size: 1rem;
}

.business-journey-current > span:last-child {
  color: var(--ink-secondary);
  font-size: 0.82rem;
}

.business-journey-timeline {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.business-journey-timeline > li {
  position: relative;
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  gap: 0.65rem;
  padding: 0 0 0.9rem;
}

.business-journey-timeline > li:not(:last-child)::after {
  position: absolute;
  top: 0.85rem;
  bottom: 0;
  left: 0.34rem;
  width: 1px;
  background: var(--line-strong);
  content: "";
}

.business-journey-marker {
  position: relative;
  z-index: 1;
  width: 0.72rem;
  height: 0.72rem;
  margin-top: 0.25rem;
  border: 2px solid var(--action-primary);
  border-radius: 50%;
  background: var(--surface);
}

.business-journey-timeline > li > div {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}

.business-journey-timeline time {
  flex: 0 0 auto;
  color: var(--ink-secondary);
  font-size: 0.8rem;
}

.business-journey-disclosure {
  border-top: 1px solid var(--line-subtle);
}

.business-journey-disclosure > summary {
  padding-top: 0.9rem;
}

.business-journey-form-body {
  padding-top: 0.85rem;
}

.business-milestone-date-field[hidden] {
  display: none;
}

@media (max-width: 620px) {
  .business-journey-timeline > li > div {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.2rem;
  }
}

.warm-market-start-panel,
.lead-closing-support-panel {
  display: grid;
  gap: var(--workspace-gap);
  border: 1px solid var(--workspace-focus-line);
  border-radius: var(--radius-panel);
  background: var(--workspace-command-surface);
  padding: 1.1rem;
  box-shadow: var(--workspace-shadow-focus);
}

.warm-market-start-panel {
  margin-bottom: var(--workspace-gap);
}

.warm-market-start-panel h2,
.warm-market-start-panel p,
.lead-closing-support-header h2,
.lead-closing-support-header p,
.lead-closing-support-note p {
  margin: 0;
}

.warm-market-start-panel p,
.lead-closing-support-header p,
.lead-closing-support-note p {
  color: var(--ink-secondary);
  line-height: 1.55;
}

.warm-market-support-choice {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  border: 1px solid var(--line-gold);
  border-radius: var(--radius-control);
  background: var(--accent-gold-soft);
  padding: 0.9rem;
}

.warm-market-support-choice > span {
  display: grid;
  gap: 0.2rem;
}

.warm-market-support-choice small {
  color: var(--ink-secondary);
  line-height: 1.45;
}

.lead-closing-support-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.lead-closing-support-header > div {
  display: grid;
  gap: 0.3rem;
}

.lead-closing-support-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.lead-closing-support-summary > div,
.lead-closing-support-note,
.lead-closing-support-form {
  display: grid;
  gap: 0.35rem;
  border: 1px solid var(--line-subtle);
  border-radius: var(--radius-control);
  background: var(--surface);
  padding: 0.85rem;
}

.lead-closing-support-summary span {
  color: var(--ink-tertiary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

@media (max-width: 640px) {
  .lead-closing-support-header {
    display: grid;
  }

  .lead-closing-support-summary {
    grid-template-columns: 1fr;
  }
}

/* Setup attention-first structural repair */
.setup-update-layout {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.28fr);
}

.setup-task-exception-disclosure {
  flex: 1 0 100%;
  min-width: 0;
  text-align: right;
}

.setup-task-exception-disclosure > summary {
  display: inline-flex;
  min-height: 2.25rem;
  align-items: center;
  color: var(--ink-secondary);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 650;
  list-style: none;
}

.setup-task-exception-disclosure > summary::-webkit-details-marker {
  display: none;
}

.setup-task-exception-disclosure > summary::after {
  content: "+";
  margin-left: 0.35rem;
}

.setup-task-exception-disclosure[open] > summary::after {
  content: "−";
}

.setup-task-exception-disclosure > .setup-task-exception-actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 0.35rem;
}

.setup-recommended-actions > .setup-recommended-action {
  min-height: 2.75rem;
}

@media (max-width: 900px) {
  .setup-update-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .setup-update-layout > .milestone-update-context {
    order: initial;
  }
}

@media (max-width: 720px) {
  .workspace-page-setup,
  .workspace-page-setup .section,
  .workspace-page-setup .panel,
  .workspace-page-setup .panel-body,
  .workspace-page-setup .setup-checklist-container,
  .workspace-page-setup .setup-checklist-categories-list,
  .workspace-page-setup .setup-category-disclosure,
  .workspace-page-setup .setup-category-body,
  .workspace-page-setup .setup-task-list {
    min-width: 0;
    max-width: 100%;
  }

  .workspace-page-setup .setup-category-disclosure > .setup-category-summary {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.45rem 0.75rem;
  }

  .workspace-page-setup .setup-category-disclosure > .setup-category-summary > .setup-category-progress-pill {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: start;
    margin: 0;
  }

  .workspace-page-setup .setup-category-disclosure > .setup-category-summary > .disclosure-chevron {
    grid-column: 2;
    grid-row: 1;
  }

  .workspace-page-setup .setup-category-disclosure > .setup-category-body > .setup-task-list {
    padding: 0.65rem;
  }

  .workspace-page-setup .setup-category-disclosure > .setup-category-body > .setup-task-list > .setup-task-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    align-items: stretch;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 0.85rem;
  }

  .workspace-page-setup .setup-task-row > .setup-task-main,
  .workspace-page-setup .setup-task-row > .setup-task-actions,
  .workspace-page-setup .setup-task-row > .setup-blocker-form {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .workspace-page-setup .setup-task-title,
  .workspace-page-setup .setup-task-title strong,
  .workspace-page-setup .setup-task-instructions,
  .workspace-page-setup .setup-task-feedback,
  .workspace-page-setup .setup-task-evidence,
  .workspace-page-setup .setup-task-blocker-box {
    min-width: 0;
    max-width: 100%;
    word-break: normal;
    overflow-wrap: break-word;
  }

  .workspace-page-setup .setup-task-row > .setup-task-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-content: stretch;
    margin-top: 0;
  }

  .workspace-page-setup .setup-task-row > .setup-task-actions > button,
  .workspace-page-setup .setup-task-row > .setup-task-actions > .button-link,
  .workspace-page-setup .setup-task-row > .setup-task-actions > .button-link-secondary,
  .workspace-page-setup .setup-task-row > .setup-task-actions > .compact-action,
  .workspace-page-setup .setup-task-exception-disclosure > .setup-task-exception-actions > button {
    width: 100%;
    min-height: 44px;
    justify-content: center;
    white-space: normal;
  }

  .workspace-page-setup .setup-task-exception-disclosure {
    text-align: left;
  }

  .workspace-page-setup .setup-task-exception-disclosure > summary {
    width: 100%;
    min-height: 44px;
    justify-content: space-between;
  }

  .workspace-page-setup .setup-task-exception-disclosure > .setup-task-exception-actions {
    justify-content: stretch;
  }

  .workspace-page-setup .setup-recommended-actions,
  .workspace-page-setup .setup-recommended-actions > .setup-recommended-action {
    width: 100%;
  }

  .workspace-page-setup .setup-recommended-actions > .setup-recommended-action {
    min-height: 44px;
    justify-content: center;
  }
}
