/* Global Mobile Anti-Overflow & Native Feel */
html, body {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}
*, *:before, *:after {
  box-sizing: border-box;
}
/* ========================================================
   BETREUO BUSINESS SUITE - CLEAN STYLESHEET
   Modules: Angebotsgenerator (DIN-5008 PDF), Terminbuchung,
   Gewinnrechner, Bewertungen, Akademie, Canva Magic AI
   ======================================================== */

/* --- GENERAL UTILS --- */
.suite-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.suite-badge-blue { background: #e0f2fe; color: #0284c7; }
.suite-badge-green { background: #dcfce7; color: #15803d; }
.suite-badge-purple { background: #ede9fe; color: #7c3aed; }
.suite-badge-amber { background: #fef3c7; color: #b45309; }

/* Quick launcher banner for Overview page */
.suite-quick-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 14px;
  margin-top: 10px;
}

@media (max-width: 768px) {
  .suite-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

.suite-quick-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
}

.suite-quick-card:hover {
  transform: translateY(-2px);
  border-color: var(--primary, #0284c7);
  box-shadow: 0 6px 18px rgba(2, 132, 199, 0.1);
}

.suite-quick-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}

/* ========================================================
   1. DIN-5008 HOCHWERTIGER ANGEBOTSGENERATOR & PDF
   ======================================================== */
.offer-builder-container {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 24px;
  align-items: flex-start;
}

.offer-form-row-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

@media (max-width: 1080px) {
  .offer-builder-container { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .offer-builder-container {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    gap: 16px !important;
  }
  .offer-builder-container > div {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .offer-controls-card {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 16px 12px !important;
    box-sizing: border-box !important;
  }
  .offer-letterhead {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 14px 10px !important;
    font-size: 11px !important;
    overflow-x: hidden !important;
  }
  .letter-table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .letter-summary-container {
    width: 100% !important;
    max-width: 100% !important;
  }
  .letter-summary-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .letter-header-flex {
    flex-direction: column !important;
    gap: 8px !important;
    align-items: flex-start !important;
  }
  #offerLetterheadRightInfo {
    text-align: left !important;
  }
  .letter-meta-box {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }
}

.offer-controls-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 22px;
  position: sticky;
  top: 80px;
}

/* Pristine DIN-5008 German Business Letterhead */
.offer-letterhead {
  background: #ffffff;
  width: 100%;
  max-width: 820px;
  min-height: auto;
  margin: 0 auto;
  padding: 24px 32px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  box-shadow: 0 10px 35px rgba(15, 23, 42, 0.08);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: #1e293b;
  font-size: 13px;
  line-height: 1.55;
  box-sizing: border-box;
  position: relative;
}

/* DIN 5008 Faltmarken (Left Folding Marks) */
.letter-fold-mark-1 {
  position: absolute;
  left: 6px;
  top: 395px;
  width: 12px;
  height: 1px;
  background: #cbd5e1;
}

.letter-fold-mark-2 {
  position: absolute;
  left: 6px;
  top: 790px;
  width: 12px;
  height: 1px;
  background: #cbd5e1;
}

.letter-header-flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 14px;
}

.letter-brand-logo {
  display: flex;
  align-items: center;
  gap: 10px;
}

.letter-logo-box {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: linear-gradient(135deg, #0284c7, #0369a1);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

.letter-brand-text h2 {
  margin: 0;
  font-size: 19px;
  font-weight: 800;
  color: #0f172a;
}

.letter-brand-text p {
  margin: 0;
  font-size: 11px;
  color: #64748b;
}

/* DIN 5008 Address Window */
.letter-address-block {
  margin-bottom: 12px;
}

.letter-sender-line {
  font-size: 10px;
  color: #64748b;
  border-bottom: 1px solid #e2e8f0;
  padding-bottom: 3px;
  margin-bottom: 8px;
  letter-spacing: 0.02em;
}

.letter-recipient-address {
  font-size: 13px;
  color: #0f172a;
  line-height: 1.45;
}

.letter-meta-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 12px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
  margin-bottom: 12px;
}

.letter-subject {
  font-size: 16px;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 6px 0;
}

.letter-greeting {
  font-size: 11px;
  line-height: 1.35;
  color: #334155;
  margin-bottom: 8px;
}

.letter-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 8px;
}

.letter-table th {
  background: #f1f5f9;
  color: #0f172a;
  font-weight: 700;
  padding: 6px 8px;
  text-align: left;
  border-top: 1px solid #cbd5e1;
  border-bottom: 1px solid #cbd5e1;
}

.letter-table td {
  padding: 6px 8px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: top;
}

/* Calculation Breakdown & Copay Box */
.letter-summary-container {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 12px;
}

.letter-summary-card {
  width: 360px;
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 12.5px;
}

.letter-summary-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 6px;
  color: #475569;
}

.letter-summary-row.copay-highlight {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 2px solid #0284c7;
  font-size: 15px;
  font-weight: 800;
  color: #0f172a;
}

.letter-legal-notes {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 11px;
  color: #166534;
  line-height: 1.5;
  margin-bottom: 30px;
}

.letter-signatures {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-top: 8px;
  padding-top: 0;
}

.letter-sign-line {
  border-top: 1px solid #94a3b8;
  padding-top: 6px;
  font-size: 11px;
  color: #64748b;
  text-align: center;
}

.letter-footer-din {
  margin-top: 10px;
  padding-top: 6px;
  border-top: 1px solid #e2e8f0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  font-size: 10px;
  color: #64748b;
  line-height: 1.4;
}

/* PRINT MEDIA ISOLATION FOR PRISTINE A4 PDF EXPORT */
@media print {
  @page {
    size: A4 portrait;
    margin: 6mm 10mm;
  }
  
  body * {
    visibility: hidden;
  }

  #printableOfferSheet, #printableOfferSheet * {
    visibility: visible;
  }

  #printableOfferSheet {
    position: absolute;
    left: 0;
    top: 0;
    width: 100% !important;
    max-width: none !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .no-print, .wb-modal, .sidebar, .header-row, .modal-backdrop {
    display: none !important;
  }
}

/* ========================================================
   2. ONLINE-TERMINBUCHUNG
   ======================================================== */
.booking-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 24px;
}

@media (max-width: 960px) {
  .booking-grid { grid-template-columns: 1fr; }
}

.booking-link-box {
  background: #f0f9ff;
  border: 1px solid #bae6fd;
  border-radius: var(--radius-md, 8px);
  padding: 16px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.calendar-widget-preview {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 4px 16px rgba(15,23,42,0.04);
}

.days-row {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
  margin-bottom: 16px;
}

.day-pill {
  padding: 10px 4px;
  text-align: center;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #ffffff;
  cursor: pointer;
  transition: all 0.15s;
  font-size: 12px;
}

.day-pill.active {
  background: var(--primary, #0284c7);
  color: #ffffff;
  border-color: var(--primary, #0284c7);
  font-weight: 700;
}

.day-pill:hover:not(.active) {
  background: #f1f5f9;
}

.slots-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.slot-btn {
  padding: 8px 10px;
  text-align: center;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  font-size: 12.5px;
  background: #f8fafc;
  cursor: pointer;
  transition: all 0.15s;
}

.slot-btn:hover {
  border-color: var(--primary, #0284c7);
  background: #f0f9ff;
  color: var(--primary, #0284c7);
}

.slot-btn.active {
  background: var(--primary, #0284c7);
  color: #fff;
  border-color: var(--primary, #0284c7);
  font-weight: 700;
}

/* ========================================================
   3. PREIS- UND GEWINNRECHNER
   ======================================================== */
.calc-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 24px;
}

@media (max-width: 960px) {
  .calc-grid { grid-template-columns: 1fr; }
}

.calc-kpi-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  box-shadow: 0 1px 3px rgba(15,23,42,0.04);
}

.calc-kpi-val {
  font-size: 26px;
  font-weight: 800;
  color: var(--navy, #0f172a);
}

.calc-meter-wrap {
  background: #e2e8f0;
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  margin: 8px 0;
}

.calc-meter-fill {
  height: 100%;
  border-radius: 999px;
  transition: width 0.3s ease;
}

.calc-preset-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.calc-preset-btn {
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s;
}

.calc-preset-btn:hover, .calc-preset-btn.active {
  background: var(--primary, #0284c7);
  color: #fff;
  border-color: var(--primary, #0284c7);
}

/* ========================================================
   4. BEWERTUNGSMANAGER
   ======================================================== */
.reviews-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 24px;
}

@media (max-width: 960px) {
  .reviews-grid { grid-template-columns: 1fr; }
}

.review-row-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}

.stars-gold {
  color: #f59e0b;
  display: inline-flex;
  gap: 2px;
}

/* ========================================================
   5. BETREUO AKADEMIE
   ======================================================== */
.academy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
}

.academy-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(15,23,42,0.04);
  transition: transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
}

.academy-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(15,23,42,0.08);
}

.academy-thumb {
  height: 140px;
  position: relative;
  background: linear-gradient(135deg, #0284c7, #1e3a8a);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 36px;
}

.academy-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

/* ========================================================
   6. BETREUO KI-ASSISTENT SIDE CHAT PANEL (CHATGPT-STYLE LEFT DOCKED)
   ======================================================== */
.ai-drawer-backdrop {
  position: fixed;
  top: 0;
  left: 260px;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  z-index: 996;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.ai-drawer-backdrop.active {
  opacity: 1;
  pointer-events: auto;
}

.ai-drawer {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 260px;
  width: 440px;
  background: #ffffff;
  border-right: 1px solid #e5e7eb;
  box-shadow: 14px 0 40px rgba(0, 0, 0, 0.14);
  z-index: 997;
  display: flex;
  flex-direction: column;
  transform: translateX(-100%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease;
}

.ai-drawer.open {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}

@media (max-width: 900px) {
  .ai-drawer-backdrop { left: 0; }
  .ai-drawer {
    left: 0;
    width: 100%;
    max-width: 440px;
  }
}

.ai-drawer-header {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  padding: 14px 18px;
  color: #0d0d0d;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}

.ai-drawer-title-row {
  display: flex;
  align-items: center;
  gap: 11px;
}

.ai-sparkle-badge {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #10a37f;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  color: #ffffff;
  flex-shrink: 0;
}

.ai-drawer-title {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--text-main);
  line-height: 1.2;
}

.ai-model-tag {
  font-size: 11px;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 2px;
}

.ai-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10a37f;
  box-shadow: 0 0 6px rgba(16, 163, 127, 0.6);
  display: inline-block;
  animation: pulseDot 2s infinite;
}

@keyframes pulseDot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.55; transform: scale(0.85); }
}

.ai-header-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.ai-icon-btn {
  background: transparent;
  border: 1px solid var(--border-color);
  width: 32px;
  height: 32px;
  border-radius: 8px;
  color: var(--text-muted);
  font-size: 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
}

.ai-icon-btn:hover {
  background: var(--bg-subtle);
  color: var(--text-main);
}

.ai-chips-scroller {
  padding: 12px 16px;
  background: var(--bg-page);
  border-bottom: 1px solid var(--border-color);
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  overflow: hidden;
  flex-shrink: 0;
}

.ai-prompt-chip {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 6px 11px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--text-main);
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.16s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.ai-prompt-chip i {
  font-size: 13px;
  color: #10a37f;
}

.ai-prompt-chip:hover {
  background: var(--bg-subtle);
  border-color: #10a37f;
  transform: translateY(-1px);
}

.ai-chat-feed {
  flex: 1;
  padding: 18px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
  scrollbar-width: thin;
  scrollbar-color: rgba(148, 163, 184, 0.25) transparent;
}

.ai-chat-feed::-webkit-scrollbar {
  width: 5px;
}

.ai-chat-feed::-webkit-scrollbar-track {
  background: transparent;
}

.ai-chat-feed::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.28);
  border-radius: 999px;
}

.ai-chat-feed::-webkit-scrollbar-thumb:hover {
  background: rgba(148, 163, 184, 0.45);
}

.ai-msg {
  max-width: 92%;
  padding: 12px 16px;
  border-radius: 16px;
  font-size: 13.5px;
  line-height: 1.6;
  animation: msgFadeIn 0.2s ease-out;
}

@keyframes msgFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.ai-msg-user {
  background: #f4f4f4;
  color: #0d0d0d;
  align-self: flex-end;
  border-radius: 18px;
  max-width: 82%;
}

.ai-msg-bot {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  color: #0d0d0d;
  align-self: flex-start;
  width: 100%;
  max-width: 96%;
}

.ai-msg-bot-header {
  font-size: 11.5px;
  font-weight: 700;
  color: #10a37f;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ai-msg-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid var(--border-color);
}

.ai-copy-btn {
  background: transparent;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: all 0.15s;
}

.ai-copy-btn:hover {
  background: var(--bg-subtle);
  color: var(--text-main);
}

/* Thinking Indicator Box */
.ai-thinking-box {
  background: var(--bg-subtle);
  border: 1px solid var(--border-color);
  border-radius: 14px;
  padding: 14px 16px;
  align-self: flex-start;
  width: 92%;
}

.ai-thinking-header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ai-thinking-spinner {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(16, 163, 127, 0.15);
  color: #10a37f;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  animation: spinBrain 2s infinite linear;
}

@keyframes spinBrain {
  0% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.12) rotate(180deg); }
  100% { transform: scale(1) rotate(360deg); }
}

