.admin-page .admin-shell {
  width: min(1200px, 100%);
  margin: 0 auto;
  padding: 28px 20px 48px;
}

/* —— AI Quote bot: slides in from the right edge of Admin —— */
.admin-quote-bot {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 12000;
  width: 0;
  pointer-events: none;
}

.admin-quote-bot__fab,
.admin-quote-bot__panel {
  pointer-events: auto;
}

.admin-quote-bot__fab {
  position: fixed;
  top: max(12px, env(safe-area-inset-top, 0px));
  right: max(12px, env(safe-area-inset-right, 0px));
  z-index: 12002;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px 8px 8px;
  border-radius: 999px;
  border: 1.5px solid rgba(0, 200, 83, 0.45);
  background: linear-gradient(180deg, #0f2e1c 0%, #111 100%);
  color: #fff;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
  transition: transform 0.2s ease, box-shadow 0.15s ease, background 0.15s ease, right 0.28s ease;
}

.admin-quote-bot__fab:hover {
  transform: translateY(-1px);
  background: linear-gradient(180deg, #00a844 0%, #0f2e1c 100%);
  box-shadow: 0 12px 32px rgba(0, 200, 83, 0.28);
}

.admin-quote-bot__fab:focus-visible {
  outline: 2px solid #00c853;
  outline-offset: 3px;
}

.admin-quote-bot__fab-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: contain;
  background: #fff;
  border: 2px solid rgba(0, 200, 83, 0.55);
}

.admin-quote-bot.is-open .admin-quote-bot__fab {
  border-color: rgba(0, 200, 83, 0.85);
  background: #00c853;
  color: #0a0a0a;
  /* Sit just left of the open drawer */
  right: max(12px, calc(var(--admin-quote-width, 712px) + 16px));
}

.admin-quote-bot__panel {
  --admin-quote-width: min(calc(520px + 2in), calc(100vw - 48px));
  --admin-quote-slide: 0px;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: var(--admin-quote-width);
  max-width: calc(100vw - 12px);
  height: 100vh;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  border-radius: 18px 0 0 18px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(15, 46, 28, 0.12);
  border-right: 0;
  box-shadow: -18px 0 48px rgba(0, 0, 0, 0.22);
  /* Closed: fully off-screen to the right */
  transform: translateX(104%);
  transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), width 0.15s ease;
  will-change: transform;
}

/* Open: docked to right, plus optional peek offset (drag header right) */
.admin-quote-bot.is-open .admin-quote-bot__panel {
  transform: translateX(var(--admin-quote-slide, 0px));
}

.admin-quote-bot.is-sliding .admin-quote-bot__panel,
.admin-quote-bot.is-resizing .admin-quote-bot__panel {
  transition: none;
  user-select: none;
}

/* Dim page slightly while drawer is open */
body.admin-quote-bot-open::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 11990;
  background: rgba(10, 18, 32, 0.28);
  pointer-events: auto;
  animation: admin-quote-scrim-in 0.28s ease;
}

@keyframes admin-quote-scrim-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Left-edge drag handle — pull to resize / slide width */
.admin-quote-bot__resize {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 10px;
  z-index: 5;
  cursor: ew-resize;
  touch-action: none;
  background: linear-gradient(90deg, rgba(0, 200, 83, 0.18), transparent 70%);
}

.admin-quote-bot__resize::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 3px;
  width: 3px;
  height: 48px;
  margin-top: -24px;
  border-radius: 99px;
  background: rgba(15, 46, 28, 0.28);
}

.admin-quote-bot__resize:hover,
.admin-quote-bot.is-resizing .admin-quote-bot__resize {
  background: linear-gradient(90deg, rgba(0, 200, 83, 0.35), transparent 80%);
}

.admin-quote-bot.is-resizing {
  cursor: ew-resize;
}

.admin-quote-bot.is-sliding {
  cursor: grabbing;
}

.admin-quote-bot__panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px 10px 16px;
  background: linear-gradient(180deg, rgba(0, 200, 83, 0.12) 0%, #fff 100%);
  border-bottom: 1px solid rgba(15, 46, 28, 0.1);
  flex-shrink: 0;
  cursor: grab;
  touch-action: none;
  user-select: none;
}

.admin-quote-bot__panel-head:active,
.admin-quote-bot.is-sliding .admin-quote-bot__panel-head {
  cursor: grabbing;
}

.admin-quote-bot__panel-title {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.admin-quote-bot__panel-title img {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: contain;
  background: #fff;
  border: 1px solid rgba(0, 200, 83, 0.35);
  flex-shrink: 0;
}

.admin-quote-bot__panel-title strong {
  display: block;
  font-size: 0.92rem;
  color: #0f2e1c;
  line-height: 1.2;
}

.admin-quote-bot__panel-title span {
  display: block;
  font-size: 0.72rem;
  color: #4b5563;
  font-weight: 500;
  line-height: 1.25;
}

.admin-quote-bot__panel-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.admin-quote-bot__open-full {
  font-size: 0.75rem;
  font-weight: 700;
  color: #00a844;
  text-decoration: none;
  white-space: nowrap;
}

.admin-quote-bot__open-full:hover {
  text-decoration: underline;
}

.admin-quote-bot__dock,
.admin-quote-bot__close {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 10px;
  background: rgba(15, 46, 28, 0.06);
  color: #111;
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.admin-quote-bot__dock:hover,
.admin-quote-bot__close:hover {
  background: rgba(15, 46, 28, 0.12);
}

.admin-quote-bot__close {
  font-size: 1.35rem;
}

.admin-quote-bot__frame-wrap {
  flex: 1 1 auto;
  min-height: 0;
  background: #f7f8fa;
  overflow: hidden;
}

.admin-quote-bot__frame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
}

/* Give the header room so the fixed fab doesn't cover the title */
.admin-page .admin-qa-header {
  padding-right: max(9.5rem, calc(env(safe-area-inset-right, 0px) + 9.5rem));
}

@media (max-width: 720px) {
  .admin-quote-bot.is-open .admin-quote-bot__fab {
    right: max(12px, env(safe-area-inset-right, 0px));
    top: auto;
    bottom: max(12px, env(safe-area-inset-bottom, 0px));
  }

  .admin-quote-bot__panel {
    width: min(100vw, 100%);
    max-width: 100vw;
    border-radius: 0;
  }

  .admin-page .admin-qa-header {
    padding-right: max(7.5rem, calc(env(safe-area-inset-right, 0px) + 7.5rem));
  }
}

@media (max-width: 420px) {
  .admin-quote-bot__fab-label {
    display: none;
  }

  .admin-quote-bot__fab {
    padding: 8px;
  }

  .admin-quote-bot__open-full {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-quote-bot__panel,
  .admin-quote-bot__fab {
    transition: none;
  }
}

.admin-header__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  max-width: min(920px, 72vw);
}

.admin-header__signout {
  padding: 10px 16px;
  border: 1px solid var(--gray-200);
  border-radius: 999px;
  background: var(--white);
  font-weight: 600;
  cursor: pointer;
}

.admin-login__hint {
  margin-top: 14px;
  font-size: 0.84rem;
  color: var(--gray-500);
}

.admin-login__hint code {
  font-size: 0.82rem;
  color: var(--gray-700);
}

/* Locked: only the sign-in card is visible until 2FA succeeds */
.admin-page--locked .admin-layout,
.admin-page--locked #admin-header-actions {
  display: none !important;
}

