/* ============================================================================
   core.css — shared foundation used by every page.
   Contents: base styles, typography, form focus, scrollbars, sidebar/nav,
             modal overlay, auth-page gradient, dark-mode globals, input
             overrides, status badges, business switcher dropdown (dark).
   Generated from styles.css by scripts/split-styles-css.cjs on 2026-04-22T18:14:11.805Z.
   Do not edit this file directly — edit styles.css and rerun the script,
   OR edit this file and keep styles.css synced manually.
   ============================================================================ */

/* ============================================================================
   Crewty - Custom Styles
   Note: Most styling uses Tailwind CSS via CDN. This file is for custom styles.
   ============================================================================ */

/* Import Plus Jakarta Sans font */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

/* Base styles */
body {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Custom animations */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes slideIn {
  from { opacity: 0; transform: translateX(20px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.animate-fadeIn {
  animation: fadeIn 0.3s ease-out;
}

.animate-slideIn {
  animation: slideIn 0.3s ease-out;
}

.animate-pulse-custom {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Form focus states */
input:focus, select:focus, textarea:focus {
  outline: none;
}

/* Lighter placeholder text */
::placeholder {
  color: rgba(148, 163, 184, 0.4);
  opacity: 1;
}

/* Password toggle button */
.password-toggle {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: #94a3b8;
  transition: color 0.2s ease;
}

.password-toggle:hover {
  color: #64748b;
}

.password-toggle:focus {
  outline: none;
}

.password-wrapper {
  position: relative;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #f1f5f9;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Loading spinner */
.spinner {
  border: 2px solid #f3f3f3;
  border-top: 2px solid #FF6B00;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Card hover effect */
.card-hover {
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.card-hover:hover {
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
  transform: translateY(-2px);
}

/* Status badge colors */
.badge-pending {
  background-color: #fef3c7;
  color: #92400e;
}

.badge-assigned {
  background-color: #dbeafe;
  color: #1e40af;
}

.badge-accepted {
  background-color: #d1fae5;
  color: #065f46;
}

.badge-completed {
  background-color: #dcfce7;
  color: #166534;
}

.badge-cancelled {
  background-color: #fee2e2;
  color: #991b1b;
}

/* Sidebar navigation */
.nav-link {
  position: relative;
  transition: all 0.2s ease;
}

.nav-link:hover {
  background-color: rgba(255,255,255,0.05);
  color: #e2e8f0;
}

.nav-link.active {
  background: linear-gradient(to right, rgba(255,255,255,0.1), transparent);
  color: #ffffff;
  font-weight: 600;
}
.nav-link.active svg {
  color: #ffffff;
}

.nav-text {
  mask-image: linear-gradient(to right, black 95%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, black 95%, transparent 100%);
}

/* Modal overlay */
.modal-overlay {
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(2px);
}

/* Gradient background for auth pages */
.auth-gradient {
  background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
}

/* Logo text */
.logo-text {
  font-weight: 700;
  background: linear-gradient(135deg, #FF6B00 0%, #FF8C33 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Divider with text */
.divider-with-text {
  display: flex;
  align-items: center;
  text-align: center;
  color: #9ca3af;
  font-size: 0.875rem;
}

.divider-with-text::before,
.divider-with-text::after {
  content: '';
  flex: 1;
  border-bottom: 1px solid #e5e7eb;
}

.divider-with-text::before {
  margin-right: 1rem;
}

.divider-with-text::after {
  margin-left: 1rem;
}

/* Responsive utilities */
@media (max-width: 768px) {
  .sidebar-mobile {
    transform: translateX(-100%);
    transition: transform 0.3s ease;
  }
  
  .sidebar-mobile.open {
    transform: translateX(0);
  }
}

/* Print styles */
@media print {
  .no-print {
    display: none !important;
  }
}

/* ============================================================================
   DARK MODE
   All dark mode overrides use html.dark selector to flip colors.
   This avoids touching any existing Tailwind classes in the HTML files.
   ============================================================================ */

/* ---- Smooth transition ---- */
body,
main, aside, nav, header, footer, section,
div, form, table, thead, tbody, tr, td, th,
input, select, textarea, button,
a, p, span, h1, h2, h3, h4, h5, h6, label, li, ul,
.nav-link, .card-hover, .modal-overlay {
  transition: background-color 0.3s ease, color 0.2s ease, border-color 0.3s ease;
}

/* ---- Theme toggle button ---- */
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: transparent;
  cursor: pointer;
  color: #64748b;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.theme-toggle:hover {
  background-color: #f1f5f9;
  color: #0f172a;
}
.theme-toggle svg {
  width: 18px;
  height: 18px;
}
.theme-icon-light { display: none; }
.theme-icon-dark  { display: block; }

html.dark .theme-toggle {
  border-color: transparent;
  color: #94a3b8;
}
html.dark .theme-toggle:hover {
  background-color: #27272a;
  color: #e2e8f0;
}
html.dark .theme-icon-light { display: block; }
html.dark .theme-icon-dark  { display: none; }

/* ============================================================
   BACKGROUNDS
   ============================================================ */

/* Page body / outermost backgrounds */
html.dark body {
  background-color: #0c0c0e;
  color: #e2e8f0;
}
html.dark .bg-white {
  background-color: #161618 !important;
}

/* Page-level backgrounds (full-page, outermost containers) */
html.dark .bg-gray-50,
html.dark .bg-slate-50 {
  background-color: #0c0c0e !important;
}
html.dark .bg-arctic-white {
  background-color: #0c0c0e !important;
}

/* Hardcoded Tailwind arbitrary background colors used in content wrappers */
html.dark [class*="bg-[#F8FAFC]"],
html.dark [class*="bg-[#f8fafc]"] {
  background-color: #0c0c0e !important;
}

/* Element-level backgrounds (tabs, badges, sections inside cards) */
html.dark .bg-gray-100,
html.dark .bg-slate-100 {
  background-color: #27272a !important;
}

/* Secondary button/element backgrounds */
html.dark .bg-gray-200,
html.dark .bg-slate-200 {
  background-color: #27272a !important;
}
html.dark .bg-gray-300,
html.dark .bg-slate-300 {
  background-color: #3f3f46 !important;
}

/* Tailwind's arbitrary value metric cards in admin/staff */
html.dark [class*="bg-[rgb(237,241,255)"] {
  background-color: #161618 !important;
}
html.dark [class*="bg-[rgb(237"] {
  background-color: #161618 !important;
}

/* Arctic blue landing sections */
html.dark .bg-arctic-blue {
  background-color: #0c0c0e !important;
}

/* Nested card / list item backgrounds — slightly recessed for depth */
html.dark .bg-slate-50\/50,
html.dark .bg-slate-50\/80,
html.dark .bg-slate-50\/30 {
  background-color: rgba(12, 12, 14, 0.5) !important;
}

/* Deeper nested rows (table rows, list items inside already-dark cards) */
html.dark .bg-slate-50\/50:hover {
  background-color: rgba(39, 39, 42, 0.4) !important;
}

/* Input fields — recessed into cards */
html.dark input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
html.dark select,
html.dark textarea {
  background-color: #0c0c0e !important;
  color: #e2e8f0 !important;
  border-color: #27272a !important;
  border-width: 1px !important;
  border-style: solid !important;
}
html.dark input::placeholder,
html.dark textarea::placeholder {
  color: rgba(148, 163, 184, 0.5) !important;
}

/* ============================================================
   TEXT
   ============================================================ */
html.dark .text-slate-900,
html.dark .text-gray-900 {
  color: #e2e8f0 !important;
}
html.dark .text-deep-charcoal {
  color: #e2e8f0 !important;
}
html.dark .text-slate-800,
html.dark .text-gray-800,
html.dark .text-slate-700,
html.dark .text-gray-700 {
  color: #cbd5e1 !important;
}

/* Colored 800-level text — lighten for dark backgrounds */
html.dark .text-red-800    { color: #fca5a5 !important; }
html.dark .text-green-800  { color: #6ee7b7 !important; }
html.dark .text-blue-800   { color: #93c5fd !important; }
html.dark .text-amber-800  { color: #fde68a !important; }
html.dark .text-purple-800 { color: #c4b5fd !important; }
html.dark .text-slate-600,
html.dark .text-gray-600 {
  color: #94a3b8 !important;
}
html.dark .text-slate-500,
html.dark .text-gray-500 {
  color: #64748b !important;
}
html.dark .text-slate-400,
html.dark .text-gray-400 {
  color: #94a3b8 !important;
}
html.dark .text-slate-300,
html.dark .text-gray-300 {
  color: #64748b !important;
}

/* ============================================================
   BORDERS  — neutral dark palette
   ============================================================ */
html.dark .border-slate-50,
html.dark .border-gray-50,
html.dark .border-slate-100,
html.dark .border-gray-100,
html.dark .border-slate-100\/50 {
  border-color: rgba(255,255,255,0.06) !important;
}
html.dark .border-slate-200,
html.dark .border-gray-200 {
  border-color: #27272a !important;
}
html.dark .border-slate-300,
html.dark .border-gray-300 {
  border-color: #3f3f46 !important;
}
html.dark .divide-slate-100 > :not([hidden]) ~ :not([hidden]),
html.dark .divide-gray-100 > :not([hidden]) ~ :not([hidden]),
html.dark .divide-slate-50 > :not([hidden]) ~ :not([hidden]) {
  border-color: rgba(255,255,255,0.06) !important;
}

/* ============================================================
   SHADOWS — subtle in dark mode since surfaces are already dark
   ============================================================ */
html.dark .shadow-sm {
  box-shadow: 0 1px 2px 0 rgba(0,0,0,0.4) !important;
}
html.dark .shadow-md,
html.dark .shadow {
  box-shadow: 0 4px 6px -1px rgba(0,0,0,0.5), 0 2px 4px -2px rgba(0,0,0,0.4) !important;
}
html.dark .shadow-lg {
  box-shadow: 0 10px 15px -3px rgba(0,0,0,0.5), 0 4px 6px -4px rgba(0,0,0,0.4) !important;
}
html.dark .shadow-xl {
  box-shadow: 0 20px 25px -5px rgba(0,0,0,0.5), 0 8px 10px -6px rgba(0,0,0,0.4) !important;
}

/* ============================================================
   SIDEBAR & NAVIGATION (Admin / Staff portals)
   Template: sidebar-item-active = bg-primary text-white
             inactive = text-slate-400 hover:bg-slate-800
   ============================================================ */

/* Inactive nav — slate-400 (matches template's dark:text-slate-400) */
html.dark .nav-link:not(.active) {
  color: #94a3b8;
}
html.dark .nav-link:not(.active) svg {
  color: #64748b;
}
/* Hover — subtle white overlay */
html.dark .nav-link:hover:not(.active) {
  background-color: rgba(255,255,255,0.05);
  color: #e2e8f0;
}
html.dark .nav-link:hover:not(.active) svg {
  color: #e2e8f0;
}
/* Active — gradient fade from white/10 to transparent */
html.dark .nav-link.active {
  background: linear-gradient(to right, rgba(255,255,255,0.1), transparent) !important;
  color: #ffffff !important;
  box-shadow: none;
}
html.dark .nav-link.active svg {
  color: #ffffff !important;
}

/* ============================================================
   SIDEBAR EXTRAS (template-derived)
   ============================================================ */

/* Section group labels ("MAIN MENU", "MANAGEMENT") */
html.dark .text-slate-400.uppercase {
  color: #3f3f46 !important;
}

/* Sidebar — white in light mode, dark gradient in dark mode */
#sidebar {
  background: #ffffff !important;
  border-right-color: #e2e8f0 !important;
}
html.dark #sidebar,
html.dark aside {
  background: linear-gradient(to right, #14131d, #0c0b12) !important;
  border-right-color: rgba(255,255,255,0.04) !important;
}

/* ── Sidebar: light-mode color overrides ───────────────────────────────── */
/* Divider lines (logo-area, bottom section, etc.) use border-white/5 in the
   HTML — force them to a visible slate tone on a white surface. */
html:not(.dark) #sidebar .border-white\/5,
html:not(.dark) #sidebar [class*="border-white/5"] {
  border-color: #e2e8f0 !important;
}

/* Logo wordmark + username were white-on-dark */
html:not(.dark) #sidebar-logo-area span,
html:not(.dark) #sidebar-user-name {
  color: #0f172a !important;
}
html:not(.dark) #sidebar .text-slate-400 {
  color: #64748b !important;
}

/* Section headings ("Main", "Business", "Tools") */
html:not(.dark) #sidebar .text-slate-500.uppercase {
  color: #94a3b8 !important;
}

/* Nav links: dark text on white + slate hover */
html:not(.dark) #sidebar .nav-link {
  color: #475569 !important;
}
html:not(.dark) #sidebar .nav-link:hover {
  background-color: #f1f5f9 !important;
  color: #0f172a !important;
}
html:not(.dark) #sidebar .nav-link.active {
  background-color: #f1f5f9 !important;
  color: #0f172a !important;
}
html:not(.dark) #sidebar .hover\:bg-white\/5:hover,
html:not(.dark) #sidebar .hover\:bg-white\/10:hover {
  background-color: #f1f5f9 !important;
}

/* Sidebar search input (was bg-white/10 border-white/10 — invisible on white) */
html:not(.dark) #sidebar-search {
  background-color: #f8fafc !important;
  border-color: #e2e8f0 !important;
  color: #1e293b !important;
}
html:not(.dark) #sidebar-search::placeholder {
  color: #94a3b8 !important;
}
html:not(.dark) #sidebar-search-wrap svg {
  color: #94a3b8 !important;
}

/* Profile caret / dropdown chevron */
html:not(.dark) #sidebar .text-slate-400 svg { color: #64748b !important; }

/* Top header bar — neutral dark surface */
html.dark header {
  background-color: #161618 !important;
  border-bottom-color: rgba(255,255,255,0.06) !important;
}

/* Main content area background — near-black neutral */
html.dark main {
  background-color: #0c0c0e;
}

/* Loading overlay */
html.dark #loading-state {
  background-color: #0c0c0e !important;
}
html.dark #loading-state .text-gray-600 {
  color: #94a3b8 !important;
}

/* Sidebar user-menu dropdown */
html.dark #sidebar-user-menu,
html.dark #staff-user-menu {
  background-color: #161618 !important;
  border-color: #27272a !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5) !important;
}
html.dark #sidebar-user-menu .text-slate-700,
html.dark #staff-user-menu .text-slate-700 {
  color: #cbd5e1 !important;
}
html.dark #sidebar-user-menu .hover\:bg-slate-50:hover,
html.dark #staff-user-menu .hover\:bg-slate-50:hover {
  background-color: #0c0c0e !important;
}
html.dark #sidebar-user-menu hr,
html.dark #staff-user-menu hr {
  border-color: #27272a !important;
}
html.dark #sidebar-user-menu .border-b,
html.dark #staff-user-menu .border-b {
  border-bottom-color: #27272a !important;
}