.ai-thinking-text strong {
  display: block;
  font-size: 12.5px;
  color: var(--text-main);
}

.ai-thinking-text span {
  font-size: 11.5px;
  color: #10a37f;
  font-weight: 600;
}

.ai-thinking-progress {
  width: 100%;
  height: 3px;
  background: var(--border-color);
  border-radius: 999px;
  margin-top: 10px;
  overflow: hidden;
}

.ai-progress-bar {
  height: 100%;
  width: 30%;
  background: #10a37f;
  border-radius: 999px;
  animation: thinkProgress 1.8s infinite ease-in-out;
}

@keyframes thinkProgress {
  0% { transform: translateX(-100%); width: 25%; }
  50% { width: 60%; }
  100% { transform: translateX(350%); width: 25%; }
}

.ai-drawer-footer {
  padding: 14px 16px;
  border-top: 1px solid var(--border-color);
  background: var(--bg-card);
  flex-shrink: 0;
}

.ai-input-wrapper {
  display: flex;
  gap: 8px;
  align-items: center;
  background: #f4f4f4;
  border: 1px solid #e5e5e5;
  border-radius: 22px;
  padding: 6px 8px 6px 16px;
  transition: border-color 0.2s;
}

.ai-input-wrapper:focus-within {
  border-color: #a3a3a3;
}

.ai-textarea {
  flex: 1;
  background: transparent;
  border: none;
  padding: 4px 0;
  font-size: 13.5px;
  font-family: inherit;
  color: var(--text-main);
  resize: none;
  outline: none;
  line-height: 1.45;
  max-height: 120px;
}

.ai-send-button {
  background: #0d0d0d;
  color: #ffffff;
  border: none;
  border-radius: 50%;
  width: 34px;
  height: 34px;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s, transform 0.15s;
  flex-shrink: 0;
}

.ai-send-button:hover {
  opacity: 0.85;
  transform: scale(1.04);
}

.ai-input-hint {
  font-size: 10.5px;
  color: var(--text-subtle);
  margin-top: 6px;
  text-align: center;
}

/* Header AI Button & Quick Card AI */
.canva-header-ai-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #f4f4f4;
  color: #0d0d0d;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
}

.canva-header-ai-btn i {
  color: #10a37f;
  font-size: 15px;
}

.canva-header-ai-btn:hover {
  background: #e5e7eb;
}

.suite-quick-card-ai {
  border-color: #d8b4fe;
  background: #faf5ff;
}

/* Booking & Slot Cards */
.booking-slot-card {
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--border-color);
  background: var(--bg-card);
  cursor: pointer;
  transition: all 0.15s ease;
}

.booking-slot-card.slot-free:hover {
  border-color: var(--primary);
}

.booking-slot-card.slot-selected {
  border-color: #10a37f;
  box-shadow: 0 0 0 2px rgba(16, 163, 127, 0.2);
}

.booking-slot-card.slot-booked {
  opacity: 0.55;
  cursor: not-allowed;
}

.slot-badge {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 999px;
}

.slot-badge-free {
  background: rgba(16, 185, 129, 0.15);
  color: #10b981;
}

.slot-badge-booked {
  background: rgba(148, 163, 184, 0.2);
  color: var(--text-muted);
}

.booking-list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid var(--border-color);
  background: var(--bg-card);
  margin-bottom: 10px;
}

.booking-avatar-circle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--bg-subtle);
  color: var(--text-main);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

/* ========================================================
   7. CHATGPT DARK MODE THEME SYSTEM (#171717 / #212121 / #2f2f2f)
   ======================================================== */
.theme-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #f4f4f4;
  border: 1px solid #e5e7eb;
  color: #0d0d0d;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
  margin-right: 4px;
}

.theme-toggle-btn:hover {
  background: #e5e7eb;
}

body.dark-theme,
html.dark-theme {
  --bg-page: #212121;
  --bg-card: #171717;
  --bg-subtle: #2f2f2f;
  --border-color: #383838;
  --border-light: #2a2a2a;
  --text-main: #ececec;
  --text-muted: #b4b4b4;
  --text-subtle: #8e8ea0;
  --navy: #ececec;
  --navy-light: #d1d1d6;
  --navy-subtle: #9b9ba5;
  --primary: #10a37f;
  --primary-hover: #0e906f;
  --primary-light: rgba(16, 163, 127, 0.14);
  --primary-subtle: rgba(16, 163, 127, 0.2);
  --primary-border: rgba(16, 163, 127, 0.35);
  --success: #10a37f;
  --success-light: rgba(16, 163, 127, 0.15);
  --success-border: rgba(16, 163, 127, 0.3);
  background-color: #212121 !important;
  color: #ececec !important;
}

/* ChatGPT Sidebar (#171717) */
body.dark-theme .sidebar {
  background: #171717 !important;
  border-right: 1px solid #262626 !important;
}

body.dark-theme .sidebar-header,
body.dark-theme .sidebar-footer {
  border-color: #262626 !important;
}

body.dark-theme .brand-icon {
  background: #2f2f2f !important;
  color: #ececec !important;
  border: 1px solid #424242 !important;
  box-shadow: none !important;
}

body.dark-theme .brand-subtitle {
  color: #9b9ba5 !important;
}

body.dark-theme .nav-section-title {
  color: #8e8ea0 !important;
}

body.dark-theme .nav-item {
  color: #d1d1d6 !important;
  border-radius: 10px !important;
}

body.dark-theme .nav-item i {
  color: #9b9ba5 !important;
}

body.dark-theme .nav-item:hover {
  background: #212121 !important;
  color: #ffffff !important;
}

body.dark-theme .nav-item:hover i {
  color: #ffffff !important;
}

body.dark-theme .nav-item.active {
  background: #2f2f2f !important;
  color: #ffffff !important;
  border-color: transparent !important;
}

body.dark-theme .nav-item.active i {
  color: #ffffff !important;
}

body.dark-theme .nav-badge {
  background: #262626 !important;
  color: #d1d1d6 !important;
  border: 1px solid #383838 !important;
}

body.dark-theme .nav-item.active .nav-badge {
  background: #383838 !important;
  color: #ffffff !important;
}

/* ChatGPT Top Header (#212121) */
body.dark-theme .top-header {
  background: #212121 !important;
  border-bottom: 1px solid #2f2f2f !important;
}

body.dark-theme .theme-toggle-btn,
body.dark-theme .user-profile-capsule,
body.dark-theme .canva-header-ai-btn {
  background: #2f2f2f !important;
  border: 1px solid #424242 !important;
  color: #ececec !important;
}

body.dark-theme .theme-toggle-btn:hover,
body.dark-theme .user-profile-capsule:hover,
body.dark-theme .canva-header-ai-btn:hover {
  background: #383838 !important;
  border-color: #525252 !important;
}

body.dark-theme .user-name {
  color: #ececec !important;
}

body.dark-theme .user-role-badge {
  color: #9b9ba5 !important;
}

body.dark-theme .user-avatar-circle {
  background: #383838 !important;
  color: #ececec !important;
  border: 1px solid #4f4f4f !important;
}

body.dark-theme .btn-primary-create {
  background: #ececec !important;
  color: #0d0d0d !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}

body.dark-theme .btn-primary-create:hover {
  background: #ffffff !important;
  box-shadow: 0 2px 10px rgba(255, 255, 255, 0.12) !important;
}

/* ChatGPT Main Workspace & Cards (#212121 canvas, #171717 / #262626 cards, #2f2f2f interactive surfaces) */
body.dark-theme #marketingLoadingContainer,
body.dark-theme #cloaked404Container {
  background: #212121 !important;
}

body.dark-theme .content-card,
body.dark-theme .kpi-card,
body.dark-theme .stat-card,
body.dark-theme .campaign-card-v2,
body.dark-theme .wb-template-card,
body.dark-theme .creative-asset-card,
body.dark-theme .academy-card,
body.dark-theme .marketing-loading-card,
body.dark-theme .modal-container {
  background: #171717 !important;
  border: 1px solid #2f2f2f !important;
  color: #ececec !important;
  box-shadow: none !important;
}

body.dark-theme .creative-asset-content,
body.dark-theme .modal-header,
body.dark-theme .modal-footer,
body.dark-theme .wizard-progress-bar {
  background: #171717 !important;
  border-color: #2f2f2f !important;
}

body.dark-theme .suite-quick-card,
body.dark-theme .suite-quick-card-ai,
body.dark-theme .review-row-card,
body.dark-theme .booking-list-row,
body.dark-theme .booking-slot-card,
body.dark-theme .campaign-item-box,
body.dark-theme .lead-row-card,
body.dark-theme .offer-controls-card,
body.dark-theme .calendar-widget-preview,
body.dark-theme .suite-inner-box,
body.dark-theme .support-card,
body.dark-theme .service-select-card {
  background: #2f2f2f !important;
  border: 1px solid #3f3f3f !important;
  color: #ececec !important;
}

body.dark-theme .suite-quick-card:hover,
body.dark-theme .campaign-item-box:hover,
body.dark-theme .lead-row-card:hover,
body.dark-theme .service-select-card:hover {
  background: #383838 !important;
  border-color: #565656 !important;
  box-shadow: none !important;
}

body.dark-theme .suite-quick-icon,
body.dark-theme .kpi-icon-pill,
body.dark-theme .service-card-icon {
  background: #212121 !important;
  border: 1px solid #3f3f3f !important;
  color: #ececec !important;
}

body.dark-theme .admin-mode-banner {
  background: #171717 !important;
  border: 1px solid #2f2f2f !important;
  border-left: 3px solid #10a37f !important;
}

body.dark-theme .admin-mode-badge {
  background: #2f2f2f !important;
  color: #ececec !important;
  border: 1px solid #424242 !important;
}

body.dark-theme .booking-link-box,
body.dark-theme .ai-assistant-card {
  background: #262626 !important;
  border: 1px solid #383838 !important;
  color: #ececec !important;
}

body.dark-theme .booking-link-box strong,
body.dark-theme .booking-link-box code {
  color: #ececec !important;
}

/* Filter Pills & Secondary Buttons in Dark Mode */
body.dark-theme .pill-filter-group {
  background: #212121 !important;
  border: 1px solid #333333 !important;
}

body.dark-theme .pill-filter-btn {
  color: #9b9ba5 !important;
}

body.dark-theme .pill-filter-btn.active {
  background: #2f2f2f !important;
  color: #ececec !important;
  box-shadow: none !important;
}

body.dark-theme .creative-filter-pill {
  background: #212121 !important;
  border-color: #383838 !important;
  color: #b4b4b4 !important;
}

body.dark-theme .creative-filter-pill.active {
  background: #ececec !important;
  color: #0d0d0d !important;
  border-color: #ececec !important;
  box-shadow: none !important;
}