.admin-page--locked .admin-qa-header__title {
  font-size: 1.05rem;
}

.admin-login-card {
  max-width: 420px;
  margin: 0 auto;
}

.admin-login__lead {
  margin: 0 0 18px;
  color: var(--gray-600);
  font-size: 0.95rem;
}

.admin-2fa-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  justify-content: space-between;
  align-items: center;
}

#admin-2fa-code {
  letter-spacing: 0.28em;
  font-size: 1.15rem;
  font-weight: 600;
  text-align: center;
}

.admin-layout {
  display: grid;
  grid-template-columns: minmax(180px, 220px) 1fr;
  gap: 20px;
  align-items: start;
}

.admin-nav {
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: sticky;
  top: 18px;
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  padding-right: 4px;
  overscroll-behavior: contain;
}

.admin-nav__item {
  text-align: left;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid var(--gray-200);
  background: var(--white);
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--gray-700);
  cursor: pointer;
  display: block;
  width: 100%;
  flex-shrink: 0;
}

/* Never leave nav/header tabs stuck invisible after role/login transitions */
.admin-page--unlocked .admin-nav__item:not([hidden]),
.admin-page--unlocked #admin-header-actions .btn:not([hidden]) {
  visibility: visible;
}

.admin-nav__item.is-active {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}

.admin-nav__item--smartchoice {
  border-color: rgba(0, 200, 83, 0.45);
  background: rgba(0, 200, 83, 0.1);
  color: #0f2e1c;
  font-weight: 700;
}

.admin-nav__item--smartchoice.is-active {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}

.admin-nav__item--zoom {
  border-color: rgba(45, 140, 255, 0.45);
  background: rgba(45, 140, 255, 0.1);
  color: #0b3a6e;
  font-weight: 700;
}

.admin-nav__item--zoom.is-active {
  background: #2d8cff;
  border-color: #2d8cff;
  color: #fff;
}

.admin-nav__item--grok {
  border-color: rgba(26, 26, 26, 0.45);
  background: rgba(26, 26, 26, 0.08);
  color: #1a1a1a;
  font-weight: 700;
}

.admin-nav__item--grok.is-active {
  background: #1a1a1a;
  border-color: #1a1a1a;
  color: #fff;
}

.admin-nav__item--facebook {
  border-color: rgba(24, 119, 242, 0.45);
  background: rgba(24, 119, 242, 0.1);
  color: #1877f2;
  font-weight: 700;
}

.admin-nav__item--facebook.is-active {
  background: #1877f2;
  border-color: #1877f2;
  color: #fff;
}

.admin-nav__item--ezlynx {
  border-color: rgba(232, 93, 4, 0.45);
  background: rgba(232, 93, 4, 0.1);
  color: #7a3200;
  font-weight: 700;
}

.admin-nav__item--ezlynx.is-active {
  background: #e85d04;
  border-color: #e85d04;
  color: #fff;
}

.admin-nav__item--bluevine {
  border-color: rgba(2, 5, 83, 0.35);
  background: rgba(2, 5, 83, 0.08);
  color: #020553;
  font-weight: 700;
}

.admin-nav__item--bluevine.is-active {
  background: #020553;
  border-color: #020553;
  color: #fff;
}

.admin-nav__item--zoho {
  border-color: rgba(228, 37, 39, 0.4);
  background: rgba(228, 37, 39, 0.08);
  color: #b91c1c;
  font-weight: 700;
}

.admin-nav__item--zoho.is-active {
  background: #e42527;
  border-color: #e42527;
  color: #fff;
}

.admin-nav__item--zapier {
  border-color: rgba(255, 74, 0, 0.4);
  background: rgba(255, 74, 0, 0.1);
  color: #c2410c;
  font-weight: 700;
}

.admin-nav__item--zapier.is-active {
  background: #ff4a00;
  border-color: #ff4a00;
  color: #fff;
}

.admin-nav__item--backnine {
  border-color: rgba(0, 102, 153, 0.4);
  background: rgba(0, 102, 153, 0.1);
  color: #036;
  font-weight: 700;
}

.admin-nav__item--backnine.is-active {
  background: #006699;
  border-color: #006699;
  color: #fff;
}

.admin-nav__item--ivans {
  border-color: rgba(0, 90, 140, 0.4);
  background: rgba(0, 90, 140, 0.1);
  color: #004a73;
  font-weight: 700;
}

.admin-nav__item--ivans.is-active {
  background: #005a8c;
  border-color: #005a8c;
  color: #fff;
}

.admin-nav__item--ergonext {
  border-color: rgba(3, 200, 255, 0.55);
  background: rgba(3, 200, 255, 0.12);
  color: #03489a;
  font-weight: 700;
}

.admin-nav__item--ergonext.is-active {
  background: #00a3e0;
  border-color: #00a3e0;
  color: #fff;
}

.admin-zoom-connect-card {
  border-color: rgba(45, 140, 255, 0.35);
  background: linear-gradient(135deg, rgba(45, 140, 255, 0.12) 0%, rgba(11, 31, 51, 0.06) 100%);
}

.admin-grok-connect-card {
  border-color: rgba(26, 26, 26, 0.28);
  background: linear-gradient(135deg, rgba(26, 26, 26, 0.1) 0%, rgba(11, 31, 51, 0.06) 100%);
}

.admin-facebook-connect-card {
  border-color: rgba(24, 119, 242, 0.35);
  background: linear-gradient(135deg, rgba(24, 119, 242, 0.12) 0%, rgba(11, 31, 51, 0.06) 100%);
}

