/**
 * HyntAi CRM — Design System (Commun Color Palette)
 */
:root,
html[data-theme="dark"] {
  --font-display: "Rajdhani", system-ui, sans-serif;
  --font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --color-black: #000000;
  --color-black-elevated: #0a0a0a;
  --color-black-surface: #111111;
  --color-border: #1a1a1a;
  --color-fluoro: #39ff14;
  --color-fluoro-bright: #4dff33;
  --color-fluoro-muted: #2dd10f;
  --color-fluoro-dim: rgba(57, 255, 20, 0.4);
  --color-fluoro-subtle: rgba(57, 255, 20, 0.15);
  --color-fluoro-bg-5: rgba(57, 255, 20, 0.05);
  --color-fluoro-bg-10: rgba(57, 255, 20, 0.1);
  --color-amber: #f59e0b;
  --color-red: rgba(239, 68, 68, 0.8);
  --color-zinc-500: #71717a;
  --color-zinc-600: #52525b;
  --white-5: rgba(255, 255, 255, 0.05);
  --white-10: rgba(255, 255, 255, 0.1);
  --white-20: rgba(255, 255, 255, 0.2);
  --white-60: rgba(255, 255, 255, 0.6);
  --white-70: rgba(255, 255, 255, 0.7);
  --white-90: rgba(255, 255, 255, 0.9);
  --white-80: rgba(255, 255, 255, 0.8);
  --color-placeholder: #9ca3af;
  --color-text-primary: #ffffff;
  --color-text-on-fluoro: #000000;
  --color-bg: #000000;
  --header-bg: rgba(0, 0, 0, 0.88);
  --overlay-scrim: rgba(0, 0, 0, 0.6);
  --overlay-modal: rgba(0, 0, 0, 0.8);
  --shadow-elevated: rgba(0, 0, 0, 0.55);
  --shadow-drawer: rgba(0, 0, 0, 0.5);
}

html[data-theme="light"] {
  color-scheme: light;
  --color-black: #ffffff;
  --color-black-elevated: #f8f8f8;
  --color-black-surface: #f1f1f3;
  --color-border: #e4e4e7;
  --color-fluoro: #158a0a;
  --color-fluoro-bright: #1aad0c;
  --color-fluoro-muted: #127507;
  --color-fluoro-dim: rgba(21, 138, 10, 0.35);
  --color-fluoro-subtle: rgba(21, 138, 10, 0.14);
  --color-fluoro-bg-5: rgba(21, 138, 10, 0.06);
  --color-fluoro-bg-10: rgba(21, 138, 10, 0.1);
  --color-zinc-500: #71717a;
  --color-zinc-600: #52525b;
  --white-5: rgba(0, 0, 0, 0.04);
  --white-10: rgba(0, 0, 0, 0.08);
  --white-20: rgba(0, 0, 0, 0.14);
  --white-60: rgba(0, 0, 0, 0.55);
  --white-70: rgba(0, 0, 0, 0.65);
  --white-80: rgba(0, 0, 0, 0.75);
  --white-90: rgba(0, 0, 0, 0.88);
  --color-placeholder: #a1a1aa;
  --color-text-primary: #111111;
  --color-text-on-fluoro: #ffffff;
  --color-bg: #ffffff;
  --header-bg: rgba(255, 255, 255, 0.92);
  --overlay-scrim: rgba(0, 0, 0, 0.35);
  --overlay-modal: rgba(0, 0, 0, 0.45);
  --shadow-elevated: rgba(0, 0, 0, 0.12);
  --shadow-drawer: rgba(0, 0, 0, 0.15);
}

* { box-sizing: border-box; }

body {
  font-family: var(--font-body);
  background: var(--color-black);
  color: var(--color-text-primary);
  color-scheme: dark;
  margin: 0;
  min-height: 100vh;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
}

html[data-theme="light"] body {
  color-scheme: light;
}

/* Header — international / SaaS chrome (Kaizen: clarity, restraint) */
.header {
  flex-shrink: 0;
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 56px;
  padding: 0 clamp(1rem, 3vw, 1.75rem);
  background: var(--header-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--color-border);
}

/* App body — sidebar (desktop) + main content, side by side */
.app-body {
  flex: 1 1 auto;
  display: flex;
  align-items: stretch;
  min-width: 0;
}

.sidebar {
  flex-shrink: 0;
  width: 60px;
  align-self: stretch;
  position: sticky;
  top: 56px;
  height: calc(100vh - 56px);
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.65rem 0.5rem;
  background: var(--color-black-elevated);
  border-right: 1px solid var(--color-border);
  transition: width 0.15s ease;
}

html.sidebar-expanded .sidebar {
  width: 216px;
}

.sidebar-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: flex-end;
  width: 32px;
  height: 32px;
  margin-bottom: 0.35rem;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--color-zinc-500);
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.sidebar-toggle:hover {
  background: var(--white-5);
  color: var(--white-90);
}

html.sidebar-expanded .sidebar-toggle {
  align-self: flex-start;
  transform: rotate(180deg);
}

.sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.sidebar-link {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.55rem;
  border-radius: 8px;
  color: var(--color-zinc-500);
  text-decoration: none;
  font-family: var(--font-ui);
  font-size: 0.8125rem;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  position: relative;
}

.sidebar-link:hover {
  color: var(--white-90);
  background: var(--white-5);
}

.sidebar-link.active {
  color: var(--color-text-primary);
  background: var(--color-fluoro-bg-5, var(--white-5));
}

.sidebar-link.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35rem;
  bottom: 0.35rem;
  width: 2.5px;
  border-radius: 2px;
  background: var(--color-fluoro);
  box-shadow: 0 0 8px rgba(57, 255, 20, 0.35);
}

.sidebar-link-icon {
  flex-shrink: 0;
}

.sidebar-link-label {
  opacity: 0;
  width: 0;
  overflow: hidden;
  transition: opacity 0.1s ease;
}

html.sidebar-expanded .sidebar-link-label {
  opacity: 1;
  width: auto;
}

html.sidebar-expanded .sidebar-sublink {
  padding-left: 1.65rem;
  font-size: 0.75rem;
}

.header-hamburger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--white-90);
  cursor: pointer;
  flex-direction: column;
  gap: 5px;
  transition: background 0.15s ease;
}

.header-hamburger:hover {
  background: var(--white-5);
}

.hamburger-bar {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.header-hamburger.is-open .hamburger-bar:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.header-hamburger.is-open .hamburger-bar:nth-child(2) {
  opacity: 0;
}

.header-hamburger.is-open .hamburger-bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.logo {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  justify-self: start;
  text-decoration: none;
}

/* Theme-aware brand logo */
.brand-logo {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

.brand-logo-img {
  display: block;
  object-fit: contain;
}

.brand-logo-light {
  display: none;
}

.brand-logo-dark {
  display: block;
}

html[data-theme="light"] .brand-logo-light {
  display: block;
}

html[data-theme="light"] .brand-logo-dark {
  display: none;
}

.brand-logo--header .brand-logo-img {
  height: 38px;
  width: auto;
  max-width: 200px;
}

.brand-logo--landing .brand-logo-img {
  height: 48px;
  width: auto;
  max-width: min(240px, 88vw);
}

.brand-logo--footer .brand-logo-img {
  height: 34px;
  width: auto;
  max-width: 180px;
}

.logo-text {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 1.125rem;
  color: var(--white-90);
}

.logo-text-hynt {
  font-weight: 300;
}

.logo-text-ai {
  font-weight: 700;
}

.logo-text-crm {
  font-size: 0.75em;
  font-weight: 400;
  opacity: 0.85;
}

.logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
}

.logo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Site footer */
.site-footer {
  flex-shrink: 0;
  margin-top: auto;
  border-top: 1px solid var(--color-border);
  background: var(--color-black-elevated);
}

.site-footer-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2.5rem 1rem 2rem;
  display: grid;
  gap: 2rem;
}

@media (min-width: 640px) {
  .site-footer-inner {
    grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr));
    align-items: start;
  }
}

.site-footer-brand .logo-footer {
  flex-direction: row;
  align-items: center;
}

.logo-wrap-footer {
  width: 36px;
  height: 36px;
}

.logo-text-footer {
  font-size: 1rem;
}

.site-footer-heading {
  font-family: var(--font-ui);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-zinc-500);
  margin: 0 0 0.875rem;
}

.site-footer-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer-list li {
  margin: 0;
}

.site-footer-list li + li {
  margin-top: 0.5rem;
}

.site-footer-link {
  font-family: var(--font-ui);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--white-80);
  text-decoration: none;
  transition: color 0.15s ease;
}

.site-footer-link:hover {
  color: var(--color-fluoro);
}

.site-footer-link.is-current {
  color: var(--color-fluoro);
}

.site-footer-link-muted {
  color: var(--color-zinc-500);
}

.site-footer-link-muted:hover {
  color: var(--white-80);
}

.site-footer-bar {
  border-top: 1px solid var(--color-border);
  padding: 1rem 1.5rem;
  text-align: center;
}

.site-footer-tagline {
  margin: 0.75rem 0 0.35rem;
  font-size: 0.875rem;
  color: var(--white-70);
  max-width: 28rem;
  line-height: 1.5;
}

.site-footer-company {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--white-80);
  letter-spacing: 0.02em;
}

.site-footer-copy {
  margin: 0;
  font-family: var(--font-ui);
  font-size: 0.75rem;
  color: var(--color-zinc-600);
}

.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-left: auto;
}

.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  margin: 0;
  border: 1px solid var(--white-10);
  border-radius: 6px;
  background: var(--white-5);
  color: var(--white-90);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.theme-toggle:hover {
  border-color: var(--color-fluoro-dim);
  color: var(--color-fluoro);
  background: var(--color-fluoro-bg-5);
}

.theme-toggle .theme-icon {
  display: block;
}

html[data-theme="dark"] .theme-icon-moon,
html[data-theme="light"] .theme-icon-sun {
  display: none;
}

.mobile-drawer-theme {
  padding: 0.75rem 1rem 0.25rem;
  border-top: 1px solid var(--color-border);
  margin-top: auto;
}

.mobile-drawer-theme .theme-toggle {
  width: 100%;
  height: auto;
  padding: 0.65rem 0.85rem;
  gap: 0.5rem;
  font-family: var(--font-ui);
  font-size: 0.875rem;
  font-weight: 500;
  justify-content: flex-start;
}

.mobile-drawer-theme .theme-toggle::after {
  content: "Light theme";
}

html[data-theme="light"] .mobile-drawer-theme .theme-toggle::after {
  content: "Dark theme";
}

.mobile-drawer-group-label {
  display: block;
  padding: 0.75rem 1.25rem 0.25rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-zinc-500);
}

.mobile-drawer-sublink {
  padding-left: 2rem !important;
  font-size: 0.9rem;
}

.job-import-layout {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.job-import-preview-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.job-import-bulk-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.job-import-table-wrap {
  overflow-x: auto;
  margin-bottom: 1rem;
  border: 1px solid var(--white-10);
  border-radius: 8px;
}

.job-import-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.job-import-table th,
.job-import-table td {
  padding: 0.6rem 0.75rem;
  text-align: left;
  border-bottom: 1px solid var(--white-8);
  vertical-align: middle;
}

.job-import-table th {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-zinc-500);
  background: var(--white-3);
}

.job-import-col-check {
  width: 2.5rem;
}

.job-import-col-check input {
  width: auto;
}

.job-import-name-input,
.job-import-title-input {
  width: 100%;
  min-width: 8rem;
  font-size: 0.875rem;
  padding: 0.35rem 0.5rem;
}

.job-import-badge {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.job-import-badge-new {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

.job-import-badge-crm {
  background: rgba(161, 161, 170, 0.15);
  color: var(--color-zinc-400);
}

.job-import-row-crm {
  opacity: 0.85;
}

.job-import-row-done {
  opacity: 0.5;
}

.job-import-results {
  margin-top: 1rem;
  padding: 1rem;
  border-radius: 8px;
  background: var(--white-3);
  border: 1px solid var(--white-10);
}

.job-import-results-title {
  margin: 0 0 0.5rem;
  font-size: 0.9375rem;
}

.job-import-results-list {
  margin: 0;
  padding-left: 1.25rem;
  font-size: 0.875rem;
}

.job-import-results-list li {
  margin-bottom: 0.25rem;
}

.job-import-card-title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
}

.job-import-html-input {
  width: 100%;
  min-height: 14rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.75rem;
  line-height: 1.4;
}

.job-import-status-success { color: var(--color-success, #22c55e); }
.job-import-status-warning { color: #eab308; }
.job-import-status-error { color: var(--color-danger, #ef4444); }

.job-import-actions {
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.user-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid var(--white-10);
}

.user-avatar-initials {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-ui);
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--color-fluoro);
  background: var(--color-fluoro-bg-10);
  border-color: var(--color-fluoro-dim);
}

.header-user-wrap {
  position: relative;
}

.user-menu-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.5rem 0.35rem 0.35rem;
  margin: 0;
  border: 1px solid transparent;
  border-radius: 9999px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.user-menu-trigger:hover,
.header-user-wrap.is-open .user-menu-trigger {
  background: var(--white-5);
  border-color: var(--white-10);
}

.user-name {
  font-family: var(--font-ui);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--white-90);
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-menu-chevron {
  color: var(--color-zinc-500);
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.header-user-wrap.is-open .user-menu-chevron {
  transform: rotate(180deg);
  color: var(--white-80);
}

.user-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 220px;
  padding: 0.375rem 0;
  background: var(--color-black-elevated);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 16px 48px var(--shadow-elevated);
  z-index: 100;
}

.user-menu-header {
  padding: 0.625rem 1rem 0.5rem;
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 0.25rem;
}

.user-menu-label {
  display: block;
  font-family: var(--font-ui);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--color-text-primary);
}

.user-menu-email {
  display: block;
  font-family: var(--font-ui);
  font-size: 0.6875rem;
  color: var(--color-zinc-500);
  margin-top: 0.125rem;
  word-break: break-all;
}

.user-menu-item {
  display: block;
  padding: 0.5rem 1rem;
  font-family: var(--font-ui);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--white-90);
  text-decoration: none;
  transition: background 0.12s ease, color 0.12s ease;
}

.user-menu-item:hover {
  background: var(--white-5);
  color: var(--color-text-primary);
}

.user-menu-item-danger {
  color: rgba(252, 165, 165, 0.95);
}

.user-menu-item-danger:hover {
  background: rgba(239, 68, 68, 0.12);
  color: #fecaca;
}

.user-menu-divider {
  height: 1px;
  margin: 0.25rem 0;
  background: var(--color-border);
}

.user-menu-locale {
  display: block;
  padding: 0.35rem 1rem 0.25rem;
  font-family: var(--font-ui);
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-zinc-600);
}

/* Mobile drawer (left slide-out) */
.mobile-drawer-overlay {
  position: fixed;
  inset: 0;
  background: var(--overlay-scrim);
  backdrop-filter: blur(2px);
  z-index: 60;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

.mobile-drawer-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.mobile-drawer {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(280px, 85vw);
  max-width: 280px;
  z-index: 70;
  background: var(--color-black-elevated);
  border-right: 1px solid var(--color-border);
  display: flex;
  flex-direction: column;
  transform: translateX(-100%);
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
}

.mobile-drawer.is-open {
  transform: translateX(0);
  box-shadow: 16px 0 48px var(--shadow-drawer);
}

.mobile-drawer-nav {
  display: flex;
  flex-direction: column;
  padding: 1rem 0.5rem;
  gap: 0.25rem;
}

.mobile-drawer-link {
  font-family: var(--font-ui);
  font-size: 0.9375rem;
  font-weight: 500;
  padding: 0.75rem 1rem;
  color: var(--white-90);
  text-decoration: none;
  border-radius: 6px;
  transition: background 0.15s ease, color 0.15s ease;
}

.mobile-drawer-link:hover {
  background: var(--white-5);
  color: var(--color-text-primary);
}

.mobile-drawer-link.active {
  background: var(--color-fluoro-bg-10);
  color: var(--color-fluoro);
  box-shadow: inset 3px 0 0 var(--color-fluoro);
}

.mobile-drawer-link-danger {
  color: rgba(252, 165, 165, 0.95);
}

.mobile-drawer-link-danger:hover {
  background: rgba(239, 68, 68, 0.12);
  color: #fecaca;
}

.mobile-drawer-user {
  margin-top: auto;
  padding: 1rem;
  border-top: 1px solid var(--color-border);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.mobile-drawer-user-info {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding-bottom: 0.75rem;
}

.user-avatar-lg {
  width: 40px;
  height: 40px;
  font-size: 0.8125rem;
}

.mobile-drawer-user-name {
  display: block;
  font-family: var(--font-ui);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-text-primary);
}

.mobile-drawer-user-email {
  display: block;
  font-size: 0.6875rem;
  color: var(--color-zinc-500);
  margin-top: 0.125rem;
  word-break: break-all;
}

@media (max-width: 720px) {
  .header-hamburger {
    display: flex;
    justify-self: start;
  }

  .header {
    gap: 0.5rem;
  }

  .sidebar {
    display: none;
  }

  .user-name {
    display: none;
  }

  .user-menu-trigger {
    padding: 0.25rem;
  }

  .mobile-drawer {
    display: flex;
  }
}

@media (min-width: 721px) {
  .mobile-drawer-overlay,
  .mobile-drawer {
    display: none !important;
  }
}

/* Main content */
.main {
  flex: 1 1 auto;
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  padding: 2rem 1rem;
}

/* Typography */
h1 {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
}

.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.section-header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.leads-bulk-panel {
  margin-bottom: 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--white-10);
  border-radius: 8px;
  background: var(--color-black-elevated);
}

.leads-bulk-panel-head {
  margin-bottom: 0.85rem;
}

.leads-bulk-panel-title {
  margin: 0 0 0.35rem;
  font-size: 1rem;
}

.leads-bulk-filename {
  font-size: 0.875rem;
  color: var(--white-70);
  flex: 1 1 8rem;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.leads-bulk-file-label {
  cursor: pointer;
}

.leads-bulk-format-hint {
  margin-top: 0.65rem;
  margin-bottom: 0;
}

.leads-bulk-format-hint code {
  font-size: 0.8em;
}

.leads-import-result {
  margin-top: 0.85rem;
  padding: 0.75rem 0.9rem;
  border-radius: 6px;
  font-size: 0.9rem;
}

.leads-import-result-success {
  border: 1px solid rgba(74, 222, 128, 0.35);
  background: rgba(74, 222, 128, 0.08);
}

.leads-import-result-warning {
  border: 1px solid rgba(251, 191, 36, 0.35);
  background: rgba(251, 191, 36, 0.08);
}

.leads-import-result-error {
  border: 1px solid rgba(248, 113, 113, 0.35);
  background: rgba(248, 113, 113, 0.08);
}

.leads-import-errors {
  margin: 0.5rem 0 0;
  padding-left: 1.1rem;
  font-size: 0.85rem;
}

.outreach-compose-to {
  margin: 0 0 1rem;
  color: var(--white-80);
}

.lead-proposal-download-to {
  margin: 0 0 0.5rem;
  color: var(--white-90);
}

.lead-proposal-list {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin-top: 0.75rem;
  max-height: 320px;
  overflow-y: auto;
}

.lead-proposal-option {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-black-elevated);
  cursor: pointer;
}

.lead-proposal-option:has(input:checked) {
  border-color: var(--color-fluoro);
  box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.2);
}

.lead-proposal-option input[type="radio"] {
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  margin: 0.15rem 0 0;
  padding: 0;
  flex: 0 0 1rem;
  accent-color: var(--color-fluoro);
}

.lead-proposal-option-main {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
  flex: 1;
}

.lead-proposal-option-title {
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.35;
  word-break: break-word;
}

.lead-proposal-option-meta {
  font-size: 0.78rem;
  color: var(--color-placeholder);
  line-height: 1.45;
}

.lead-proposal-section {
  margin-top: 1.25rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--color-border);
}

.lead-proposal-section:first-of-type {
  margin-top: 0.5rem;
  padding-top: 0;
  border-top: none;
}

.lead-proposal-section-title {
  margin: 0 0 0.4rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-text-primary);
}

.outreach-template-select {
  width: 100%;
  padding: 0.5rem;
  border-radius: 4px;
  border: 1px solid var(--color-border);
  background: var(--color-black);
  color: inherit;
}

.outreach-attachments {
  margin-top: 0.75rem;
}

.outreach-attachments-label {
  font-size: 0.8rem;
  color: var(--white-70);
  margin-bottom: 0.4rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.outreach-attachment-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.outreach-attachment-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.65rem;
  border-radius: 4px;
  border: 1px solid var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-5);
  color: var(--color-fluoro);
  font-size: 0.85rem;
  text-decoration: none;
}

.outreach-settings-form .form-group textarea,
.outreach-settings-form .form-group input[type="text"] {
  width: 100%;
}

.outreach-template-card {
  margin-bottom: 1rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--white-10);
  border-radius: 8px;
  background: var(--color-black-elevated);
}

.outreach-template-summary {
  cursor: pointer;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

.outreach-settings-attachment {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.35rem;
  font-size: 0.9rem;
}

.outreach-upload-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-top: 0.65rem;
}

.outreach-upload-label-input {
  flex: 1 1 10rem;
  min-width: 0;
  padding: 0.45rem 0.6rem;
  border-radius: 4px;
  border: 1px solid var(--color-border);
  background: var(--color-black);
  color: inherit;
}

.outreach-settings-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1rem;
}

.outreach-settings-subhead {
  margin: 1.25rem 0 0.5rem;
  font-size: 0.95rem;
}

.outreach-branding-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

.outreach-html-preview-wrap {
  margin: 0.75rem 0 1rem;
}

.outreach-html-preview-wrap summary {
  cursor: pointer;
  color: var(--color-fluoro);
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
}

.outreach-html-preview {
  width: 100%;
  min-height: 280px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: #fff;
}

.outreach-html-preview-lg {
  min-height: 420px;
}

.outreach-html-preview-section {
  margin: 0.75rem 0 1rem;
}

.outreach-html-preview-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--white-80);
  margin-bottom: 0.45rem;
}

.outreach-layout-tag {
  font-weight: 500;
  color: var(--color-fluoro);
  text-transform: capitalize;
}

.outreach-copy-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0.25rem 0 0.65rem;
}

.outreach-college-emails {
  margin: 0 0 1rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-black-elevated);
}

.outreach-college-emails-empty {
  padding: 0.5rem 0.65rem;
}

.outreach-college-emails-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.45rem;
}

.outreach-college-emails-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--white-80);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.outreach-email-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  max-height: 160px;
  overflow-y: auto;
}

.outreach-email-chip-row {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.outreach-email-pick {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.1rem;
  padding: 0.45rem 0.55rem;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-black-surface);
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.outreach-email-pick:hover {
  border-color: var(--color-fluoro);
}

.outreach-email-addr {
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--color-fluoro);
  word-break: break-all;
}