body.dark-theme .support-btn,
body.dark-theme .btn-toggle-status,
body.dark-theme .btn-wizard-back,
body.dark-theme .wb-btn-preview,
body.dark-theme .day-pill,
body.dark-theme .slot-btn {
  background: #262626 !important;
  border: 1px solid #424242 !important;
  color: #ececec !important;
}

body.dark-theme .support-btn:hover,
body.dark-theme .btn-toggle-status:hover,
body.dark-theme .wb-btn-preview:hover,
body.dark-theme .day-pill:hover:not(.active),
body.dark-theme .slot-btn:hover:not(.active) {
  background: #383838 !important;
  border-color: #565656 !important;
  color: #ffffff !important;
}

body.dark-theme .day-pill.active,
body.dark-theme .slot-btn.active {
  background: #ececec !important;
  color: #0d0d0d !important;
  border-color: #ececec !important;
}

/* Inputs & Selects in Dark Mode */
body.dark-theme .form-input,
body.dark-theme .form-select,
body.dark-theme .form-textarea,
body.dark-theme .wizard-input,
body.dark-theme .wb-select-input,
body.dark-theme .wb-input-group input,
body.dark-theme .wb-input-group textarea {
  background: #212121 !important;
  border: 1px solid #424242 !important;
  color: #ececec !important;
}

body.dark-theme .form-input:focus,
body.dark-theme .form-select:focus,
body.dark-theme .form-textarea:focus {
  border-color: #737373 !important;
  box-shadow: none !important;
}

/* Donut Chart Circle in Dark Mode */
body.dark-theme .donut-svg .circle-bg {
  stroke: #2f2f2f !important;
}

body.dark-theme .suite-badge-blue,
body.dark-theme .suite-badge-green,
body.dark-theme .suite-badge-purple,
body.dark-theme .suite-badge-amber,
body.dark-theme .asset-badge {
  background: #2f2f2f !important;
  color: #d1d1d6 !important;
  border: 1px solid #424242 !important;
}

/* ChatGPT AI Side Drawer in Dark Mode */
body.dark-theme .ai-drawer {
  background: #171717 !important;
  border-right: 1px solid #2f2f2f !important;
  box-shadow: 16px 0 45px rgba(0, 0, 0, 0.55) !important;
}

body.dark-theme .ai-drawer-header {
  background: #171717 !important;
  border-bottom: 1px solid #262626 !important;
  color: #ececec !important;
}

body.dark-theme .ai-chips-scroller {
  background: #171717 !important;
  border-bottom: 1px solid #262626 !important;
}

body.dark-theme .ai-prompt-chip {
  background: #262626 !important;
  border: 1px solid #383838 !important;
  color: #d1d1d6 !important;
}

body.dark-theme .ai-prompt-chip:hover {
  background: #2f2f2f !important;
  border-color: #525252 !important;
  color: #ffffff !important;
}

body.dark-theme .ai-chat-feed {
  background: #212121 !important;
}

body.dark-theme .ai-msg-user {
  background: #2f2f2f !important;
  color: #ececec !important;
  border: 1px solid #3f3f3f !important;
}

body.dark-theme .ai-msg-bot {
  background: #171717 !important;
  border: 1px solid #2f2f2f !important;
  color: #ececec !important;
}

body.dark-theme .ai-thinking-box {
  background: #171717 !important;
  border: 1px solid #2f2f2f !important;
}

body.dark-theme .ai-drawer-footer {
  background: #212121 !important;
  border-top: 1px solid #2f2f2f !important;
}

body.dark-theme .ai-input-wrapper {
  background: #2f2f2f !important;
  border: 1px solid #424242 !important;
}

body.dark-theme .ai-input-wrapper:focus-within {
  border-color: #6b6b6b !important;
}

body.dark-theme .ai-textarea {
  background: transparent !important;
  border: none !important;
  color: #ececec !important;
}

body.dark-theme .ai-send-button {
  background: #ececec !important;
  color: #0d0d0d !important;
}

/* Protect DIN-5008 Printable Sheet from Dark Theme */
body.dark-theme .offer-letterhead {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
}
body.dark-theme .offer-letterhead * {
  color: inherit !important;
}
body.dark-theme .offer-letterhead .letter-brand-logo i {
  color: #0284c7 !important;
}
body.dark-theme .offer-letterhead #offerOutCopay {
  color: #166534 !important;
}

/* ========================================================
   8. REAL QR CODE & AUFSTELLER PRINT STYLES
   ======================================================== */
#reviewQrCodeContainer canvas {
  display: none !important;
}

#reviewQrCodeContainer img {
  display: block !important;
  margin: 0 auto !important;
  width: 160px !important;
  height: 160px !important;
  border-radius: 6px;
}

@media print {
  body.printing-qr #marketingAppContainer > aside,
  body.printing-qr #marketingAppContainer > header,
  body.printing-qr .ai-drawer,
  body.printing-qr .ai-drawer-backdrop,
  body.printing-qr .top-header,
  body.printing-qr .sidebar,
  body.printing-qr .admin-mode-banner,
  body.printing-qr #view-overview,
  body.printing-qr #view-leads,
  body.printing-qr #view-campaigns,
  body.printing-qr #view-websites,
  body.printing-qr #view-creatives,
  body.printing-qr #view-booking,
  body.printing-qr #view-offers,
  body.printing-qr #view-stats,
  body.printing-qr #view-academy,
  body.printing-qr #view-settings,
  body.printing-qr .reviews-grid > div:last-child,
  body.printing-qr .card-header-row,
  body.printing-qr button {
    display: none !important;
  }

  body.printing-qr #view-reviews {
    display: block !important;
    position: static !important;
  }

  body.printing-qr .content-card {
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  body.printing-qr #reviewQrCanvasWrapper {
    border: 3px solid #0f172a !important;
    padding: 24px !important;
    margin: 40px auto !important;
    display: block !important;
    text-align: center;
    width: fit-content;
  }
}


/* ========================================================
   9. MILLION-DOLLAR ENTERPRISE UI COMPONENTS
   (Segmented Controls, Kunden-Inbox Command Center, Websites Header, Modern Scrollbars)
   ======================================================== */

/* Modern Sleek Scrollbars in Dark Mode */
body.dark-theme ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

body.dark-theme ::-webkit-scrollbar-track {
  background: #171717;
}

body.dark-theme ::-webkit-scrollbar-thumb {
  background: #383838;
  border-radius: 999px;
}

body.dark-theme ::-webkit-scrollbar-thumb:hover {
  background: #525252;
}

body.dark-theme .ai-chat-feed::-webkit-scrollbar-track {
  background: transparent;
}

body.dark-theme .ai-chat-feed::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.14);
  border-radius: 999px;
}

body.dark-theme .ai-chat-feed::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.26);
}

/* Global Pill Filter Group Upgrade (No multi-line wrapping) */
.pill-filter-group {
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  gap: 4px !important;
  padding: 4px !important;
  border-radius: 10px !important;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
}

.pill-filter-btn {
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  padding: 6px 13px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border-radius: 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  line-height: 1.2 !important;
}

/* Enterprise Segmented Control (Websites & Inbox Filter Bar) */
.enterprise-segmented-control {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  padding: 5px;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  flex-shrink: 0;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .enterprise-segmented-control {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding: 4px !important;
    box-sizing: border-box !important;
    flex-wrap: nowrap !important;
  }
  .enterprise-segmented-control::-webkit-scrollbar {
    display: none !important;
  }
  .enterprise-segmented-control .seg-btn {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }
}

.seg-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 14px;
  border-radius: 8px;
  border: 1px solid transparent;
  background: transparent;
  color: #64748b;
  font-size: 12.5px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.16s cubic-bezier(0.16, 1, 0.3, 1);
}

.seg-btn i {
  font-size: 14px;
  opacity: 0.85;
}

.seg-btn:hover {
  color: #0f172a;
  background: rgba(255, 255, 255, 0.5);
}

.seg-btn.active {
  background: #ffffff;
  color: #0f172a;
  font-weight: 700;
  border-color: #e2e8f0;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
}

.seg-btn.active i {
  color: #10a37f;
  opacity: 1;
}

.seg-count {
  font-size: 11px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 999px;
  background: rgba(16, 163, 127, 0.14);
  color: #10a37f;
}

body.dark-theme .enterprise-segmented-control {
  background: #212121 !important;
  border: 1px solid #333333 !important;
}

body.dark-theme .seg-btn {
  color: #9b9ba5 !important;
}

body.dark-theme .seg-btn:hover {
  color: #ececec !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

body.dark-theme .seg-btn.active {
  background: #2f2f2f !important;
  color: #ffffff !important;
  border-color: #444444 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28) !important;
}

body.dark-theme .seg-btn.active i {
  color: #10a37f !important;
}

/* Websites Enterprise Header */
.websites-enterprise-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border-color);
}

.websites-enterprise-header .card-title-box {
  max-width: 580px;
}

.websites-enterprise-header .card-title-box h3 {
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-bottom: 4px;
}

/* Kunden-Inbox Enterprise Command Center */
.inbox-enterprise-shell {
  padding: 26px !important;
  gap: 22px;
}

.inbox-enterprise-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border-color);
}

.inbox-status-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #10a37f;
  background: rgba(16, 163, 127, 0.1);
  border: 1px solid rgba(16, 163, 127, 0.25);
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 10px;
}

.inbox-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10a37f;
  box-shadow: 0 0 8px #10a37f;
}

.inbox-main-title {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--navy);
  letter-spacing: -0.02em;
  margin: 0 0 4px 0;
}

.inbox-main-subtitle {
  font-size: 13px !important;
  color: var(--text-muted);
  margin: 0;
}

.inbox-telemetry-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

@media (max-width: 960px) {
  .inbox-telemetry-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.inbox-telemetry-card {
  background: var(--bg-subtle);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 13px;
}

body.dark-theme .inbox-telemetry-card {
  background: #212121 !important;
  border: 1px solid #303030 !important;
}

.telemetry-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--text-main);
  flex-shrink: 0;
}

.telemetry-icon-emerald {
  color: #10a37f !important;
  background: rgba(16, 163, 127, 0.12) !important;
  border-color: rgba(16, 163, 127, 0.28) !important;
}

.telemetry-label {
  display: block;
  font-size: 11.5px;
  color: var(--text-muted);
  margin-bottom: 2px;
}

.telemetry-value {
  font-size: 17px;
  font-weight: 800;
  color: var(--text-main);
  letter-spacing: -0.02em;
}

.telemetry-status-ok {
  font-size: 13.5px;
  color: #10a37f;
}

/* Inbox Search Bar */
.inbox-search-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
}

.inbox-search-input-wrap {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
}

.inbox-search-input-wrap i {
  position: absolute;
  left: 14px;
  font-size: 16px;
  color: var(--text-muted);
  pointer-events: none;
}

.inbox-search-input {
  width: 100%;
  padding: 11px 16px 11px 40px;
  border-radius: 10px;
  border: 1px solid var(--border-color);
  background: var(--bg-subtle);
  color: var(--text-main);
  font-size: 13px;
  font-family: inherit;
  outline: none;
  transition: border-color 0.15s ease;
}

body.dark-theme .inbox-search-input {
  background: #212121 !important;
  border: 1px solid #333333 !important;
  color: #ececec !important;
}

body.dark-theme .inbox-search-input:focus {
  border-color: #525252 !important;
}

/* Enterprise Empty State for Inbox */
.inbox-empty-enterprise {
  background: var(--bg-subtle);
  border: 1px solid var(--border-color);
  border-radius: 14px;
  padding: 52px 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

body.dark-theme .inbox-empty-enterprise {
  background: #212121 !important;
  border: 1px solid #2e2e2e !important;
}

.inbox-empty-icon-ring {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(16, 163, 127, 0.1);
  border: 1px solid rgba(16, 163, 127, 0.25);
  color: #10a37f;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  margin-bottom: 16px;
}

.inbox-empty-title {
  font-size: 16px;
  font-weight: 800;
  color: var(--text-main);
  margin: 0 0 6px 0;
}

.inbox-empty-desc {
  font-size: 13px;
  color: var(--text-muted);
  max-width: 460px;
  line-height: 1.55;
  margin: 0 0 20px 0;
}

.inbox-empty-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}