/* Business-name badge in header (Admin pill) */
html.dark .bg-slate-100.text-slate-600 {
  background-color: #1e1e21 !important;
  color: #94a3b8 !important;
}

/* Modal backdrops */
html.dark .fixed.inset-0.bg-black {
  background-color: rgba(0, 0, 0, 0.7) !important;
}

/* White modal panels */
html.dark .bg-white.rounded-2xl,
html.dark .bg-white.rounded-xl {
  background-color: #161618 !important;
  border-color: #27272a !important;
}

/* Modal headers with border-b */
html.dark .border-b.border-slate-100,
html.dark .border-b.border-gray-100 {
  border-bottom-color: rgba(255,255,255,0.06) !important;
}

/* Modal footers with border-t */
html.dark .border-t.border-slate-100,
html.dark .border-t.border-gray-100 {
  border-top-color: rgba(255,255,255,0.06) !important;
}

/* Toast notifications */
html.dark .fixed.bottom-4 .bg-white,
html.dark .fixed.top-4 .bg-white {
  background-color: #161618 !important;
  border-color: #27272a !important;
  box-shadow: 0 10px 25px rgba(0,0,0,0.5) !important;
}

/* ============================================================
   SCROLLBARS
   ============================================================ */
html.dark ::-webkit-scrollbar-track {
  background: #0c0c0e;
}
html.dark ::-webkit-scrollbar-thumb {
  background: #3f3f46;
}
html.dark ::-webkit-scrollbar-thumb:hover {
  background: #52525b;
}