.outreach-email-meta {
  font-size: 0.74rem;
  color: var(--color-placeholder);
}

@media (max-width: 640px) {
  .outreach-branding-row {
    grid-template-columns: 1fr;
  }
}

.gmail-status-card {
  padding: 1rem 1.1rem;
  border-radius: 10px;
  border: 1px solid var(--white-10);
  background: var(--color-black-elevated);
  margin-bottom: 1.25rem;
}

.gmail-status-connected {
  border-color: rgba(74, 222, 128, 0.35);
}

.gmail-status-disconnected {
  border-color: rgba(251, 191, 36, 0.35);
}

.gmail-status-head {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 0.75rem;
}

.gmail-status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-top: 0.35rem;
  flex-shrink: 0;
  background: #fbbf24;
}

.gmail-status-connected .gmail-status-dot {
  background: #4ade80;
}

.gmail-status-msg,
.gmail-status-email,
.gmail-status-meta {
  margin: 0.25rem 0 0;
  font-size: 0.875rem;
  color: var(--white-70);
}

.gmail-status-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.gmail-cap-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.65rem;
  margin-bottom: 1rem;
}

.gmail-cap-card {
  padding: 0.85rem;
  border-radius: 8px;
  border: 1px solid var(--white-10);
  background: var(--color-black-elevated);
  font-size: 0.875rem;
}

.gmail-cap-available {
  border-color: rgba(74, 222, 128, 0.25);
}

.gmail-cap-title {
  font-weight: 700;
  margin-bottom: 0.35rem;
}

.gmail-cap-card p {
  margin: 0 0 0.5rem;
  color: var(--white-70);
  line-height: 1.45;
}

.gmail-cap-badge {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-fluoro-muted);
}

.gmail-planned-list {
  margin: 0 0 1rem;
  padding-left: 1.1rem;
  color: var(--white-70);
  font-size: 0.9rem;
}

.gmail-try-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.gmail-explore-results {
  border: 1px solid var(--white-10);
  border-radius: 8px;
  padding: 0.75rem;
  background: var(--color-black-elevated);
  max-height: 320px;
  overflow-y: auto;
}

.gmail-explore-row {
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--white-10);
}

.gmail-explore-row:last-child {
  border-bottom: none;
}

.gmail-explore-subject {
  font-weight: 600;
  font-size: 0.9rem;
}

.gmail-explore-meta,
.gmail-explore-snippet {
  font-size: 0.8rem;
  color: var(--white-70);
  margin-top: 0.2rem;
}

.gmail-label-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.gmail-label-chip {
  padding: 0.25rem 0.55rem;
  border-radius: 4px;
  background: var(--color-fluoro-bg-5);
  border: 1px solid var(--color-fluoro-dim);
  font-size: 0.8rem;
}

/* Stats row */
.stats-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}

.stat-card {
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  padding: 1rem;
}

.stat-card.highlight {
  border-color: var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-5);
}

.stat-value {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--color-fluoro);
}

.stat-label {
  font-size: 0.875rem;
  color: var(--white-80);
  margin-top: 0.25rem;
}

/* Action motivators */
.action-motivators {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.motivator-card {
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  padding: 1.25rem 1.5rem;
}

.motivator-card.motivator-today {
  flex: 1;
  min-width: 280px;
  border-color: var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-5);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.motivator-today-value {
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--color-fluoro);
  line-height: 1;
}

.motivator-today-label {
  font-size: 0.875rem;
  color: var(--white-80);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.motivator-today-msg {
  margin: 0.25rem 0 0;
  font-size: 0.95rem;
  color: var(--white-90);
  line-height: 1.4;
}

.motivator-cta {
  margin-top: 0.5rem;
  align-self: flex-start;
  text-decoration: none;
  display: inline-block;
}

/* Cards / Lead items */
.card {
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  padding: 1rem;
}

.card:hover {
  border-color: var(--color-fluoro-dim);
}

.card.overdue {
  border-color: var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-5);
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}

.leads-header-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.leads-view-toggle {
  display: inline-flex;
  border: 1px solid var(--white-10);
  border-radius: 2px;
  overflow: hidden;
}

.leads-view-toggle .leads-view-btn {
  border-radius: 0;
  border: none;
  margin: 0;
}

.leads-view-toggle .leads-view-btn + .leads-view-btn {
  border-left: 1px solid var(--white-10);
}

.leads-view-toggle .leads-view-btn.active {
  background: var(--color-fluoro-bg-5);
  color: var(--color-fluoro);
}

.leads-bulk-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin: -0.5rem 0 1.25rem;
  padding: 0.65rem 0.85rem;
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
}

.leads-bulk-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.875rem;
  color: var(--white-90);
}

.leads-bulk-select {
  margin-left: 0.35rem;
  min-width: 12rem;
  padding: 0.35rem 0.5rem;
  border-radius: 4px;
  border: 1px solid var(--color-border);
  background: var(--color-black);
  color: inherit;
}

.leads-bulk-hint {
  font-size: 0.8rem;
  color: var(--white-60);
  flex: 1 1 100%;
}

@media (min-width: 640px) {
  .leads-bulk-hint {
    flex: 0 1 auto;
  }
}

.leads-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--white-10);
  border-radius: 2px;
}

.leads-data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.leads-data-table th,
.leads-data-table td {
  padding: 0.5rem 0.65rem;
  text-align: left;
  border-bottom: 1px solid var(--white-10);
  vertical-align: top;
}

.leads-data-table th {
  font-weight: 600;
  color: var(--white-80);
  background: var(--color-black-elevated);
  white-space: nowrap;
}

.leads-data-table tbody tr:hover {
  background: var(--color-fluoro-bg-5);
}

.leads-data-table tr.leads-row-overdue td {
  border-left: 3px solid var(--color-fluoro-dim);
}

.leads-data-table .leads-td-check {
  width: 2.25rem;
  text-align: center;
}

.leads-data-table a {
  color: var(--color-fluoro);
  text-decoration: none;
}

.leads-data-table a:hover {
  text-decoration: underline;
}

.card-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

.card-link:hover {
  border-color: var(--color-fluoro-dim);
}

/* Lead detail page */
.lead-detail-header {
  margin-bottom: 1.5rem;
}

.lead-detail-back {
  text-decoration: none;
  color: var(--white-80);
}

.lead-detail-back:hover {
  color: var(--color-fluoro);
}

.lead-detail-panel {
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  padding: 1.5rem;
}

.lead-detail-panel .form-group {
  margin-bottom: 1rem;
}

.lead-detail-panel label {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.875rem;
  color: var(--white-80);
}

.lead-detail-panel input,
.lead-detail-panel select,
.lead-detail-panel textarea {
  width: 100%;
  padding: 0.5rem;
  background: var(--color-black);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  color: var(--color-text-primary);
  font-size: 0.875rem;
}

/* Log call workflow */
.log-call-workflow {
  max-width: 400px;
}

.log-call-prompt {
  font-size: 1rem;
  margin: 0 0 1rem;
  color: var(--white-90);
}

.log-call-choices {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.log-call-choices .log-call-choice {
  flex: 1;
  min-width: 140px;
}

.log-call-workflow .form-group {
  margin-bottom: 1rem;
}

.log-call-workflow .form-group label {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.875rem;
  color: var(--white-80);
}

.log-call-workflow .form-group input,
.log-call-workflow .form-group select,
.log-call-workflow .form-group textarea {
  width: 100%;
  padding: 0.5rem;
  background: var(--color-black);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  color: var(--color-text-primary);
  font-size: 0.875rem;
}

/* Email compose */
.lead-email-compose {
  max-width: 640px;
}

.lead-email-header {
  margin-bottom: 1.5rem;
}

.lead-email-header h1 {
  margin: 0.5rem 0 0;
  font-size: 1.5rem;
}

.lead-email-sub {
  margin: 0.35rem 0 0;
  font-size: 0.875rem;
  color: var(--white-60);
  max-width: 36rem;
}

.email-compose-chat {
  min-height: 200px;
  max-height: 400px;
  overflow-y: auto;
  padding: 1rem 0;
  border-bottom: 1px solid var(--white-10);
}

.email-msg {
  margin-bottom: 1rem;
}

.email-msg.bot p {
  color: var(--white-90);
  margin: 0;
}

.email-msg.user p {
  color: var(--color-fluoro);
  margin: 0;
  font-weight: 500;
}

.email-choices {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-top: 0.5rem;
}

.email-discussion-picks {
  margin-top: 0.5rem;
}

.email-discussion-picks label {
  display: block;
  margin: 0.25rem 0;
  font-size: 0.875rem;
  color: var(--white-80);
  cursor: pointer;
}

.email-discussion-picks input[type="checkbox"] {
  margin-right: 0.5rem;
}

.email-discussion-picks .btn {
  margin-top: 0.75rem;
}

.email-setup-panel {
  margin: 0.75rem 0 1rem;
  padding: 1rem;
  background: var(--color-black);
  border: 1px solid var(--white-10);
  border-radius: 4px;
}

.email-template-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.email-template-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  padding: 0.6rem 0.65rem;
  text-align: left;
  background: var(--color-bg, #111);
  border: 1px solid var(--white-10);
  border-radius: 4px;
  color: var(--white-90);
  font-size: 0.8rem;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}

.email-template-card strong {
  font-size: 0.85rem;
  color: var(--color-text-primary);
}

.email-template-card span {
  color: var(--white-60);
  line-height: 1.3;
}

.email-template-card:hover {
  border-color: var(--white-20);
}

.email-template-card.is-selected {
  border-color: var(--color-fluoro);
  background: rgba(0, 255, 136, 0.06);
}

.email-ref-label {
  display: block;
  font-size: 0.8rem;
  color: var(--white-70);
  margin-bottom: 0.35rem;
}

.email-ref-select {
  width: 100%;
  max-width: 100%;
  padding: 0.5rem;
  margin-bottom: 1rem;
  background: var(--color-black);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  color: var(--color-text-primary);
  font-size: 0.85rem;
}

.email-setup-hint {
  font-size: 0.8rem;
  color: var(--white-60);
  margin: 0 0 1rem;
  line-height: 1.4;
}

.email-setup-continue {
  margin-top: 0.25rem;
}

.email-compose-input-wrap {
  display: flex;
  gap: 0.5rem;
  align-items: flex-end;
  margin-top: 1rem;
}

.email-compose-input-wrap textarea {
  flex: 1;
  padding: 0.5rem;
  background: var(--color-black);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  color: var(--color-text-primary);
  font-size: 0.875rem;
  resize: vertical;
  min-height: 60px;
}

.email-compose-result {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--white-10);
}

.email-compose-result h2 {
  font-size: 1.1rem;
  margin: 0 0 1rem;
}

.email-compose-body {
  background: var(--color-black);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  padding: 1rem;
  white-space: pre-wrap;
  font-size: 0.9rem;
  line-height: 1.5;
  max-height: 300px;
  overflow-y: auto;
}

.email-compose-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 1rem;
}

/* Dashboard tasks */
.dashboard-tasks-section {
  margin-top: 0.5rem;
}

.dashboard-tasks-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.dashboard-tasks-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.dashboard-tasks-filters .dashboard-task-filter.active {
  background: var(--color-accent);
  color: var(--color-on-accent, #fff);
}

.dashboard-tasks-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.dashboard-task-count {
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  background: var(--color-black-elevated);
  color: var(--white-80);
  border: 1px solid var(--color-border);
}

.dashboard-task-count-call { border-color: rgba(59, 130, 246, 0.45); color: #93c5fd; }
.dashboard-task-count-email { border-color: rgba(168, 85, 247, 0.45); color: #d8b4fe; }
.dashboard-task-count-whatsapp { border-color: rgba(34, 197, 94, 0.45); color: #86efac; }

.dashboard-tasks-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.dashboard-task-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.85rem 1rem;
  align-items: center;
  padding: 1rem 1.1rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-elevated);
}

.dashboard-task-card:hover {
  border-color: var(--white-30);
}

.dashboard-task-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 10px;
  background: var(--color-black);
  color: var(--white-80);
}

.dashboard-task-call .dashboard-task-icon { color: #93c5fd; }
.dashboard-task-email .dashboard-task-icon { color: #d8b4fe; }
.dashboard-task-whatsapp .dashboard-task-icon { color: #86efac; }

.dashboard-task-body {
  min-width: 0;
}

.dashboard-task-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

.dashboard-task-type {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--white-60);
}

.dashboard-task-name {
  display: block;
  font-weight: 600;
  font-size: 1rem;
  color: inherit;
  text-decoration: none;
}

.dashboard-task-name:hover {
  color: var(--color-accent);
}

.dashboard-task-sub,
.dashboard-task-reason {
  font-size: 0.875rem;
  color: var(--white-70);
  margin-top: 0.15rem;
}

.dashboard-task-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

@media (max-width: 720px) {
  .dashboard-task-card {
    grid-template-columns: auto 1fr;
  }
  .dashboard-task-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

/* Home dashboard */
.home-dashboard {
  max-width: 960px;
  margin: 0 auto;
}

.home-hero {
  margin-bottom: 1.5rem;
}

.home-greeting {
  margin: 0 0 0.35rem;
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 4vw, 2.25rem);
}

.home-subtitle {
  margin: 0;
  color: var(--white-70);
}

.home-stats-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 2rem;
}

.home-stat-card {
  padding: 1rem 1.1rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-elevated);
}

.home-stat-link {
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.home-stat-link:hover {
  border-color: var(--color-fluoro);
  background: var(--white-5);
}

.home-stat-cta {
  margin-top: 0.4rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-fluoro);
}

/* Button-based stat cards (Add college CTA + urgency filters) */
button.home-stat-card {
  font: inherit;
  text-align: left;
  width: 100%;
  appearance: none;
}
.home-stat-link.active {
  border-color: var(--color-fluoro);
  background: var(--white-5);
}
.home-stat-add {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  border-style: dashed;
}
.home-stat-add-icon {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  color: var(--color-fluoro);
  margin-bottom: 0.3rem;
}

.dashboard-tasks-toolbar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.dashboard-tasks-clear {
  color: #ef4444;
}
.dashboard-tasks-clear:hover {
  border-color: #ef4444;
}

.home-stat-value {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.1;
}

.home-stat-label {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  color: var(--white-70);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.home-stat-overdue .home-stat-value { color: #f87171; }
.home-stat-today .home-stat-value { color: var(--color-fluoro); }

.home-section {
  margin-bottom: 2rem;
}

.home-section-header {
  margin-bottom: 0.75rem;
}

.home-stage-guide {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 0.75rem;
}

.home-stage-card {
  padding: 1rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-elevated);
}

.home-stage-card-title {
  margin: 0 0 0.75rem;
}

.home-stage-task-list {
  margin: 0;
  padding-left: 0;
  list-style: none;
  display: grid;
  gap: 0.5rem;
}

.home-stage-task-list li {
  display: flex;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: var(--white-80);
}

.home-stage-task-type {
  flex: 0 0 auto;
}

.dashboard-task-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.dashboard-task-title {
  margin: 0 0 0.25rem;
  font-size: 1rem;
}

.dashboard-task-college {
  display: inline-block;
  margin-bottom: 0.25rem;
  color: var(--color-fluoro);
  text-decoration: none;
}

.dashboard-task-college:hover {
  text-decoration: underline;
}

.dashboard-task-meta {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--white-70);
}

.dashboard-task-urgency {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.task-urgency-overdue {
  border-color: rgba(248, 113, 113, 0.45);
}

.task-urgency-overdue .dashboard-task-urgency { color: #f87171; }

.task-urgency-due_today {
  border-color: rgba(57, 255, 20, 0.35);
}

.task-urgency-due_today .dashboard-task-urgency { color: var(--color-fluoro); }

.lead-card-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}

.lead-pending-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  background: rgba(248, 113, 113, 0.15);
  color: #fca5a5;
  border: 1px solid rgba(248, 113, 113, 0.35);
}

.lead-card-has-tasks {
  border-color: rgba(248, 113, 113, 0.25);
}

.lead-tasks-section {
  margin: 1.5rem 0;
}

.lead-tasks-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.btn-sm {
  padding: 0.35rem 0.65rem;
  font-size: 0.8125rem;
}

@media (max-width: 720px) {
  .home-stats-row {
    grid-template-columns: 1fr;
  }
}

/* Action list */
.action-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.action-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
}

.action-item:hover {
  border-color: var(--color-fluoro-dim);
}

.action-item .status-badge { margin-right: 0.5rem; }
.action-item .action-num { color: var(--white-80); font-size: 0.875rem; }
.action-item .contact-name { font-weight: 600; }
.action-item .notes { color: var(--white-80); font-size: 0.875rem; flex: 1; }
.action-item .actions { display: flex; gap: 0.5rem; }

/* Recent activity table */
.activity-table-wrap {
  margin-top: 0.5rem;
  overflow-x: auto;
  border: 1px solid var(--white-10);
  border-radius: 4px;
}

.activity-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.activity-table th,
.activity-table td {
  padding: 0.5rem 0.75rem;
  text-align: left;
  border-bottom: 1px solid var(--white-10);
}

.activity-table th {
  background: var(--color-black-elevated);
  color: var(--white-80);
  font-weight: 500;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

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

.activity-table tbody tr:hover {
  background: var(--color-fluoro-bg-5);
}

.activity-table .activity-type {
  color: var(--color-fluoro);
  font-weight: 500;
}

.activity-table .activity-details {
  color: var(--white-80);
}

.activity-table .activity-date {
  color: var(--white-60);
  white-space: nowrap;
}

.activity-table .activity-empty {
  color: var(--white-60);
  font-style: italic;
  text-align: center;
}

.product-picker {
  margin-top: 0.25rem;
}

.product-picker-view {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
  margin-bottom: 0.5rem;
}

.product-chip {
  display: inline-block;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  border: 1px solid var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-5);
  color: var(--color-fluoro);
  font-size: 0.75rem;
}

.product-chip-empty {
  color: var(--white-60);
  font-size: 0.8rem;
}

.problem-text {
  display: block;
  color: var(--color-fluoro);
  font-size: 0.78rem;
  line-height: 1.45;
  white-space: pre-wrap;
  border: 1px solid var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-5);
  border-radius: 6px;
  padding: 0.6rem 0.7rem;
}

.product-picker-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.35rem;
}

.product-picker-edit {
  margin-top: 0.6rem;
  border: 1px solid var(--white-10);
  border-radius: 4px;
  padding: 0.6rem;
  background: var(--color-black);
}

.product-checkbox-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.35rem;
}

.product-checkbox-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: var(--white-80);
}

.package-row {
  display: grid;
  grid-template-columns: 1.5fr 0.6fr 0.8fr auto;
  gap: 0.5rem;
  margin-bottom: 0.45rem;
}

.package-row-header {
  margin-bottom: 0.35rem;
}

.package-row-header span {
  color: var(--white-60);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.package-row select,
.package-row input {
  width: 100%;
}

@media (max-width: 760px) {
  .package-row {
    grid-template-columns: 1fr;
  }
}

/* Action chart */
.action-chart-section .section-header {
  flex-wrap: wrap;
  gap: 1rem;
}

.action-chart-filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.action-chart-filter.active {
  border-color: var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-5);
  color: var(--color-fluoro);
}

.action-chart-custom-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.action-chart-input {
  padding: 0.4rem 0.5rem;
  font-size: 0.875rem;
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  color: var(--color-text-primary);
}

.action-chart-input:focus {
  outline: none;
  border-color: var(--color-fluoro-dim);
}

.action-chart-wrapper {
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  padding: 1.25rem 1rem;
  min-height: 140px;
}

.action-chart-inner {
  display: flex;
  flex-direction: row;
  gap: 0.75rem;
  align-items: flex-end;
}

.action-chart-y-axis {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 1.75rem;
  height: 80px;
  flex-shrink: 0;
  font-size: 0.7rem;
  color: var(--white-80);
  text-align: right;
}

.action-chart-y-tick {
  line-height: 1;
}

.action-chart-bars-area {
  flex: 1;
  overflow-x: auto;
  min-width: 0;
}

.action-chart-bars {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0.5rem;
  height: 120px;
}

.action-chart-bar-wrap {
  flex: 1;
  min-width: 24px;
  max-width: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

.action-chart-bar-holder {
  height: 80px;
  width: 100%;
  display: flex;
  align-items: flex-end;
}

.action-chart-bar {
  width: 100%;
  min-height: 2px;
  background: var(--color-fluoro);
  border-radius: 2px 2px 0 0;
  transition: height 0.3s ease;
}

.action-chart-label {
  font-size: 0.7rem;
  color: var(--white-80);
  white-space: nowrap;
}

.action-chart-value {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-fluoro);
}

@media (max-width: 640px) {
  .action-chart-label {
    font-size: 0.55rem;
  }
  .action-chart-value {
    font-size: 0.6rem;
  }
  .action-chart-bar-wrap {
    min-width: 16px;
    max-width: 32px;
  }
}

/* Status badges */
.status-badge {
  display: inline-block;
  padding: 0.2rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 2px;
}

.status-badge.overdue {
  border: 1px solid var(--color-fluoro);
  background: var(--color-fluoro-bg-10);
  color: var(--color-fluoro);
}

.status-badge.due_today {
  border: 1px solid var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-5);
  color: var(--color-fluoro-bright);
}

.status-badge.at_risk {
  border: 1px solid var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-5);
  color: var(--color-fluoro);
}

.status-badge.upcoming {
  border: 1px solid var(--white-10);
  background: rgba(255, 255, 255, 0.03);
  color: var(--color-zinc-500);
}

.status-badge.completed {
  border: 1px solid var(--white-10);
  background: var(--white-5);
  color: var(--color-zinc-500);
}

/* Engagement */
.engagement-hot { background: var(--color-fluoro-bg-10); border: 1px solid var(--color-fluoro); color: var(--color-fluoro); }
.engagement-good { background: var(--color-fluoro-bg-5); border: 1px solid var(--color-fluoro-dim); color: var(--color-fluoro); }
.engagement-amber { background: rgba(245, 158, 11, 0.1); border: 1px solid rgba(245, 158, 11, 0.5); color: var(--color-amber); }
.engagement-at_risk { background: rgba(239, 68, 68, 0.1); border: 1px solid rgba(239, 68, 68, 0.5); color: var(--color-red); }

/* Buttons */
.btn {
  font-family: var(--font-display);
  font-weight: 600;
  padding: 0.5rem 1rem;
  border-radius: 2px;
  border: none;
  cursor: pointer;
  font-size: 0.875rem;
}

.btn-primary {
  background: var(--color-fluoro);
  color: var(--color-text-on-fluoro);
}

.btn-primary:hover {
  background: var(--color-fluoro-bright);
}

.btn-secondary {
  border: 1px solid var(--white-20);
  background: transparent;
  color: var(--white-90);
}

.btn-secondary:hover {
  border-color: var(--color-fluoro-dim);
  color: var(--color-fluoro);
}