/* Enterprise Lead Item Card */
.lead-enterprise-card {
  background: var(--bg-subtle);
  border: 1px solid var(--border-color);
  border-radius: 14px;
  padding: 18px 20px;
  margin-bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: border-color 0.15s ease;
}

body.dark-theme .lead-enterprise-card {
  background: #212121 !important;
  border: 1px solid #333333 !important;
}

body.dark-theme .lead-enterprise-card:hover {
  border-color: #4a4a4a !important;
}

.lead-enterprise-msg-box {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-left: 3px solid #10a37f;
  border-radius: 8px;
  padding: 11px 14px;
  font-size: 13px;
  color: var(--text-main);
  line-height: 1.5;
}

body.dark-theme .lead-enterprise-msg-box {
  background: #171717 !important;
  border-color: #2f2f2f !important;
  border-left: 3px solid #10a37f !important;
}

.lead-enterprise-footer {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: 10px;
  padding: 11px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

body.dark-theme .lead-enterprise-footer {
  background: #171717 !important;
  border-color: #2c2c2c !important;
}


/* ========================================================
   10. ENTERPRISE SETTINGS, SAVED WEBSITES & GPT-DARK PUBLISH MODAL
   ======================================================== */

/* Settings Enterprise Cards */
.settings-enterprise-card {
  background: var(--bg-subtle, #f8fafc);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 16px;
  padding: 22px 24px;
}

.settings-card-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border-color, #e2e8f0);
}

.settings-card-icon {
  width: 42px;
  height: 42px;
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}

.settings-card-head h4 {
  margin: 0 0 3px 0;
  font-size: 15.5px;
  font-weight: 800;
  color: var(--navy, #0f172a);
}

.settings-card-head p {
  margin: 0;
  font-size: 12.5px;
  color: var(--text-muted, #64748b);
}

.settings-uid-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  background: var(--bg-card, #ffffff);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 12px;
}

.settings-uid-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted, #64748b);
  margin-bottom: 4px;
}

.settings-uid-value {
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy, #0f172a);
  letter-spacing: 0.02em;
}

.settings-sync-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 700;
  background: rgba(16, 163, 127, 0.14);
  color: #10b981;
  border: 1px solid rgba(16, 163, 127, 0.28);
}

.settings-optional-tag {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  background: rgba(148, 163, 184, 0.15);
  color: #94a3b8;
  vertical-align: middle;
}

.settings-form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

@media (max-width: 900px) {
  .settings-form-grid {
    grid-template-columns: 1fr !important;
  }
}

.settings-save-footer {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--border-color, #e2e8f0);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
}

body.dark-theme .settings-enterprise-card {
  background: #212121 !important;
  border: 1px solid #303030 !important;
}

body.dark-theme .settings-card-head {
  border-bottom-color: #2f2f2f !important;
}

body.dark-theme .settings-uid-bar {
  background: #171717 !important;
  border: 1px solid #2f2f2f !important;
}

body.dark-theme .settings-uid-value {
  color: #10b981 !important;
}

/* Saved & Published Websites Bar in #view-websites */
.saved-websites-shell {
  background: #212121;
  border: 1px solid #333333;
  border-radius: 16px;
  padding: 18px 20px;
}

body:not(.dark-theme) .saved-websites-shell {
  background: #f8fafc;
  border-color: #e2e8f0;
}

.saved-websites-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.saved-websites-title {
  font-size: 14px;
  font-weight: 800;
  color: #ececec;
  display: flex;
  align-items: center;
  gap: 8px;
}

body:not(.dark-theme) .saved-websites-title {
  color: #0f172a;
}

.saved-websites-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr));
  gap: 14px;
}

.saved-site-card {
  background: #171717;
  border: 1px solid #2f2f2f;
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 16px;
  min-width: 0;
  transition: border-color 0.16s ease;
}

.saved-site-card:hover {
  border-color: #4a4a4a;
}

body:not(.dark-theme) .saved-site-card {
  background: #ffffff;
  border-color: #e2e8f0;
}

.saved-site-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
}

body.dark-theme .toast-msg {
  background: #171717 !important;
  color: #ececec !important;
  border: 1px solid rgba(16, 163, 127, 0.45) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.65) !important;
}

.saved-site-badge.live {
  background: rgba(16, 163, 127, 0.16);
  color: #10b981;
  border: 1px solid rgba(16, 163, 127, 0.3);
}

.saved-site-badge.draft {
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.3);
}

/* Website Builder Save Draft Button & Dark Hosting Card */
.wb-btn-save-draft {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 15px;
  border-radius: 9px;
  background: #262626;
  border: 1px solid #3f3f46;
  color: #ececec;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
}

.wb-btn-save-draft:hover {
  background: #323232;
  border-color: #52525b;
  color: #ffffff;
}

.wb-hosting-card-dark {
  background: #18181b !important;
  border: 1px solid #27272a !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
}

.wb-check-avail-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 7px;
  background: rgba(16, 163, 127, 0.15);
  border: 1px solid rgba(16, 163, 127, 0.35);
  color: #10b981;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
}

.wb-check-avail-btn:hover {
  background: rgba(16, 163, 127, 0.25);
}

/* GPT-Dark Style Publish & Verification Modal */
.publish-modal-overlay {
  background: rgba(0, 0, 0, 0.78) !important;
  backdrop-filter: blur(10px) !important;
  z-index: 999999 !important;
}

.publish-modal-card.publish-modal-gpt-dark {
  background: #171717 !important;
  border: 1px solid #303030 !important;
  border-radius: 20px !important;
  padding: 32px 30px !important;
  max-width: 480px !important;
  width: 92% !important;
  color: #ececec !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(255, 255, 255, 0.06) !important;
  text-align: center;
}

.publish-modal-gpt-dark .publish-modal-title {
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 8px 0 !important;
}

.publish-modal-gpt-dark .publish-modal-sub {
  color: #9b9ba5 !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  margin: 0 0 20px 0 !important;
}

.publish-modal-gpt-dark .publish-modal-icon {
  width: 58px !important;
  height: 58px !important;
  border-radius: 16px !important;
  background: rgba(16, 163, 127, 0.16) !important;
  border: 1px solid rgba(16, 163, 127, 0.35) !important;
  color: #10b981 !important;
  font-size: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 14px auto !important;
  box-shadow: 0 0 30px rgba(16, 163, 127, 0.25) !important;
}

.publish-modal-gpt-dark .publish-modal-icon.publish-icon-error {
  background: rgba(239, 68, 68, 0.16) !important;
  border-color: rgba(239, 68, 68, 0.35) !important;
  color: #f87171 !important;
  box-shadow: 0 0 30px rgba(239, 68, 68, 0.2) !important;
}

.publish-live-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 11px;
  border-radius: 999px;
  background: rgba(16, 163, 127, 0.14);
  border: 1px solid rgba(16, 163, 127, 0.3);
  color: #10b981;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}

.publish-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px #10b981;
}

/* Orbital Spinner in Stage 1 */
.publish-gpt-spinner-wrap {
  position: relative;
  width: 62px;
  height: 62px;
  margin: 0 auto 18px auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.publish-gpt-spinner-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2.5px solid rgba(16, 163, 127, 0.18);
  border-top-color: #10b981;
  animation: gptSpin 0.95s linear infinite;
}

.publish-gpt-spinner-icon {
  font-size: 24px;
  color: #10b981;
}

@keyframes gptSpin {
  to { transform: rotate(360deg); }
}

.publish-steps-list {
  background: #212121;
  border: 1px solid #2f2f2f;
  border-radius: 12px;
  padding: 12px 14px;
  text-align: left;
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.publish-step-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  color: #71717a;
  font-weight: 600;
  transition: color 0.2s ease;
}

.publish-step-item.active {
  color: #ececec;
}

.publish-step-item.done {
  color: #10b981;
}

.publish-step-icon {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}

.publish-gpt-progress-track {
  width: 100%;
  height: 5px;
  border-radius: 999px;
  background: #262626;
  overflow: hidden;
}

.publish-gpt-progress-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #10a37f, #34d399);
  transition: width 0.35s ease;
}

.publish-modal-gpt-dark .publish-url-box {
  background: #212121 !important;
  border: 1px solid #333333 !important;
  border-radius: 12px !important;
  padding: 10px 12px 10px 14px !important;
  margin-bottom: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

.publish-modal-gpt-dark .publish-url-text {
  color: #ececec !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.publish-modal-gpt-dark .publish-copy-btn {
  background: #2f2f2f !important;
  border: 1px solid #424242 !important;
  color: #ececec !important;
  padding: 6px 12px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer;
  flex-shrink: 0;
}

.publish-modal-gpt-dark .publish-copy-btn:hover {
  background: #3a3a3a !important;
  color: #ffffff !important;
}

.publish-modal-gpt-dark .publish-btn-open {
  background: #ececec !important;
  color: #0f0f0f !important;
  font-weight: 800 !important;
  border-radius: 10px !important;
  padding: 11px 18px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex: 1 !important;
  border: none !important;
}

.publish-modal-gpt-dark .publish-btn-open:hover {
  background: #ffffff !important;
}

.publish-modal-gpt-dark .publish-btn-dismiss {
  background: #262626 !important;
  color: #d1d1d6 !important;
  border: 1px solid #383838 !important;
  border-radius: 10px !important;
  padding: 11px 16px !important;
  font-weight: 700 !important;
  cursor: pointer;
}

.publish-modal-gpt-dark .publish-btn-dismiss:hover {
  background: #303030 !important;
  color: #ffffff !important;
}


/* ========================================================
   11. WEBSITE BUILDER (#websiteBuilderModal) FULL DARK MODE
   ======================================================== */
#websiteBuilderModal,
.wb-modal {
  background: #0d0d0d !important;
  color: #ececec !important;
}

.wb-top-bar {
  background: #171717 !important;
  border-bottom: 1px solid #262626 !important;
}

.wb-brand-icon {
  background: #10a37f !important;
  color: #ffffff !important;
}

.wb-template-tag {
  background: #262626 !important;
  color: #10b981 !important;
  border: 1px solid #383838 !important;
}

.wb-device-switcher {
  background: #212121 !important;
  border: 1px solid #303030 !important;
}

.wb-device-btn {
  color: #9b9ba5 !important;
}

.wb-device-btn:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

.wb-device-btn.active {
  background: #2f2f2f !important;
  color: #ffffff !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35) !important;
}

.wb-btn-icon {
  background: #212121 !important;
  border: 1px solid #333333 !important;
  color: #b4b4be !important;
}

.wb-btn-icon:hover {
  background: #2f2f2f !important;
  color: #ffffff !important;
}

/* Left Sidebar Panel & Tabs in Dark Mode */
.wb-sidebar-panel {
  background: #171717 !important;
  border-right: 1px solid #2a2a2a !important;
  color: #ececec !important;
}

.wb-tabs-nav {
  background: #121212 !important;
  border-bottom: 1px solid #262626 !important;
  scrollbar-color: #333333 transparent !important;
}

.wb-tab-btn {
  color: #9b9ba5 !important;
  background: transparent !important;
}

.wb-tab-btn:hover {
  color: #ececec !important;
  background: rgba(255, 255, 255, 0.05) !important;
}

.wb-tab-btn.active {
  background: #171717 !important;
  color: #ffffff !important;
  border-bottom: 2px solid #10a37f !important;
}

.wb-tab-btn.active i {
  color: #10a37f !important;
}

.wb-panel-inner {
  background: #171717 !important;
  color: #ececec !important;
}

.wb-form-section {
  border-bottom: 1px solid #262626 !important;
}

.wb-section-title {
  color: #ececec !important;
}

.wb-section-title i {
  color: #10a37f !important;
}

.wb-input-group label {
  color: #b4b4be !important;
}

.wb-input-group input,
.wb-input-group textarea,
.wb-select-input {
  background: #212121 !important;
  border: 1px solid #333333 !important;
  color: #ececec !important;
}

.wb-input-group input::placeholder,
.wb-input-group textarea::placeholder {
  color: #6b6b76 !important;
}

.wb-input-group input:focus,
.wb-input-group textarea:focus,
.wb-select-input:focus {
  border-color: #10a37f !important;
  box-shadow: 0 0 0 3px rgba(16, 163, 127, 0.16) !important;
  background: #262626 !important;
}

/* Subdomain Input Wrap in Dark Mode */
.wb-subdomain-input-wrap {
  background: #212121 !important;
  border: 1px solid #333333 !important;
}

.wb-subdomain-input-wrap:focus-within {
  border-color: #10a37f !important;
  box-shadow: 0 0 0 3px rgba(16, 163, 127, 0.16) !important;
}

.wb-subdomain-prefix {
  background: #141414 !important;
  color: #9b9ba5 !important;
  border-right: 1px solid #2c2c2c !important;
}

.wb-subdomain-input-wrap input {
  background: #212121 !important;
  color: #10b981 !important;
}

.wb-live-status-pill {
  background: #212121 !important;
  color: #9b9ba5 !important;
  border: 1px solid #303030 !important;
}

.wb-live-status-pill.live {
  background: rgba(16, 163, 127, 0.14) !important;
  color: #10b981 !important;
  border: 1px solid rgba(16, 163, 127, 0.3) !important;
}

/* Logo Selector Tabs & Vector Icon Cards in Dark Mode */
.wb-logo-type-tabs {
  background: #212121 !important;
  border: 1px solid #303030 !important;
}

.wb-logo-tab {
  color: #9b9ba5 !important;
}

.wb-logo-tab.active {
  background: #2f2f2f !important;
  color: #ffffff !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35) !important;
}

.wb-vector-icon-card,
.wb-icon-choice {
  background: #212121 !important;
  border: 1.5px solid #303030 !important;
  color: #d1d1d6 !important;
}

.wb-vector-icon-card span,
.wb-icon-choice span {
  color: #9b9ba5 !important;
}

.wb-vector-icon-card:hover,
.wb-icon-choice:hover {
  background: #2a2a2a !important;
  border-color: #4a4a4a !important;
  color: #ffffff !important;
}

.wb-vector-icon-card.active,
.wb-icon-choice.active {
  background: rgba(16, 163, 127, 0.15) !important;
  border-color: #10a37f !important;
  color: #10b981 !important;
  box-shadow: 0 0 0 2px rgba(16, 163, 127, 0.25) !important;
}

.wb-vector-icon-card.active span,
.wb-icon-choice.active span {
  color: #10b981 !important;
}

/* Subcards (Leistungen, Schritte, FAQs) & Upload Buttons in Dark Mode */
.wb-subcard-editor {
  background: #212121 !important;
  border: 1px solid #2f2f2f !important;
}

.wb-subcard-title {
  color: #10b981 !important;
}

.wb-upload-btn {
  background: #212121 !important;
  border: 1px dashed #3f3f46 !important;
  color: #d1d1d6 !important;
}

.wb-upload-btn:hover {
  background: #2a2a2a !important;
  border-color: #10a37f !important;
  color: #ffffff !important;
}

#wbHexLabel {
  color: #ececec !important;
}