.admin-ezlynx-connect-card {
  border-color: rgba(232, 93, 4, 0.35);
  background: linear-gradient(135deg, rgba(232, 93, 4, 0.12) 0%, rgba(11, 31, 51, 0.06) 100%);
}

.admin-bluevine-connect-card {
  border-color: rgba(2, 5, 83, 0.28);
  background: linear-gradient(135deg, rgba(2, 5, 83, 0.1) 0%, rgba(11, 31, 51, 0.06) 100%);
}

.admin-zoho-connect-card {
  border-color: rgba(228, 37, 39, 0.35);
  background: linear-gradient(135deg, rgba(228, 37, 39, 0.12) 0%, rgba(11, 31, 51, 0.06) 100%);
}

.admin-zapier-connect-card {
  border-color: rgba(255, 74, 0, 0.4);
  background: linear-gradient(135deg, rgba(255, 74, 0, 0.14) 0%, rgba(11, 31, 51, 0.06) 100%);
}

.admin-backnine-connect-card {
  border-color: rgba(0, 102, 153, 0.35);
  background: linear-gradient(135deg, rgba(0, 102, 153, 0.12) 0%, rgba(11, 31, 51, 0.06) 100%);
}

.admin-ivans-connect-card {
  border-color: rgba(0, 90, 140, 0.3);
  background: linear-gradient(135deg, rgba(0, 90, 140, 0.1) 0%, rgba(11, 31, 51, 0.06) 100%);
}

.admin-ergonext-connect-card {
  border-color: rgba(3, 200, 255, 0.45);
  background: linear-gradient(135deg, rgba(3, 200, 255, 0.14) 0%, rgba(21, 100, 236, 0.08) 100%);
}