.btn-create-email {
  color: var(--color-fluoro);
  border-color: var(--color-fluoro-dim);
}

.btn-create-email:hover {
  color: var(--color-fluoro-bright);
  border-color: var(--color-fluoro);
}

.btn-ghost {
  border: 1px solid var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-5);
  color: var(--color-fluoro);
}

.btn-ghost:hover {
  background: var(--color-fluoro-bg-10);
}

.settings-btn-danger {
  color: rgba(252, 165, 165, 0.95);
}

.settings-btn-danger:hover {
  background: rgba(239, 68, 68, 0.12);
  color: #fecaca;
  border-color: rgba(239, 68, 68, 0.5);
}

.settings-section {
  margin-top: 0;
  border-top: 1px solid var(--color-border);
}

.settings-section-title {
  font-size: 1rem;
  margin: 0;
  padding: 1rem 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  user-select: none;
}

.settings-section-title::after {
  content: '+';
  font-size: 1.25rem;
  font-weight: 300;
  color: var(--color-zinc-500);
  transition: transform 0.2s;
}

.settings-section.open .settings-section-title::after {
  content: '−';
}

.settings-section-body {
  overflow: hidden;
  display: none;
  padding-bottom: 1.25rem;
}

.settings-section.open .settings-section-body {
  display: block;
}

.settings-section.leads-bulk-panel {
  margin-bottom: 0;
  border-top: 1px solid var(--color-border);
  border-radius: 0;
  border-left: none;
  border-right: none;
  padding: 1.5rem 0 0;
  background: transparent;
}

.settings-data-actions-row {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* Settings cards */
.settings-cards {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 2rem;
}

.settings-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: var(--color-black-elevated);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s, background 0.15s;
}

.settings-card:hover {
  border-color: var(--color-fluoro);
  background: var(--white-5);
}

.settings-card-icon {
  font-size: 1.5rem;
  flex-shrink: 0;
  width: 2.25rem;
  text-align: center;
}

.settings-card-body {
  flex: 1;
  min-width: 0;
}

.settings-card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  color: var(--white-90);
}

.settings-card-desc {
  font-size: 0.8125rem;
  color: var(--color-zinc-500);
  margin-top: 0.2rem;
}

.settings-card-arrow {
  color: var(--color-zinc-500);
  flex-shrink: 0;
}

/* Settings sub-page back link */
.settings-back {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  color: var(--color-zinc-500);
  text-decoration: none;
  margin-bottom: 1.25rem;
}

.settings-back:hover {
  color: var(--white-90);
}

/* Settings meta */
.settings-meta {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-border);
  font-size: 0.875rem;
  color: var(--color-zinc-500);
}

.settings-meta strong {
  color: var(--white-80);
}

.package-card {
  border: 1px solid var(--white-10);
  background: var(--color-black-elevated);
  border-radius: 6px;
  padding: 0.65rem 0.75rem;
  margin-bottom: 0.55rem;
}

.package-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.package-card-meta {
  margin-top: 0.25rem;
  color: var(--white-70);
  font-size: 0.82rem;
}

.package-card-actions {
  margin-top: 0.5rem;
  display: flex;
  gap: 0.5rem;
}

/* Modals */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: var(--overlay-modal);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
  padding: 2rem;
}

.modal-panel {
  background: var(--color-black-elevated);
  border: 1px solid var(--color-border);
  border-radius: 2px;
  max-width: 560px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
}

.modal-panel-wide {
  max-width: 720px;
}

.form-section-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.75rem;
}

.contact-row {
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 1rem;
  background: var(--color-black);
}

.contact-row-legend {
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0 0.25rem;
}

.lead-card {
  display: block;
  text-decoration: none;
  color: inherit;
}

.lead-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.lead-card-stage {
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.lead-card-title {
  margin: 0;
  font-size: 1.05rem;
  flex: 1;
  min-width: 0;
}

.stage-badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  background: var(--white-5);
  color: var(--white-80);
  white-space: nowrap;
}

.stage-badge-yet_to_pitch { color: #a1a1aa; border-color: rgba(161, 161, 170, 0.35); }
.stage-badge-tpo_found { color: #93c5fd; border-color: rgba(59, 130, 246, 0.4); }
.stage-badge-idea_pitched { color: #7dd3fc; border-color: rgba(14, 165, 233, 0.45); }
.stage-badge-proposal_shared { color: #fcd34d; border-color: rgba(245, 158, 11, 0.45); }
.stage-badge-demo_phase { color: #fb923c; border-color: rgba(249, 115, 22, 0.45); }
.stage-badge-following_up { color: #c4b5fd; border-color: rgba(139, 92, 246, 0.4); }
.stage-badge-close_won { color: #86efac; border-color: rgba(34, 197, 94, 0.45); }
.stage-badge-close_lost { color: #fca5a5; border-color: rgba(239, 68, 68, 0.4); }

.lead-detail-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 0.5rem;
}

.lead-detail-title-row h1 {
  margin: 0 !important;
}

.lead-stage-section {
  margin: 1.5rem 0;
  padding: 1rem 1.1rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--white-5);
}

.lead-stage-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.lead-stage-section-header h2 {
  margin: 0;
}

.lead-stage-current {
  margin: 0 0 1rem;
}

.lead-stage-current-badge {
  font-size: 0.8rem;
}

.stage-log-title {
  margin: 0 0 0.65rem;
  font-size: 0.9rem;
  color: var(--white-70);
}

.stage-log-list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.stage-log-entry {
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-black-elevated);
}

.stage-log-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
  margin-bottom: 0.35rem;
}

.stage-log-head strong {
  font-size: 0.875rem;
}

.stage-log-date {
  font-size: 0.75rem;
  color: var(--color-zinc-500);
}

.stage-log-reason {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  color: var(--white-80);
  white-space: pre-wrap;
}

.stage-log-user {
  margin: 0;
  font-size: 0.75rem;
  color: var(--color-zinc-500);
}

.stage-log-empty {
  padding: 0.75rem 0;
  font-size: 0.875rem;
}

.stage-select {
  width: 100%;
}

.lead-card-assignee {
  font-size: 0.8rem;
  color: var(--color-fluoro-muted);
  margin-bottom: 0.35rem;
}

/* Leads page */
.leads-page-header h1 {
  margin-bottom: 0.2rem;
}

.leads-page-subtitle {
  margin: 0;
  font-size: 0.875rem;
  color: var(--color-zinc-500);
}

.leads-overview {
  margin-bottom: 1.25rem;
}

.leads-stats-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 1rem;
}

.leads-stat-card {
  padding: 0.85rem 1rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-elevated);
}

.leads-stat-value {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--white-90);
}

.leads-stat-label {
  margin-top: 0.2rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-zinc-500);
}

.leads-stat-sub {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.75rem;
  color: var(--white-70);
}

.leads-stat-pending .leads-stat-value {
  color: #fca5a5;
}

.leads-geo-section {
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-elevated);
  padding: 0.85rem 1rem 1rem;
}

.leads-geo-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}

.leads-geo-title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
}

.leads-geo-hint {
  margin: 0;
  font-size: 0.75rem;
  color: var(--color-zinc-500);
}

.leads-geo-report {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 0.65rem;
  max-height: 280px;
  overflow-y: auto;
  padding-right: 0.25rem;
}

.leads-geo-empty {
  font-size: 0.875rem;
  color: var(--color-zinc-500);
  padding: 0.5rem 0;
}

.leads-geo-card {
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 0.65rem 0.75rem;
  background: var(--color-black-surface);
}

.leads-geo-card.active {
  border-color: rgba(57, 255, 20, 0.45);
  box-shadow: 0 0 0 1px rgba(57, 255, 20, 0.15);
}

.leads-geo-state {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0 0 0.5rem;
  padding: 0;
  border: none;
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-align: left;
}

.leads-geo-state:hover .leads-geo-state-name {
  color: var(--color-fluoro);
}

.leads-geo-state-name {
  font-weight: 600;
  font-size: 0.875rem;
}

.leads-geo-state-count {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-fluoro);
}

.leads-geo-cities {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.leads-geo-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  background: var(--color-black-elevated);
  color: var(--white-80);
  font-size: 0.6875rem;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s;
}

.leads-geo-chip:hover {
  border-color: var(--color-fluoro-dim);
  color: var(--color-fluoro);
}

.leads-geo-chip.active {
  border-color: var(--color-fluoro);
  background: var(--color-fluoro-bg-10);
  color: var(--color-fluoro);
}

.leads-geo-chip-count {
  font-weight: 700;
  opacity: 0.85;
}

.leads-toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-bottom: 1rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-elevated);
}

.leads-search-row {
  display: flex;
}

.leads-filters-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* On the leads/recruiters toolbar, saved views flow inline with the rest of
   the filter row (wrapping to a 3rd line only if space runs out) instead of
   always taking their own full row like on the simpler report toolbars. */
.leads-toolbar .saved-filters-bar {
  flex-basis: auto;
  justify-content: flex-start;
  margin-top: 0;
  padding-top: 0;
  border-top: none;
  padding-left: 0.6rem;
  border-left: 1px solid var(--color-border);
}

.saved-filters-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  /* Always its own full-width row below the rest of the toolbar, rather than
     sometimes squeezing onto the end of the first row and sometimes wrapping
     raggedly — flex-basis:100% makes the wrap point predictable. */
  flex-basis: 100%;
  justify-content: flex-end;
  margin-top: 0.4rem;
  padding-top: 0.4rem;
  border-top: 1px solid var(--color-border);
}

.saved-filters-bar:empty {
  display: none;
}

.saved-filters-bar .saved-filters-select {
  font-size: 0.8125rem;
  padding: 0.35rem 0.5rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-black-elevated);
  color: inherit;
  max-width: 180px;
  min-width: 0;
}

.leads-search-wrap {
  flex: 1 1 auto;
  max-width: 480px;
  min-width: 0;
}

.leads-search-input,
.leads-filter-select {
  width: 100%;
  padding: 0.4rem 0.55rem;
  border-radius: 6px;
  border: 1px solid var(--color-border);
  background: var(--color-black-surface);
  color: var(--color-text-primary);
  font-size: 0.8125rem;
}

.leads-filter-compact {
  flex: 0 1 auto;
  width: auto;
  min-width: 7.5rem;
  max-width: 9.5rem;
}

.leads-filters-more {
  position: relative;
}

.leads-filters-more-btn {
  list-style: none;
  cursor: pointer;
  white-space: nowrap;
}

.leads-filters-more-btn::-webkit-details-marker {
  display: none;
}

.leads-filters-more[open] .leads-filters-more-btn {
  background: var(--color-fluoro-bg-10);
  color: var(--color-fluoro);
}

.leads-filters-more-panel {
  position: absolute;
  top: calc(100% + 0.35rem);
  left: 0;
  z-index: 20;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  min-width: 280px;
  max-width: min(420px, 92vw);
  padding: 0.65rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-black-elevated);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.leads-filters-more-panel .leads-filter-compact {
  flex: 1 1 calc(50% - 0.25rem);
  min-width: 8rem;
  max-width: none;
}

.leads-filter-summary {
  margin-left: auto;
  font-size: 0.75rem;
  color: var(--color-zinc-500);
  white-space: nowrap;
}

/* Bulk assign */
.leads-mode-toggle {
  display: inline-flex;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  overflow: hidden;
}

.leads-mode-btn {
  border-radius: 0;
  border: none;
  min-width: 4.5rem;
}

.leads-mode-btn.active {
  background: var(--color-fluoro-bg-10);
  color: var(--color-fluoro);
}

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

.bulk-select-all-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.875rem;
  color: var(--white-80);
  cursor: pointer;
  user-select: none;
}

.bulk-assign-toolbar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  padding: 0.65rem 1rem;
  background: var(--color-surface);
  border: 1px solid var(--color-fluoro);
  border-radius: 8px;
  margin-bottom: 1rem;
}
.bulk-assign-select {
  flex: 1;
  min-width: 180px;
  padding: 0.4rem 0.6rem;
  border-radius: 6px;
  border: 1px solid var(--color-border);
  background: var(--color-black-surface);
  color: var(--color-text-primary);
  font-size: 0.875rem;
}
.bulk-checkbox-wrap {
  position: absolute;
  top: 0.6rem;
  left: 0.6rem;
  z-index: 2;
  display: none;
}
.bulk-checkbox {
  width: 1.1rem;
  height: 1.1rem;
  cursor: pointer;
  accent-color: var(--color-fluoro);
}
.bulk-select-mode .lead-card {
  position: relative;
  padding-left: 2.4rem;
  cursor: pointer;
  user-select: none;
}
.bulk-select-mode .bulk-checkbox-wrap {
  display: block;
}
.bulk-select-mode .lead-card:has(.bulk-checkbox:checked) {
  border-color: var(--color-fluoro);
  box-shadow: 0 0 0 2px var(--color-fluoro-muted);
}

/* Activity dashboard (admin) */
.activity-dashboard {
  max-width: 960px;
  margin: 0 auto;
}

.activity-hero {
  margin-bottom: 1.5rem;
}

.activity-greeting {
  margin: 0 0 0.35rem;
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 4vw, 2.25rem);
}

.activity-subtitle {
  margin: 0;
  color: var(--white-70);
  font-size: 0.9375rem;
  max-width: 36rem;
}

.activity-stats-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.activity-stat-card {
  padding: 1rem 1.1rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-elevated);
}

.activity-stat-primary .activity-stat-value {
  color: var(--color-fluoro);
}

.activity-stat-period .activity-stat-value-text {
  font-size: 1.15rem;
  color: var(--white-90);
}

.activity-stat-value {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.1;
}

.activity-stat-label {
  margin-top: 0.25rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-zinc-500);
}

.activity-filters-card {
  margin-bottom: 1.5rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-elevated);
}

.activity-filters-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

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

.activity-filter-field {
  margin: 0;
  min-width: 0;
}

.activity-filter-field label {
  display: block;
  margin-bottom: 0.3rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--white-70);
}

.activity-filter-select {
  width: 100%;
  padding: 0.45rem 0.6rem;
  border-radius: 6px;
  border: 1px solid var(--color-border);
  background: var(--color-black-surface);
  color: var(--color-text-primary);
  font-size: 0.8125rem;
}

.activity-section {
  margin-bottom: 2rem;
}

.activity-section-header {
  margin-bottom: 0.75rem;
  align-items: flex-end;
}

.activity-section-intro {
  min-width: 0;
}

.activity-section-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
}

.activity-section-hint {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  color: var(--color-zinc-500);
}

.activity-result-count {
  font-size: 0.8125rem;
  color: var(--color-zinc-500);
}

.activity-top-section {
  margin-bottom: 1.75rem;
  padding: 1.1rem 1.15rem;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  background: var(--color-black-elevated);
}

.activity-stat-period-value {
  font-size: 1.35rem;
}

.activity-top-podium {
  min-height: 4rem;
}

.activity-podium {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  align-items: end;
}

.activity-podium-single {
  grid-template-columns: minmax(0, 280px);
  justify-content: center;
}

.activity-podium-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  width: 100%;
  padding: 1rem 0.85rem 0.85rem;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  background: var(--color-black-surface);
  color: inherit;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
}

.activity-podium-card:hover,
.activity-podium-card.active {
  border-color: var(--color-fluoro);
  box-shadow: 0 0 0 1px var(--color-fluoro-dim);
}

.activity-podium-gold {
  min-height: 11rem;
  border-color: rgba(57, 255, 20, 0.35);
  background: linear-gradient(180deg, var(--color-fluoro-bg-10) 0%, var(--color-black-surface) 100%);
}

.activity-podium-silver {
  min-height: 9.5rem;
}

.activity-podium-bronze {
  min-height: 8.5rem;
}

.activity-podium-rank {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-zinc-500);
}

.activity-podium-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  background: var(--color-fluoro-bg-10);
  border: 1px solid var(--color-fluoro-dim);
  color: var(--color-fluoro);
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
}

.activity-podium-name {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--white-90);
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.activity-podium-score {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
}

.activity-podium-count {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
  color: var(--color-fluoro);
}

.activity-podium-label {
  font-size: 0.75rem;
  color: var(--color-zinc-500);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.activity-podium-bar {
  display: block;
  width: 100%;
  height: 4px;
  margin-top: 0.35rem;
  border-radius: 999px;
  background: var(--white-10);
  position: relative;
  overflow: hidden;
}

.activity-podium-bar::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--pct, 0%);
  border-radius: inherit;
  background: var(--color-fluoro);
}

.activity-top-section .activity-leaderboard-table-wrap {
  margin-top: 1rem;
}

.activity-leaderboard-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  background: var(--color-black-surface);
}

.activity-leader-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.activity-leader-table thead th {
  padding: 0.65rem 0.75rem;
  text-align: left;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-zinc-500);
  border-bottom: 1px solid var(--color-border);
  white-space: nowrap;
}

.activity-leader-table tbody td {
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid var(--color-border);
  color: var(--white-80);
  white-space: nowrap;
}

.activity-leader-table tbody tr:last-child td {
  border-bottom: none;
}

.activity-leader-row {
  cursor: pointer;
  transition: background 0.15s;
}

.activity-leader-row:hover,
.activity-leader-row.active {
  background: var(--color-fluoro-bg-10);
}

.activity-leader-row.active td {
  color: var(--white-90);
}

.activity-leader-td-rank {
  width: 2.5rem;
  font-weight: 700;
  color: var(--color-zinc-500);
}

.activity-leader-td-name {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 10rem;
}

.activity-leader-table-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  background: var(--color-fluoro-bg-10);
  border: 1px solid var(--color-fluoro-dim);
  color: var(--color-fluoro);
  font-family: var(--font-display);
  font-size: 0.6875rem;
  font-weight: 700;
  flex-shrink: 0;
}

.activity-leader-td-total strong {
  color: var(--color-fluoro);
}

.activity-top-section .activity-leaderboard {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--color-border);
}

.activity-leaderboard {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.65rem;
}

.activity-leader-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-surface);
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}

.activity-leader-card:hover,
.activity-leader-card.active {
  border-color: var(--color-fluoro);
  background: var(--color-fluoro-bg-10);
}

.activity-leader-rank {
  font-family: var(--font-display);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--color-zinc-500);
  min-width: 1.5rem;
}

.activity-leader-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.activity-leader-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--white-90);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.activity-leader-bar {
  display: block;
  height: 4px;
  border-radius: 999px;
  background: var(--white-10);
  position: relative;
  overflow: hidden;
}

.activity-leader-bar::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--pct, 0%);
  border-radius: inherit;
  background: var(--color-fluoro);
}

.activity-leader-count {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-fluoro);
}

.activity-tasks-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.activity-task-card {
  border-color: var(--color-border);
}

.activity-task-card:hover {
  border-color: var(--white-20);
}

.activity-task-check {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 10px;
  background: var(--color-fluoro-bg-10);
  color: var(--color-fluoro);
  font-size: 1.1rem;
  font-weight: 700;
  flex-shrink: 0;
}

.activity-done-pill {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-fluoro);
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  background: var(--color-fluoro-bg-10);
  border: 1px solid var(--color-fluoro-dim);
}

.activity-completed-by {
  margin: 0.35rem 0 0;
  font-size: 0.8125rem;
  color: var(--white-70);
}

.activity-completed-by strong {
  color: var(--white-90);
  font-weight: 600;
}

.activity-task-check.activity-log-icon {
  background: var(--white-10);
  color: var(--color-text-primary);
}
.activity-done-pill {
  white-space: nowrap;
}

.activity-task-notes {
  margin: 0.5rem 0 0;
  padding: 0.5rem 0.65rem;
  border-left: 2px solid var(--color-fluoro-dim);
  font-size: 0.8125rem;
  font-style: italic;
  color: var(--white-70);
  background: var(--white-5);
  border-radius: 0 6px 6px 0;
}

.activity-empty {
  padding: 2rem 1rem;
}

@media (max-width: 900px) {
  .activity-stats-row,
  .activity-filters-grid {
    grid-template-columns: 1fr 1fr;
  }

  .activity-filters-grid .activity-filter-field:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .activity-podium {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .activity-podium-gold,
  .activity-podium-silver,
  .activity-podium-bronze {
    min-height: 0;
  }

  .activity-stats-row {
    grid-template-columns: 1fr;
  }

  .activity-filters-grid {
    grid-template-columns: 1fr;
  }

  .activity-leaderboard {
    grid-template-columns: 1fr;
  }
}

/* Reports */
.reports-cards {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 640px;
}

.reports-card {
  text-decoration: none;
  color: inherit;
}

.reports-card-soon {
  opacity: 0.65;
  cursor: default;
  position: relative;
}

.reports-soon-badge {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-zinc-500);
  padding: 0.2rem 0.45rem;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  flex-shrink: 0;
}

.reports-back-row {
  margin-bottom: 0.75rem;
}

.daily-report-filters {
  margin-bottom: 1.5rem;
}

.daily-report-filters-grid {
  align-items: end;
}

.daily-report-date-input {
  font-family: inherit;
}

.daily-report-run-field .btn {
  width: 100%;
}

.daily-report-toolbar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.daily-report-copy-status {
  font-size: 0.8125rem;
  color: var(--color-fluoro);
}

.daily-report-document {
  padding: 1.5rem 1.35rem;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  background: var(--color-black-surface);
  line-height: 1.65;
  color: var(--white-85);
}

.daily-report-doc-title {
  margin: 0 0 0.35rem;
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--white-95);
}

.daily-report-doc-member {
  margin: 0 0 0.15rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--white-90);
}

.daily-report-doc-team-line {
  margin: 0 0 1.25rem;
  font-size: 0.9375rem;
  color: var(--white-75);
}

.daily-report-doc-section {
  margin-bottom: 1.5rem;
}

.daily-report-doc-section:last-child {
  margin-bottom: 0;
}

.daily-report-doc-heading {
  margin: 0 0 0.65rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--white-92);
}

.daily-report-summary-list,
.daily-report-bullets {
  margin: 0;
  padding-left: 1.15rem;
}

.daily-report-summary-list li,
.daily-report-bullets li {
  margin-bottom: 0.35rem;
}

.daily-report-metric-note {
  color: var(--color-zinc-500);
  font-weight: 400;
}

.daily-report-college-block {
  padding: 0.85rem 0 1rem;
  border-bottom: 1px solid var(--color-border);
}

.daily-report-college-block:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.daily-report-college-title {
  margin: 0 0 0.5rem;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--white-92);
}

.daily-report-college-index {
  color: var(--color-zinc-500);
}

.daily-report-next-action {
  margin: 0.65rem 0 0;
  font-size: 0.875rem;
  color: var(--white-80);
}

.daily-report-overall {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--white-80);
}

.daily-report-empty-colleges {
  margin: 0;
  color: var(--color-zinc-500);
  font-size: 0.875rem;
}

.daily-report-stats {
  margin-bottom: 1.75rem;
}