/* Right Preview Canvas & Browser Frame Header in Dark Mode */
.wb-preview-canvas {
  background: #0d0d0d !important;
}

.wb-device-header {
  background: #171717 !important;
  border-bottom: 1px solid #262626 !important;
}

.wb-address-bar {
  background: #0d0d0d !important;
  color: #9b9ba5 !important;
  border: 1px solid #262626 !important;
}


/* ========================================================
   12. CAMPAIGN BUILDER MODAL (#campaignBuilderModal) FULL DARK MODE
   ======================================================== */
#campaignBuilderModal.modal-backdrop {
  background: rgba(0, 0, 0, 0.78) !important;
  backdrop-filter: blur(8px) !important;
}

#campaignBuilderModal .modal-container {
  background: #171717 !important;
  border: 1px solid #2e2e2e !important;
  color: #ececec !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.75) !important;
}

#campaignBuilderModal .modal-header {
  background: #141414 !important;
  border-bottom: 1px solid #262626 !important;
}

#campaignBuilderModal .modal-title-box h2 {
  color: #ffffff !important;
}

#campaignBuilderModal .modal-title-box p {
  color: #9b9ba5 !important;
}

#campaignBuilderModal .btn-close-modal {
  background: #212121 !important;
  border: 1px solid #333333 !important;
  color: #b4b4be !important;
}

#campaignBuilderModal .btn-close-modal:hover {
  background: #2f2f2f !important;
  color: #ffffff !important;
}

/* Wizard Step Tabs Bar in Dark Mode (Fixes white active tab!) */
.wizard-progress-bar,
body.dark-theme .wizard-progress-bar {
  background: #121212 !important;
  border-bottom: 1px solid #262626 !important;
}

.wizard-step-tab,
body.dark-theme .wizard-step-tab {
  background: transparent !important;
  color: #8e8ea0 !important;
  border-bottom: 2px solid transparent !important;
  transition: all 0.16s ease !important;
}

.wizard-step-tab:hover,
body.dark-theme .wizard-step-tab:hover {
  background: rgba(255, 255, 255, 0.03) !important;
  color: #d1d1d6 !important;
}

.wizard-step-tab.active,
body.dark-theme .wizard-step-tab.active {
  background: #1e1e1e !important;
  color: #10b981 !important;
  border-bottom: 2px solid #10a37f !important;
  font-weight: 700 !important;
}

.wizard-step-tab.completed,
body.dark-theme .wizard-step-tab.completed {
  background: rgba(16, 163, 127, 0.06) !important;
  color: #10b981 !important;
}

.step-num-circle,
body.dark-theme .step-num-circle {
  background: #262626 !important;
  color: #9b9ba5 !important;
  border: 1px solid #383838 !important;
}

.wizard-step-tab.active .step-num-circle,
body.dark-theme .wizard-step-tab.active .step-num-circle {
  background: #10a37f !important;
  color: #ffffff !important;
  border-color: #10a37f !important;
  box-shadow: 0 0 10px rgba(16, 163, 127, 0.4) !important;
}

.wizard-step-tab.completed .step-num-circle,
body.dark-theme .wizard-step-tab.completed .step-num-circle {
  background: rgba(16, 163, 127, 0.22) !important;
  color: #10b981 !important;
  border-color: rgba(16, 163, 127, 0.45) !important;
}

#campaignBuilderModal .modal-body {
  background: #171717 !important;
  color: #ececec !important;
}

#campaignBuilderModal .modal-footer {
  background: #141414 !important;
  border-top: 1px solid #262626 !important;
}

/* Creative Filter Pills in Dark Mode (No glaring white pill) */
.creative-filter-bar,
body.dark-theme .creative-filter-bar {
  border-bottom-color: #262626 !important;
}

.creative-filter-pill,
body.dark-theme .creative-filter-pill {
  background: #212121 !important;
  border: 1px solid #333333 !important;
  color: #9b9ba5 !important;
}

.creative-filter-pill:hover,
body.dark-theme .creative-filter-pill:hover {
  background: #2a2a2a !important;
  border-color: #444444 !important;
  color: #ffffff !important;
}

.creative-filter-pill.active,
body.dark-theme .creative-filter-pill.active {
  background: rgba(16, 163, 127, 0.16) !important;
  border: 1px solid #10a37f !important;
  color: #10b981 !important;
  box-shadow: 0 0 0 2px rgba(16, 163, 127, 0.18) !important;
}

/* Creative Asset Cards in Modal & Studio */
#campaignBuilderModal .creative-asset-card,
body.dark-theme .creative-asset-card {
  background: #212121 !important;
  border: 1.5px solid #303030 !important;
}

#campaignBuilderModal .creative-asset-card:hover,
body.dark-theme .creative-asset-card:hover {
  border-color: #4a4a4a !important;
}

#campaignBuilderModal .creative-asset-card.selected,
body.dark-theme .creative-asset-card.selected {
  border-color: #10a37f !important;
  box-shadow: 0 0 0 3px rgba(16, 163, 127, 0.28) !important;
}

#campaignBuilderModal .creative-asset-content,
body.dark-theme .creative-asset-content {
  background: #212121 !important;
}

/* Step 1 Service Select Cards in Dark Mode */
#campaignBuilderModal .service-select-card,
body.dark-theme .service-select-card {
  background: #212121 !important;
  border: 1.5px solid #303030 !important;
  color: #ececec !important;
}

#campaignBuilderModal .service-select-card:hover,
body.dark-theme .service-select-card:hover {
  background: #282828 !important;
  border-color: #484848 !important;
}

#campaignBuilderModal .service-select-card.selected,
body.dark-theme .service-select-card.selected {
  background: rgba(16, 163, 127, 0.12) !important;
  border-color: #10a37f !important;
  box-shadow: 0 0 0 2px rgba(16, 163, 127, 0.2) !important;
}

#campaignBuilderModal .service-select-card.selected .service-card-icon,
body.dark-theme .service-select-card.selected .service-card-icon {
  background: #10a37f !important;
  border-color: #10a37f !important;
  color: #ffffff !important;
}

/* Step 4 AI Copywriting & Headlines in Dark Mode */
#campaignBuilderModal .ai-assistant-card,
body.dark-theme .ai-assistant-card {
  background: #212121 !important;
  border: 1px solid #333333 !important;
}

#campaignBuilderModal .btn-ai-generate,
body.dark-theme .btn-ai-generate {
  background: #10a37f !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

#campaignBuilderModal .btn-ai-generate:hover,
body.dark-theme .btn-ai-generate:hover {
  background: #0e906f !important;
}

#campaignBuilderModal .ai-headline-pill,
body.dark-theme .ai-headline-pill {
  background: #212121 !important;
  border: 1px solid #333333 !important;
  color: #d1d1d6 !important;
}

#campaignBuilderModal .ai-headline-pill:hover,
body.dark-theme .ai-headline-pill:hover {
  background: #2a2a2a !important;
  border-color: #484848 !important;
  color: #ffffff !important;
}

#campaignBuilderModal .ai-headline-pill.selected,
body.dark-theme .ai-headline-pill.selected {
  background: rgba(16, 163, 127, 0.14) !important;
  border-color: #10a37f !important;
  color: #10b981 !important;
}

/* Step 4, 5, 6 Notice Boxes in Dark Mode */
.wizard-dark-box {
  background: #212121 !important;
  border: 1px solid #333333 !important;
  color: #d1d1d6 !important;
}

.wizard-dark-emerald {
  background: rgba(16, 163, 127, 0.1) !important;
  border: 1px solid rgba(16, 163, 127, 0.3) !important;
  color: #d1fae5 !important;
}

.wizard-dark-blue {
  background: rgba(14, 165, 233, 0.1) !important;
  border: 1px solid rgba(14, 165, 233, 0.28) !important;
  color: #e0f2fe !important;
}

.wizard-dark-amber {
  background: rgba(245, 158, 11, 0.1) !important;
  border: 1px solid rgba(245, 158, 11, 0.28) !important;
  color: #fde68a !important;
}

/* Step 6 Phone Ad Mockup & Summary Cards in Dark Mode */
#campaignBuilderModal .phone-mockup-frame,
body.dark-theme .phone-mockup-frame {
  background: #1e1e1e !important;
  border: 2px solid #333333 !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.5) !important;
}

#campaignBuilderModal .phone-ad-brand h5,
body.dark-theme .phone-ad-brand h5 {
  color: #ffffff !important;
}

#campaignBuilderModal .phone-ad-text,
body.dark-theme .phone-ad-text {
  color: #d1d1d6 !important;
}

#campaignBuilderModal .phone-ad-bottom-bar,
body.dark-theme .phone-ad-bottom-bar {
  background: #282828 !important;
  border: 1px solid #383838 !important;
}

#campaignBuilderModal .phone-ad-bottom-title,
body.dark-theme .phone-ad-bottom-title {
  color: #ffffff !important;
}

#campaignBuilderModal .summary-param-card,
body.dark-theme .summary-param-card {
  background: #212121 !important;
  border: 1px solid #333333 !important;
}

#campaignBuilderModal .summary-param-card h4,
body.dark-theme .summary-param-card h4 {
  color: #9b9ba5 !important;
}

#campaignBuilderModal .summary-param-card p,
body.dark-theme .summary-param-card p {
  color: #ffffff !important;
  font-weight: 700 !important;
  margin: 4px 0 0 0 !important;
}


/* ========================================================
   13. ADMIN-ZENTRALE (#view-admin) ENTERPRISE DARK MODE STYLES
   ======================================================== */
.admin-sec-block {
  margin-bottom: 22px;
}

.admin-empty-box {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  background: #1a1a1a !important;
  border: 1px dashed #333333 !important;
  border-radius: 12px;
}

.admin-empty-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(16, 163, 127, 0.14);
  color: #10b981;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
}