.admin-zoom-signin__hero {
  background: linear-gradient(135deg, #0b3a6e 0%, #1a5bb5 55%, #0b1f33 100%) !important;
}

.admin-grok-signin__hero {
  /* Grok / xAI dark theme */
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 45%, #2a2a2a 100%) !important;
}

.admin-facebook-signin__hero {
  /* Facebook brand blue */
  background: linear-gradient(135deg, #0c3d8a 0%, #1877f2 55%, #0b1f33 100%) !important;
}

.admin-ezlynx-signin__hero {
  background: linear-gradient(135deg, #7a3200 0%, #e85d04 55%, #0b1f33 100%) !important;
}

.admin-bluevine-signin__hero {
  /* Matches Bluevine app theme-color #020553 */
  background: linear-gradient(135deg, #020553 0%, #0a0f6e 55%, #0b1f33 100%) !important;
}

.admin-zoho-signin__hero {
  /* Zoho brand red */
  background: linear-gradient(135deg, #8b1214 0%, #e42527 55%, #0b1f33 100%) !important;
}

.admin-zapier-signin__hero {
  /* Zapier brand orange */
  background: linear-gradient(135deg, #b45309 0%, #ff4a00 55%, #0b1f33 100%) !important;
}

.admin-backnine-signin__hero {
  background: linear-gradient(135deg, #003d5c 0%, #006699 55%, #0b1f33 100%) !important;
}

.admin-ivans-signin__hero {
  background: linear-gradient(135deg, #003d5c 0%, #005a8c 55%, #0b1f33 100%) !important;
}

.admin-ergonext-signin__hero {
  /* Next / ERGO NEXT theme-color #03c8ff / #00a3e0 */
  background: linear-gradient(135deg, #03489a 0%, #00a3e0 45%, #03c8ff 100%) !important;
}

.admin-zoom-signin__more {
  border-color: rgba(45, 140, 255, 0.28) !important;
  background: rgba(45, 140, 255, 0.08) !important;
}

.admin-zoom-phone-card {
  margin-top: 18px;
}

.admin-zoom-phone-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
  margin: 14px 0 12px;
}

.admin-zoom-phone-dial {
  flex: 1 1 200px;
  min-width: 180px;
  margin: 0;
}

.admin-zoom-phone-frame-wrap {
  margin-top: 12px;
  border: 1px solid rgba(45, 140, 255, 0.28);
  border-radius: 14px;
  overflow: hidden;
  background: #0b1f33;
  min-height: 580px;
}

.admin-zoom-phone-iframe {
  display: block;
  width: 100%;
  min-width: 350px;
  height: 620px;
  border: 0;
  background: #fff;
}

/* Hide floating Zoom Phone chrome on locked login screen if SDK injects early */
.admin-page--locked iframe#zoom-embeddable-phone-iframe,
.admin-page--locked [id*='zoom-phone'],
.admin-page--locked [class*='zoom-phone'] {
  visibility: hidden !important;
  pointer-events: none !important;
}

.admin-grok-signin__more {
  border-color: rgba(26, 26, 26, 0.22) !important;
  background: rgba(26, 26, 26, 0.07) !important;
}

.admin-facebook-signin__more {
  border-color: rgba(24, 119, 242, 0.28) !important;
  background: rgba(24, 119, 242, 0.08) !important;
}

.admin-ezlynx-signin__more {
  border-color: rgba(232, 93, 4, 0.28) !important;
  background: rgba(232, 93, 4, 0.08) !important;
}

.admin-bluevine-signin__more {
  border-color: rgba(2, 5, 83, 0.22) !important;
  background: rgba(2, 5, 83, 0.07) !important;
}

.admin-zoho-signin__more {
  border-color: rgba(228, 37, 39, 0.28) !important;
  background: rgba(228, 37, 39, 0.08) !important;
}

.admin-zapier-signin__more {
  border-color: rgba(255, 74, 0, 0.3) !important;
  background: rgba(255, 74, 0, 0.09) !important;
}

.admin-backnine-signin__more {
  border-color: rgba(0, 102, 153, 0.28) !important;
  background: rgba(0, 102, 153, 0.08) !important;
}

.admin-ivans-signin__more {
  border-color: rgba(0, 90, 140, 0.25) !important;
  background: rgba(0, 90, 140, 0.08) !important;
}

.admin-ergonext-signin__more {
  border-color: rgba(0, 163, 224, 0.3) !important;
  background: rgba(3, 200, 255, 0.1) !important;
}

.admin-ivans-mainnav {
  margin-top: 8px;
}

.admin-ivans-chart-list {
  margin: 0 0 14px;
  padding-left: 1.25rem;
  color: var(--gray-700);
  font-size: 0.9rem;
  line-height: 1.55;
}

.admin-ivans-chart-list li {
  margin-bottom: 4px;
}

.admin-ivans-lob-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px 16px;
  margin: 0 0 14px;
}

.admin-ivans-lob-grid strong {
  display: block;
  margin-bottom: 6px;
  font-size: 0.88rem;
  color: var(--gray-800);
}

.admin-ivans-lob-grid .admin-ivans-chart-list {
  margin-bottom: 0;
}

.admin-ivans-status-list code {
  display: inline-block;
  min-width: 1.5rem;
  font-weight: 700;
  color: #004a73;
}

.admin-sc-connect-card {
  display: grid;
  gap: 14px;
  margin: 0 0 20px;
  padding: 18px;
  border-radius: 14px;
  border: 1px solid rgba(0, 200, 83, 0.35);
  background: linear-gradient(135deg, rgba(0, 200, 83, 0.1) 0%, rgba(11, 31, 51, 0.06) 100%);
  box-shadow: var(--shadow-sm);
}

.admin-sc-connect-card h3 {
  margin: 0 0 6px;
  font-size: 1.15rem;
  color: var(--gray-800);
}

.admin-sc-connect-card p {
  margin: 0 0 4px;
  color: var(--gray-700);
  line-height: 1.45;
}

.admin-sc-connect-card__hint {
  font-size: 0.9rem;
  color: var(--gray-600);
}

.admin-sc-connect-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-sc-signin {
  display: grid;
  gap: 18px;
  max-width: 720px;
}

.admin-sc-signin__hero {
  padding: 22px 24px;
  border-radius: 14px;
  background: linear-gradient(135deg, #0b1f33 0%, #12324f 55%, #0f2e1c 100%);
  color: #f5f7fa;
}

.admin-sc-signin__eyebrow {
  margin: 0 0 8px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
}

.admin-sc-signin__hero h2 {
  margin: 0 0 10px;
  font-family: var(--font-serif);
  font-size: clamp(1.4rem, 2.5vw, 1.85rem);
  color: #fff;
}

.admin-sc-signin__lead {
  margin: 0;
  max-width: 48ch;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.86);
}

.admin-sc-signin__card {
  padding: 20px;
  border-radius: 14px;
  border: 1px solid var(--gray-200);
  background: var(--white);
  box-shadow: var(--shadow-sm);
}

.admin-sc-signin__card h3 {
  margin: 0 0 8px;
  font-size: 1.15rem;
  color: var(--gray-800);
}

.admin-sc-signin__card > p {
  margin: 0 0 14px;
  color: var(--gray-600);
  line-height: 1.5;
}

.admin-sc-signin__steps {
  margin: 0 0 18px;
  padding-left: 1.25rem;
  color: var(--gray-700);
  line-height: 1.55;
}

.admin-sc-signin__steps li {
  margin-bottom: 6px;
}

.admin-sc-signin__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
}

.admin-sc-signin__url {
  margin: 0;
  font-size: 0.86rem;
  color: var(--gray-600);
  word-break: break-all;
}

.admin-sc-signin__hint {
  margin: 0 0 12px;
  font-size: 0.88rem;
  color: var(--gray-600);
  line-height: 1.45;
}

.admin-session-badge {
  display: inline-flex;
  align-items: center;
  margin: 0 0 12px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(0, 200, 83, 0.12);
  border: 1px solid rgba(0, 200, 83, 0.3);
  color: #0f2e1c;
  font-size: 0.84rem;
  font-weight: 700;
}

.admin-session-badge[hidden] {
  display: none !important;
}

.admin-sc-signin__url a {
  font-weight: 600;
  color: var(--green-hover);
}

.admin-sc-signin__more {
  padding: 16px 18px;
  border-radius: 12px;
  border: 1px solid rgba(0, 200, 83, 0.25);
  background: rgba(0, 200, 83, 0.08);
}

.admin-sc-signin__more p {
  margin: 0 0 12px;
  color: var(--gray-700);
  line-height: 1.45;
}

.admin-panel--smartchoice[hidden] {
  display: none !important;
}

.admin-panel--smartchoice.is-active:not([hidden]) {
  display: block;
}

.admin-content {
  min-width: 0;
}

.admin-panel h2 {
  font-family: var(--font-serif);
  font-size: 1.45rem;
  color: var(--gray-800);
  margin-bottom: 6px;
}

.admin-panel__lead {
  margin-bottom: 18px;
  color: var(--gray-600);
}

.admin-panel .admin-qa__stats {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.admin-pages {
  display: grid;
  gap: 20px;
}

.admin-pages__group h3 {
  font-size: 1rem;
  color: var(--gray-800);
  margin-bottom: 12px;
}

.admin-pages__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.admin-pages__card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  padding: 16px;
  display: grid;
  gap: 8px;
}

.admin-pages__card strong {
  color: var(--gray-800);
}

.admin-pages__card code {
  font-size: 0.78rem;
  color: var(--gray-500);
  word-break: break-all;
}

.admin-nav__item--ads.is-active,
.admin-ads-connect-card {
  border-color: rgba(14, 114, 237, 0.35);
}

.admin-ads-connect-card {
  background: linear-gradient(135deg, rgba(14, 114, 237, 0.1) 0%, rgba(11, 31, 51, 0.05) 100%);
}

.admin-ads-card__eyebrow {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #0e72ed;
}

.admin-ads-card__headline {
  margin: 0;
  font-size: 0.95rem;
  color: var(--gray-700);
}

.admin-ads-card__meta {
  margin: 0;
  font-size: 0.84rem;
  color: var(--gray-500);
}

.admin-ads-card__path {
  display: block;
  font-size: 0.78rem;
  color: var(--gray-500);
  word-break: break-all;
}

.admin-ads-card__url-field {
  margin: 4px 0 0;
}

.admin-ads-card__url {
  width: 100%;
  font-size: 0.78rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  padding: 8px 10px;
  border: 1px solid var(--gray-200);
  border-radius: 8px;
  background: var(--gray-50, #f9fafb);
  color: var(--gray-800);
}

.admin-ads-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.admin-ads-card__status {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: #0a7a3e;
}

.admin-chat__transcript {
  display: grid;
  gap: 10px;
}

.admin-chat__line {
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--off-white);
}

.admin-chat__line--user {
  border-left: 3px solid var(--green);
}

.admin-chat__line--agent {
  border-left: 3px solid var(--gray-300);
}

.admin-chat__line span {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gray-500);
  margin-bottom: 4px;
}

.admin-chat__line p {
  margin: 0 0 4px;
  line-height: 1.5;
}

.admin-chat__line time {
  font-size: 0.78rem;
  color: var(--gray-500);
}

.admin-affiliate-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.admin-affiliate-actions__select {
  min-width: 160px;
  padding: 10px 12px;
  border: 1px solid var(--gray-200);
  border-radius: 10px;
}

.admin-clients-toolbar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.admin-client-card__status {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-client-card__status--active {
  background: rgba(34, 139, 87, 0.12);
  color: #1f7a4f;
}

.admin-client-card__status--inactive {
  background: rgba(120, 120, 120, 0.14);
}

/* Smart Choice launch shell (mirrors eM Business Center chrome) */
.admin-panel--smartchoice {
  padding: 0;
}

.admin-sc-shell {
  border: 1px solid var(--gray-200);
  border-radius: 14px;
  overflow: hidden;
  background: var(--white);
  box-shadow: var(--shadow-sm);
}

.admin-sc-masthead {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 28px;
  justify-content: space-between;
  align-items: flex-start;
  padding: 22px 24px;
  background: linear-gradient(135deg, #0b1f33 0%, #12324f 55%, #0f2e1c 100%);
  color: #f5f7fa;
}

.admin-sc-masthead__eyebrow {
  display: block;
  margin-bottom: 6px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

.admin-sc-masthead h2,
.admin-sc-page-header {
  margin: 0 0 8px;
  font-family: var(--font-serif);
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  color: #fff;
}

.admin-sc-agency-indicator {
  margin-bottom: 10px;
}

.admin-sc-code-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  font-size: 0.88rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.92);
  letter-spacing: 0.02em;
}

.admin-sc-code-label strong {
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #fff;
}

.admin-sc-masthead p {
  margin: 0;
  max-width: 48ch;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.5;
  font-size: 0.95rem;
}

.admin-sc-masthead__status {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  min-width: min(240px, 100%);
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.16);
}

.admin-sc-status-dot {
  width: 10px;
  height: 10px;
  margin-top: 5px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(0, 200, 83, 0.22);
  flex-shrink: 0;
}

.admin-sc-masthead__status strong {
  display: block;
  font-size: 0.92rem;
}

.admin-sc-masthead__status span {
  display: block;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.35;
}

.admin-sc-topbar {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 20px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  background: #f3f6f9;
  border-bottom: 1px solid var(--gray-200);
}

.admin-sc-topbar__kicker {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gray-500);
}

.admin-sc-topbar__label strong {
  display: block;
  color: var(--gray-800);
  font-size: 0.98rem;
}

.admin-sc-topbar__label span:last-child {
  display: block;
  margin-top: 2px;
  font-size: 0.84rem;
  color: var(--gray-600);
  line-height: 1.4;
}

.admin-sc-topbar__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-sc-body {
  display: grid;
  gap: 18px;
  padding: 20px;
}

.admin-sc-alert {
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid transparent;
  line-height: 1.5;
}

.admin-sc-alert--warning {
  background: #fff8e6;
  border-color: #f0d78c;
  color: #5c4a12;
}

.admin-sc-alert__title {
  margin: 0 0 8px;
  font-size: 0.95rem;
  font-weight: 700;
  color: #4a3b0e;
}

.admin-sc-alert p {
  margin: 0 0 12px;
  font-size: 0.92rem;
}

.admin-sc-alert__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-sc-dashboard {
  padding: 18px;
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  background: var(--off-white);
}

.admin-sc-dashboard__title {
  margin: 0 0 12px;
  font-size: 1.15rem;
  color: var(--gray-800);
}

.admin-sc-dashboard__subtitle {
  margin: 16px 0 10px;
  font-size: 0.98rem;
  color: var(--gray-700);
}

.admin-sc-dashboard__hint {
  margin: 0 0 10px;
  font-size: 0.86rem;
  color: var(--gray-600);
  line-height: 1.45;
  max-width: 62ch;
}

.admin-sc-dashboard__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-sc-comm-summary {
  margin-top: 4px;
  padding-top: 4px;
}

.admin-sc-comm-summary__row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
}

.admin-sc-comm-summary__label {
  display: grid;
  gap: 4px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--gray-600);
}

.admin-sc-comm-summary__select {
  min-width: 160px;
  padding: 10px 12px;
  border: 1px solid var(--gray-200);
  border-radius: 10px;
  background: var(--white);
  font: inherit;
  font-weight: 600;
  color: var(--gray-800);
}

.admin-sc-sspl-search__label {
  flex: 1 1 220px;
  max-width: 360px;
}

.admin-sc-sspl-search__input {
  width: 100%;
  min-width: 0;
  font-weight: 500;
}

.admin-sc-agency {
  padding: 18px;
  border-radius: 12px;
  border: 1px solid var(--gray-200);
  background: #fff;
}

.admin-sc-agency__name {
  margin: 0;
  font-size: 1.2rem;
  color: var(--gray-800);
}

.admin-sc-agency__dba {
  margin: 4px 0 8px;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--gray-600);
}

.admin-sc-agency__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-top: 12px;
}