.daily-report-sections {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

.daily-report-section-hint {
  margin: -0.35rem 0 0.75rem;
  font-size: 0.8125rem;
  color: var(--color-zinc-500);
}

.daily-report-list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.daily-report-item {
  padding: 0.85rem 1rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-elevated);
}

.daily-report-item-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.daily-report-college-link {
  font-weight: 600;
  color: var(--color-fluoro);
  text-decoration: none;
}

.daily-report-college-link:hover {
  text-decoration: underline;
}

.daily-report-role-badge {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  background: var(--color-black-surface);
}

.daily-report-role-tpo {
  color: #93c5fd;
  border-color: rgba(147, 197, 253, 0.35);
}

.daily-report-role-principal {
  color: #d8b4fe;
  border-color: rgba(216, 180, 254, 0.35);
}

.daily-report-item-meta {
  margin: 0;
  font-size: 0.875rem;
  color: var(--white-90);
}

.daily-report-item-sub {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  color: var(--color-zinc-500);
}

.daily-report-item-reason {
  margin: 0.35rem 0 0;
  font-size: 0.8125rem;
  font-style: italic;
  color: var(--white-70);
}

.daily-improvements-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.daily-improvement-item {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  padding: 0.85rem 1rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-elevated);
  font-size: 0.875rem;
  color: var(--white-80);
}

.daily-improvement-positive {
  border-color: rgba(57, 255, 20, 0.25);
  background: var(--color-fluoro-bg-5);
}

.daily-improvement-icon {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: var(--color-fluoro);
}

/* AI focus report */
.ai-focus-config-hint { margin: 0.75rem 0 0; }
.ai-focus-stats { margin-bottom: 1rem; }
.ai-focus-insight-card {
  padding: 1.25rem 1.35rem;
  border: 1px solid rgba(57, 255, 20, 0.22);
  border-radius: 14px;
  background: var(--color-fluoro-bg-5);
  margin-bottom: 1.25rem;
}
.ai-focus-headline {
  margin: 0 0 0.5rem;
  font-family: var(--font-display, inherit);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--color-fluoro);
}
.ai-focus-summary {
  margin: 0;
  color: var(--white-80);
  line-height: 1.55;
}
.ai-focus-section { margin-bottom: 1.25rem; }
.ai-focus-section-title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 600;
}
.ai-focus-leads-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.ai-focus-lead-card {
  padding: 1rem 1.1rem;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  background: var(--color-black-elevated);
  border-left: 3px solid var(--white-40);
}
.ai-focus-urgency-high { border-left-color: #f87171; }
.ai-focus-urgency-medium { border-left-color: #fbbf24; }
.ai-focus-urgency-low { border-left-color: var(--white-40); }
.ai-focus-lead-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.65rem;
  margin-bottom: 0.45rem;
}
.ai-focus-priority {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--white-50);
}
.ai-focus-lead-name {
  font-weight: 600;
  color: var(--color-fluoro);
  text-decoration: none;
}
.ai-focus-lead-name:hover { text-decoration: underline; }
.ai-focus-urgency-tag {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  color: var(--white-60);
}
.ai-focus-lead-reason,
.ai-focus-lead-action {
  margin: 0.35rem 0 0;
  font-size: 0.875rem;
  color: var(--white-75);
  line-height: 1.45;
}
.ai-focus-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 1.25rem;
}
.ai-focus-bullets {
  margin: 0;
  padding-left: 1.15rem;
  color: var(--white-75);
  font-size: 0.875rem;
  line-height: 1.5;
}
.ai-focus-bullets li { margin-bottom: 0.35rem; }
.ai-focus-meta { margin-top: 0.5rem; font-size: 0.8rem; }
@media (max-width: 720px) {
  .ai-focus-two-col { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .daily-report-filters-grid {
    grid-template-columns: 1fr;
  }
}

/* User permissions (admin) */
.permissions-page {
  max-width: 1040px;
}

.permissions-control-card {
  margin-bottom: 1.25rem;
}

.permissions-control-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.85rem 1rem;
}

.permissions-user-select-field {
  flex: 1 1 260px;
  min-width: 0;
  margin: 0;
}

.permissions-user-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  flex: 1 1 auto;
}

.permissions-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-left: auto;
}

.permissions-save-hint {
  margin: 0.65rem 0 0;
  font-size: 0.8125rem;
  color: var(--color-zinc-500);
  min-height: 1.25rem;
}

.permissions-custom-badge {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-fluoro);
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  border: 1px solid var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-10);
}

.permissions-table-panel {
  border: 1px solid var(--color-border);
  border-radius: 12px;
  background: var(--color-black-elevated);
  overflow: hidden;
}

.permissions-matrix-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.permissions-matrix-table th,
.permissions-matrix-table td {
  padding: 0.75rem 1rem;
  text-align: left;
  border-bottom: 1px solid var(--color-border);
  vertical-align: top;
}

.permissions-matrix-table thead th {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-zinc-500);
  background: var(--color-black-surface);
}

.permissions-group-row th {
  padding: 0.55rem 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-fluoro);
  background: var(--color-fluoro-bg-5);
  border-bottom: 1px solid var(--color-border);
}

.permissions-row-custom {
  background: var(--color-fluoro-bg-5);
}

.permissions-custom-dot {
  color: var(--color-fluoro);
  font-weight: 700;
}

.permissions-access-col {
  width: 14rem;
}

.permissions-access-select {
  width: 100%;
  min-width: 11rem;
  font-size: 0.8125rem;
}

.permissions-admin-note {
  margin-top: 0.5rem;
}

.perm-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border: 1px solid var(--color-border);
  white-space: nowrap;
}

.perm-write-all {
  color: var(--color-fluoro);
  border-color: var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-10);
}

.perm-write-own {
  color: #93c5fd;
  border-color: rgba(147, 197, 253, 0.35);
  background: rgba(147, 197, 253, 0.08);
}

.perm-read {
  color: var(--white-70);
  background: var(--color-black-surface);
}

.perm-none {
  color: var(--color-zinc-500);
  background: transparent;
}

.permissions-users-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.permissions-user-card {
  border: 1px solid var(--color-border);
  border-radius: 12px;
  background: var(--color-black-elevated);
  overflow: hidden;
}

.permissions-user-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.1rem;
  border-bottom: 1px solid var(--color-border);
}

.permissions-user-name {
  margin: 0;
  font-size: 1.125rem;
}

.permissions-user-email {
  margin: 0.2rem 0 0;
  font-size: 0.8125rem;
  color: var(--color-zinc-500);
}

.permissions-user-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.permissions-role-badge,
.permissions-status-badge {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  border: 1px solid var(--color-border);
}

.permissions-role-admin {
  color: var(--color-fluoro);
  border-color: var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-10);
}

.permissions-role-field {
  color: var(--white-80);
  background: var(--color-black-surface);
}

.permissions-status-badge {
  color: var(--color-zinc-500);
}

.permissions-user-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  padding: 0.65rem 1.1rem;
  font-size: 0.8125rem;
  color: var(--white-70);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-black-surface);
}

.permissions-user-summary strong {
  color: var(--white-90);
}

.permissions-user-groups {
  padding: 0.85rem 1.1rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.permissions-group-title {
  margin: 0 0 0.5rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-zinc-500);
}

.permissions-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.permissions-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.permissions-table th,
.permissions-table td {
  padding: 0.65rem 0.75rem;
  text-align: left;
  border-bottom: 1px solid var(--color-border);
  vertical-align: top;
}

.permissions-table th {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-zinc-500);
  background: var(--color-black-surface);
}

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

.permissions-table tbody tr:hover {
  background: var(--white-5);
}

.permissions-perm-label {
  font-weight: 600;
  color: var(--white-90);
}

.permissions-perm-desc {
  margin-top: 0.15rem;
  font-size: 0.75rem;
  color: var(--color-zinc-500);
}

.permissions-access-cell {
  width: 8.5rem;
  white-space: nowrap;
}

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

  .permissions-access-cell {
    width: auto;
  }
}

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

@media (max-width: 720px) {
  .leads-stats-row {
    grid-template-columns: 1fr 1fr;
  }

  .leads-geo-report {
    grid-template-columns: 1fr;
    max-height: none;
  }

  .leads-toolbar {
    gap: 0.4rem;
  }

  .leads-search-wrap {
    flex: 1 1 100%;
    max-width: none;
  }

  .leads-filter-summary {
    flex: 1 1 100%;
    margin-left: 0;
  }

  .leads-filters-more-panel {
    left: auto;
    right: 0;
  }
}

.team-settings-toolbar {
  margin-bottom: 1rem;
}

.team-users-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.team-users-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.team-users-table th,
.team-users-table td {
  padding: 0.65rem 0.85rem;
  text-align: left;
  border-bottom: 1px solid var(--color-border);
}

.team-users-table th {
  color: var(--white-70);
  font-weight: 600;
}

.team-user-email {
  font-size: 0.75rem;
  color: var(--color-zinc-500);
}

.team-status-ok { color: var(--color-fluoro-muted); }
.team-status-pending { color: var(--color-amber); }

.team-type-badge {
  display: inline-block;
  padding: 0.1rem 0.55rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  border: 1px solid var(--color-border);
  color: var(--white-70);
}
.team-type-badge.team-type-partner {
  border-color: var(--color-fluoro-dim);
  color: var(--color-fluoro);
}

.svt-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
.svt-summary-card {
  padding: 0.9rem 1rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-elevated);
}
.svt-summary-value {
  font-family: var(--font-display);
  font-size: 1.375rem;
  font-weight: 600;
  color: var(--color-text-primary);
}
.svt-summary-label {
  font-size: 0.75rem;
  color: var(--white-60);
  margin-top: 0.15rem;
}
.svt-status {
  display: inline-block;
  font-size: 0.8125rem;
  white-space: nowrap;
}
.svt-status-complete { color: var(--color-fluoro-muted); }
.svt-status-on_track { color: var(--color-fluoro-muted); }
.svt-status-stalled { color: var(--color-amber); }
.svt-status-insufficient_data { color: var(--white-60); }

.outreach-readonly-notice {
  margin: 0 0 1rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--white-5);
}

.lead-card-meta,
.lead-card-people {
  font-size: 0.875rem;
  color: var(--white-70);
  margin-bottom: 0.35rem;
}

.lead-card-footer {
  display: flex;
  justify-content: space-between;
  font-size: 0.8rem;
  color: var(--white-60);
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--color-border);
}

.college-contacts-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.college-contact-card {
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 1rem;
  background: var(--color-black-elevated);
}

.college-contact-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.role-badge {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  background: var(--color-black);
  border: 1px solid var(--color-border);
}

.role-badge-tpo { color: #93c5fd; border-color: rgba(59, 130, 246, 0.4); }
.role-badge-principal { color: #d8b4fe; border-color: rgba(168, 85, 247, 0.4); }
.role-badge-other { color: #86efac; border-color: rgba(34, 197, 94, 0.4); }

.college-contact-details,
.college-contact-notes {
  font-size: 0.875rem;
  color: var(--white-80);
}

.college-contact-links {
  margin-top: 0.5rem;
  font-size: 0.875rem;
}

.lead-detail-top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.lead-detail-main {
  flex: 1 1 14rem;
  min-width: 0;
}

.lead-detail-action-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.25rem;
}

.lead-detail-outreach-bar {
  margin-top: 0.65rem;
}

.lead-detail-action-bar + .lead-detail-outreach-bar {
  margin-top: 0.65rem;
}

.lead-action-btn {
  display: inline-flex;
  align-items: center;
  flex: 1 1 10rem;
  min-height: 2.75rem;
  text-align: center;
  justify-content: center;
  text-decoration: none;
}

.lead-maps-btn {
  border-color: rgba(66, 133, 244, 0.45);
}

.lead-contacts-section {
  margin-top: 1.5rem;
}

.lead-contacts-section-header {
  margin-bottom: 0.85rem;
}

.lead-contacts-title {
  font-size: 1.1rem;
  margin: 0 0 0.75rem;
}

.lead-quick-add-label {
  margin: 0 0 0.5rem;
  font-size: 0.8rem;
  color: var(--white-70);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.lead-quick-add-buttons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
}

.lead-quick-add-btn {
  min-height: 2.75rem;
  padding: 0.5rem 0.65rem;
  font-size: 0.875rem;
  line-height: 1.25;
  white-space: normal;
}

.contact-action-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.contact-action-btn {
  display: inline-flex;
  align-items: center;
  flex: 1 1 calc(50% - 0.25rem);
  min-height: 2.5rem;
  padding: 0.45rem 0.65rem;
  font-size: 0.875rem;
  text-align: center;
  justify-content: center;
  text-decoration: none;
}

.quick-contact-form .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

@media (max-width: 520px) {
  .lead-quick-add-buttons {
    grid-template-columns: 1fr;
  }

  .lead-detail-action-bar {
    flex-direction: column;
  }

  .lead-action-btn {
    flex: 1 1 auto;
    width: 100%;
  }

  .quick-contact-form .form-row {
    grid-template-columns: 1fr;
  }
}

.lead-detail-loc,
.lead-detail-meta {
  color: var(--white-70);
  font-size: 0.9rem;
}

.lead-detail-notes {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-black-elevated);
}

.quick-fill-panel {
  padding: 1rem 1.1rem;
  margin-bottom: 1.25rem;
  border: 1px solid var(--color-fluoro-dim);
  border-radius: 10px;
  background: var(--color-fluoro-bg-5);
}

.quick-fill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: stretch;
}

.quick-fill-input {
  flex: 1 1 12rem;
  min-width: 0;
}

.maps-parse-status {
  margin-top: 0.65rem;
  font-size: 0.875rem;
}

.maps-parse-status.maps-parse-ok { color: var(--color-fluoro-muted); }
.maps-parse-status.maps-parse-warn { color: var(--color-amber); }
.maps-parse-status.maps-parse-error { color: var(--color-red); }
.maps-parse-status.maps-parse-loading { color: var(--white-70); }

.address-details-panel {
  margin-top: 0.5rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 0 1rem 1rem;
  background: var(--color-black);
}

.address-details-summary {
  cursor: pointer;
  font-weight: 600;
  padding: 0.75rem 0;
  list-style: none;
}

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

.modal-header {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--color-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal-body {
  padding: 1.5rem;
}

.modal-footer {
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--color-border);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

/* Form inputs */
input, select, textarea {
  font-family: var(--font-body);
  background: var(--color-black);
  border: 1px solid var(--color-border);
  color: var(--color-text-primary);
  padding: 0.5rem 0.75rem;
  border-radius: 2px;
  width: 100%;
}

input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--color-fluoro);
}

input::placeholder, textarea::placeholder {
  color: var(--color-placeholder);
  opacity: 1;
}

.form-group {
  margin-bottom: 1rem;
}

.form-group label {
  display: block;
  font-size: 0.875rem;
  color: var(--white-80);
  margin-bottom: 0.25rem;
}

.form-hint {
  margin: 0.35rem 0 0;
  font-size: 0.8rem;
  color: var(--color-placeholder);
  line-height: 1.4;
}

.form-optional-label {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--color-placeholder);
}

.lead-detail-phone-label {
  font-size: 0.85rem;
  color: var(--white-60);
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

/* Links */
/* Contact link buttons */
.contact-link-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.contact-link-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--color-text-primary);
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 6px;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}

.contact-link-btn:hover {
  color: var(--color-fluoro);
  border-color: var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-5);
}

.contact-link-btn svg {
  flex-shrink: 0;
}

.lead-detail-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  align-items: start;
}

.lead-header-card {
  margin-bottom: 1rem;
  border: 1px solid var(--white-10);
  background: var(--color-black-elevated);
  border-radius: 8px;
  padding: 0.75rem 0.8rem;
}

.lead-header-title-row {
  display: flex;
  gap: 0.55rem;
  align-items: center;
  flex-wrap: wrap;
}

.lead-org-name {
  color: var(--color-text-primary);
  font-size: 1rem;
}

.lead-id-badge {
  color: var(--color-fluoro);
  font-size: 0.73rem;
  border: 1px solid var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-5);
  border-radius: 999px;
  padding: 0.15rem 0.45rem;
}

.lead-header-meta {
  margin-top: 0.45rem;
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}

.lead-header-meta span {
  color: var(--white-70);
  font-size: 0.76rem;
  border: 1px solid var(--white-10);
  border-radius: 999px;
  padding: 0.15rem 0.45rem;
}

.lead-contact-list {
  margin-top: 0.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.lead-contact-item {
  border: 1px solid var(--white-10);
  background: var(--color-black-elevated);
  border-radius: 6px;
  padding: 0.45rem 0.55rem;
}

.lead-contact-name {
  display: block;
  color: var(--color-text-primary);
  font-size: 0.8rem;
  font-weight: 600;
}

.lead-contact-meta {
  display: block;
  color: var(--white-70);
  font-size: 0.76rem;
  line-height: 1.4;
}

.lead-contact-empty {
  color: var(--white-60);
  font-size: 0.78rem;
  margin-top: 0.45rem;
}

@media (max-width: 860px) {
  .lead-detail-row {
    grid-template-columns: 1fr;
  }
}

a.link {
  color: var(--color-fluoro);
  text-decoration: none;
}

a.link:hover {
  color: var(--color-fluoro-bright);
}

/* Hero section (COMMUN design) */
.hero-section {
  margin-bottom: 1.5rem;
}

.hero-greeting {
  font-family: var(--font-body);
  font-size: 2.25rem;
  font-weight: 300;
  margin: 0 0 1rem;
  color: var(--color-text-primary);
}

.quote-block {
  margin: 1rem 0;
}

.quote-slider {
  margin: 0;
  padding-left: 1rem;
  border-left: 3px solid var(--color-fluoro);
  font-size: 1rem;
  font-weight: 400;
  color: var(--white-70);
  font-style: italic;
}

.quote-current {
  display: block;
  opacity: 1;
  transition: opacity 0.4s ease;
}

.quote-current.fade {
  opacity: 0;
}

.pipeline-status {
  font-family: var(--font-display);
  font-size: 1rem;
  color: var(--color-fluoro);
  margin: 1rem 0 0;
}

.section-divider {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: 1.5rem 0;
}

/* Stats row — COMMUN style */
.stats-commun {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 2rem;
}

@media (max-width: 768px) {
  .stats-commun {
    grid-template-columns: repeat(2, 1fr);
  }
}

.stats-commun .stat-card {
  text-align: center;
  padding: 1.25rem 1rem;
}

.stats-commun .stat-highlight .stat-value,
.stats-commun .stat-highlight .stat-label {
  color: var(--color-fluoro);
}

.stats-commun .stat-card:not(.stat-highlight) .stat-value,
.stats-commun .stat-card:not(.stat-highlight) .stat-label {
  color: var(--color-text-primary);
}

.stats-commun .stat-highlight {
  background: transparent;
}

.stats-commun .stat-highlight.stat-border {
  border-color: var(--color-fluoro);
}

.stats-commun .stat-card:not(.stat-highlight) {
  border-color: var(--color-border);
}

.stat-sublabel {
  font-size: 0.6875rem;
  color: var(--color-zinc-600);
  margin-top: 0.25rem;
  letter-spacing: 0.02em;
}

/* Legacy */
.welcome-text {
  font-size: 1rem;
  color: var(--white-80);
  margin-bottom: 1.5rem;
}

.pipeline-value {
  font-family: var(--font-display);
  font-size: 1.25rem;
  color: var(--color-fluoro);
  margin-bottom: 2rem;
}

/* Empty state */
.empty-state {
  text-align: center;
  padding: 3rem 1rem;
  color: var(--white-80);
}

/* Intel chat */
.intel-chat {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.intel-msg {
  padding: 1rem;
  border-radius: 2px;
  max-width: 85%;
}

.intel-msg.bot {
  background: var(--white-10);
  border: 1px solid var(--white-10);
  align-self: flex-start;
}

.intel-msg.user {
  background: var(--color-fluoro-bg-5);
  border: 1px solid var(--color-fluoro-dim);
  align-self: flex-end;
}

.intel-input-row {
  display: flex;
  gap: 0.5rem;
}

.intel-input-row input {
  flex: 1;
}

/* Lead card content */
.lead-card-name { font-weight: 600; margin-bottom: 0.25rem; }
.lead-card-email { font-size: 0.875rem; color: var(--white-80); }
.lead-card-meta { font-size: 0.75rem; color: var(--color-zinc-500); margin-top: 0.5rem; display: flex; gap: 0.5rem; flex-wrap: wrap; }
.lead-card-value { color: var(--color-fluoro); font-weight: 600; }

.btn-get-started {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 28px;
  background: var(--color-fluoro);
  color: var(--color-text-on-fluoro);
  border: none;
  border-radius: 6px;
  font-family: var(--font-ui);
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s, box-shadow 0.2s;
}

.btn-get-started:hover {
  background: var(--color-fluoro-bright);
  box-shadow: 0 0 24px var(--color-fluoro-subtle);
}

/* Lead pipeline — college vs recruiter */
.lead-pipeline-panel {
  margin-bottom: 1.25rem;
  padding: 1rem 1.1rem;
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 4px;
}

.lead-pipeline-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.lead-pipeline-type {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.lead-pipeline-type-label {
  font-size: 0.8rem;
  color: var(--white-70);
}

.lead-pipeline-type-select {
  padding: 0.35rem 0.5rem;
  border-radius: 4px;
  border: 1px solid var(--color-border);
  background: var(--color-black);
  color: inherit;
  font-size: 0.875rem;
}

.pipeline-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.pipeline-steps.is-lost {
  opacity: 0.45;
  pointer-events: none;
}

.pipeline-step {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  min-width: 5.5rem;
  max-width: 9rem;
  padding: 0.45rem 0.55rem;
  border: 1px solid var(--white-10);
  border-radius: 4px;
  background: var(--color-black);
  color: var(--white-80);
  cursor: pointer;
  text-align: left;
  font: inherit;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}

.pipeline-step:hover {
  border-color: var(--color-fluoro-dim);
  color: var(--color-text-primary);
}

.pipeline-step.is-done {
  border-color: var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-5);
}

.pipeline-step.is-current {
  border-color: var(--color-fluoro);
  background: var(--color-fluoro-bg-10);
  color: var(--color-fluoro);
  box-shadow: 0 0 0 1px var(--color-fluoro-subtle);
}

.pipeline-step-num {
  font-family: var(--font-display);
  font-size: 0.7rem;
  font-weight: 700;
  opacity: 0.85;
}

.pipeline-step-label {
  font-size: 0.72rem;
  line-height: 1.25;
}

.pipeline-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--color-border);
}

.pipeline-current-label {
  font-size: 0.8rem;
  color: var(--white-70);
}

.pipeline-mark-lost.is-active {
  border-color: rgba(239, 68, 68, 0.5);
  color: rgba(252, 165, 165, 0.95);
}

.pipeline-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 600;
  padding: 0.12rem 0.4rem;
  border-radius: 3px;
  border: 1px solid var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-5);
  color: var(--color-fluoro);
  white-space: nowrap;
}