.admin-empty-box h5 {
  margin: 0 0 4px 0;
  font-size: 14px;
  font-weight: 700;
  color: #ffffff;
}

.admin-empty-box p {
  margin: 0;
  font-size: 12.5px;
  color: #9b9ba5;
  line-height: 1.45;
}

.admin-records-grid {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.admin-record-card {
  background: #1b1b1b !important;
  border: 1px solid #303030 !important;
  border-radius: 14px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: border-color 0.16s ease;
}

.admin-record-card:hover {
  border-color: #444444 !important;
}

.admin-record-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.admin-camp-thumb {
  width: 68px;
  height: 82px;
  border-radius: 10px;
  object-fit: cover;
  border: 1px solid #333333;
  flex-shrink: 0;
}

.admin-record-title {
  font-size: 15px;
  font-weight: 800;
  color: #ffffff;
}

.admin-record-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  color: #9b9ba5;
}

.admin-record-meta code {
  background: #262626;
  color: #10b981;
  padding: 2px 6px;
  border-radius: 5px;
  font-size: 11px;
  border: 1px solid #383838;
}

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

.admin-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.15s ease;
  white-space: nowrap;
}

.admin-btn-approve {
  background: #10a37f !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

.admin-btn-approve:hover {
  background: #0e906f !important;
  transform: translateY(-1px);
}

.admin-btn-pause {
  background: rgba(245, 158, 11, 0.14) !important;
  color: #fbbf24 !important;
  border-color: rgba(245, 158, 11, 0.35) !important;
}

.admin-btn-pause:hover {
  background: rgba(245, 158, 11, 0.24) !important;
}

.admin-btn-neutral {
  background: #262626 !important;
  color: #e4e4e7 !important;
  border-color: #3a3a3a !important;
}

.admin-btn-neutral:hover {
  background: #323232 !important;
  color: #ffffff !important;
}

.admin-btn-delete {
  background: rgba(239, 68, 68, 0.12) !important;
  color: #f87171 !important;
  border-color: rgba(239, 68, 68, 0.32) !important;
}

.admin-btn-delete:hover {
  background: rgba(239, 68, 68, 0.24) !important;
  color: #fca5a5 !important;
}

.admin-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}

.admin-status-pill .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

.admin-status-pill.status-live {
  background: rgba(16, 163, 127, 0.16);
  color: #10b981;
  border: 1px solid rgba(16, 163, 127, 0.35);
}

.admin-status-pill.status-pending {
  background: rgba(245, 158, 11, 0.16);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.35);
}

.admin-status-pill.status-paused {
  background: #262626;
  color: #9b9ba5;
  border: 1px solid #383838;
}

.admin-status-pill.status-booking {
  background: rgba(168, 85, 247, 0.16);
  color: #c084fc;
  border: 1px solid rgba(168, 85, 247, 0.35);
}

.admin-camp-details-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

@media (max-width: 860px) {
  .admin-camp-details-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.admin-detail-box {
  background: #141414;
  border: 1px solid #292929;
  border-radius: 9px;
  padding: 10px 12px;
}

.admin-detail-box .lbl {
  display: block;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #8e8ea0;
  margin-bottom: 3px;
}

.admin-detail-box strong {
  font-size: 12.5px;
  color: #ececec;
}

.admin-camp-copy-box {
  background: #141414;
  border: 1px solid #292929;
  border-radius: 9px;
  padding: 10px 14px;
  font-size: 12px;
  line-height: 1.45;
}

/* Admin Dark Table (Subdomains & Inquiries) */
.admin-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid #2c2c2c;
  border-radius: 12px;
  background: #161616;
}

.admin-dark-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.admin-dark-table th {
  padding: 11px 12px;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #8e8ea0;
  background: #121212;
  border-bottom: 1px solid #2a2a2a;
  white-space: nowrap;
}

.admin-dark-table td {
  padding: 12px 12px;
  font-size: 12.5px;
  color: #ececec;
  border-bottom: 1px solid #242424;
  vertical-align: middle;
}

.admin-dark-table tr:last-child td {
  border-bottom: none;
}

.admin-dark-table tr:hover td {
  background: rgba(255, 255, 255, 0.02);
}

.admin-uid-chip {
  background: #222222;
  border: 1px solid #383838;
  color: #10b981;
  padding: 3px 8px;
  border-radius: 6px;
  font-family: monospace;
  font-size: 11.5px;
}

.admin-mini-icon-btn {
  background: #262626;
  border: 1px solid #383838;
  color: #b4b4be;
  width: 26px;
  height: 26px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.admin-mini-icon-btn:hover {
  background: #333333;
  color: #ffffff;
}

/* Admin Webhooks & Secrets Grid */
.admin-webhook-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 16px;
}

@media (max-width: 960px) {
  .admin-webhook-grid {
    grid-template-columns: 1fr;
  }
}

.admin-webhook-box {
  background: #161616;
  border: 1px solid #2c2c2c;
  border-radius: 12px;
  padding: 16px;
}

.admin-webhook-box .lbl {
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #9b9ba5;
}

.admin-code-line {
  display: block;
  background: #0d0d0d;
  border: 1px solid #2a2a2a;
  color: #10b981;
  padding: 10px 12px;
  border-radius: 8px;
  font-family: monospace;
  font-size: 12px;
  word-break: break-all;
}

.admin-partner-secret-row {
  background: #1f1f1f;
  border: 1px solid #303030;
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

/* Admin KPI Metric Cards (.inbox-metric-card) */
.inbox-metric-card {
  background: #1b1b1b !important;
  border: 1px solid #2e2e2e !important;
  border-radius: 14px !important;
  padding: 18px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  transition: border-color 0.16s ease !important;
}

.inbox-metric-card:hover {
  border-color: #424242 !important;
}

.inbox-metric-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

.inbox-metric-label {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #9b9ba5 !important;
}

.inbox-metric-icon {
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 17px !important;
  flex-shrink: 0 !important;
}

.inbox-metric-val {
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
}

.inbox-metric-sub {
  font-size: 11.5px !important;
  color: #8e8ea0 !important;
}

@media (max-width: 960px) {
  .top-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    height: calc(56px + max(48px, env(safe-area-inset-top, 0px))) !important;
    min-height: calc(56px + max(48px, env(safe-area-inset-top, 0px))) !important;
    padding-top: max(48px, env(safe-area-inset-top, 0px)) !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    padding-bottom: 8px !important;
    background: #171717 !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100vw !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45) !important;
  }
  body:not(.dark-theme) .top-header {
    background: #ffffff !important;
  }
  .header-title-box p {
    display: none !important;
  }
}


/* ================================================= */
/* HIGH-TECH AI LOADING SCREEN STYLES (BILD 3 UPGRADE)*/
/* ================================================= */
.ai-loading-screen {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #09090b radial-gradient(circle at center, rgba(16, 163, 127, 0.14) 0%, transparent 68%) !important;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.ai-loading-card {
  width: 100%;
  max-width: 440px;
  background: #141417 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 24px;
  padding: 38px 28px;
  text-align: center;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(16, 185, 129, 0.15);
  animation: aiCardFadeIn 0.35s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes aiCardFadeIn {
  from { opacity: 0; transform: scale(0.92); }
  to { opacity: 1; transform: scale(1); }
}

.ai-orb-wrap {
  width: 90px;
  height: 90px;
  margin: 0 auto 20px auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ai-orb-glow {
  position: absolute;
  width: 70px;
  height: 70px;
  background: rgba(16, 185, 129, 0.35);
  filter: blur(20px);
  border-radius: 50%;
  animation: aiPulseGlow 2.5s infinite alternate;
}

@keyframes aiPulseGlow {
  0% { transform: scale(0.85); opacity: 0.5; }
  100% { transform: scale(1.3); opacity: 1; }
}

.ai-orb-ring {
  position: absolute;
  border-radius: 50%;
  border: 1.5px solid transparent;
}

.ai-orb-ring.ring-1 {
  width: 86px;
  height: 86px;
  border-top-color: #10b981;
  border-right-color: rgba(16, 185, 129, 0.2);
  animation: aiSpinRing 2s linear infinite;
}

.ai-orb-ring.ring-2 {
  width: 68px;
  height: 68px;
  border-bottom-color: #06b6d4;
  border-left-color: rgba(6, 182, 212, 0.2);
  animation: aiSpinRingRev 2.8s linear infinite;
}

.ai-orb-ring.ring-3 {
  width: 52px;
  height: 52px;
  border-top-color: #8b5cf6;
  animation: aiSpinRing 1.8s linear infinite;
}

@keyframes aiSpinRing {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes aiSpinRingRev {
  from { transform: rotate(360deg); }
  to { transform: rotate(0deg); }
}

.ai-orb-core {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: linear-gradient(135deg, #10b981, #059669);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  box-shadow: 0 0 20px rgba(16, 185, 129, 0.5);
  position: relative;
  z-index: 2;
}

.ai-loading-badge-top {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.3);
  color: #10b981;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 3px 10px;
  border-radius: 999px;
  margin-bottom: 8px;
}

.ai-dot-pulse {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10b981;
  animation: pulseDot 1.5s infinite;
}

.ai-loading-title {
  color: #ffffff !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  margin: 0 0 6px 0 !important;
  letter-spacing: -0.02em;
}

.ai-loading-sub {
  color: #9ca3af !important;
  font-size: 12.5px !important;
  margin: 0 0 18px 0 !important;
}

.ai-loading-status-box {
  background: #1c1c20;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 10px 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #e4e4e7;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 18px;
}

.ai-loading-progress-track {
  width: 100%;
  height: 4px;
  background: #27272a;
  border-radius: 999px;
  overflow: hidden;
  position: relative;
}

.ai-loading-progress-beam {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 40%;
  background: linear-gradient(90deg, transparent, #10b981, #06b6d4, transparent);
  animation: aiProgressBeam 1.6s ease-in-out infinite;
}

@keyframes aiProgressBeam {
  0% { left: -40%; }
  100% { left: 100%; }
}

/* ================================================= */
/* PERMANENT DARK EMPTY STATE (FIX BILD 2 & BILD 4)  */
/* ================================================= */
.empty-state-campaigns,
#dashboardCampaignsList .empty-state-campaigns,
#fullCampaignsList .empty-state-campaigns {
  background: #18181b !important;
  border: 1px dashed rgba(255, 255, 255, 0.14) !important;
  border-radius: 16px !important;
  padding: 38px 20px !important;
  text-align: center !important;
  color: #e4e4e7 !important;
}

.empty-state-campaigns h4 {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.empty-state-campaigns p {
  color: #9ca3af !important;
  font-size: 12.5px !important;
}

/* ================================================= */
/* 1-DOMAIN LIMIT & LOCKED TEMPLATE CARDS            */
/* ================================================= */
.wb-domain-quota-banner {
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.28);
  border-radius: 14px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
  flex-wrap: wrap;
}

.wb-domain-quota-title {
  font-size: 14px;
  font-weight: 800;
  color: #10b981;
  display: flex;
  align-items: center;
  gap: 8px;
}

.wb-domain-quota-sub {
  font-size: 12px;
  color: #94a3b8;
  margin-top: 2px;
}

.wb-card-lock-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(24, 24, 27, 0.85);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #f59e0b;
  font-size: 10px;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  z-index: 3;
}

.wb-template-card.locked-card {
  opacity: 0.88;
}

.wb-btn-upgrade {
  background: rgba(245, 158, 11, 0.15) !important;
  color: #f59e0b !important;
  border: 1px solid rgba(245, 158, 11, 0.35) !important;
}

.wb-btn-upgrade:hover {
  background: #f59e0b !important;
  color: #18181b !important;
}

/* ========================================================
   9. MOLLIE CAMPAIGN CHECKOUT & 5-DAY PRODUCTION TIMELINE
   ======================================================== */

.mollie-pricing-breakdown {
  background: #18181b;
  border: 1px solid #2e2e32;
  border-radius: 14px;
  padding: 14px 16px;
  margin-bottom: 16px;
}

.mollie-breakdown-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  font-size: 12.5px;
  color: #a1a1aa;
}

.mollie-breakdown-row.highlight-netto {
  border-top: 1px solid #27272a;
  padding-top: 8px;
  margin-top: 4px;
  font-weight: 700;
  color: #e4e4e7;
}

.mollie-breakdown-row.highlight-total {
  border-top: 2px solid #10b981;
  padding-top: 10px;
  margin-top: 8px;
  font-size: 15px;
  font-weight: 800;
  color: #ffffff;
}

.mollie-methods-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 14px;
  background: #202023;
  border: 1px solid #323236;
  border-radius: 12px;
  margin-bottom: 16px;
}