.admin-sc-agency__col h4 {
  margin: 0 0 8px;
  font-size: 0.95rem;
  color: var(--gray-800);
}

.admin-sc-agency__list {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  display: grid;
  gap: 8px;
}

.admin-sc-agency__list li {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  font-size: 0.92rem;
  color: var(--gray-700);
}

.btn--sm {
  padding: 8px 14px;
  font-size: 0.86rem;
}

.admin-sc-blog {
  padding: 16px;
  border-radius: 12px;
  border: 1px solid var(--gray-200);
  background: #fff;
}

.admin-sc-blog__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.admin-sc-blog-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid var(--gray-200);
  background: var(--off-white);
}

.admin-sc-blog-card__link {
  display: grid;
  gap: 10px;
  justify-items: start;
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: inherit;
}

.admin-sc-blog-card__img {
  display: block;
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: 8px;
  background: #fff;
}

.admin-sc-blog-card__title {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 700;
  font-family: inherit;
  color: var(--gray-800);
  line-height: 1.35;
}

.admin-sc-blog-card__body {
  font-size: 0.9rem;
  color: var(--gray-600);
  line-height: 1.5;
}

.admin-sc-blog-card__body p {
  margin: 0;
}

.admin-sc-blog__more {
  margin-top: 14px;
}