.pipeline-badge-recruiter {
  border-color: rgba(96, 165, 250, 0.45);
  background: rgba(96, 165, 250, 0.08);
  color: #93c5fd;
}

html[data-theme="light"] .pipeline-badge-recruiter {
  color: #1d4ed8;
  background: rgba(37, 99, 235, 0.08);
}

.pipeline-badge-lost {
  border-color: rgba(239, 68, 68, 0.45);
  background: rgba(239, 68, 68, 0.1);
  color: #fca5a5;
}

html[data-theme="light"] .pipeline-badge-lost {
  color: #b91c1c;
}

.calling-desk-subtitle {
  margin: 0.35rem 0 0;
  max-width: 42rem;
}

.calling-desk-scope {
  margin: 0 0 1rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-fluoro-bg-5);
  color: var(--white-80);
  font-size: 0.875rem;
}

.calling-desk-assignee-filter {
  min-width: 200px;
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-black-elevated);
  color: var(--color-text-primary);
  font: inherit;
}

.calling-desk-assignee-cell {
  min-width: 120px;
  font-size: 0.8125rem;
  color: var(--white-80);
}

.calling-desk-assignee-state {
  font-size: 0.75rem;
  color: var(--color-zinc-500);
  margin-top: 0.15rem;
}

.calling-desk-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.calling-desk-search {
  flex: 1 1 220px;
  min-width: 180px;
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-black-elevated);
  color: var(--color-text-primary);
  font: inherit;
}

.calling-desk-state-filter,
.calling-desk-gap-filter {
  min-width: 10rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-black-elevated);
  color: var(--color-text-primary);
  font: inherit;
  font-size: 0.875rem;
}

.calling-desk-count {
  font-size: 0.875rem;
  color: var(--color-zinc-500);
}

.calling-desk-table-wrap {
  overflow-x: auto;
  overflow-y: auto;
  max-height: calc(100vh - 300px);
  min-height: 260px;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-elevated);
}

.calling-desk-table {
  width: 100%;
  min-width: 1100px;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.calling-desk-table th,
.calling-desk-table td {
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid var(--color-border);
  vertical-align: top;
  text-align: left;
}

.calling-desk-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--color-black-surface);
  color: var(--white-70);
  font-weight: 600;
  white-space: nowrap;
}

.calling-desk-table tbody tr:hover {
  background: var(--white-5);
}

.calling-desk-college {
  min-width: 180px;
}

.calling-desk-college-link {
  color: inherit;
  font-weight: 600;
  text-decoration: none;
}

.calling-desk-college-link:hover {
  color: var(--color-fluoro);
}

.calling-desk-stage {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 0.62rem;
}

.calling-desk-state-cell {
  white-space: nowrap;
  color: var(--white-70);
}

.calling-desk-input {
  width: 100%;
  min-width: 0;
  padding: 0.4rem 0.5rem;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-black);
  color: var(--color-text-primary);
  font: inherit;
  font-size: 0.8125rem;
}

.calling-desk-input:focus {
  outline: none;
  border-color: var(--color-fluoro-dim);
}

.calling-desk-district-input {
  min-width: 110px;
}

.calling-desk-input-row {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.calling-desk-input-row .calling-desk-input {
  flex: 1;
}

.calling-desk-office-cell {
  min-width: 11rem;
}

.calling-desk-office-row {
  flex-wrap: wrap;
}

.calling-desk-office-input {
  min-width: 7.5rem;
}

.calling-desk-call-link {
  flex-shrink: 0;
  text-decoration: none;
  font-size: 1rem;
  line-height: 1;
  opacity: 0.85;
}

.calling-desk-call-link:hover {
  opacity: 1;
}

.calling-desk-call-link-number {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--color-fluoro);
  white-space: nowrap;
}

.calling-desk-call-link-number:hover {
  text-decoration: underline;
}

.calling-desk-contact-cell {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 150px;
}

.calling-desk-role-input {
  font-size: 0.75rem;
  color: var(--white-70);
}

.calling-desk-actions-cell {
  white-space: nowrap;
  min-width: 90px;
}

.calling-desk-save-btn {
  font-size: 0.8125rem;
  padding: 0.35rem 0.65rem;
}

.calling-desk-row-status {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.7rem;
  color: var(--color-zinc-500);
  min-height: 1em;
}

.calling-desk-row-status-saved {
  color: var(--color-fluoro-muted);
}

.calling-desk-row-status-error {
  color: var(--color-amber);
}

.calling-desk-row-status-saving {
  color: var(--white-60);
}

/* Social media admin page */
.social-media-page {
  max-width: 72rem;
}

.social-media-filters {
  margin-bottom: 1.25rem;
}

.social-media-summary {
  margin: 0.75rem 0 0;
  font-size: 0.875rem;
  color: var(--white-60);
}

.social-media-table-panel {
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-surface);
  overflow: hidden;
}

.social-media-table-wrap {
  overflow-x: auto;
}

.social-media-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.social-media-table th,
.social-media-table td {
  padding: 0.75rem 1rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--color-border);
}

.social-media-table th {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--white-60);
  background: var(--color-black-elevated);
}

.social-media-table tr:last-child td {
  border-bottom: none;
}

.social-media-college-link {
  font-weight: 600;
  color: var(--color-text);
  text-decoration: none;
}

.social-media-college-link:hover {
  color: var(--color-accent);
}

.social-media-loc {
  margin-top: 0.2rem;
  font-size: 0.8125rem;
  color: var(--white-60);
}

.social-media-link-btn {
  white-space: nowrap;
}

.social-media-missing {
  font-size: 0.8125rem;
  color: var(--white-40);
}

.social-media-contact-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
}

.social-media-contact-name {
  font-weight: 600;
}

.social-media-actions-col {
  white-space: nowrap;
  width: 5rem;
}

.social-media-edit-btn {
  font-size: 0.8125rem;
}

@media (max-width: 768px) {
  .social-media-table th:nth-child(2),
  .social-media-table td:nth-child(2) {
    min-width: 6.5rem;
  }
}

/* Lead activity log */
.lead-activity-section {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-border);
}

.lead-activity-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.lead-activities-load-more-wrap { display: flex; justify-content: center; margin-top: 1.25rem; }

/* Pitch Training page */
.training-page { max-width: 880px; }
.training-toc {
  display: flex; flex-wrap: wrap; gap: 0.4rem 0.6rem;
  margin: 0 0 2rem; padding: 0.85rem 1rem;
  background: var(--color-black-surface); border: 1px solid var(--color-border);
  border-radius: 10px;
}
.training-toc a {
  font-size: 0.8rem; font-weight: 600; color: var(--white-60, rgba(255,255,255,0.6));
  text-decoration: none; padding: 0.25rem 0.55rem; border-radius: 999px;
}
.training-toc a:hover { color: var(--color-text-primary); background: var(--white-05, rgba(255,255,255,0.05)); }

.training-module { margin-bottom: 3rem; scroll-margin-top: 1.5rem; }
.training-module-eyebrow {
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
  color: #ec4899; margin-bottom: 0.4rem;
}
.training-module-title { font-size: 1.4rem; font-weight: 800; color: var(--color-text-primary); margin: 0 0 0.75rem; }
.training-subhead { font-size: 1rem; font-weight: 700; color: var(--color-text-primary); margin: 1.5rem 0 0.6rem; }
.training-lead { font-size: 0.92rem; color: var(--white-70, rgba(255,255,255,0.7)); line-height: 1.6; margin-bottom: 1.1rem; max-width: 62ch; }

.training-check-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.55rem; }
.training-check-list li {
  position: relative; padding-left: 1.3rem; font-size: 0.9rem; color: var(--color-text-primary); line-height: 1.55;
}
.training-check-list li::before {
  content: '\2014'; position: absolute; left: 0; color: #ec4899; font-weight: 700;
}

/* Six-step flow diagram */
.training-flow-list { display: flex; flex-direction: column; align-items: stretch; max-width: 460px; margin: 1.25rem 0; }
.training-flow-step {
  display: flex; align-items: stretch; border-radius: 8px; overflow: hidden;
  font-size: 0.85rem; font-weight: 700;
}
.training-flow-num {
  display: flex; align-items: center; justify-content: center; width: 44px; flex-shrink: 0;
  background: #ec4899; color: #ffffff;
}
.training-flow-label {
  display: flex; align-items: center; flex: 1; padding: 0.6rem 0.9rem;
  background: var(--color-black-surface); color: var(--color-text-primary);
  border: 1px solid var(--color-border); border-left: none;
}
.training-flow-arrow { text-align: center; color: #ec4899; font-weight: 700; padding: 0.15rem 0; }
.training-loop-note { font-size: 0.85rem; font-style: italic; color: var(--white-60, rgba(255,255,255,0.6)); margin-top: 1rem; max-width: 62ch; }

/* Talk track cards */
.training-talk-list { display: flex; flex-direction: column; gap: 1rem; }
.training-talk-card {
  background: var(--color-black-surface); border: 1px solid var(--color-border);
  border-radius: 12px; padding: 1.1rem 1.25rem;
}
.training-talk-head { display: flex; gap: 0.85rem; align-items: flex-start; margin-bottom: 0.9rem; }
.training-talk-num {
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  width: 30px; height: 30px; border-radius: 50%; background: #ec4899; color: #fff;
  font-weight: 800; font-size: 0.85rem;
}
.training-talk-title { font-size: 1rem; font-weight: 700; color: var(--color-text-primary); margin-bottom: 0.2rem; }
.training-talk-blurb { font-size: 0.82rem; color: var(--white-60, rgba(255,255,255,0.6)); }

.training-quote { border-radius: 8px; padding: 0.7rem 0.9rem; margin-top: 0.6rem; }
.training-quote p { margin: 0.25rem 0 0; font-size: 0.86rem; font-style: italic; line-height: 1.55; }
.training-quote-label { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }
.training-quote-say { background: var(--white-05, rgba(255,255,255,0.05)); border: 1px solid var(--color-border); }
.training-quote-say .training-quote-label { color: var(--white-60, rgba(255,255,255,0.6)); }
.training-quote-say p { color: var(--color-text-primary); }
.training-quote-ask { background: rgba(236, 72, 153, 0.08); border: 1px solid rgba(236, 72, 153, 0.3); }
.training-quote-ask .training-quote-label { color: #ec4899; }
.training-quote-ask p { color: var(--color-text-primary); }

/* Diagnosis table */
.training-table-wrap { overflow-x: auto; border: 1px solid var(--color-border); border-radius: 10px; }
.training-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.training-table th {
  text-align: left; padding: 0.65rem 0.9rem; background: var(--color-black-surface);
  color: var(--white-60, rgba(255,255,255,0.6)); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em;
}
.training-table td { padding: 0.7rem 0.9rem; border-top: 1px solid var(--color-border); vertical-align: top; }
.training-table-quote { font-style: italic; color: var(--color-text-primary); }
.training-table-step { color: #ec4899; font-weight: 700; white-space: nowrap; }

/* Objection handling */
.training-objection-list { display: flex; flex-direction: column; gap: 0.6rem; }
.training-objection-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem;
}
.training-objection-side {
  display: flex; gap: 0.5rem; align-items: flex-start; padding: 0.7rem 0.85rem;
  border-radius: 8px; font-size: 0.85rem; line-height: 1.5;
}
.training-objection-side p { margin: 0; }
.training-objection-bad { background: rgba(239, 68, 68, 0.08); border: 1px solid rgba(239, 68, 68, 0.3); color: var(--color-text-primary); font-style: italic; }
.training-objection-good { background: rgba(57, 255, 20, 0.06); border: 1px solid rgba(57, 255, 20, 0.25); color: var(--color-text-primary); }
.training-objection-mark { font-weight: 800; flex-shrink: 0; }
.training-objection-bad .training-objection-mark { color: #f87171; }
.training-objection-good .training-objection-mark { color: var(--color-fluoro); }

/* Closing */
.training-closing-quote {
  background: rgba(236, 72, 153, 0.08); border: 1.5px solid #ec4899; border-radius: 10px;
  padding: 1rem 1.1rem; margin-bottom: 0.5rem;
}
.training-closing-quote p { margin: 0.35rem 0 0; font-size: 0.95rem; font-style: italic; color: var(--color-text-primary); line-height: 1.6; }
.training-closing-quote .training-quote-label { color: #ec4899; }

/* Cheat sheet */
.training-cheat-sheet {
  background: var(--color-black-surface); border: 1px solid var(--color-border);
  border-radius: 12px; padding: 1.5rem 1.6rem;
}
.training-cheat-list { margin: 0; padding-left: 1.2rem; display: flex; flex-direction: column; gap: 0.5rem; }
.training-cheat-list li { font-size: 0.9rem; color: var(--color-text-primary); line-height: 1.5; }
.training-loop-line {
  font-size: 0.92rem; font-weight: 600; color: #ec4899;
  background: rgba(236, 72, 153, 0.08); border-radius: 8px; padding: 0.8rem 1rem;
  line-height: 1.6; margin: 0;
}

@media (max-width: 640px) {
  .training-objection-row { grid-template-columns: 1fr; }
}

.lead-activity-entry {
  padding: 0.85rem 1rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-black-surface);
}

.lead-activity-entry-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
  margin-bottom: 0.35rem;
}

.lead-activity-type {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-accent);
}

.lead-activity-time {
  font-size: 0.75rem;
  color: var(--white-60);
}

.lead-activity-summary {
  margin: 0;
  font-size: 0.9375rem;
}

.lead-activity-followup {
  margin: 0.35rem 0 0;
  font-size: 0.875rem;
  color: var(--white-80);
}

.lead-activity-meta {
  margin: 0.35rem 0 0;
  font-size: 0.8125rem;
  color: var(--white-60);
}

.log-activity-followup-panel {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--color-border);
}

.daily-report-activity-badge,
.daily-report-activity-badge.daily-report-role-badge {
  background: var(--color-black-elevated);
  color: var(--color-accent);
}

/* Funnel report */
.funnel-report-stats {
  margin-bottom: 1.5rem;
}

.funnel-stage-bars {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.funnel-stage-bar-row {
  display: grid;
  grid-template-columns: 9rem 1fr 2.5rem;
  gap: 0.75rem;
  align-items: center;
}

.funnel-stage-bar-label {
  font-size: 0.8125rem;
  color: var(--white-80);
}

.funnel-stage-bar-track {
  height: 0.55rem;
  border-radius: 999px;
  background: var(--color-black-elevated);
  overflow: hidden;
}

.funnel-stage-bar-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--color-accent), #6ee7b7);
  min-width: 2px;
}

.funnel-stage-bar-count {
  font-weight: 600;
  text-align: right;
  font-size: 0.875rem;
}

.funnel-stages-section,
.funnel-users-section {
  margin-bottom: 2rem;
}

/* Lead assignment overview — per-owner distribution bars */
.assignment-bars {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.assignment-bar-row {
  display: grid;
  grid-template-columns: 12rem 1fr 3rem;
  gap: 0.85rem;
  align-items: center;
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-elevated);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.assignment-bar-row:hover {
  border-color: var(--color-fluoro-dim);
  background: var(--color-fluoro-bg-5);
}

.assignment-bar-owner {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.assignment-bar-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.assignment-bar-name .assignment-bar-inactive-tag {
  margin-left: 0.4rem;
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--color-zinc-500);
}

.assignment-bar-meta {
  font-size: 0.75rem;
  color: var(--color-zinc-500);
}

.assignment-bar-track {
  height: 0.6rem;
  border-radius: 999px;
  background: var(--color-black-surface);
  overflow: hidden;
}

.assignment-bar-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--color-fluoro), #6ee7b7);
  min-width: 2px;
}

.assignment-bar-count {
  font-weight: 700;
  font-size: 0.9375rem;
  text-align: right;
}

@media (max-width: 640px) {
  .assignment-bar-row {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
  .assignment-bar-count {
    text-align: left;
  }
}

/* Lead assignment detail — per-owner table + reassign toolbar */
.assignment-reassign-bar {
  margin-bottom: 1rem;
}

.assignment-col-check {
  width: 2rem;
}

.assignment-col-num {
  text-align: right;
  white-space: nowrap;
}

.assignment-col-date {
  white-space: nowrap;
  color: var(--color-zinc-500);
}

.assignment-lead-name {
  color: var(--color-text-primary);
  font-weight: 500;
  text-decoration: none;
}

.assignment-lead-name:hover {
  color: var(--color-fluoro);
}

.funnel-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-surface);
}

.funnel-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.funnel-table th,
.funnel-table td {
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid var(--color-border);
  text-align: left;
  vertical-align: top;
}

.funnel-table th {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--white-60);
  background: var(--color-black-elevated);
  white-space: nowrap;
}

.funnel-table tr:last-child td {
  border-bottom: none;
}

.funnel-owner-state,
.funnel-stage-cell {
  font-size: 0.8125rem;
}

.funnel-total-cell {
  font-weight: 700;
}

.funnel-stage-th {
  text-align: center;
}

.funnel-stage-cell {
  text-align: center;
}

.funnel-stage-cell {
  white-space: nowrap;
}
.funnel-stage-leads {
  font-weight: 600;
}
.funnel-act-badge {
  display: inline-block;
  margin-left: 0.3rem;
  padding: 0.05rem 0.3rem;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #34d399;
  background: rgba(52, 211, 153, 0.14);
}

.funnel-activity-th,
.funnel-activity-cell {
  text-align: center;
  white-space: nowrap;
}
.funnel-activity-cell {
  border-left: 1px solid var(--color-border);
}
.funnel-activity-th:first-of-type,
.funnel-activity-cell:nth-of-type(1) {
  border-left: none;
}

/* Funnel filter bar */
.funnel-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.25rem;
  margin: 0 0 1.5rem;
}
.funnel-filter-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
}
.funnel-range-btn.active {
  border-color: var(--color-fluoro);
  background: var(--white-5);
  color: var(--color-fluoro);
}
.funnel-date-field,
.funnel-user-field {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8125rem;
  color: var(--white-60);
}
.funnel-date-field input[type="date"] {
  background: var(--color-black-elevated);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  color: var(--color-white);
  padding: 0.35rem 0.5rem;
  font: inherit;
}
.funnel-range-tag {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-fluoro);
}

@media (max-width: 768px) {
  .funnel-stage-bar-row {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .funnel-stage-bar-count {
    text-align: left;
  }
}

.commission-hero-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.commission-rates-card {
  margin-bottom: 1.25rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-elevated);
  overflow: hidden;
}

.commission-rates-summary {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1rem 1.15rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.commission-rates-summary::-webkit-details-marker { display: none; }
.commission-rates-summary::marker { content: ''; }

.commission-rates-dollar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--color-fluoro);
  color: #04140a;
  font-weight: 800;
  font-size: 0.85rem;
}

.commission-rates-chevron {
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid var(--color-placeholder);
  border-bottom: 2px solid var(--color-placeholder);
  transform: rotate(-45deg);
  transition: transform 0.15s ease;
  flex-shrink: 0;
  margin-left: auto;
}

.commission-rates-card[open] > .commission-rates-summary .commission-rates-chevron {
  transform: rotate(45deg);
  margin-top: -0.2rem;
}

.commission-rates-body {
  padding: 0 1.15rem 1rem;
}

.commission-section-title {
  margin: 0;
  font-size: 1rem;
  flex: 1;
}

.commission-rates-list {
  margin: 0;
  padding-left: 1.15rem;
  color: var(--white-70);
  font-size: 0.875rem;
}

.commission-rates-list li + li {
  margin-top: 0.35rem;
}

.commission-rates-note {
  margin: 0.75rem 0 0;
  font-size: 0.8125rem;
  color: var(--color-zinc-500);
}

.commission-summary-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

.commission-summary-card {
  padding: 0.9rem 1rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-elevated);
}

.commission-summary-card-total {
  border-color: var(--color-fluoro-dim);
}

.commission-summary-value {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--color-fluoro);
}

.commission-summary-label {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  color: var(--white-70);
}

.commission-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-elevated);
}

.commission-table {
  width: 100%;
  min-width: 960px;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.commission-table th,
.commission-table td {
  padding: 0.7rem 0.8rem;
  border-bottom: 1px solid var(--color-border);
  vertical-align: top;
  text-align: left;
}

.commission-table th {
  background: var(--color-black-surface);
  color: var(--white-70);
  font-weight: 600;
  white-space: nowrap;
}

.commission-college-link {
  color: inherit;
  font-weight: 600;
  text-decoration: none;
}

.commission-college-link:hover {
  color: var(--color-fluoro);
}

.commission-loc,
.commission-students {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  color: var(--color-zinc-500);
}

.commission-status-badge {
  display: inline-block;
  margin-top: 0.35rem;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.commission-status-open {
  background: var(--white-10);
  color: var(--white-70);
}

.commission-status-closed_won {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
}

.commission-status-closed_lost {
  background: rgba(239, 68, 68, 0.12);
  color: #f87171;
}

.commission-roles-cell,
.commission-amounts-cell {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  min-width: 10rem;
}

.commission-role-line,
.commission-amount-line {
  font-size: 0.8125rem;
}

.commission-role-label,
.commission-rate-badge {
  display: inline-block;
  min-width: 2.5rem;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--white-70);
}

.commission-retainer-years {
  margin-top: 0.2rem;
  font-size: 0.75rem;
  color: var(--color-zinc-500);
}

.commission-missing {
  color: var(--color-zinc-500);
}

.commission-my-cell strong {
  color: var(--color-fluoro);
}

.commission-my-roles {
  margin-top: 0.2rem;
  font-size: 0.72rem;
  color: var(--color-zinc-500);
  text-transform: capitalize;
}

.commission-actions-col {
  white-space: nowrap;
}

.commission-actions-col .btn + .btn {
  margin-top: 0.35rem;
}

.commission-summary-value-pink {
  color: #ec4899;
}

.commission-net-preview {
  margin: 0.5rem 0 0.75rem;
  padding: 0.55rem 0.7rem;
  border-radius: 8px;
  background: var(--white-5);
  font-weight: 600;
  color: var(--color-fluoro);
}

.commission-readonly-field {
  padding: 0.45rem 0;
  font-weight: 600;
}

.commission-retainer-admin-row {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
  font-size: 0.8125rem;
  margin-bottom: 0.35rem;
}

.commission-retainer-years-cell {
  min-width: 11rem;
}

.commission-override-tag {
  display: inline-block;
  padding: 0.05rem 0.35rem;
  border-radius: 4px;
  background: rgba(250, 204, 21, 0.15);
  color: #facc15;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
}

.commission-admin-overrides {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--color-border);
}

.commission-admin-overrides-title {
  margin: 0 0 0.35rem;
  font-size: 0.9rem;
}

.commission-college-search {
  width: 100%;
  padding: 0.5rem 0.65rem;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-black);
  color: var(--color-text-primary);
  font: inherit;
}