.mollie-method-pill {
  font-size: 11px;
  font-weight: 700;
  color: #d4d4d8;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 4px 8px;
  border-radius: 6px;
}

/* 5-Day Production Stepper (on Campaign Card) */
.campaign-card-stepper {
  background: #18181b;
  border: 1px solid #27272a;
  border-radius: 10px;
  padding: 10px 12px;
  margin-top: 10px;
  width: 100%;
  box-sizing: border-box;
}

.campaign-card-stepper .stepper-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
  font-size: 11.5px;
}

.campaign-card-stepper .stepper-title {
  font-weight: 700;
  color: #38bdf8;
  display: flex;
  align-items: center;
  gap: 6px;
}

.campaign-card-stepper .stepper-day {
  color: #94a3b8;
  font-size: 11px;
}

.campaign-card-stepper .stepper-track {
  width: 100%;
  height: 6px;
  background: #27272a;
  border-radius: 999px;
  overflow: hidden;
  position: relative;
}

.campaign-card-stepper .stepper-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #0284c7, #10b981);
  transition: width 0.4s ease;
}

/* 5-Day Production Status Modal & Timeline */
.prod-timeline-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 18px 0;
  text-align: left;
}

.prod-timeline-item {
  position: relative;
  background: #1e1e22;
  border: 1px solid #2d2d32;
  border-radius: 12px;
  padding: 14px 16px;
  transition: all 0.2s ease;
}

.prod-timeline-item.is-completed {
  border-color: rgba(16, 185, 129, 0.4);
  background: rgba(16, 185, 129, 0.05);
}

.prod-timeline-item.is-active {
  border-color: #0284c7;
  background: rgba(2, 132, 199, 0.08);
  box-shadow: 0 0 20px rgba(2, 132, 199, 0.15);
}

.prod-timeline-item.is-upcoming {
  opacity: 0.65;
}

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

.prod-item-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.prod-step-badge {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 800;
  flex-shrink: 0;
}

.prod-timeline-item.is-completed .prod-step-badge {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
  border: 1px solid rgba(16, 185, 129, 0.4);
}

.prod-timeline-item.is-active .prod-step-badge {
  background: rgba(2, 132, 199, 0.25);
  color: #38bdf8;
  border: 1px solid rgba(2, 132, 199, 0.5);
  animation: pulseBlue 2s infinite;
}

.prod-timeline-item.is-upcoming .prod-step-badge {
  background: #27272a;
  color: #71717a;
  border: 1px solid #3f3f46;
}

.prod-item-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #ffffff;
}

.prod-item-day-tag {
  font-size: 10.5px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 999px;
  white-space: nowrap;
}

.prod-timeline-item.is-completed .prod-item-day-tag {
  background: rgba(16, 185, 129, 0.15);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.prod-timeline-item.is-active .prod-item-day-tag {
  background: rgba(2, 132, 199, 0.2);
  color: #38bdf8;
  border: 1px solid rgba(2, 132, 199, 0.4);
}

.prod-timeline-item.is-upcoming .prod-item-day-tag {
  background: #27272a;
  color: #a1a1aa;
}

.prod-item-desc {
  font-size: 12px;
  color: #a1a1aa;
  line-height: 1.5;
  margin-top: 6px;
  padding-left: 42px;
}

.prod-item-submeta {
  font-size: 11px;
  color: #64748b;
  margin-top: 4px;
  padding-left: 42px;
  display: flex;
  align-items: center;
  gap: 12px;
}

@keyframes pulseBlue {
  0% { box-shadow: 0 0 0 0 rgba(2, 132, 199, 0.5); }
  70% { box-shadow: 0 0 0 8px rgba(2, 132, 199, 0); }
  100% { box-shadow: 0 0 0 0 rgba(2, 132, 199, 0); }
}


/* ========================================================
   ENTERPRISE BOOKINGS CALENDAR SYSTEM (Mo–So, 07:00–21:00)
   ======================================================== */
.booking-cal-nav-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  padding: 4px 2px;
}

.booking-cal-month-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 800;
  color: var(--text-main);
}

.booking-cal-nav-btn {
  background: var(--bg-subtle, #f1f5f9);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 8px;
  color: var(--text-main);
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.15s ease;
}

.booking-cal-nav-btn:hover {
  background: var(--primary);
  color: #ffffff;
  border-color: var(--primary);
}

.booking-weekday-row {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  text-align: center;
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted);
}

.booking-month-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 14px;
}

.booking-grid-refined {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 20px;
  align-items: start;
  width: 100%;
}

.booking-left-col {
  width: 100%;
  max-width: 380px;
}

.booking-right-col {
  width: 100%;
  min-width: 0;
}