.admin-sc-blog__more-link {
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--green-hover);
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.admin-sc-blog__more-link:hover {
  color: var(--green-dark, #0f2e1c);
}

.admin-sc-news {
  margin-top: 8px;
  padding: 16px;
  border-radius: 12px;
  border: 1px solid var(--gray-200);
  background: #fff;
}

.admin-sc-news-card {
  display: grid;
  gap: 14px;
  padding: 14px;
  border-radius: 12px;
  border: 1px solid var(--gray-200);
  background: var(--off-white);
}

.admin-sc-news-card__media {
  display: flex;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid var(--gray-200);
}

.admin-sc-news-card__media img {
  display: block;
  width: auto;
  max-width: min(100%, 320px);
  height: auto;
}

.admin-sc-news-card__text {
  margin: 0 0 12px;
  text-align: center;
  color: var(--gray-800);
  line-height: 1.45;
  font-size: 0.95rem;
}

.admin-sc-footer {
  display: grid;
  gap: 18px;
  margin-top: 8px;
  padding: 20px;
  border-radius: 12px;
  background: linear-gradient(135deg, #0b1f33 0%, #12324f 100%);
  color: rgba(255, 255, 255, 0.88);
}

.admin-sc-footer__right {
  display: grid;
  gap: 12px;
  justify-items: start;
}

@media (min-width: 720px) {
  .admin-sc-footer {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }

  .admin-sc-footer-bottom {
    grid-column: 1 / -1;
  }

  .admin-sc-footer__right {
    justify-items: end;
    text-align: right;
  }
}

.admin-sc-footer__menu {
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.admin-sc-footer__menu-link {
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-size: 0.92rem;
  font-weight: 700;
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.admin-sc-footer-bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  justify-content: space-between;
  align-items: center;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 0.82rem;
}

.admin-sc-footer-bottom a {
  color: rgba(255, 255, 255, 0.9);
  font-weight: 600;
}

.footer-copyright a {
  margin-left: 8px;
}

.admin-sc-footer__logo-btn {
  display: inline-block;
  border: 0;
  background: none;
  padding: 0;
  margin-bottom: 12px;
  cursor: pointer;
}

.admin-sc-footer__logo {
  display: block;
  width: auto;
  max-width: 180px;
  height: auto;
}

.admin-sc-footer__brand p {
  margin: 0 0 6px;
  font-size: 0.88rem;
  line-height: 1.45;
}

.admin-sc-footer__brand a {
  color: #fff;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.admin-sc-footer__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-sc-footer .btn--outline-dark {
  border-color: rgba(255, 255, 255, 0.35);
  color: #fff;
  background: transparent;
}

.admin-sc-footer .btn--outline-dark:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.admin-sc-mainnav {
  padding: 14px 16px;
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  background: #0b1f33;
}

.admin-sc-mainnav__label {
  margin: 0 0 10px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
}

.admin-sc-mainnav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-sc-mainnav__btn {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 600;
  padding: 9px 14px;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.admin-sc-mainnav__btn:hover,
.admin-sc-mainnav__btn.is-active {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
}

.admin-sc-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
}

.admin-sc-card {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 16px;
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  background: var(--off-white);
}

.admin-sc-card h3 {
  margin: 0;
  font-size: 1.02rem;
  color: var(--gray-800);
}

.admin-sc-card p {
  margin: 0;
  font-size: 0.88rem;
  color: var(--gray-600);
  line-height: 1.45;
}

.admin-sc-card__link {
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--green-hover);
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
  text-align: left;
}

.admin-sc-card__link:hover {
  color: var(--green-dark, #0f2e1c);
}

.admin-sc-note {
  padding: 16px 18px;
  border-radius: 12px;
  border: 1px solid rgba(0, 200, 83, 0.22);
  background: rgba(0, 200, 83, 0.07);
}

.admin-sc-note h3 {
  margin: 0 0 8px;
  font-size: 0.98rem;
  color: var(--gray-800);
}

.admin-sc-note p {
  margin: 0 0 10px;
  font-size: 0.9rem;
  color: var(--gray-700);
  line-height: 1.5;
}

.admin-sc-note p:last-child {
  margin-bottom: 0;
}

.admin-sc-note__url a {
  font-weight: 600;
  word-break: break-all;
}

.admin-sc-note code,
.admin-sc-topbar__label code,
.admin-sc-card code {
  font-size: 0.8em;
}

@media (max-width: 768px) {
  .admin-sc-masthead,
  .admin-sc-topbar,
  .admin-sc-body {
    padding-left: 16px;
    padding-right: 16px;
  }

  .admin-sc-topbar__actions {
    width: 100%;
  }

  .admin-sc-topbar__actions .btn {
    flex: 1 1 auto;
  }
}
  color: var(--gray-600);
}

.admin-client-card__policies {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--gray-100);
  font-size: 0.92rem;
  color: var(--gray-700);
}

.admin-client-card__policies p {
  margin: 6px 0 0;
  line-height: 1.55;
}

@media (max-width: 800px) {
  .admin-layout {
    grid-template-columns: 1fr;
  }

  .admin-nav {
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
  }
}
/* —— CRM —— */
.admin-nav__item--crm {
  border-color: rgba(16, 122, 84, 0.45);
  background: rgba(16, 122, 84, 0.1);
  color: #0b5c3c;
  font-weight: 700;
}

.admin-nav__item--crm.is-active {
  background: var(--green, #107a54);
  border-color: var(--green, #107a54);
  color: #fff;
}

.admin-crm-connect-card {
  border-color: rgba(16, 122, 84, 0.3);
  background: linear-gradient(135deg, rgba(16, 122, 84, 0.12) 0%, rgba(11, 31, 51, 0.05) 100%);
}

.admin-crm__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 12px;
}

.admin-crm__layout {
  display: grid;
  grid-template-columns: minmax(260px, 340px) 1fr;
  gap: 16px;
  margin-top: 12px;
  align-items: start;
}

.admin-crm__list-pane,
.admin-crm__detail-pane {
  background: #fff;
  border: 1px solid var(--gray-200, #e5e7eb);
  border-radius: 14px;
  padding: 14px;
  min-height: 480px;
}

.admin-crm__filters {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 12px;
}

.admin-crm__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 62vh;
  overflow: auto;
}

.admin-crm__card {
  text-align: left;
  width: 100%;
  border: 1px solid var(--gray-200, #e5e7eb);
  border-radius: 12px;
  background: #fafafa;
  padding: 12px;
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.admin-crm__card:hover,
.admin-crm__card.is-active {
  border-color: var(--green, #107a54);
  box-shadow: 0 0 0 1px rgba(16, 122, 84, 0.2);
  background: #fff;
}

.admin-crm__card-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: baseline;
}

.admin-crm__card-top strong {
  font-size: 0.98rem;
}

.admin-crm__badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eef2ff;
  color: #3730a3;
}

.admin-crm__badge--to_call,
.admin-crm__badge--new { background: #fff7ed; color: #c2410c; }
.admin-crm__badge--in_service { background: #ecfdf5; color: #047857; }
.admin-crm__badge--follow_up { background: #eff6ff; color: #1d4ed8; }
.admin-crm__badge--quoted { background: #f5f3ff; color: #6d28d9; }
.admin-crm__badge--closed { background: #f3f4f6; color: #4b5563; }
.admin-crm__badge--do_not_contact { background: #fef2f2; color: #b91c1c; }
.admin-crm__badge--high { background: #fee2e2; color: #991b1b; }

.admin-crm__card-sub {
  margin: 6px 0 0;
  font-size: 0.84rem;
  color: var(--gray-600, #4b5563);
  line-height: 1.35;
}

.admin-crm__detail-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--gray-200, #e5e7eb);
}

.admin-crm__detail-meta {
  margin: 4px 0 0;
  color: var(--gray-600, #4b5563);
  font-size: 0.9rem;
}

.admin-crm__detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.admin-crm__form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.admin-crm__form-grid--compact {
  margin-bottom: 8px;
}

.admin-crm__field-full {
  grid-column: 1 / -1;
}

.admin-crm__form-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}

.admin-crm__tabs {
  display: flex;
  gap: 8px;
  margin: 18px 0 12px;
  border-bottom: 1px solid var(--gray-200, #e5e7eb);
  padding-bottom: 8px;
}

.admin-crm__tab {
  border: none;
  background: transparent;
  font-weight: 700;
  color: var(--gray-600, #4b5563);
  padding: 8px 12px;
  border-radius: 8px;
  cursor: pointer;
}

.admin-crm__tab.is-active {
  background: rgba(16, 122, 84, 0.12);
  color: #0b5c3c;
}

.admin-crm__compose {
  border: 1px solid var(--gray-200, #e5e7eb);
  border-radius: 12px;
  padding: 12px;
  background: #fafafa;
  margin-bottom: 12px;
}

.admin-crm__check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9rem;
  margin: 8px 0 12px;
}

.admin-crm__timeline,
.admin-crm__email-list,
.admin-crm__doc-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.admin-crm__item {
  border: 1px solid var(--gray-200, #e5e7eb);
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}

.admin-crm__item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  font-size: 0.8rem;
  color: var(--gray-600, #4b5563);
  margin-bottom: 6px;
}

.admin-crm__item p {
  margin: 0;
  white-space: pre-wrap;
  line-height: 1.45;
}

.admin-crm__item--inbound {
  border-left: 3px solid #2563eb;
}

.admin-crm__item--outbound {
  border-left: 3px solid #107a54;
}

.admin-crm__hint {
  margin: 10px 0 0;
  font-size: 0.82rem;
  color: var(--gray-600, #4b5563);
}

.admin-crm__status {
  margin: 0;
  font-size: 0.88rem;
  color: #0b5c3c;
}

.admin-crm__status.is-error {
  color: #b91c1c;
}

.admin-crm__empty-detail {
  display: grid;
  place-content: center;
  min-height: 360px;
  text-align: center;
  color: var(--gray-600, #4b5563);
  padding: 24px;
}

.admin-crm__dialog {
  border: none;
  border-radius: 16px;
  padding: 0;
  max-width: 560px;
  width: calc(100% - 32px);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.22);
}

.admin-crm__dialog::backdrop {
  background: rgba(11, 31, 51, 0.45);
}

.admin-crm__dialog-form {
  padding: 20px;
}

.admin-crm__dialog-form h3 {
  margin: 0 0 14px;
}

.admin-crm__doc-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

@media (max-width: 900px) {
  .admin-crm__layout {
    grid-template-columns: 1fr;
  }
  .admin-crm__filters {
    grid-template-columns: 1fr;
  }
  .admin-crm__form-grid {
    grid-template-columns: 1fr;
  }
  .admin-crm__detail-head {
    flex-direction: column;
  }
}

/* —— EZLynx CRM hub (under Admin) —— */
.admin-crm__header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.admin-crm__subheader {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
}

.admin-crm__divider {
  border: none;
  border-top: 1px solid var(--gray-200, #e5e7eb);
  margin: 28px 0 20px;
}

.admin-ezlynx-crm-hub {
  margin: 8px 0 8px;
}

.admin-ezlynx-crm-hub__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
}

.admin-ezlynx-crm-hub__card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid rgba(16, 122, 84, 0.28);
  background: linear-gradient(135deg, rgba(16, 122, 84, 0.1) 0%, #fff 70%);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
}

a.admin-ezlynx-crm-hub__card:hover {
  border-color: var(--green, #107a54);
  box-shadow: 0 0 0 1px rgba(16, 122, 84, 0.2);
}

.admin-ezlynx-crm-hub__card strong {
  color: #0b5c3c;
  font-size: 0.98rem;
}

.admin-ezlynx-crm-hub__card span {
  font-size: 0.82rem;
  color: var(--gray-600, #4b5563);
  line-height: 1.35;
}

.admin-ezlynx-crm-hub__card--info {
  background: #f8fafc;
  border-color: var(--gray-200, #e5e7eb);
  cursor: default;
}

.admin-ezlynx-crm-hub__note {
  margin-top: 14px;
}

/* Developer read-only role */
.admin-developer-banner {
  margin-bottom: 16px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid rgba(37, 99, 235, 0.35);
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.1) 0%, rgba(255, 255, 255, 0.9) 100%);
  color: #1e3a8a;
}

.admin-developer-banner p {
  margin: 6px 0 0;
  font-size: 0.92rem;
  line-height: 1.45;
}

.admin-role-developer .admin-panel__lead {
  color: var(--gray-600, #4b5563);
}

.admin-login__dev-hint {
  margin-top: 10px !important;
}

/* Developer access management (admin) */
.admin-nav__item--developers {
  border-color: rgba(37, 99, 235, 0.4);
  background: rgba(37, 99, 235, 0.08);
  color: #1e3a8a;
  font-weight: 700;
  margin-top: 8px;
}

.admin-nav__item--developers.is-active {
  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
}

.admin-dev-invite-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 16px;
  margin-bottom: 18px;
}

.admin-dev-invite-box h3 {
  margin: 0 0 8px;
  font-size: 1rem;
}

.admin-dev-invite-box__url {
  font-family: ui-monospace, monospace;
  font-size: 0.9rem;
  word-break: break-all;
  margin: 0 0 10px;
}

.admin-dev-layout {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr);
  gap: 16px;
  margin-bottom: 20px;
}

.admin-dev-create h3,
.admin-dev-list-wrap h3,
.admin-dev-log-wrap h3 {
  margin: 0 0 10px;
  font-size: 1.05rem;
}

.admin-dev-invite-text {
  margin-top: 12px;
  padding: 12px;
  background: #0b1f33;
  color: #e2e8f0;
  border-radius: 10px;
  font-size: 0.82rem;
  white-space: pre-wrap;
  overflow: auto;
  max-height: 220px;
}

.admin-dev-card .admin-affiliate-actions {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-dev-log-wrap {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 16px;
}

@media (max-width: 900px) {
  .admin-dev-layout {
    grid-template-columns: 1fr;
  }
}

/* Outbound Call AI */
.admin-nav__item--outbound {
  border-color: rgba(124, 58, 237, 0.4);
  background: rgba(124, 58, 237, 0.08);
  color: #5b21b6;
  font-weight: 700;
}

.admin-nav__item--outbound.is-active {
  background: #7c3aed;
  border-color: #7c3aed;
  color: #fff;
}

.admin-outbound-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 12px;
  border-bottom: 1px solid var(--gray-200, #e5e7eb);
  padding-bottom: 8px;
}

.admin-outbound-panel { margin-top: 8px; }

.admin-outbound-split {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(280px, 1.1fr);
  gap: 16px;
}

.admin-outbound-filters {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 8px;
  margin-bottom: 10px;
  align-items: end;
}

.admin-outbound-calls-layout {
  display: grid;
  grid-template-columns: minmax(240px, 340px) 1fr;
  gap: 14px;
  align-items: start;
}

.admin-outbound-call-detail {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 16px;
  min-height: 420px;
}

.admin-outbound-detail-inner h3 { margin: 0 0 6px; }
.admin-outbound-detail-inner h4 {
  margin: 18px 0 8px;
  font-size: 0.95rem;
}

.admin-outbound-transcript-wrap,
.admin-outbound-preview {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 12px;
  font-size: 0.88rem;
  max-height: 280px;
  overflow: auto;
  white-space: pre-wrap;
}

.admin-outbound-transcript {
  margin: 0;
  white-space: pre-wrap;
  font-size: 0.88rem;
}

.admin-outbound-turn {
  margin-bottom: 8px;
  line-height: 1.4;
}

.admin-outbound-audio {
  width: 100%;
  margin: 8px 0;
}

.admin-outbound-settings { margin-bottom: 12px; }

@media (max-width: 900px) {
  .admin-outbound-split,
  .admin-outbound-calls-layout {
    grid-template-columns: 1fr;
  }
  .admin-outbound-filters {
    grid-template-columns: 1fr;
  }
}

/* �� Callback calendar (FCIB Assistant slots) �� */
.admin-callbacks__header {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 18px;
}

.admin-callbacks__header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.admin-callbacks__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 18px;
}

.admin-callbacks__stat {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  padding: 12px 16px;
  min-width: 140px;
}

.admin-callbacks__stat strong {
  display: block;
  font-size: 1.4rem;
  color: var(--gray-900);
}

.admin-callbacks__stat span {
  font-size: 0.82rem;
  color: var(--gray-500);
}

.admin-callbacks__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.9fr);
  gap: 18px;
  margin-bottom: 24px;
}

@media (max-width: 900px) {
  .admin-callbacks__layout {
    grid-template-columns: 1fr;
  }
}

.admin-callbacks__month,
.admin-callbacks__day {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 14px;
  padding: 16px;
}

.admin-callbacks__month-title,
.admin-callbacks__day-title {
  margin: 0 0 12px;
  font-size: 1.05rem;
}

.admin-callbacks__weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 6px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--gray-500);
  text-align: center;
}

.admin-callbacks__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}

.admin-callbacks__cell {
  min-height: 78px;
  border: 1px solid var(--gray-200);
  border-radius: 10px;
  padding: 6px;
  background: #fafbfc;
  cursor: pointer;
  text-align: left;
  font: inherit;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.admin-callbacks__cell:hover {
  border-color: rgba(0, 200, 83, 0.45);
  background: rgba(0, 200, 83, 0.04);
}

.admin-callbacks__cell--muted {
  opacity: 0.45;
  cursor: default;
}

.admin-callbacks__cell--today {
  box-shadow: inset 0 0 0 2px rgba(0, 200, 83, 0.35);
}

.admin-callbacks__cell--selected {
  border-color: #00c853;
  background: rgba(0, 200, 83, 0.1);
}

.admin-callbacks__cell-day {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--gray-700);
}

.admin-callbacks__cell-count {
  margin-top: auto;
  font-size: 0.72rem;
  font-weight: 700;
  color: #00a844;
}

.admin-callbacks__day-list {
  display: grid;
  gap: 10px;
}

.admin-callbacks__event {
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}

.admin-callbacks__event time {
  display: block;
  font-size: 0.85rem;
  font-weight: 800;
  color: #00a844;
  margin-bottom: 4px;
}

.admin-callbacks__event strong {
  display: block;
  margin-bottom: 4px;
}

.admin-callbacks__event p {
  margin: 0 0 4px;
  font-size: 0.86rem;
  color: var(--gray-600);
}

.admin-callbacks__event-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.admin-callbacks__upcoming h3 {
  margin: 0 0 12px;
}

/* �� Agency email inboxes tab �� */
.admin-email-accounts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  margin: 0 0 20px;
}

.admin-email-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 14px;
  padding: 18px 18px 16px;
}

.admin-email-card h3 {
  margin: 0 0 8px;
  font-size: 1.1rem;
}

.admin-email-card__address {
  margin: 0 0 10px;
  font-size: 0.95rem;
  font-weight: 700;
  word-break: break-all;
}

.admin-email-card__address a {
  color: var(--green, #00a844);
  text-decoration: none;
}

.admin-email-card__address a:hover {
  text-decoration: underline;
}

.admin-email-card p {
  margin: 0 0 14px;
  color: var(--gray-600);
  font-size: 0.9rem;
  line-height: 1.45;
}

.admin-email-card .admin-sc-signin__actions {
  margin-top: 4px;
}

.admin-email-signin__hero {
  margin-bottom: 18px;
}