.commission-college-selected {
  margin-top: 0.45rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-fluoro);
}

.commission-college-results {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  max-height: 11rem;
  margin-top: 0.45rem;
  overflow-y: auto;
}

.commission-college-pick {
  display: block;
  width: 100%;
  padding: 0.45rem 0.6rem;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-black-elevated);
  color: inherit;
  font: inherit;
  font-size: 0.8125rem;
  text-align: left;
  cursor: pointer;
}

.commission-college-pick:hover {
  border-color: var(--color-fluoro-dim);
  color: var(--color-fluoro);
}

.commission-report-toolbar {
  margin-bottom: 1rem;
}

.commission-report-users-table {
  min-width: 640px;
}

.commission-report-deals-table {
  min-width: 1100px;
}

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

/* ── Admin Insight Cards ─────────────────────────────────────────────────── */
.insights-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (max-width: 768px) {
  .insights-grid { grid-template-columns: 1fr; }
}

.insight-card {
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-height: 220px;
}

.insight-card-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
}

.insight-card-title {
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--white-60);
}

.insight-card-meta {
  font-size: 0.72rem;
  color: var(--white-60);
  white-space: nowrap;
}

.insight-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.insight-loading {
  color: var(--white-60);
  font-size: 0.875rem;
  margin: auto;
  text-align: center;
}

/* Activity row (card 1) */
.insight-user-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
}
.insight-user-name {
  flex: 1;
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.insight-user-bar-wrap {
  flex: 2;
  height: 6px;
  background: var(--white-10);
  border-radius: 2px;
  overflow: hidden;
}
.insight-user-bar {
  height: 100%;
  background: var(--color-fluoro);
  border-radius: 2px;
  transition: width 0.4s ease;
}
.insight-user-count {
  font-family: var(--font-display);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-fluoro);
  min-width: 2rem;
  text-align: right;
}
.insight-user-today {
  font-size: 0.72rem;
  color: var(--color-amber);
  min-width: 3.5rem;
  text-align: right;
}

/* Stage row (card 2) */
.insight-stage-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
}
.insight-stage-label {
  flex: 1;
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.insight-stage-bar-wrap {
  flex: 2;
  height: 5px;
  background: var(--white-10);
  border-radius: 2px;
  overflow: hidden;
}
.insight-stage-bar {
  height: 100%;
  background: var(--color-fluoro-muted);
  border-radius: 2px;
  transition: width 0.4s ease;
}
.insight-stage-count {
  font-family: var(--font-display);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--white-80);
  min-width: 2rem;
  text-align: right;
}

/* Ownership row (card 3) */
.insight-ownership-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.83rem;
  padding: 0.3rem 0;
  border-bottom: 1px solid var(--white-5);
}
.insight-ownership-row:last-child { border-bottom: none; }
.insight-ownership-name {
  flex: 1;
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.insight-ownership-count {
  font-family: var(--font-display);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--color-fluoro);
  min-width: 2rem;
  text-align: right;
}
.insight-ownership-won {
  font-size: 0.72rem;
  color: var(--color-amber);
  min-width: 3rem;
  text-align: right;
}

/* Pipeline update row (card 4) */
.insight-update-row {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.35rem 0;
  border-bottom: 1px solid var(--white-5);
}
.insight-update-row:last-child { border-bottom: none; }
.insight-update-college {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.insight-update-meta {
  font-size: 0.75rem;
  color: var(--white-60);
  display: flex;
  gap: 0.4rem;
  align-items: center;
}
.insight-update-stage {
  color: var(--color-fluoro);
  font-weight: 600;
}

/* ══════════════ Signal Dashboard ══════════════════════════════════════ */
.signal-live-dot {
  display: inline-block;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--color-fluoro);
  box-shadow: 0 0 6px var(--color-fluoro);
  animation: signal-pulse 2s ease-in-out infinite;
}
@keyframes signal-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.4; }
}

.signal-dashboard {
  margin-bottom: 2.5rem;
}
.signal-dash-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  gap: 0.5rem;
}
.signal-dash-title-group {
  display: flex; align-items: center; gap: 0.5rem;
}
.signal-dash-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}

.signal-kpi-row {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.5rem;
  margin-bottom: 1rem;
}
@media (max-width: 900px) {
  .signal-kpi-row { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 540px) {
  .signal-kpi-row { grid-template-columns: repeat(2, 1fr); }
}

.signal-kpi-card {
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  padding: 0.9rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  position: relative;
  overflow: hidden;
}
.signal-kpi-card::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
}
.signal-kpi-card.sales::after { background: var(--color-fluoro); }
.signal-kpi-card.mktg::after  { background: #60a5fa; }

.signal-kpi-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--white-60);
}
.signal-kpi-value {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1;
}
.signal-kpi-card.sales .signal-kpi-value { color: var(--color-fluoro); }
.signal-kpi-card.mktg  .signal-kpi-value { color: #60a5fa; }
.signal-kpi-delta {
  font-size: 0.7rem;
  color: var(--white-60);
}
.signal-kpi-delta .pos { color: var(--color-amber); font-weight: 600; }
.signal-kpi-delta .neg { color: #f87171; font-weight: 600; }
.signal-kpi-card { transition: border-color 0.15s ease, transform 0.15s ease; }
.signal-kpi-card:hover { border-color: var(--white-10); transform: translateY(-1px); }

/* ── Signal Trends chart ─────────────────────────────────────────────── */
.signal-trends {
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  padding: 0.9rem 1rem 0.6rem;
  margin-bottom: 1rem;
}
.signal-trends-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.signal-trends-title-group { display: flex; flex-direction: column; gap: 0.1rem; }
.signal-trends-title {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--white-80);
}
.signal-trends-sub { font-size: 0.68rem; color: var(--white-60); }
.signal-trends-range { display: inline-flex; gap: 0.25rem; }
.trend-range-btn {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 0.25rem 0.6rem;
  border: 1px solid var(--white-10);
  background: transparent;
  color: var(--white-60);
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.trend-range-btn:hover { color: var(--color-text-primary); border-color: var(--color-fluoro-dim); }
.trend-range-btn.active {
  background: var(--color-fluoro-bg-10);
  border-color: var(--color-fluoro-dim);
  color: var(--color-fluoro);
}
.signal-trends-legend {
  display: flex;
  gap: 1.25rem;
  margin: 0.6rem 0 0.2rem;
}
.trends-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.72rem;
  color: var(--white-60);
}
.trends-legend-item strong { color: var(--color-text-primary); font-weight: 700; }
.trends-legend-dot { width: 9px; height: 9px; border-radius: 2px; flex-shrink: 0; }
.trends-legend-dot.sales { background: #39ff14; }
.trends-legend-dot.mktg { background: #60a5fa; }
.signal-trends-chart { width: 100%; margin-top: 0.25rem; }
.trend-svg { width: 100%; height: auto; display: block; }
.trend-svg .trend-grid { stroke: var(--white-10); stroke-width: 1; }
.trend-svg .trend-y-label {
  fill: var(--white-60);
  font-size: 10px;
  text-anchor: end;
  font-family: var(--font-display);
}
.trend-svg .trend-x-label {
  fill: var(--white-60);
  font-size: 10px;
  text-anchor: middle;
}
.trend-svg circle { transition: r 0.1s ease; }

.signal-feeds-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
@media (max-width: 700px) {
  .signal-feeds-grid { grid-template-columns: 1fr; }
}

/* Effort board + combined stream share one row on PC */
.signal-bottom-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  align-items: start;
  margin-bottom: 1rem;
}
.signal-bottom-grid .effort-board { margin-bottom: 0; }
.signal-bottom-grid .effort-board-body { max-height: 320px; overflow-y: auto; }
@media (max-width: 900px) {
  .signal-bottom-grid { grid-template-columns: 1fr; }
}

.signal-panel {
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
}
.signal-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.7rem 0.9rem;
  border-bottom: 1px solid var(--white-10);
}
.signal-panel-title-row {
  display: flex; align-items: center; gap: 0.5rem;
}
.signal-panel-dot {
  width: 6px; height: 6px; border-radius: 50%;
}
.signal-panel-dot.sales {
  background: var(--color-fluoro);
  box-shadow: 0 0 5px var(--color-fluoro);
}
.signal-panel-dot.mktg {
  background: #60a5fa;
  box-shadow: 0 0 5px #60a5fa;
}
.signal-panel-title {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--white-80);
}
.signal-panel-count {
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.15rem 0.5rem;
  border-radius: 2px;
}
.signal-panel-count.sales { background: rgba(184,255,87,0.1); color: var(--color-fluoro); }
.signal-panel-count.mktg  { background: rgba(96,165,250,0.1); color: #60a5fa; }

.signal-feed {
  max-height: 280px;
  overflow-y: auto;
}
.signal-item {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 0.55rem 0.9rem;
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.signal-item:last-child { border-bottom: none; }
.signal-item:hover { background: rgba(255,255,255,0.02); }

.signal-icon-wrap {
  width: 26px; height: 26px;
  border-radius: 2px;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.75rem;
  flex-shrink: 0;
  margin-top: 1px;
}
.signal-icon-wrap.call     { background: rgba(184,255,87,0.12); }
.signal-icon-wrap.pipeline { background: rgba(184,255,87,0.07); }
.signal-icon-wrap.package  { background: rgba(245,158,11,0.12); }
.signal-icon-wrap.email    { background: rgba(96,165,250,0.12); }
.signal-icon-wrap.whatsapp { background: rgba(52,211,153,0.12); }
.signal-icon-wrap.social   { background: rgba(244,114,182,0.12); }

.signal-item-body { flex: 1; min-width: 0; }
.signal-item-title {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.15rem;
}
.signal-item-meta {
  font-size: 0.7rem;
  color: var(--white-60);
  display: flex;
  gap: 0.35rem;
  align-items: center;
  flex-wrap: wrap;
}
.signal-badge {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.1rem 0.35rem;
  border-radius: 2px;
}
.signal-badge.call     { background: rgba(184,255,87,0.15); color: var(--color-fluoro); }
.signal-badge.pipeline { background: rgba(184,255,87,0.1);  color: rgba(184,255,87,0.85); }
.signal-badge.package  { background: rgba(245,158,11,0.15); color: var(--color-amber); }
.signal-badge.email    { background: rgba(96,165,250,0.15); color: #60a5fa; }
.signal-badge.whatsapp { background: rgba(52,211,153,0.15); color: #34d399; }
.signal-badge.social   { background: rgba(244,114,182,0.15);color: #f472b6; }

.signal-item-time {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
  margin-left: auto;
  flex-shrink: 0;
  padding-top: 1px;
  text-align: right;
  min-width: 56px;
}
.signal-item-time .sit-date {
  font-size: 0.66rem;
  font-weight: 600;
  color: var(--white-60);
  white-space: nowrap;
}
.signal-item-time .sit-time {
  font-size: 0.64rem;
  color: var(--white-60);
  opacity: 0.75;
  white-space: nowrap;
}

.signal-stream-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}
.signal-stream-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--white-60);
}
.signal-stream-sub { font-size: 0.68rem; color: var(--white-60); }

.signal-stream {
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  max-height: 320px;
  overflow-y: auto;
}
.stream-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.45rem 0.9rem;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  font-size: 0.78rem;
}
.stream-row:last-child { border-bottom: none; }
.stream-row:hover { background: rgba(255,255,255,0.02); }
.stream-type-dot { width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; }
.stream-actor { color: var(--white-80); font-weight: 500; min-width: 80px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.stream-action { color: var(--white-60); flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.stream-action strong { color: var(--color-text-primary); font-weight: 600; }
.stream-badge {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.1rem 0.4rem;
  border-radius: 2px;
  white-space: nowrap;
}
.stream-ts { font-size: 0.68rem; color: var(--white-60); white-space: nowrap; }

.signal-loading {
  color: var(--white-60);
  font-size: 0.8rem;
  padding: 1rem;
  text-align: center;
}
.signal-kpi-loading {
  grid-column: 1 / -1;
  color: var(--white-60);
  font-size: 0.8rem;
  padding: 1rem;
  text-align: center;
}

/* ── Per-Person Effort Board ─────────────────────────────────────────── */
.effort-board {
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  margin-bottom: 1rem;
}
.effort-board-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 0.7rem 0.9rem;
  border-bottom: 1px solid var(--white-10);
  gap: 0.5rem;
  flex-wrap: wrap;
}
.effort-board-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--white-60);
}
.effort-board-sub { font-size: 0.68rem; color: var(--white-60); }
.effort-board-body { padding: 0.25rem 0; }

.effort-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.6rem 0.9rem;
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.effort-row:last-child { border-bottom: none; }
.effort-row:hover { background: rgba(255,255,255,0.02); }