@media (max-width: 1024px) {
  .booking-grid-refined {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .booking-left-col {
    max-width: 100%;
  }
}

.booking-cal-day {
  height: 38px !important;
  max-height: 38px !important;
  width: 100% !important;
  aspect-ratio: auto !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid var(--border-color, #e2e8f0);
  background: var(--bg-card, #ffffff);
  color: var(--text-main);
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  position: relative;
  transition: all 0.15s ease;
  padding: 0 !important;
}

.booking-cal-day:hover:not(.is-disabled):not(.is-blank) {
  border-color: var(--primary);
  background: rgba(2, 132, 199, 0.08);
}

.booking-cal-day.is-blank {
  border-color: transparent !important;
  background: transparent !important;
  cursor: default !important;
  opacity: 0.2;
}

.booking-cal-day.is-disabled {
  opacity: 0.38;
  cursor: not-allowed;
  background: var(--bg-subtle, #f8fafc);
}

.booking-cal-day.is-today {
  border: 2px solid var(--primary) !important;
  font-weight: 800;
}

.booking-cal-day.is-selected {
  background: var(--primary) !important;
  color: #ffffff !important;
  border-color: var(--primary) !important;
  font-weight: 800;
  box-shadow: 0 4px 12px rgba(2, 132, 199, 0.3);
}

.booking-day-indicator-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #10b981;
  position: absolute;
  bottom: 3px;
}

.booking-cal-day.is-selected .booking-day-indicator-dot {
  background: #ffffff;
}

/* Slot Filter Pills */
.booking-slot-filters {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

.slot-filter-chip {
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--border-color, #cbd5e1);
  background: var(--bg-card, #ffffff);
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
}

.slot-filter-chip:hover {
  border-color: var(--primary);
  color: var(--text-main);
}

.slot-filter-chip.active {
  background: var(--primary);
  color: #ffffff;
  border-color: var(--primary);
}

/* Modal Overlay & Modal Card */
.suite-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  overflow-y: auto;
}

.suite-modal-card {
  width: 100%;
  max-width: 560px;
  background: #18181b;
  border: 1px solid #27272a;
  border-radius: 18px;
  padding: 26px 28px;
  position: relative;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.8), 0 0 40px rgba(0,0,0,0.5);
  color: #f4f4f5;
}

body.dark-theme .booking-cal-nav-btn {
  background: #262626 !important;
  border-color: #383838 !important;
  color: #ececec !important;
}

body.dark-theme .booking-cal-nav-btn:hover {
  background: #383838 !important;
  color: #ffffff !important;
}

body.dark-theme .booking-cal-day {
  background: #242424 !important;
  border-color: #383838 !important;
  color: #ececec !important;
}

body.dark-theme .booking-cal-day:hover:not(.is-disabled):not(.is-blank) {
  background: #333333 !important;
  border-color: #555555 !important;
}

body.dark-theme .booking-cal-day.is-selected {
  background: #ececec !important;
  color: #0d0d0d !important;
  border-color: #ececec !important;
}

body.dark-theme .booking-cal-day.is-selected .booking-day-indicator-dot {
  background: #0d0d0d !important;
}

body.dark-theme .slot-filter-chip {
  background: #222222 !important;
  border-color: #383838 !important;
  color: #a1a1aa !important;
}

body.dark-theme .slot-filter-chip.active {
  background: #ececec !important;
  color: #0d0d0d !important;
  border-color: #ececec !important;
}


/* ========================================================================== */
/* CUSTOM HIGH-TECH CONFIRMATION MODAL (Replaces native browser confirms)    */
/* ========================================================================== */
.custom-confirm-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 9999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.custom-confirm-overlay.active {
  opacity: 1;
}

.custom-confirm-card {
  background: #111827;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  width: 100%;
  max-width: 440px;
  padding: 24px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(255, 255, 255, 0.06);
  transform: scale(0.95) translateY(8px);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  font-family: inherit;
  color: #f1f5f9;
}

.custom-confirm-overlay.active .custom-confirm-card {
  transform: scale(1) translateY(0);
}

.custom-confirm-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

.custom-confirm-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
}

.custom-confirm-icon.danger {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

.custom-confirm-icon.info {
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.3);
}

.custom-confirm-subtitle {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #ef4444;
  margin-bottom: 2px;
}

.custom-confirm-title {
  font-size: 17px;
  font-weight: 800;
  color: #f8fafc;
  margin: 0;
  line-height: 1.25;
}

.custom-confirm-body {
  font-size: 13.5px;
  color: #94a3b8;
  line-height: 1.55;
  margin-bottom: 24px;
  padding-left: 2px;
}

.custom-confirm-body strong {
  color: #f1f5f9;
}

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

.custom-confirm-btn-cancel {
  background: #1f2937;
  color: #cbd5e1;
  border: 1px solid #374151;
  border-radius: 9px;
  padding: 9px 16px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
}

.custom-confirm-btn-cancel:hover {
  background: #374151;
  color: #ffffff;
}

.custom-confirm-btn-confirm {
  border: none;
  border-radius: 9px;
  padding: 9px 18px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.15s ease;
}

.custom-confirm-btn-confirm.danger {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(239, 68, 68, 0.4);
}

.custom-confirm-btn-confirm.danger:hover {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(239, 68, 68, 0.5);
}

.custom-confirm-btn-confirm.primary {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.4);
}

.custom-confirm-btn-confirm.primary:hover {
  background: linear-gradient(135deg, #0369a1 0%, #075985 100%);
  transform: translateY(-1px);
}

/* ========================================================
   MINIATURE HTML LIVE PREVIEWS FOR WEBSITE TEMPLATE CARDS
   ======================================================== */
.wb-card-thumb-wrap.wb-card-live-preview-wrap {
  position: relative !important;
  height: 200px !important;
  background: #ffffff !important;
  overflow: hidden !important;
  border-top-left-radius: 12px !important;
  border-top-right-radius: 12px !important;
  cursor: pointer !important;
}

.wb-card-live-frame {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 1280px !important;
  height: 720px !important;
  border: none !important;
  transform: scale(0.285) !important;
  transform-origin: top left !important;
  pointer-events: none !important;
  background: #ffffff !important;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.wb-template-card:hover .wb-card-live-frame {
  transform: scale(0.295) translateY(-8px) !important;
}

.wb-card-live-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 5 !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.2s ease !important;
  cursor: pointer !important;
}

.wb-template-card:hover .wb-card-live-overlay {
  background: rgba(15, 23, 42, 0.22) !important;
  backdrop-filter: blur(1.5px) !important;
}

.wb-card-live-hover-pill {
  opacity: 0 !important;
  transform: translateY(6px) !important;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  background: rgba(15, 23, 42, 0.88) !important;
  backdrop-filter: blur(8px) !important;
  color: #ffffff !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35) !important;
}

.wb-template-card:hover .wb-card-live-hover-pill {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

@media (max-width: 680px) {
  .paywall-plans-container {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}


/* ======================================================== */
/* MOBILE APP STORE POLISH & ZERO OVERFLOW                  */
/* ======================================================== */
.wb-btn-back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #0284c7 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 8px 16px !important;
  border-radius: 99px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  min-height: 38px !important;
  box-shadow: 0 2px 8px rgba(2, 132, 199, 0.4) !important;
  transition: transform 0.15s ease, background 0.15s ease !important;
}
.wb-btn-back:hover {
  background: #0369a1 !important;
  transform: translateY(-1px) !important;
}

.wb-phone-screen-wrap {
  width: 100%;
  height: 100%;
  flex: 1 1 auto;
  display: flex;
  position: relative;
  overflow: hidden;
}

@media (max-width: 900px) {
  /* Website Builder Fullscreen Modal Pinning */
  #websiteBuilderModal.wb-modal[style*="display: none"],
  #websiteBuilderModal.wb-modal[style*="display:none"],
  #websiteBuilderModal.wb-modal[hidden] {
    display: none !important;
  }

  #websiteBuilderModal.wb-modal:not([style*="display: none"]):not([style*="display:none"]):not([hidden]) {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 9999999 !important;
    background: #0d0d0d !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .wb-top-bar {
    min-height: calc(56px + max(16px, env(safe-area-inset-top, 0px))) !important;
    padding-top: max(16px, env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 8px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    background: #171717 !important;
    border-bottom: 1px solid #262626 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    flex-shrink: 0 !important;
    z-index: 20 !important;
  }
  .wb-top-bar::-webkit-scrollbar {
    display: none !important;
  }

  /* Mobile Header Simplification (Crossed out by User in media_1793867914144_56aa3874.png) */
  .wb-brand-box {
    display: none !important;
  }
  .wb-mobile-view-toggle {
    display: none !important;
  }
  .wb-device-switcher {
    display: none !important;
  }
  .wb-btn-back {
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
  }
  .wb-actions-row {
    margin-left: auto !important;
    gap: 6px !important;
  }
  .wb-actions-row .wb-btn-label {
    display: none !important;
  }
  .wb-btn-save-draft,
  .wb-btn-publish {
    padding: 8px 12px !important;
    min-height: 36px !important;
    font-size: 12px !important;
    border-radius: 99px !important;
  }

  /* Two-Part Layout: Upper Phone Preview + Lower Step Tools Wizard */
  .wb-editor-body {
    display: flex !important;
    flex-direction: column !important;
    width: 100vw !important;
    height: calc(100vh - 56px) !important;
    max-height: calc(100vh - 56px) !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 1 1 auto !important;
  }

  /* UPPER PART (Yellow lines in screenshot): Miniature Smartphone Preview Frame */
  .wb-preview-canvas {
    order: 1 !important;
    height: 43vh !important;
    max-height: 43vh !important;
    min-height: 43vh !important;
    flex: 0 0 43vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #08080a !important;
    padding: 6px 10px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  .wb-device-frame,
  .wb-device-frame.desktop,
  .wb-device-frame.tablet,
  .wb-device-frame.mobile {
    width: 210px !important;
    box-sizing: border-box !important;
    max-width: 58vw !important;
    height: calc(43vh - 8px) !important;
    max-height: calc(43vh - 8px) !important;
    min-height: 220px !important;
    border-radius: 26px !important;
    border: 5px solid #1e293b !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.12), inset 0 0 0 1.5px #0f172a !important;
    background: #000000 !important;
    margin: auto !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    flex-shrink: 0 !important;
  }

  .phone-top-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 3px 10px 2px 10px !important;
    background: #000000 !important;
    color: #ffffff !important;
    font-size: 8.5px !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
    z-index: 10 !important;
  }

  .phone-dynamic-island {
    width: 48px !important;
    height: 11px !important;
    background: #000000 !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 10px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding-right: 3px !important;
  }

  .phone-camera-lens {
    width: 4px !important;
    height: 4px !important;
    background: #111827 !important;
    border: 1px solid #374151 !important;
    border-radius: 50% !important;
    display: inline-block !important;
  }

  .phone-bottom-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 10px !important;
    background: #000000 !important;
    flex-shrink: 0 !important;
    z-index: 10 !important;
  }

  .phone-home-indicator {
    width: 56px !important;
    height: 3px !important;
    background: rgba(255, 255, 255, 0.6) !important;
    border-radius: 99px !important;
  }

  .wb-device-header {
    display: none !important;
  }

  .wb-phone-screen-wrap {
    flex: 1 1 auto !important;
    width: 200px !important;
    height: calc(100% - 26px) !important;
    position: relative !important;
    overflow: hidden !important;
    background: #ffffff !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .wb-phone-screen-wrap .wb-iframe,
  .wb-device-frame .wb-iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 375px !important;
    height: 187.5% !important;
    transform: scale(0.533333) !important;
    transform-origin: top left !important;
    border: none !important;
    border-radius: 0 !important;
    display: block !important;
    background: #ffffff !important;
  }

  /* LOWER PART (Red dots & tools wizard in screenshot): Step-by-Step Editor */
  .wb-sidebar-panel,
  .wb-modal.view-preview .wb-sidebar-panel,
  .wb-modal.view-editor .wb-sidebar-panel,
  .wb-modal.view-split .wb-sidebar-panel {
    order: 2 !important;
    height: calc(57vh - 56px) !important;
    max-height: calc(57vh - 56px) !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    background: #121215 !important;
    border-top: 2px solid #27272a !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .wb-tabs-nav {
    display: none !important; /* Step wizard replaces horizontal tabs on mobile */
  }

  .wb-step-wizard-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 8px 16px !important;
    background: #18181b !important;
    border-bottom: 1px solid #27272a !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
  }

  .wb-wizard-dots {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
  }

  .wb-wizard-dot {
    width: 13px !important;
    height: 13px !important;
    border-radius: 50% !important;
    background: #3f3f46 !important;
    border: 2px solid transparent !important;
    cursor: pointer !important;
    padding: 0 !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  .wb-wizard-dot.active {
    background: #ef4444 !important;
    border-color: #fca5a5 !important;
    transform: scale(1.35) !important;
    box-shadow: 0 0 12px rgba(239, 68, 68, 0.9) !important;
  }

  .wb-wizard-arrow-btn {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #27272a !important;
    color: #ffffff !important;
    border: 1px solid #3f3f46 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    font-size: 15px !important;
    transition: background 0.15s ease !important;
  }
  .wb-wizard-arrow-btn:active {
    background: #3f3f46 !important;
  }

  .wb-step-badge-indicator {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 6px 16px !important;
    background: rgba(239, 68, 68, 0.08) !important;
    border-bottom: 1px solid rgba(239, 68, 68, 0.22) !important;
    flex-shrink: 0 !important;
  }

  .wb-step-current-num {
    color: #ef4444 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
  }

  .wb-step-current-name {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
  }

  .wb-panel-inner {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 14px 14px 50px 14px !important;
  }
  /*
  .wb-panel-inner-dummy {
    box-sizing: border-box !important;
  }
  .wb-preview-canvas {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #08080a !important;
    padding: 16px 10px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: auto !important;
  }

  .wb-device-frame,
  .wb-device-frame.desktop,
  .wb-device-frame.tablet,
  .wb-device-frame.mobile {
    width: 275px !important;
    max-width: 82vw !important;
    height: 520px !important;
    max-height: calc(100vh - 160px) !important;
    border-radius: 40px !important;
    border: 7px solid #1e293b !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.14), inset 0 0 0 2px #0f172a !important;
    background: #000000 !important;
    margin: auto !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    flex-shrink: 0 !important;
  }

  .phone-top-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 5px 14px 3px 14px !important;
    background: #000000 !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
    z-index: 10 !important;
  }

  .phone-dynamic-island {
    width: 62px !important;
    height: 15px !important;
    background: #000000 !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 12px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding-right: 4px !important;
  }

  .phone-camera-lens {
    width: 6px !important;
    height: 6px !important;
    background: #111827 !important;
    border: 1px solid #374151 !important;
    border-radius: 50% !important;
    display: inline-block !important;
  }

  .phone-bottom-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 14px !important;
    background: #000000 !important;
    flex-shrink: 0 !important;
    z-index: 10 !important;
  }

  .phone-home-indicator {
    width: 72px !important;
    height: 3.5px !important;
    background: rgba(255, 255, 255, 0.6) !important;
    border-radius: 99px !important;
  }

  .wb-device-header {
    display: none !important;
  }

  .wb-iframe {
    width: 100% !important;
    flex: 1 1 auto !important;
    border: none !important;
    border-radius: 0 !important;
    display: block !important;
    background: #ffffff !important;
  }

  */
  /* Booking & Calendar safe responsive widths */
  .days-row,
  #bookingDaysRow {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 6px !important;
    box-sizing: border-box !important;
  }
  #bookingDaysRow::-webkit-scrollbar {
    display: none !important;
  }
  .day-pill {
    flex-shrink: 0 !important;
  }

  .booking-slot-filters {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 6px !important;
    padding-bottom: 4px !important;
    box-sizing: border-box !important;
  }
  .booking-slot-filters::-webkit-scrollbar {
    display: none !important;
  }
  .slot-filter-chip {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }

  .card-header-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .card-header-row > div {
    max-width: 100% !important;
    flex-wrap: wrap !important;
  }

  .booking-grid-refined {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .booking-left-col,
  .booking-right-col {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .calendar-widget-preview {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 16px 12px !important;
  }
  .booking-weekday-row,
  .booking-month-grid {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .booking-cal-day {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* ========================================================
   MOBILE FIXES: DYNAMIC ISLAND, AI CHAT KEYBOARD, REVIEWS & ADMIN
   ======================================================== */
.admin-empty-box {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

@media (max-width: 768px) {
  .admin-empty-box {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 18px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

.review-template-btn-row {
  display: flex;
  gap: 10px;
  width: 100%;
}

.btn-review-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #25d366 !important;
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 700;
  padding: 10px 18px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.btn-review-whatsapp:hover {
  background: #20ba59 !important;
}

.btn-review-email {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #27272a !important;
  border: 1px solid #3f3f46 !important;
  color: #ececec !important;
  font-size: 13px;
  font-weight: 700;
  padding: 10px 18px;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.btn-review-email:hover {
  background: #323236 !important;
  color: #ffffff !important;
}

@media (max-width: 768px) {
  .review-template-btn-row {
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }
  .btn-review-whatsapp,
  .btn-review-email {
    width: 100% !important;
    padding: 12px 16px !important;
    font-size: 13.5px !important;
  }
}

/* Lead & Admin Emails Anti-Overflow */
.lead-enterprise-footer,
.lead-enterprise-card,
.admin-dark-table td {
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
}

/* AI Chat Drawer Mobile Virtual Keyboard & Viewport Handling */
html.ai-drawer-open,
body.ai-drawer-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

@media (max-width: 900px) {
  .ai-drawer {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: var(--keyboard-offset, 0px) !important;
    width: 100% !important;
    max-width: 100% !important;
    height: calc(100% - var(--keyboard-offset, 0px)) !important;
    max-height: calc(100% - var(--keyboard-offset, 0px)) !important;
    border-right: none !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    z-index: 100000 !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
  }
  .ai-drawer-header {
    padding-top: max(env(safe-area-inset-top, 0px), 16px) !important;
    flex-shrink: 0 !important;
  }
  .ai-chat-feed {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 14px !important;
  }
  .ai-drawer-footer {
    flex-shrink: 0 !important;
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 14px !important;
    padding-bottom: max(12px, env(safe-area-inset-bottom, 10px)) !important;
    background: #171717 !important;
    border-top: 1px solid #2f2f2f !important;
    z-index: 10 !important;
  }
  .ai-textarea {
    font-size: 16px !important;
  }
  body:not(.dark-theme) .ai-drawer-footer {
    background: #ffffff !important;
  }
}