/* ============================================================
   SPINNER
   ============================================================ */
html.dark .spinner {
  border-color: #27272a;
  border-top-color: #FF6B00;
}

/* ============================================================
   STATUS BADGES (keep colors but darken backgrounds slightly)
   ============================================================ */
html.dark .badge-pending  { background-color: #78350f; color: #fef3c7; }
html.dark .badge-assigned { background-color: #1e3a8a; color: #dbeafe; }
html.dark .badge-accepted { background-color: #064e3b; color: #d1fae5; }
html.dark .badge-completed{ background-color: #14532d; color: #dcfce7; }
html.dark .badge-cancelled{ background-color: #7f1d1d; color: #fee2e2; }

/* ============================================================
   DIVIDERS
   ============================================================ */
html.dark .divider-with-text { color: #64748b; }
html.dark .divider-with-text::before,
html.dark .divider-with-text::after { border-bottom-color: #27272a; }

/* ============================================================
   PASSWORD TOGGLE
   ============================================================ */
html.dark .password-toggle { color: #64748b; }
html.dark .password-toggle:hover { color: #94a3b8; }

/* ============================================================
   MODAL OVERLAY
   ============================================================ */
html.dark .modal-overlay {
  background-color: rgba(0, 0, 0, 0.7);
}

/* ============================================================
   CARD HOVER
   ============================================================ */
html.dark .card-hover:hover {
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.4);
}

/* ============================================================
   AUTH PAGES — left panel gradient (login/signup)
   ============================================================ */
html.dark .left-panel-gradient {
  background: linear-gradient(135deg, #0c0c0e 0%, #161618 100%) !important;
}
html.dark .glass-card {
  background: rgba(22,22,24,0.6) !important;
  border-color: rgba(39,39,42,0.5) !important;
}

/* ============================================================
   SUBSCRIBE PAGE — dark hero already dark, comparison table
   ============================================================ */
html.dark .compare-table tr {
  border-bottom-color: #27272a;
}
html.dark .compare-table .pro-col {
  background: rgba(14,165,233,0.08);
}
html.dark .compare-table th {
  color: #94a3b8;
}

/* ============================================================
   MISC OVERRIDES — Colored Section Backgrounds
   ============================================================ */

/* 50-level alert/section backgrounds */
html.dark .bg-red-50      { background-color: rgba(127,29,29,0.2) !important; }
html.dark .bg-green-50    { background-color: rgba(6,78,59,0.2)  !important; }
html.dark .bg-blue-50     { background-color: rgba(30,58,138,0.2) !important; }
html.dark .bg-amber-50    { background-color: rgba(120,53,15,0.3) !important; }
html.dark .bg-emerald-50  { background-color: rgba(6,78,59,0.2) !important; }
html.dark .bg-yellow-50   { background-color: rgba(120,53,15,0.3) !important; }
html.dark .bg-orange-50   { background-color: rgba(154,52,18,0.2) !important; }
html.dark .bg-purple-100  { background-color: rgba(88,28,135,0.25) !important; }
html.dark .bg-purple-50   { background-color: rgba(88,28,135,0.2) !important; }
html.dark .bg-orange-50   { background-color: rgba(124,45,18,0.2) !important; }
html.dark .bg-indigo-50   { background-color: rgba(49,46,129,0.2) !important; }

/* 200-level borders */
html.dark .border-red-200      { border-color: rgba(127,29,29,0.5) !important; }
html.dark .border-green-200    { border-color: rgba(6,78,59,0.5) !important; }
html.dark .border-blue-200     { border-color: rgba(30,58,138,0.5) !important; }
html.dark .border-amber-200    { border-color: rgba(120,53,15,0.5) !important; }
html.dark .border-yellow-200   { border-color: rgba(120,53,15,0.5) !important; }
html.dark .border-orange-200   { border-color: rgba(154,52,18,0.5) !important; }
html.dark .border-purple-200   { border-color: rgba(88,28,135,0.5) !important; }
html.dark .border-orange-200   { border-color: rgba(124,45,18,0.5) !important; }

/* 100-level borders */
html.dark .border-green-100    { border-color: rgba(6,78,59,0.3) !important; }
html.dark .border-blue-100     { border-color: rgba(30,58,138,0.3) !important; }
html.dark .border-red-100      { border-color: rgba(127,29,29,0.3) !important; }

/* 300-level borders (used inside colored sections) */
html.dark .border-blue-300     { border-color: rgba(37,99,235,0.4) !important; }
html.dark .border-red-300      { border-color: rgba(239,68,68,0.4) !important; }
html.dark .border-green-300    { border-color: rgba(16,185,129,0.4) !important; }
html.dark .border-amber-300    { border-color: rgba(245,158,11,0.4) !important; }
html.dark .border-purple-300   { border-color: rgba(139,92,246,0.4) !important; }

/* 700-level text on colored backgrounds */
html.dark .text-red-700    { color: #fca5a5 !important; }
html.dark .text-green-700  { color: #6ee7b7 !important; }
html.dark .text-blue-700   { color: #93c5fd !important; }
html.dark .text-amber-700  { color: #fde68a !important; }
html.dark .text-yellow-700 { color: #fde68a !important; }
html.dark .text-orange-700 { color: #fdba74 !important; }
html.dark .text-purple-700 { color: #c4b5fd !important; }

/* ============================================================
   STATUS BADGES (100-level Tailwind backgrounds)
   ============================================================ */
html.dark .bg-red-100    { background-color: rgba(127,29,29,0.3) !important; }
html.dark .bg-yellow-100 { background-color: rgba(120,53,15,0.3) !important; }
html.dark .bg-blue-100   { background-color: rgba(30,58,138,0.3) !important; }
html.dark .bg-green-100  { background-color: rgba(6,78,59,0.3) !important; }
html.dark .bg-purple-100 { background-color: rgba(88,28,135,0.3) !important; }
html.dark .bg-orange-100 { background-color: rgba(124,45,18,0.3) !important; }

/* ============================================================
   DESTRUCTIVE & ACCENT TEXT COLORS
   ============================================================ */
html.dark .text-red-600    { color: #fca5a5 !important; }
html.dark .text-red-500    { color: #f87171 !important; }
html.dark .text-green-600  { color: #6ee7b7 !important; }
html.dark .text-blue-600   { color: #93c5fd !important; }
html.dark .text-purple-600 { color: #c4b5fd !important; }
html.dark .text-amber-600  { color: #fde68a !important; }
html.dark .text-orange-600 { color: #fdba74 !important; }

/* ============================================================
   HOVER STATE OVERRIDES
   ============================================================ */

/* Table & list hover */
html.dark tr { border-bottom-color: rgba(255,255,255,0.06); }
html.dark .hover\:bg-slate-50:hover  { background-color: #1e1e21 !important; }
html.dark .hover\:bg-gray-50:hover   { background-color: #1e1e21 !important; }
html.dark .hover\:bg-gray-100:hover  { background-color: #27272a !important; }
html.dark .hover\:bg-gray-200:hover  { background-color: #27272a !important; }
html.dark .hover\:bg-gray-300:hover  { background-color: #3f3f46 !important; }
html.dark .hover\:bg-slate-200:hover { background-color: #27272a !important; }

/* Colored hover states */
html.dark .hover\:bg-red-50:hover    { background-color: rgba(127,29,29,0.2) !important; }
html.dark .hover\:bg-blue-50:hover   { background-color: rgba(30,58,138,0.2) !important; }
html.dark .hover\:bg-green-50:hover  { background-color: rgba(6,78,59,0.2) !important; }
html.dark .hover\:bg-blue-200:hover  { background-color: rgba(30,58,138,0.4) !important; }

/* Text hover states */
html.dark .hover\:text-gray-600:hover  { color: #e2e8f0 !important; }
html.dark .hover\:text-gray-900:hover  { color: #f1f5f9 !important; }
html.dark .hover\:text-slate-900:hover { color: #f1f5f9 !important; }

/* Button hover accent adjustments */
html.dark .hover\:bg-blue-700:hover { background-color: #1d4ed8 !important; }
html.dark .hover\:bg-red-700:hover  { background-color: #b91c1c !important; }

/* Landing page does not use dark mode */

/* Onboarding page */
html.dark .bg-arctic-blue { background-color: #0c0c0e !important; }

/* Booking form summary */
html.dark .bg-gradient-to-br.from-slate-50 { background: #161618 !important; }

/* Subscription status card gradients */
html.dark .bg-gradient-to-r.from-slate-50.to-white,
html.dark .bg-gradient-to-r.from-slate-50.to-slate-100 {
  background: linear-gradient(to right, #161618 0%, #1e1e21 100%) !important;
}

/* Subscription card icon background */
html.dark .bg-slate-200 { background-color: #27272a !important; }

/* Subscription plan cards - ensure proper dark styling */
html.dark .rounded-2xl.bg-white { background-color: #161618 !important; }
html.dark .rounded-2xl.bg-white .text-slate-400 { color: #94a3b8 !important; }

/* ============================================================
   ICE-BLUE GRADIENT BUTTONS → Dark Blue/Black in Dark Mode
   ============================================================ */
html.dark .from-sky-100,
html.dark [class*="from-sky-100"] {
  background: linear-gradient(135deg, #0c0c0e 0%, #1a2e4a 50%, #0c4a6e 100%) !important;
  color: #e2e8f0 !important;
  border-color: #1a2e4a !important;
  box-shadow: 0 4px 15px -3px rgba(14,165,233,0.2), 0 2px 6px -2px rgba(0,0,0,0.3) !important;
}
html.dark .from-sky-100:hover,
html.dark [class*="from-sky-100"]:hover {
  background: linear-gradient(135deg, #161618 0%, #1e4976 50%, #0e5a85 100%) !important;
  color: #ffffff !important;
  border-color: #2563eb !important;
  box-shadow: 0 8px 25px -5px rgba(14,165,233,0.3), 0 4px 10px -4px rgba(0,0,0,0.4) !important;
}

/* Starter/Premium plan buttons (bg-slate-100 on subscribe page) */
html.dark .btn-subscribe.bg-slate-100,
html.dark .btn-subscribe[class*="bg-slate-100"] {
  background-color: #161618 !important;
  color: #e2e8f0 !important;
  border: 1px solid #27272a !important;
}
html.dark .btn-subscribe.bg-slate-100:hover,
html.dark .btn-subscribe[class*="bg-slate-100"]:hover {
  background-color: #27272a !important;
  color: #ffffff !important;
}

/* ============================================================
   STRONGER INPUT OVERRIDES (settings, forms, etc.)
   ============================================================ */
html.dark .input-field,
html.dark input[type="text"],
html.dark input[type="email"],
html.dark input[type="password"],
html.dark input[type="number"],
html.dark input[type="tel"],
html.dark input[type="url"],
html.dark input[type="search"],
html.dark input[type="date"],
html.dark input[type="time"],
html.dark input[type="datetime-local"],
html.dark select,
html.dark textarea {
  background-color: #0c0c0e !important;
  color: #e2e8f0 !important;
  border-color: #27272a !important;
  border-width: 1px !important;
  border-style: solid !important;
}
html.dark .input-field:focus,
html.dark input:focus,
html.dark select:focus,
html.dark textarea:focus {
  border-color: #FF6B00 !important;
  box-shadow: 0 0 0 3px rgba(255,107,0,0.12) !important;
}

/* Tailwind ring utilities in dark mode */
html.dark .ring-1 {
  --tw-ring-color: #27272a !important;
}
html.dark .focus\:ring-blue-500:focus {
  --tw-ring-color: rgba(255,107,0,0.3) !important;
}

/* Settings tab buttons — bg-slate-100 and hover:bg-slate-200
   are now handled in BACKGROUNDS and HOVER STATE OVERRIDES above. */

/* Plan cards on subscribe page */
html.dark .plan-card {
  background-color: #161618 !important;
  border-color: #27272a !important;
}

/* ============================================================
   BUSINESS SWITCHER DROPDOWN
   ============================================================ */
/* Dropdown menu container */
html.dark #business-switcher-menu {
  background-color: #161618 !important;
  border-color: #27272a !important;
  box-shadow: 0 10px 25px rgba(0,0,0,0.5) !important;
}
/* Logo box beside company name */
html.dark .switcher-logo-box {
  background-color: #27272a !important;
  border-color: #3f3f46 !important;
}
/* Hover state for switcher items */
html.dark #business-switcher-menu .hover\:bg-gray-50:hover {
  background-color: #27272a !important;
}
/* Active/current business highlight */
html.dark #business-switcher-menu .bg-blue-50 {
  background-color: rgba(255,107,0,0.1) !important;
}
/* Switcher dividers */
html.dark #business-switcher-menu .border-slate-50 {
  border-color: rgba(255,255,255,0.06) !important;
}