.effort-rank {
  font-family: var(--font-display);
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--white-60);
  width: 1.1rem;
  text-align: center;
  flex-shrink: 0;
}
.effort-avatar {
  width: 28px; height: 28px;
  border-radius: 2px;
  background: rgba(184,255,87,0.12);
  color: var(--color-fluoro);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.8rem;
  font-weight: 700;
  flex-shrink: 0;
}
.effort-main { flex: 1; min-width: 0; }
.effort-name-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.3rem;
}
.effort-name {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.effort-today { font-size: 0.68rem; color: var(--white-60); flex-shrink: 0; }
.effort-bar {
  height: 4px;
  background: rgba(255,255,255,0.06);
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 0.4rem;
}
.effort-bar-fill {
  display: block;
  height: 100%;
  background: var(--color-fluoro);
  border-radius: 2px;
}
.effort-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}
.effort-chip {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 0.1rem 0.4rem;
  border-radius: 2px;
  background: rgba(255,255,255,0.05);
  color: var(--white-60);
}
.effort-chip.call     { background: rgba(184,255,87,0.15); color: var(--color-fluoro); }
.effort-chip.pipeline { background: rgba(184,255,87,0.1);  color: rgba(184,255,87,0.85); }
.effort-chip.package  { background: rgba(245,158,11,0.15); color: var(--color-amber); }
.effort-chip.email    { background: rgba(96,165,250,0.15); color: #60a5fa; }
.effort-chip.whatsapp { background: rgba(52,211,153,0.15); color: #34d399; }
.effort-chip.social   { background: rgba(244,114,182,0.15);color: #f472b6; }

.effort-net {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1;
  color: var(--color-text-primary);
  flex-shrink: 0;
  min-width: 2.5rem;
  text-align: right;
}

/* ══════════════ WhatsApp push ═════════════════════════════════════════ */
.wa-tabs {
  display: flex;
  gap: 0.25rem;
  border-bottom: 1px solid var(--white-10);
  margin-bottom: 1.5rem;
}
.wa-tab {
  padding: 0.55rem 1rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--white-60);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.wa-tab:hover { color: var(--color-text-primary); }
.wa-tab.active {
  color: var(--color-fluoro);
  border-bottom-color: var(--color-fluoro);
}

.wa-notice {
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  padding: 1rem;
  font-size: 0.85rem;
  color: var(--white-80);
}

.wa-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
@media (max-width: 800px) {
  .wa-grid { grid-template-columns: 1fr; }
}

.wa-panel {
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  padding: 1rem;
}
.wa-panel-title {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--white-60);
  margin-bottom: 0.85rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.wa-recipient-summary {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--color-fluoro);
}

.wa-recipient-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.6rem;
  flex-wrap: wrap;
}
.wa-check {
  display: flex; align-items: center; gap: 0.4rem;
  font-size: 0.78rem; color: var(--white-80); cursor: pointer;
}
.wa-recipient-list {
  max-height: 360px;
  overflow-y: auto;
  border: 1px solid var(--white-10);
  border-radius: 2px;
}
.wa-recipient {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.5rem 0.7rem;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  cursor: pointer;
  font-size: 0.82rem;
}
.wa-recipient:last-child { border-bottom: none; }
.wa-recipient:hover { background: rgba(255,255,255,0.02); }
.wa-recipient.is-unreachable { opacity: 0.55; cursor: not-allowed; }
.wa-recipient-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.wa-recipient-name {
  font-weight: 600;
  color: var(--color-text-primary);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.wa-recipient-meta { font-size: 0.7rem; color: var(--white-60); }
.wa-recipient-num { font-size: 0.72rem; text-align: right; white-space: nowrap; }
.wa-num { color: var(--white-80); }
.wa-num-src {
  text-transform: uppercase;
  font-size: 0.58rem;
  font-weight: 700;
  color: var(--white-60);
  letter-spacing: 0.05em;
}
.wa-num-missing { color: #f87171; font-size: 0.7rem; }

.wa-send-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  padding: 0.75rem 0;
}

.wa-results {
  background: var(--color-black-elevated);
  border: 1px solid var(--white-10);
  border-radius: 2px;
  margin-top: 0.75rem;
  max-height: 320px;
  overflow-y: auto;
}
.wa-result-head {
  padding: 0.6rem 0.9rem;
  border-bottom: 1px solid var(--white-10);
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--white-80);
}
.wa-result-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.45rem 0.9rem;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  font-size: 0.78rem;
}
.wa-result-row:last-child { border-bottom: none; }
.wa-result-name { flex: 1; min-width: 0; color: var(--color-text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wa-result-status { font-weight: 700; text-transform: uppercase; font-size: 0.62rem; letter-spacing: 0.05em; }
.wa-result-row.ok .wa-result-status { color: var(--color-fluoro); }
.wa-result-row.fail .wa-result-status { color: #f87171; }
.wa-result-row.skip .wa-result-status { color: var(--color-amber); }
.wa-result-detail { color: var(--white-60); font-size: 0.72rem; max-width: 45%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Task due time highlight */
.dashboard-task-time {
  display: inline-block;
  padding: 0.05rem 0.4rem;
  margin-left: 0.1rem;
  border-radius: 999px;
  font-weight: 700;
  color: var(--color-fluoro, #c6ff3a);
  background: rgba(198, 255, 58, 0.14);
}

/* Small ghost button (activity edit) */
.btn-xs {
  padding: 0.15rem 0.5rem;
  font-size: 0.7rem;
  line-height: 1.4;
  border-radius: 6px;
}

/* Leads card: next pending task preview */
.lead-card-task {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.5rem;
  padding: 0.3rem 0.5rem;
  border-radius: 8px;
  background: var(--white-05, rgba(255, 255, 255, 0.04));
  font-size: 0.78rem;
}
.lead-card-task-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  background: #93c5fd;
}
.lead-card-task-title {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--color-text-primary);
}
.lead-card-task-due {
  flex-shrink: 0;
  font-weight: 600;
  color: var(--white-60, rgba(255, 255, 255, 0.6));
}
.lead-card-task-overdue .lead-card-task-dot { background: #fca5a5; }
.lead-card-task-overdue .lead-card-task-due { color: #fca5a5; }
.lead-card-task-due_today .lead-card-task-dot { background: #fcd34d; }
.lead-card-task-due_today .lead-card-task-due { color: #fcd34d; }
.lead-card-task-at_risk .lead-card-task-dot { background: #fdba74; }

/* Leads card: compact closure progress bar */
.lead-card-closure {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.55rem;
}
.lead-card-closure-label {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--white-60, rgba(255, 255, 255, 0.55));
  flex-shrink: 0;
}
.lead-card-closure-track {
  flex: 1;
  min-width: 0;
  height: 6px;
  border-radius: 999px;
  background: var(--white-10, rgba(255, 255, 255, 0.1));
  overflow: hidden;
}
.lead-card-closure-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #38bdf8, #86efac);
  transition: width 0.4s ease;
}
.lead-card-closure-pct {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--color-text-primary);
  flex-shrink: 0;
  min-width: 30px;
  text-align: right;
}
.lead-card-closure-won .lead-card-closure-fill { background: linear-gradient(90deg, #34d399, #86efac); }
.lead-card-closure-lost .lead-card-closure-fill { background: linear-gradient(90deg, #ef4444, #fca5a5); }
.lead-card-closure-lost .lead-card-closure-pct { color: #fca5a5; }

/* Activity entry head: time + edit button */
.lead-activity-head-right {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

/* Per-college stage funnel — which stage this lead is at, at a glance */
.stage-funnel {
  margin: 0.75rem 0 1rem;
  padding: 1rem 1rem 0.75rem;
  border: 1px solid var(--white-10, rgba(255, 255, 255, 0.1));
  border-radius: 12px;
  background: var(--white-05, rgba(255, 255, 255, 0.04));
}
.stage-funnel-track {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
.stage-funnel-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  width: 84px;
  flex-shrink: 0;
}
.stage-funnel-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--white-10, rgba(255, 255, 255, 0.1));
  border: 2px solid var(--white-20, rgba(255, 255, 255, 0.18));
  box-sizing: border-box;
}
.stage-funnel-step.is-done .stage-funnel-dot {
  background: var(--color-fluoro, #c6ff3a);
  border-color: var(--color-fluoro, #c6ff3a);
}
.stage-funnel-step.is-current .stage-funnel-dot {
  background: var(--color-fluoro, #c6ff3a);
  border-color: var(--color-fluoro, #c6ff3a);
  box-shadow: 0 0 0 3px rgba(198, 255, 58, 0.25);
}
.stage-funnel-label {
  font-size: 0.68rem;
  text-align: center;
  line-height: 1.25;
  color: var(--white-60, rgba(255, 255, 255, 0.6));
}
.stage-funnel-step.is-done .stage-funnel-label,
.stage-funnel-step.is-current .stage-funnel-label {
  color: var(--color-text-primary);
  font-weight: 600;
}
.stage-funnel-connector {
  flex: 1 1 16px;
  height: 2px;
  min-width: 12px;
  margin-top: 6px;
  background: var(--white-10, rgba(255, 255, 255, 0.1));
}
.stage-funnel-lost { opacity: 0.6; }
.stage-funnel-lost-tag {
  margin-top: 0.6rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fca5a5;
}

/* "Last activity N days ago" stat */
.lead-activity-stat {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  background: var(--white-05, rgba(255, 255, 255, 0.04));
  border: 1px solid var(--white-10, rgba(255, 255, 255, 0.1));
  color: var(--white-60, rgba(255, 255, 255, 0.6));
  margin-bottom: 0.75rem;
}
.lead-activity-stat-label { text-transform: uppercase; letter-spacing: 0.03em; font-size: 0.68rem; }
.lead-activity-stat-value { font-weight: 700; color: var(--color-text-primary); }
.lead-activity-stat.is-stale {
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.4);
  color: #fca5a5;
}
.lead-activity-stat.is-stale .lead-activity-stat-value { color: #fca5a5; }

.lead-activity-section-actions { display: flex; align-items: center; gap: 0.5rem; }

/* Home: pipeline progress chart */
.pipeline-progress-section { margin-top: 1.5rem; }
.pipeline-progress-overall {
  font-size: 0.8rem;
  color: var(--white-60, rgba(255, 255, 255, 0.6));
  font-weight: 600;
}
.pipeline-progress-card {
  padding: 1rem 1.1rem;
  border: 1px solid var(--white-10, rgba(255, 255, 255, 0.1));
  border-radius: 14px;
  background: var(--white-05, rgba(255, 255, 255, 0.04));
}
.pipeline-overall-meter { margin-bottom: 1rem; }
.pipeline-overall-track {
  height: 12px;
  border-radius: 999px;
  background: var(--white-10, rgba(255, 255, 255, 0.1));
  overflow: hidden;
}
.pipeline-overall-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #38bdf8, #86efac);
  transition: width 0.4s ease;
}
.pipeline-overall-caption {
  margin-top: 0.4rem;
  font-size: 0.72rem;
  color: var(--white-60, rgba(255, 255, 255, 0.6));
}
.pipeline-bar-row {
  display: grid;
  grid-template-columns: 140px 1fr 36px;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.5rem;
}
.pipeline-bar-label {
  font-size: 0.78rem;
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pipeline-bar-track {
  height: 14px;
  border-radius: 7px;
  background: var(--white-10, rgba(255, 255, 255, 0.08));
  overflow: hidden;
}
.pipeline-bar-fill {
  height: 100%;
  border-radius: 7px;
  min-width: 2px;
  transition: width 0.4s ease;
}
.pipeline-bar-count {
  font-size: 0.8rem;
  font-weight: 700;
  text-align: right;
  color: var(--color-text-primary);
}
.pipeline-bar-lost { opacity: 0.8; }
@media (max-width: 600px) {
  .pipeline-bar-row { grid-template-columns: 100px 1fr 30px; }
}

/* Home: today's tasks */
.home-today-section {
  margin-top: 1.5rem;
}
.home-today-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.4rem;
  height: 1.4rem;
  padding: 0 0.4rem;
  margin-left: 0.4rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--color-text-primary);
  background: var(--white-10);
  vertical-align: middle;
}
.home-today-tasks {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 0.75rem;
}

/* ===========================================================================
 * Proposal builder
 * ======================================================================== */
.page-head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap; margin-bottom: 1.25rem;
}
.page-head-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }

.proposals-list { display: flex; flex-direction: column; gap: 0.6rem; }
.proposal-card {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 0.9rem 1.1rem; background: var(--color-black-surface);
  border: 1px solid var(--color-border); border-radius: 12px;
}
.proposal-card-title { font-weight: 600; color: var(--color-text-primary); text-decoration: none; font-size: 1.02rem; }
.proposal-card-title:hover { color: var(--color-fluoro); }
.proposal-card-meta { font-size: 0.8rem; color: var(--color-placeholder); margin-top: 0.2rem; }
.proposal-card-actions { display: flex; gap: 0.4rem; flex-shrink: 0; }
.proposal-pdf-badge {
  display: inline-block; margin-left: 0.5rem; padding: 0.1rem 0.45rem;
  font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em;
  border-radius: 999px; color: var(--color-amber);
  background: rgba(245, 158, 11, 0.12); border: 1px solid rgba(245, 158, 11, 0.4);
  vertical-align: middle;
}
.proposal-pdf-notice {
  font-size: 0.82rem; color: var(--color-amber); background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.4); border-radius: 8px;
  padding: 0.55rem 0.8rem; margin-bottom: 0.75rem;
}

/* Documents page */
.doc-search-wrap { position: relative; max-width: 480px; margin-bottom: 1.5rem; }
.doc-search-input {
  width: 100%; font-size: 0.95rem; padding: 0.65rem 0.9rem;
  background: var(--color-black-surface); color: var(--color-text-primary);
  border: 1px solid var(--color-border); border-radius: 10px;
}
.doc-search-input:focus { outline: none; border-color: var(--color-fluoro); }
.doc-search-results {
  position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 20;
  background: var(--color-black-elevated); border: 1px solid var(--color-border);
  border-radius: 10px; box-shadow: 0 12px 28px rgba(0,0,0,0.35);
  max-height: 320px; overflow-y: auto; padding: 0.35rem;
}
.doc-search-result {
  display: flex; flex-direction: column; gap: 0.15rem; width: 100%; text-align: left;
  padding: 0.55rem 0.7rem; border-radius: 8px; background: transparent; border: none;
  color: var(--color-text-primary); cursor: pointer;
}
.doc-search-result:hover { background: var(--color-black-surface); }
.doc-search-result-name { font-weight: 600; font-size: 0.9rem; }
.doc-search-result-meta { font-size: 0.78rem; color: var(--color-placeholder); }
.doc-search-empty { padding: 0.6rem 0.7rem; font-size: 0.85rem; color: var(--color-placeholder); }

.doc-college-panel {
  background: var(--color-black-surface); border: 1px solid var(--color-border);
  border-radius: 14px; padding: 1.25rem 1.4rem; max-width: 720px;
}
.doc-college-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.doc-college-name { font-size: 1.15rem; font-weight: 700; color: var(--color-text-primary); margin: 0; }
.doc-college-meta { font-size: 0.85rem; color: var(--color-placeholder); margin: 0.2rem 0 0; }

.doc-upload-form { border-bottom: 1px solid var(--color-border); padding-bottom: 1.25rem; margin-bottom: 1.25rem; }
.doc-upload-row { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 0.75rem; }
.doc-upload-type { flex: 0 0 160px; }
.doc-upload-title { flex: 1 1 260px; }
.doc-upload-dropzone {
  display: flex; align-items: center; justify-content: center; text-align: center;
  border: 1.5px dashed var(--color-border); border-radius: 10px; padding: 1.4rem 1rem;
  font-size: 0.85rem; color: var(--color-placeholder); cursor: pointer; margin-bottom: 0.75rem;
  transition: border-color 0.15s, background 0.15s;
}
.doc-upload-dropzone:hover, .doc-upload-dropzone.is-dragover {
  border-color: var(--color-fluoro); background: rgba(57, 255, 20, 0.05); color: var(--color-text-primary);
}
.doc-upload-dropzone input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.doc-upload-actions { display: flex; align-items: center; gap: 0.75rem; }
.doc-upload-status { font-size: 0.82rem; color: var(--color-placeholder); }

.doc-list-title { font-size: 0.85rem; font-weight: 600; color: var(--color-text-primary); margin: 0 0 0.6rem; }
.doc-list { display: flex; flex-direction: column; gap: 0.5rem; }
.doc-row {
  display: flex; align-items: center; justify-content: space-between; gap: 0.75rem;
  padding: 0.6rem 0.75rem; background: var(--color-black-elevated); border: 1px solid var(--color-border);
  border-radius: 10px; flex-wrap: wrap;
}
.doc-row-main { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; min-width: 0; }
.doc-row-title { font-weight: 600; font-size: 0.88rem; color: var(--color-text-primary); }
.doc-row-meta { font-size: 0.78rem; color: var(--color-placeholder); }
.doc-row-actions { display: flex; gap: 0.4rem; flex-shrink: 0; }
.doc-type-badge {
  display: inline-block; padding: 0.1rem 0.5rem; font-size: 0.7rem; font-weight: 700;
  letter-spacing: 0.03em; text-transform: uppercase; border-radius: 999px;
}
.doc-type-proposal { color: var(--color-fluoro); background: rgba(57, 255, 20, 0.12); border: 1px solid rgba(57, 255, 20, 0.35); }
.doc-type-invoice { color: var(--color-amber); background: rgba(245, 158, 11, 0.12); border: 1px solid rgba(245, 158, 11, 0.35); }
.doc-type-quote { color: #60a5fa; background: rgba(96, 165, 250, 0.12); border: 1px solid rgba(96, 165, 250, 0.35); }

/* Builder layout */
.proposal-builder-view { display: flex; flex-direction: column; height: calc(100vh - 140px); min-height: 540px; }
.proposal-toolbar {
  display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap;
  padding-bottom: 0.75rem; border-bottom: 1px solid var(--color-border); margin-bottom: 0.75rem;
}
.proposal-title-input {
  flex: 1 1 220px; min-width: 160px; font-size: 1rem; font-weight: 600;
  background: var(--color-black-surface); color: var(--color-text-primary);
  border: 1px solid var(--color-border); border-radius: 8px; padding: 0.5rem 0.75rem;
}
.proposal-save-status { font-size: 0.78rem; color: var(--color-placeholder); min-width: 56px; }
.proposal-toolbar-actions { display: flex; gap: 0.5rem; margin-left: auto; }

.proposal-builder-body { display: flex; gap: 1rem; flex: 1; min-height: 0; }
.proposal-panel {
  width: 340px; flex-shrink: 0; overflow-y: auto; padding-right: 0.4rem;
  background: var(--color-black-elevated); border: 1px solid var(--color-border);
  border-radius: 12px; padding: 0.75rem;
}
.proposal-panel-tabs { display: flex; gap: 0.25rem; margin-bottom: 0.75rem; background: var(--color-black-surface); padding: 0.25rem; border-radius: 8px; }
.pb-tab {
  flex: 1; padding: 0.45rem; border: none; background: transparent; color: var(--color-placeholder);
  font-weight: 600; border-radius: 6px; cursor: pointer; font-size: 0.85rem;
}
.pb-tab.active { background: var(--color-black-elevated); color: var(--color-text-primary); box-shadow: 0 1px 3px rgba(0,0,0,0.2); }

.pb-group { margin-bottom: 1.1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--color-border); }
.pb-group:last-child { border-bottom: none; }
.pb-group-title { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--color-placeholder); margin: 0 0 0.6rem; font-weight: 700; }

/* Content accordions — collapsed by default */
.pb-accordion {
  border: 1px solid var(--color-border);
  border-radius: 10px;
  margin-bottom: 0.55rem;
  background: var(--color-black-surface);
  overflow: hidden;
}
.pb-accordion-nested {
  background: var(--color-black-elevated);
  border-color: rgba(255,255,255,0.06);
}
.pb-accordion-summary {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.65rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.pb-accordion-summary::-webkit-details-marker { display: none; }
.pb-accordion-summary::marker { content: ''; }
.pb-accordion-chevron {
  width: 0.45rem;
  height: 0.45rem;
  border-right: 2px solid var(--color-placeholder);
  border-bottom: 2px solid var(--color-placeholder);
  transform: rotate(-45deg);
  transition: transform 0.15s ease;
  flex-shrink: 0;
  margin-top: -0.15rem;
}
.pb-accordion[open] > .pb-accordion-summary .pb-accordion-chevron {
  transform: rotate(45deg);
  margin-top: 0.1rem;
}
.pb-accordion-title {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--color-text-primary);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pb-accordion-body {
  padding: 0 0.65rem 0.65rem;
  border-top: 1px solid var(--color-border);
}
.pb-accordion-body > .pb-hint:first-child { margin-top: 0.45rem; }
.pb-accordion-nested .pb-accordion-body { padding-top: 0.15rem; }
.pb-wf-steps { display: flex; flex-direction: column; gap: 0.35rem; margin: 0.45rem 0; }
.pb-field { display: flex; flex-direction: column; gap: 0.25rem; margin-bottom: 0.6rem; }
.pb-field > span { font-size: 0.8rem; color: var(--color-text-primary); display: flex; justify-content: space-between; }
.pb-field > span em { color: var(--color-placeholder); font-style: normal; }
.pb-field input[type="text"], .pb-field select, .pb-field textarea {
  background: var(--color-black-surface); color: var(--color-text-primary);
  border: 1px solid var(--color-border); border-radius: 7px; padding: 0.45rem 0.55rem; font: inherit; font-size: 0.85rem; width: 100%;
}
.pb-field textarea { resize: vertical; line-height: 1.45; }
.pb-field input[type="range"] { width: 100%; accent-color: var(--color-fluoro); }
.pb-color { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.5rem; font-size: 0.85rem; color: var(--color-text-primary); }
.pb-color input[type="color"] { width: 46px; height: 30px; border: 1px solid var(--color-border); border-radius: 6px; background: none; padding: 2px; cursor: pointer; }
.pb-check { display: flex; align-items: center; gap: 0.5rem; font-size: 0.82rem; color: var(--color-text-primary); margin-bottom: 0.5rem; cursor: pointer; }
.pb-check input { accent-color: var(--color-fluoro); }

.pb-presets { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.pb-preset { display: flex; width: 44px; height: 28px; border-radius: 6px; overflow: hidden; border: 1px solid var(--color-border); cursor: pointer; padding: 0; }
.pb-preset span { flex: 1; display: block; }
.pb-preset:hover { outline: 2px solid var(--color-fluoro); }

.pb-feature { border: 1px solid var(--color-border); border-radius: 8px; padding: 0.6rem; margin-bottom: 0.6rem; background: var(--color-black-surface); }
.pb-feature-head { display: flex; justify-content: space-between; align-items: center; font-size: 0.78rem; font-weight: 600; color: var(--color-placeholder); margin-bottom: 0.4rem; }

.pb-wf-presets { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.6rem; }
.pb-workflow { border: 1px solid var(--color-border); border-radius: 8px; padding: 0.6rem; margin-bottom: 0.6rem; background: var(--color-black-surface); }
.pb-row2 { display: flex; gap: 0.5rem; }
.pb-row2 .pb-field { flex: 1; }
.pb-wf-steps { display: flex; flex-direction: column; gap: 0.45rem; margin: 0.4rem 0; }
.pb-wf-step { border: 1px solid var(--color-border); border-radius: 7px; padding: 0.45rem; background: var(--color-black-elevated); display: flex; flex-direction: column; gap: 0.3rem; }
.pb-wf-step-head { display: flex; justify-content: space-between; align-items: center; font-size: 0.72rem; font-weight: 600; color: var(--color-placeholder); }
.pb-wf-step input, .pb-wf-step textarea {
  background: var(--color-black-surface); color: var(--color-text-primary);
  border: 1px solid var(--color-border); border-radius: 6px; padding: 0.35rem 0.5rem; font: inherit; font-size: 0.82rem; width: 100%;
}
.pb-wf-step textarea { resize: vertical; line-height: 1.4; }

/* Preview */
.proposal-preview {
  flex: 1; min-width: 0; display: flex; flex-direction: column;
  background: #4b5563; border: 1px solid var(--color-border); border-radius: 12px; overflow: hidden;
}
.proposal-preview-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.5rem 0.75rem; background: rgba(0,0,0,0.25);
}
.proposal-preview-label { font-size: 0.78rem; color: #e5e7eb; font-weight: 600; }
.proposal-zoom { display: flex; align-items: center; gap: 0.4rem; color: #e5e7eb; font-size: 0.78rem; }
.proposal-paper-wrap { flex: 1; overflow: auto; padding: 16px; text-align: center; }
.proposal-frame { border: none; background: #fff; transform-origin: top left; box-shadow: 0 10px 40px rgba(0,0,0,0.4); display: inline-block; }

.btn-xs { font-size: 0.72rem; padding: 0.2rem 0.5rem; }

/* Company profile modal */
.company-profile { max-height: 70vh; overflow-y: auto; }
.cp-members { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 0.75rem; margin-bottom: 0.6rem; }
.cp-member-card {
  border: 1px solid var(--color-border); border-radius: 10px; padding: 0.65rem;
  background: var(--color-black-surface); display: flex; flex-direction: column; gap: 0.45rem;
}
.cp-member-card-head { display: flex; justify-content: space-between; align-items: center; font-size: 0.72rem; font-weight: 600; color: var(--color-placeholder); }
.cp-member-photo-arch {
  width: 100%; height: 130px; overflow: hidden; border-radius: 65px 65px 0 0;
  background: var(--color-black-elevated); border: 1px solid var(--color-border);
  display: flex; align-items: center; justify-content: center;
}
.cp-member-photo-arch img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cp-member-photo-actions { display: flex; flex-wrap: wrap; gap: 0.35rem; justify-content: center; }
.cp-photo-upload { cursor: pointer; }
.cp-member-card .pb-field { margin-bottom: 0.35rem; }
.cp-member-card textarea {
  background: var(--color-black-elevated); color: var(--color-text-primary);
  border: 1px solid var(--color-border); border-radius: 7px; padding: 0.4rem 0.55rem;
  font: inherit; font-size: 0.82rem; width: 100%; resize: vertical; line-height: 1.4;
}
.cp-member-card select {
  background: var(--color-black-elevated); color: var(--color-text-primary);
  border: 1px solid var(--color-border); border-radius: 7px; padding: 0.35rem 0.5rem; font: inherit; font-size: 0.82rem; width: 100%;
}
.cp-member { display: flex; align-items: center; gap: 0.6rem; padding: 0.5rem; border: 1px solid var(--color-border); border-radius: 8px; }
.cp-member-photo { position: relative; width: 48px; height: 48px; flex-shrink: 0; border-radius: 50%; overflow: hidden; cursor: pointer; border: 1px solid var(--color-border); display: flex; align-items: center; justify-content: center; background: var(--color-black-surface); }
.cp-member-photo img { width: 100%; height: 100%; object-fit: cover; }
.cp-member-initial { font-weight: 700; color: var(--color-placeholder); }
.cp-member-fields { flex: 1; display: flex; flex-direction: column; gap: 0.3rem; }
.cp-member-fields input { background: var(--color-black-surface); color: var(--color-text-primary); border: 1px solid var(--color-border); border-radius: 6px; padding: 0.35rem 0.5rem; font: inherit; font-size: 0.82rem; }
.empty-state-sm { color: var(--color-placeholder); font-size: 0.82rem; padding: 0.5rem 0; }
.pb-hint { font-size: 0.74rem; color: var(--color-placeholder); margin: 0.4rem 0 0; }

.pb-rich-field > span em { font-size: 0.72rem; color: var(--color-placeholder); font-weight: 400; }
.pb-rich-toolbar {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem;
  padding: 0.35rem 0.4rem; background: var(--color-black-surface);
  border: 1px solid var(--color-border); border-bottom: none; border-radius: 8px 8px 0 0;
}
.pb-fmt-btn {
  border: 1px solid var(--color-border); background: var(--color-black-elevated); color: var(--color-text-primary);
  border-radius: 5px; padding: 0.15rem 0.45rem; font-size: 0.72rem; cursor: pointer; line-height: 1.3;
}
.pb-fmt-btn:hover { border-color: var(--color-fluoro); color: var(--color-fluoro); }
.pb-fmt-color { display: inline-flex; align-items: center; }
.pb-fmt-color-input {
  width: 28px; height: 24px; padding: 0; border: 1px solid var(--color-border);
  border-radius: 5px; background: none; cursor: pointer;
}
.pb-fmt-size, .pb-fmt-font {
  background: var(--color-black-elevated); color: var(--color-text-primary);
  border: 1px solid var(--color-border); border-radius: 5px; font-size: 0.72rem;
  padding: 0.15rem 0.25rem; max-width: 72px;
}
.pb-fmt-sep { width: 1px; height: 18px; background: var(--color-border); margin: 0 0.15rem; }
.pb-rich-editor {
  min-height: 5rem; padding: 0.55rem 0.65rem; line-height: 1.45; font-size: 0.85rem;
  color: var(--color-text-primary); background: var(--color-black-elevated);
  border: 1px solid var(--color-border); border-radius: 0 0 8px 8px; outline: none;
}
.pb-rich-editor-inline {
  min-height: 2.35em !important; padding: 0.4rem 0.55rem; overflow: hidden;
}
.pb-rich-editor-inline:empty::before {
  content: attr(data-placeholder);
  color: var(--color-placeholder);
}
.pb-rich-editor:focus { border-color: var(--color-fluoro); box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.25); }
.pb-rich-editor p { margin: 0 0 0.45em; }
.pb-rich-editor ul, .pb-rich-editor ol { margin: 0.35em 0 0.35em 1.2em; padding: 0; }
.pb-wf-step .pb-rich-field { margin-top: 0.25rem; }
.pb-wf-step .pb-rich-editor { min-height: 3.5rem; font-size: 0.82rem; }

.pb-photo-slots { display: flex; flex-direction: column; gap: 0.55rem; margin: 0.5rem 0; }
.pb-photo-slot { border: 1px solid var(--color-border); border-radius: 8px; padding: 0.55rem; background: var(--color-black-elevated); }
.pb-photo-slot-head { display: flex; justify-content: space-between; align-items: center; font-size: 0.74rem; font-weight: 600; color: var(--color-placeholder); margin-bottom: 0.35rem; }
.pb-photo-preview { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.45rem; }
.pb-photo-preview img { width: 88px; height: 66px; object-fit: cover; border-radius: 6px; border: 1px solid var(--color-border); background: #fff; }
.pb-photo-empty { font-size: 0.78rem; color: var(--color-placeholder); }
.pb-photo-upload-btn { cursor: pointer; }

.pb-inline-images { margin-top: 0.75rem; padding-top: 0.65rem; border-top: 1px dashed var(--color-border); }
.pb-inline-images-hint { margin: 0 0 0.45rem; font-size: 0.76rem; }
.pb-inline-images-list { margin-bottom: 0.45rem; }
.pb-img-height-field { margin: 0.35rem 0 0.5rem; }
.pb-img-height-row { display: flex; align-items: center; gap: 0.65rem; }
.pb-img-height-row input[type="range"] { flex: 1; min-width: 0; }
.pb-img-max-height-val { font-size: 0.76rem; color: var(--color-placeholder); white-space: nowrap; min-width: 6.5rem; }

.pb-pricing-table-section { margin-top: 0.75rem; }
.pb-pricing-table-actions { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 0.55rem; }
.pb-pricing-table-scroll { overflow-x: auto; margin-top: 0.35rem; border: 1px solid var(--color-border); border-radius: 8px; }
.pb-pricing-table { width: 100%; border-collapse: collapse; min-width: 520px; font-size: 0.82rem; }
.pb-pricing-table th,
.pb-pricing-table td { border: 1px solid var(--color-border); vertical-align: top; padding: 0.45rem; background: var(--color-black-elevated); }
.pb-pricing-table-corner { width: 140px; min-width: 120px; background: var(--color-black-surface); }
.pb-pricing-table-row-label { width: 140px; min-width: 120px; background: var(--color-black-surface); font-weight: 600; }
.pb-pricing-table-col { min-width: 160px; }
.pb-pricing-col-head { display: flex; align-items: center; justify-content: space-between; gap: 0.35rem; margin-bottom: 0.35rem; }
.pb-pricing-col-num { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-placeholder); }
.pb-pricing-table-price-row th,
.pb-pricing-table-price-row td { background: var(--color-black); }
.pb-pricing-table-notes-row th,
.pb-pricing-table-notes-row td { background: var(--color-black-surface); }
.pb-pricing-cell-editor { min-height: 2.2rem !important; font-size: 0.82rem; }
.pb-pricing-table .pb-rich-field { margin-bottom: 0.35rem; }
.pb-pricing-table .pb-rich-field > span { font-size: 0.7rem; color: var(--color-placeholder); }

.cp-logo-row { display: flex; align-items: center; gap: 0.75rem; }
.cp-logo-preview {
  width: 120px; height: 56px; border: 1px dashed var(--color-border); border-radius: 8px;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
  background: var(--color-black-surface); flex-shrink: 0;
}
.cp-logo-preview img { max-width: 100%; max-height: 100%; object-fit: contain; }
.cp-logo-empty { font-size: 0.78rem; color: var(--color-placeholder); }
.cp-logo-actions { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.cp-logo-actions label { cursor: pointer; }

.branding-favicon-row { display: flex; align-items: center; gap: 1.25rem; margin-top: 1.5rem; }
.branding-favicon-preview {
  width: 72px; height: 72px; border: 1px dashed var(--color-border); border-radius: 12px;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
  background: var(--color-black-surface); flex-shrink: 0;
}
.branding-favicon-preview img { max-width: 70%; max-height: 70%; object-fit: contain; }
.branding-favicon-actions { display: flex; flex-direction: column; gap: 0.5rem; align-items: flex-start; }
.branding-favicon-actions label { cursor: pointer; }

@media (max-width: 880px) {
  .proposal-builder-view { height: auto; }
  .proposal-builder-body { flex-direction: column; }
  .proposal-panel { width: auto; max-height: none; }
  .proposal-preview { min-height: 70vh; }
}

/* Team reports */
.team-report-stats { margin-bottom: 1.25rem; }
.team-report-overdue { color: #f87171; font-weight: 600; }

/* Follow-up dialer */
.follow-up-dialer-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.follow-up-dialer-filter {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.92rem;
  color: var(--white-70);
  cursor: pointer;
}
.follow-up-dialer-queue {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.follow-up-dialer-card {
  border: 1px solid var(--color-border);
  border-radius: 12px;
  padding: 1rem 1.1rem;
  background: var(--color-black-elevated);
}
.follow-up-dialer-card-overdue { border-color: rgba(248, 113, 113, 0.45); }
.follow-up-dialer-card-due_today { border-color: rgba(250, 204, 21, 0.35); }
.follow-up-dialer-card-head {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}
.follow-up-dialer-index {
  min-width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  background: var(--color-black-surface);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.85rem;
}
.follow-up-dialer-college {
  font-weight: 700;
  color: var(--color-fluoro);
  text-decoration: none;
}
.follow-up-dialer-college:hover { text-decoration: underline; }
.follow-up-dialer-task {
  margin: 0.2rem 0 0;
  color: var(--white-70);
  font-size: 0.92rem;
}
.follow-up-dialer-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  margin: 0.75rem 0;
}
.follow-up-dialer-due { font-size: 0.88rem; color: var(--white-60); }
.follow-up-dialer-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
}
.follow-up-dialer-call-btn {
  min-width: 8rem;
  text-align: center;
}
.follow-up-dialer-phone-meta {
  font-size: 0.85rem;
  color: var(--white-60);
}
.follow-up-dialer-no-phone {
  font-size: 0.88rem;
  color: var(--white-50);
  font-style: italic;
}
@media (max-width: 640px) {
  .follow-up-dialer-card-actions { flex-direction: column; align-items: stretch; }
  .follow-up-dialer-call-btn { width: 100%; }
}

/* Home lead dialer */
.home-dialer-section { margin-bottom: 2rem; }
.home-dialer-header {
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem;
}
.home-dialer-sub { margin: 0.35rem 0 0; max-width: 36rem; }
.home-dialer-filter-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
}
.home-dialer-filter-label { font-size: 0.85rem; color: var(--white-60); }
.home-dialer-stage-select,
.home-dialer-user-select { min-width: 12rem; }
.home-dialer-filter-status {
  font-size: 0.82rem;
  color: var(--color-fluoro);
}
.home-dialer-card {
  border: 1px solid var(--color-border);
  border-radius: 14px;
  background: var(--color-black-elevated);
  overflow: hidden;
}
.home-dialer-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem 1rem;
  border-bottom: 1px solid var(--color-border);
  background: var(--color-black-surface);
}
.home-dialer-nav-btn {
  min-width: 2.75rem;
  font-size: 1.25rem;
  line-height: 1;
  padding: 0.35rem 0.75rem;
}
.home-dialer-nav-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}
.home-dialer-counter { font-weight: 600; font-size: 0.95rem; }
.home-dialer-filter-tag {
  font-size: 0.75rem;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  background: rgba(57, 255, 20, 0.12);
  color: var(--color-fluoro);
}
.home-dialer-body { padding: 1.1rem 1.25rem 1.25rem; }
.home-dialer-lead-head { margin-bottom: 1rem; }
.home-dialer-lead-name {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--color-fluoro);
  text-decoration: none;
}
.home-dialer-lead-name:hover { text-decoration: underline; }
.home-dialer-location { margin: 0.35rem 0 0; color: var(--white-60); font-size: 0.92rem; }
.home-dialer-activity {
  padding: 0.85rem 1rem;
  border-radius: 10px;
  border: 1px solid var(--color-border);
  background: var(--color-black-surface);
  margin-bottom: 1rem;
}
.home-dialer-activity-empty { border-style: dashed; }
.home-dialer-activity-badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.15rem 0.5rem;
  border-radius: 6px;
  background: rgba(96, 165, 250, 0.15);
  color: #93c5fd;
  margin-bottom: 0.4rem;
}
.home-dialer-activity-summary {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.45;
}
.home-dialer-activity-meta {
  margin: 0.35rem 0 0;
  font-size: 0.82rem;
  color: var(--white-50);
}
.home-dialer-phones-title {
  margin: 0 0 0.65rem;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--white-70);
}
.home-dialer-phone-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--color-border);
}
.home-dialer-phone-row:last-child { border-bottom: none; }
.home-dialer-phone-info {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}
.home-dialer-phone-label { font-size: 0.78rem; color: var(--white-50); text-transform: uppercase; letter-spacing: 0.03em; }
.home-dialer-phone-name { font-weight: 600; }
.home-dialer-phone-num { font-size: 0.9rem; color: var(--white-70); }
.home-dialer-call-btn { flex-shrink: 0; min-width: 5rem; }
.home-dialer-foot {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--color-border);
}
@media (max-width: 640px) {
  .home-dialer-filter-row { width: 100%; }
  .home-dialer-stage-select { flex: 1; min-width: 0; }
  .home-dialer-phone-row { flex-direction: column; align-items: stretch; }
  .home-dialer-call-btn { width: 100%; text-align: center; }
}

/* ---------------------------------------------------------------------- */
/* Training page — Video Maker entry point                                */
/* ---------------------------------------------------------------------- */
.training-hero-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.training-video-maker-link { flex-shrink: 0; white-space: nowrap; }
.training-hero-actions { display: flex; gap: 0.6rem; flex-wrap: wrap; flex-shrink: 0; }

/* ---------------------------------------------------------------------- */
/* Video Maker — list page                                                */
/* ---------------------------------------------------------------------- */
.tv-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
}
.tv-card {
  position: relative;
  background: var(--color-black-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  overflow: hidden;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.tv-card:hover { border-color: var(--color-fluoro-dim); }
.tv-card-thumb {
  display: block;
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--color-black-elevated);
}
.tv-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tv-card-thumb-empty {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-size: 2rem; opacity: 0.4;
}
.tv-card-duration, .tv-card-badge {
  position: absolute; right: 0.5rem; bottom: 0.5rem;
  background: rgba(0,0,0,0.72);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.15rem 0.45rem;
  border-radius: 6px;
}
.tv-card-badge { background: var(--color-amber); color: #1a1200; }
.tv-card-body { padding: 0.75rem 0.85rem 0.5rem; }
.tv-card-title {
  display: block;
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--color-text-primary);
  text-decoration: none;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.tv-card-title:hover { color: var(--color-fluoro); }
.tv-card-meta { font-size: 0.76rem; color: var(--white-60); margin-top: 0.2rem; }
.tv-card-sync-row { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.5rem; flex-wrap: wrap; }
.tv-card-sync { font-size: 0.76rem; padding: 0.25rem 0.6rem; }
.tv-card-sync-status { font-size: 0.74rem; color: var(--white-60); }
.tv-card-sync-status.tv-card-sync-ok { color: var(--color-fluoro); }
.tv-card-sync-status.tv-card-sync-error { color: #f87171; }
.tv-card-delete {
  position: absolute; top: 0.5rem; right: 0.5rem;
  opacity: 0; transition: opacity 0.15s ease;
  background: rgba(0,0,0,0.6);
}
.tv-card:hover .tv-card-delete { opacity: 1; }

/* ---------------------------------------------------------------------- */
/* Video Maker — editor                                                   */
/* ---------------------------------------------------------------------- */
.tv-title-input {
  font-size: 1.4rem;
  font-weight: 700;
  font-family: var(--font-display);
  background: transparent;
  border: none;
  border-bottom: 1px solid transparent;
  color: var(--color-text-primary);
  padding: 0.15rem 0;
  min-width: 260px;
}
.tv-title-input:hover, .tv-title-input:focus {
  border-bottom-color: var(--color-border);
  outline: none;
}
.tv-status { font-size: 0.82rem; color: var(--white-60); margin-right: 0.25rem; }
.tv-status-ok { color: var(--color-fluoro); }
.tv-status-error { color: #f87171; }

.tv-editor-grid {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 1.25rem;
  align-items: start;
}
@media (max-width: 900px) {
  .tv-editor-grid { grid-template-columns: 1fr; }
}

.tv-slide-rail {
  background: var(--color-black-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  padding: 0.85rem;
  position: sticky;
  top: 1rem;
}
.tv-add-row { margin-bottom: 0.75rem; }
.tv-add-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--white-60);
  margin-bottom: 0.4rem;
}
.tv-add-buttons { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.tv-slide-list { display: flex; flex-direction: column; gap: 0.4rem; }
.tv-slide-item {
  display: flex; align-items: center; justify-content: space-between;
  gap: 0.5rem;
  padding: 0.5rem 0.6rem;
  border-radius: 8px;
  border: 1px solid var(--color-border);
  cursor: pointer;
}
.tv-slide-item:hover { border-color: var(--color-fluoro-dim); }
.tv-slide-item.active { border-color: var(--color-fluoro); background: var(--color-fluoro-bg-5); }
.tv-slide-item-main { display: flex; align-items: center; gap: 0.6rem; min-width: 0; flex: 1; }
.tv-slide-item-num {
  flex-shrink: 0;
  width: 1.5rem; height: 1.5rem;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--color-black-elevated);
  font-size: 0.75rem; font-weight: 700;
}
.tv-slide-item-layout { font-size: 0.68rem; color: var(--white-60); text-transform: uppercase; letter-spacing: 0.03em; }
.tv-slide-item-title { font-size: 0.84rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tv-slide-item-actions { display: flex; gap: 0.15rem; flex-shrink: 0; }
.tv-slide-btn {
  width: 1.5rem; height: 1.5rem;
  border: none; background: transparent; color: var(--white-60);
  border-radius: 5px; cursor: pointer; font-size: 0.75rem;
}
.tv-slide-btn:hover { background: var(--color-black-elevated); color: var(--color-text-primary); }
.tv-slide-btn-danger:hover { color: #f87171; }

.tv-main { min-width: 0; }
.tv-preview-wrap {
  width: 100%;
  background: #000;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--color-border);
}
#tv-canvas { width: 100%; height: auto; aspect-ratio: 16 / 9; display: block; }

.tv-fields {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.75rem 1rem;
}

.tv-narration-block {
  margin-top: 1.25rem;
  padding: 0.85rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-black-surface);
}
.tv-narration-block label { font-size: 0.8rem; font-weight: 600; color: var(--white-70); }
.tv-narration-block textarea { width: 100%; margin-top: 0.35rem; }
.tv-narration-actions { display: flex; align-items: center; gap: 0.6rem; margin-top: 0.5rem; }
.tv-narration-status { font-size: 0.78rem; color: var(--white-60); }

.tv-record-panel {
  margin-top: 1.25rem;
  padding: 1rem;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  background: var(--color-black-surface);
}
.tv-record-progress { font-size: 0.85rem; color: var(--white-70); margin-bottom: 0.5rem; }
#tv-record-preview:not([hidden]) { width: 100%; max-width: 640px; border-radius: 8px; display: block; margin-bottom: 0.75rem; }
.tv-record-actions:not([hidden]) { display: flex; gap: 0.6rem; flex-wrap: wrap; }

.tv-saved-video-panel {
  margin-top: 1.25rem;
  padding: 1rem;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  background: var(--color-black-surface);
}
.tv-saved-video-panel video { width: 100%; max-width: 640px; border-radius: 8px; display: block; margin-bottom: 0.75rem; background: #000; }

/* ---------------------------------------------------------------------- */
/* Training — Script Generator                                            */
/* ---------------------------------------------------------------------- */
.tsg-view { max-width: 900px; }
.tsg-section {
  margin-top: 1.5rem;
  padding: 1.25rem;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  background: var(--color-black-surface);
}
.tsg-section-title { font-size: 1rem; font-weight: 700; color: var(--color-text-primary); margin: 0 0 0.25rem; }
.tsg-section-desc { font-size: 0.82rem; color: var(--white-60); margin: 0 0 1rem; max-width: 62ch; }
.tsg-source-row { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.6rem; flex-wrap: wrap; }
.tsg-source-row input[type="file"] { font-size: 0.8rem; max-width: 260px; }
#tsg-source { width: 100%; min-height: 220px; font-family: inherit; }
.tsg-notes-row { margin-top: 0.75rem; }
.tsg-notes-row input[type="text"] { width: 100%; }
.tsg-actions-row { display: flex; align-items: center; gap: 0.75rem; margin-top: 1rem; flex-wrap: wrap; }

.tsg-plan-list { display: flex; flex-direction: column; gap: 0.6rem; }
.tsg-plan-item {
  padding: 0.8rem 0.9rem;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--white-02, rgba(255,255,255,0.02));
}
.tsg-plan-main { flex: 1; min-width: 0; }
.tsg-plan-head { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 0.3rem; }
.tsg-plan-actions { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; margin-top: 0.5rem; }
.tsg-plan-title-input {
  flex: 1;
  min-width: 180px;
  font-size: 0.92rem;
  font-weight: 600;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 0.25rem 0.4rem;
  color: var(--color-text-primary);
}
.tsg-plan-title-input:hover, .tsg-plan-title-input:focus { border-color: var(--color-border); background: var(--color-black-surface); }
.tsg-plan-summary { font-size: 0.8rem; color: var(--white-60); margin: 0 0 0.4rem; }
.tsg-plan-status { font-size: 0.78rem; color: var(--white-60); display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.tsg-plan-status.tsg-status-ok { color: var(--color-fluoro); }
.tsg-plan-status.tsg-status-error { color: #f87171; }
.tsg-plan-status a { color: inherit; text-decoration: underline; }
.tsg-danger { color: #f87171; }
.tsg-danger:hover { border-color: rgba(239, 68, 68, 0.4); background: rgba(239, 68, 68, 0.08); }

.tsg-render-preview {
  margin-top: 1.25rem;
  padding: 1rem;
  border: 1px solid var(--color-fluoro-dim);
  border-radius: 12px;
  background: var(--color-black-surface);
}
.tsg-render-preview-label { font-size: 0.82rem; font-weight: 600; color: var(--white-70); margin-bottom: 0.6rem; }
.tsg-render-preview #tsg-canvas { width: 100%; max-width: 480px; aspect-ratio: 16 / 9; border-radius: 8px; display: block; }

.tsg-stage-badge {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  color: var(--white-60);
  flex-shrink: 0;
}
.tsg-stage-foundation, .tsg-stage-problem { color: var(--color-amber); border-color: rgba(245, 158, 11, 0.35); }
.tsg-stage-product-intro, .tsg-stage-vision { color: var(--color-fluoro); border-color: var(--color-fluoro-dim); }
.tsg-stage-feature { color: #ec4899; border-color: rgba(236, 72, 153, 0.35); }
.tsg-stage-cta { color: #a78bfa; border-color: rgba(167, 139, 250, 0.35); }

.tsg-progress-line { font-size: 0.82rem; color: var(--white-60); margin-top: 0.9rem; }

/* ---------------------------------------------------------------------- */
/* Training — Sales Training Course (learner-facing)                      */
/* ---------------------------------------------------------------------- */
.tc-view, .tc-watch-view { max-width: 900px; }

.tc-hero:not([hidden]) {
  display: flex; flex-direction: column; gap: 0.9rem;
  padding: 1.25rem 1.4rem; margin-bottom: 1.25rem;
  border: 1px solid var(--color-fluoro-dim); border-radius: 12px;
  background: linear-gradient(135deg, var(--color-fluoro-bg-10), var(--color-black-surface));
}
.tc-hero-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.tc-hero-title { font-size: 1.15rem; font-weight: 700; color: var(--color-text-primary); }
.tc-hero-stats { font-size: 0.85rem; color: var(--white-70); }
.tc-hero-elapsed { font-weight: 700; color: var(--color-fluoro); font-variant-numeric: tabular-nums; }
.tc-hero-action #tc-start-btn { min-width: 160px; }
.tc-hero-done { font-size: 0.95rem; font-weight: 700; color: var(--color-fluoro); }

.tc-elapsed-badge:not([hidden]) {
  display: inline-block; font-size: 0.8rem; color: var(--white-60);
  font-variant-numeric: tabular-nums; white-space: nowrap; flex-shrink: 0;
  padding-top: 0.3rem;
}

.tc-progress-wrap { margin: 1rem 0 1.5rem; }
.tc-progress-bar { height: 8px; border-radius: 999px; background: var(--color-border); overflow: hidden; }
.tc-progress-fill { height: 100%; background: var(--color-fluoro); transition: width 0.3s ease; }
.tc-progress-label { font-size: 0.8rem; color: var(--white-60); margin-top: 0.4rem; }

.tc-certificate-banner:not([hidden]) {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 1rem 1.25rem; border: 1px solid var(--color-fluoro-dim); border-radius: 12px;
  background: var(--color-fluoro-bg-5); margin-bottom: 1.5rem; flex-wrap: wrap;
}

.tc-video-list { display: flex; flex-direction: column; gap: 0.6rem; }
.tc-video-row {
  display: flex; align-items: center; gap: 1rem; padding: 0.9rem 1rem;
  border: 1px solid var(--color-border); border-radius: 10px;
  background: var(--white-02, rgba(255,255,255,0.02)); text-decoration: none; color: inherit;
}
a.tc-video-row:hover { border-color: var(--color-fluoro-dim); }
.tc-video-row.tc-locked { opacity: 0.5; }
.tc-video-row.tc-passed { border-color: var(--color-fluoro-dim); }
.tc-video-num {
  width: 28px; height: 28px; border-radius: 50%; background: var(--color-border);
  display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700; flex-shrink: 0;
}
.tc-video-main { flex: 1; min-width: 0; }
.tc-video-title { font-weight: 600; color: var(--color-text-primary); margin-bottom: 0.25rem; }
.tc-video-meta { display: flex; align-items: center; gap: 0.6rem; font-size: 0.78rem; color: var(--white-60); }
.tc-status { font-size: 0.8rem; color: var(--white-60); white-space: nowrap; flex-shrink: 0; }
.tc-status-passed { color: var(--color-fluoro); font-weight: 600; }
.tc-status-locked { color: var(--color-placeholder); }

.tc-watch-video-wrap { margin: 1rem 0 1.5rem; }
.tc-watch-video-wrap video { width: 100%; max-width: 100%; border-radius: 12px; display: block; background: #000; }

.tc-quiz-section { padding: 1.25rem; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-black-surface); }
.tc-question { margin-bottom: 1.25rem; }
.tc-question-text { font-weight: 600; margin-bottom: 0.6rem; color: var(--color-text-primary); }
.tc-options { display: flex; flex-direction: column; gap: 0.4rem; }
.tc-option { display: flex; align-items: flex-start; gap: 0.6rem; padding: 0.6rem 0.7rem; border: 1px solid var(--color-border); border-radius: 8px; cursor: pointer; font-size: 0.9rem; line-height: 1.4; }
.tc-option:hover { border-color: var(--color-fluoro-dim); }
.tc-option input[type="radio"] {
  /* Global `input { width: 100% }` (for text fields elsewhere) also matches
     this radio — without an override it stretches to fill the row, leaving
     nothing for .tc-option-text next to it. */
  width: auto; flex: 0 0 auto; flex-shrink: 0; margin: 0.15rem 0 0; padding: 0; border: none; background: none;
}
.tc-option-text { flex: 1; min-width: 0; }

.tc-result { padding: 0.9rem 1rem; border-radius: 10px; margin: 1rem 0; font-size: 0.95rem; }
.tc-result-pass { background: var(--color-fluoro-bg-10); border: 1px solid var(--color-fluoro-dim); color: var(--color-text-primary); }
.tc-result-fail { background: rgba(239, 68, 68, 0.08); border: 1px solid rgba(239, 68, 68, 0.3); color: var(--color-text-primary); }
.tc-review { display: flex; flex-direction: column; gap: 0.6rem; margin-bottom: 1rem; }
.tc-review-item { padding: 0.7rem 0.9rem; border-radius: 8px; border: 1px solid var(--color-border); font-size: 0.85rem; }
.tc-review-item.bad { border-color: rgba(239, 68, 68, 0.3); background: rgba(239, 68, 68, 0.05); }
.tc-review-item.ok { border-color: var(--color-fluoro-dim); background: var(--color-fluoro-bg-5); }
.tc-review-q { font-weight: 600; margin-bottom: 0.3rem; }
.tc-review-answer { color: var(--white-70); }
.tc-review-explain { color: var(--white-60); font-size: 0.8rem; margin-top: 0.2rem; font-style: italic; }
.tc-course-complete { margin-top: 1rem; }

/* ---------------------------------------------------------------------- */
/* Training — Course Builder (admin)                                      */
/* ---------------------------------------------------------------------- */
.tcb-view { max-width: 900px; }
.tcb-list { display: flex; flex-direction: column; gap: 0.6rem; }
.tcb-row {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  padding: 0.8rem 0.9rem; border: 1px solid var(--color-border); border-radius: 10px;
  background: var(--white-02, rgba(255,255,255,0.02));
}
.tcb-row-main { display: flex; align-items: center; gap: 0.8rem; flex: 1; min-width: 200px; }
.tcb-row-body { flex: 1; min-width: 0; }
.tcb-row-head { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.2rem; flex-wrap: wrap; }
.tcb-row-title { font-weight: 600; color: var(--color-text-primary); }
.tcb-row-actions { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; }
.tcb-quiz-panel { flex-basis: 100%; margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px solid var(--color-border); }

/* ---------------------------------------------------------------------- */
/* Settings — API Keys (Gemini + ElevenLabs)                              */
/* ---------------------------------------------------------------------- */
.api-key-block {
  max-width: 560px;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-border);
}
.api-key-block:first-of-type { margin-top: 1.5rem; border-top: none; padding-top: 0; }
.api-key-block-title { font-size: 1.1rem; margin: 0 0 0.35rem; }
.api-key-block-desc { margin: 0 0 1rem; }
