/* WickedCRM BoyFanz Dark Theme Override */
/* By FANZ Unlimited Network */

:root {
  --bf-primary: #ff0000;
  --bf-primary-dark: #cc0000;
  --bf-accent: #d4af37;
  --bf-bg-dark: #0a0a0a;
  --bf-bg-card: #1a1a1a;
  --bf-bg-hover: #2a2a2a;
  --bf-border: rgba(255, 0, 0, 0.2);
  --bf-text: #ffffff;
  --bf-text-muted: #888888;
  --bf-gradient: linear-gradient(135deg, #ff0000 0%, #ff4400 50%, #ff0000 100%);
  --bf-glow: 0 0 20px rgba(255, 0, 0, 0.4);
}

/* Base styles */
body {
  background: var(--bf-bg-dark) !important;
  background-image: 
    radial-gradient(ellipse at top, rgba(255, 0, 0, 0.08) 0%, transparent 50%),
    radial-gradient(ellipse at bottom, rgba(212, 175, 55, 0.05) 0%, transparent 50%) !important;
  color: var(--bf-text) !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* Header/Navbar */
header, .navbar, [class*="header"], [class*="nav-bar"] {
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%) !important;
  border-bottom: 1px solid var(--bf-border) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
}

/* Sidebar */
aside, .sidebar, [class*="sidebar"], nav[class*="side"] {
  background: linear-gradient(180deg, #0a0a0a 0%, #111111 100%) !important;
  border-right: 1px solid var(--bf-border) !important;
}

.sidebar a, aside a, [class*="nav-item"] {
  color: var(--bf-text-muted) !important;
  transition: all 0.3s ease !important;
  border-radius: 8px !important;
  margin: 2px 4px !important;
}

.sidebar a:hover, aside a:hover, [class*="nav-item"]:hover {
  background: rgba(255, 0, 0, 0.1) !important;
  color: var(--bf-primary) !important;
  text-shadow: 0 0 10px rgba(255, 0, 0, 0.5) !important;
}

.sidebar a.active, aside a.active, [class*="nav-item"].active, [aria-current="page"] {
  background: rgba(255, 0, 0, 0.15) !important;
  color: var(--bf-primary) !important;
  border-left: 3px solid var(--bf-primary) !important;
  text-shadow: 0 0 8px rgba(255, 0, 0, 0.6) !important;
}

/* Cards */
.card, [class*="card"], [class*="Card"], [class*="panel"] {
  background: var(--bf-bg-card) !important;
  border: 1px solid var(--bf-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
  transition: all 0.3s ease !important;
}

.card:hover, [class*="card"]:hover {
  border-color: rgba(255, 0, 0, 0.4) !important;
  box-shadow: var(--bf-glow) !important;
  transform: translateY(-2px) !important;
}

/* Buttons */
button, .btn, [class*="button"], [class*="Button"], [type="button"], [type="submit"] {
  transition: all 0.3s ease !important;
}

button[class*="primary"], .btn-primary, [class*="Button"][class*="primary"],
button:not([class*="ghost"]):not([class*="outline"]):not([class*="secondary"]) {
  background: var(--bf-gradient) !important;
  border: none !important;
  color: white !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 15px rgba(255, 0, 0, 0.3) !important;
}

button[class*="primary"]:hover, .btn-primary:hover {
  background: linear-gradient(135deg, #ff2200 0%, #ff5500 50%, #ff2200 100%) !important;
  box-shadow: 0 6px 25px rgba(255, 0, 0, 0.4) !important;
  transform: translateY(-1px) !important;
}

button[class*="outline"], button[class*="secondary"], .btn-outline {
  background: transparent !important;
  border: 1px solid var(--bf-primary) !important;
  color: var(--bf-primary) !important;
}

button[class*="outline"]:hover, button[class*="secondary"]:hover {
  background: rgba(255, 0, 0, 0.1) !important;
  box-shadow: var(--bf-glow) !important;
}

button[class*="ghost"] {
  background: transparent !important;
  color: var(--bf-text-muted) !important;
}

button[class*="ghost"]:hover {
  background: rgba(255, 255, 255, 0.05) !important;
  color: var(--bf-text) !important;
}

/* Inputs */
input, textarea, select, [class*="input"], [class*="Input"] {
  background: rgba(10, 10, 10, 0.8) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: var(--bf-text) !important;
  border-radius: 8px !important;
  transition: all 0.3s ease !important;
}

input:focus, textarea:focus, select:focus {
  border-color: var(--bf-primary) !important;
  box-shadow: 0 0 0 2px rgba(255, 0, 0, 0.2) !important;
  outline: none !important;
}

input::placeholder, textarea::placeholder {
  color: var(--bf-text-muted) !important;
}

/* Tables */
table, [class*="table"] {
  background: var(--bf-bg-card) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

th {
  background: rgba(255, 0, 0, 0.1) !important;
  color: var(--bf-primary) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  font-size: 0.85em !important;
}

tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
  transition: background 0.2s ease !important;
}

tr:hover {
  background: rgba(255, 0, 0, 0.05) !important;
}

td {
  color: var(--bf-text) !important;
}

/* Badges/Tags */
[class*="badge"], [class*="Badge"], [class*="tag"], .badge {
  background: rgba(255, 0, 0, 0.2) !important;
  color: var(--bf-primary) !important;
  border: 1px solid rgba(255, 0, 0, 0.3) !important;
  border-radius: 20px !important;
  font-weight: 500 !important;
}

[class*="badge"][class*="success"], [class*="Badge"][class*="success"] {
  background: rgba(34, 197, 94, 0.2) !important;
  color: #22c55e !important;
  border-color: rgba(34, 197, 94, 0.3) !important;
}

[class*="badge"][class*="warning"], [class*="Badge"][class*="warning"] {
  background: rgba(212, 175, 55, 0.2) !important;
  color: var(--bf-accent) !important;
  border-color: rgba(212, 175, 55, 0.3) !important;
}

[class*="badge"][class*="error"], [class*="badge"][class*="danger"] {
  background: rgba(239, 68, 68, 0.2) !important;
  color: #ef4444 !important;
  border-color: rgba(239, 68, 68, 0.3) !important;
}

/* Modals/Dialogs */
[role="dialog"], .modal, [class*="modal"], [class*="Dialog"] {
  background: var(--bf-bg-card) !important;
  border: 1px solid var(--bf-border) !important;
  border-radius: 16px !important;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5), var(--bf-glow) !important;
}

[class*="modal-overlay"], [class*="backdrop"] {
  background: rgba(0, 0, 0, 0.8) !important;
  backdrop-filter: blur(4px) !important;
}

/* Dropdowns */
[class*="dropdown"], [class*="Dropdown"], [class*="menu"], [role="menu"] {
  background: var(--bf-bg-card) !important;
  border: 1px solid var(--bf-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4) !important;
}

[class*="dropdown"] [class*="item"], [role="menuitem"] {
  color: var(--bf-text) !important;
  transition: all 0.2s ease !important;
}

[class*="dropdown"] [class*="item"]:hover, [role="menuitem"]:hover {
  background: rgba(255, 0, 0, 0.1) !important;
  color: var(--bf-primary) !important;
}

/* Tabs */
[role="tablist"], [class*="tabs"], [class*="Tabs"] {
  background: rgba(26, 26, 26, 0.5) !important;
  border-radius: 8px !important;
  padding: 4px !important;
}

[role="tab"], [class*="tab"] {
  color: var(--bf-text-muted) !important;
  border-radius: 6px !important;
  transition: all 0.3s ease !important;
}

[role="tab"][aria-selected="true"], [class*="tab"].active, [class*="tab"][class*="active"] {
  background: var(--bf-gradient) !important;
  color: white !important;
  box-shadow: 0 2px 10px rgba(255, 0, 0, 0.3) !important;
}

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

::-webkit-scrollbar-track {
  background: var(--bf-bg-dark);
}

::-webkit-scrollbar-thumb {
  background: rgba(255, 0, 0, 0.3);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 0, 0, 0.5);
}

/* Progress bars */
[role="progressbar"], [class*="progress"], [class*="Progress"] {
  background: rgba(255, 255, 255, 0.1) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}

[role="progressbar"] > *, [class*="progress"] > [class*="bar"], [class*="Progress"] > * {
  background: var(--bf-gradient) !important;
  box-shadow: 0 0 10px rgba(255, 0, 0, 0.5) !important;
}

/* Avatars */
[class*="avatar"], [class*="Avatar"], img[class*="rounded-full"] {
  border: 2px solid rgba(255, 0, 0, 0.3) !important;
  box-shadow: 0 0 10px rgba(255, 0, 0, 0.2) !important;
}

/* Links */
a {
  color: var(--bf-primary) !important;
  transition: all 0.2s ease !important;
}

a:hover {
  color: #ff4444 !important;
  text-shadow: 0 0 8px rgba(255, 0, 0, 0.4) !important;
}

/* Selection */
::selection {
  background: rgba(255, 0, 0, 0.3) !important;
  color: white !important;
}

/* Text colors */
h1, h2, h3, h4, h5, h6 {
  color: var(--bf-text) !important;
}

p, span, div {
  color: inherit;
}

[class*="text-muted"], [class*="text-gray"], [class*="text-secondary"] {
  color: var(--bf-text-muted) !important;
}

/* Tooltips */
[role="tooltip"], [class*="tooltip"], [class*="Tooltip"] {
  background: var(--bf-bg-card) !important;
  border: 1px solid var(--bf-border) !important;
  color: var(--bf-text) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

/* Alerts/Notifications */
[role="alert"], [class*="alert"], [class*="Alert"], [class*="notification"] {
  background: var(--bf-bg-card) !important;
  border-left: 4px solid var(--bf-primary) !important;
  color: var(--bf-text) !important;
}

/* Toggle/Switch */
[class*="switch"], [class*="Switch"], [class*="toggle"] {
  background: rgba(255, 255, 255, 0.1) !important;
}

[class*="switch"][class*="checked"], [class*="Switch"][data-state="checked"], input:checked + [class*="switch"] {
  background: var(--bf-gradient) !important;
}

/* AI Assistant orb glow effect */
[class*="orb"], [class*="ai-avatar"], img[alt*="AI"] {
  animation: orbGlow 3s ease-in-out infinite !important;
}

@keyframes orbGlow {
  0%, 100% {
    box-shadow: 0 0 20px rgba(255, 0, 0, 0.4), 0 0 40px rgba(255, 0, 0, 0.2);
  }
  50% {
    box-shadow: 0 0 30px rgba(255, 0, 0, 0.6), 0 0 60px rgba(255, 0, 0, 0.3);
  }
}

/* Neon text effect for headings */
[class*="title"], [class*="heading"], .neon-text {
  text-shadow: 
    0 0 5px rgba(255, 0, 0, 0.5),
    0 0 10px rgba(255, 0, 0, 0.3),
    0 0 20px rgba(255, 0, 0, 0.2);
}

/* Wicked-specific PTT/CB Radio styling */
[class*="ptt"], [class*="voice"], [class*="radio"], [class*="walkie"] {
  background: linear-gradient(135deg, #1a0a0a 0%, #2a0a0a 100%) !important;
  border: 2px solid var(--bf-primary) !important;
  box-shadow: var(--bf-glow) !important;
}

/* Gold accent elements */
[class*="gold"], [class*="premium"], [class*="vip"], [class*="pro"] {
  color: var(--bf-accent) !important;
  text-shadow: 0 0 10px rgba(212, 175, 55, 0.5) !important;
}

/* Pulse animation for live/active indicators */
[class*="live"], [class*="active"][class*="indicator"], [class*="online"] {
  animation: pulse 2s ease-in-out infinite !important;
}

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

/* Stats/Metrics cards */
[class*="stat"], [class*="metric"], [class*="kpi"] {
  background: linear-gradient(135deg, rgba(255, 0, 0, 0.1) 0%, transparent 100%) !important;
  border-left: 3px solid var(--bf-primary) !important;
}

/* Calendar styling */
[class*="calendar"], [class*="Calendar"] {
  background: var(--bf-bg-card) !important;
}

[class*="calendar"] [class*="day"][class*="selected"],
[class*="Calendar"] [class*="day"][aria-selected="true"] {
  background: var(--bf-gradient) !important;
  color: white !important;
}

/* Chart/Graph colors */
[class*="chart"], [class*="graph"] {
  --chart-1: #ff0000;
  --chart-2: #ff4400;
  --chart-3: #d4af37;
  --chart-4: #ff6600;
  --chart-5: #cc0000;
}

/* Loading spinner */
[class*="spinner"], [class*="loader"], [class*="loading"] {
  border-color: rgba(255, 0, 0, 0.2) !important;
  border-top-color: var(--bf-primary) !important;
}

/* WickedCRM Branding Override */
[class*="logo"], [alt*="logo"], [src*="logo"] {
  filter: hue-rotate(0deg) saturate(1.2) !important;
}

/* Empty states */
[class*="empty"], [class*="no-data"], [class*="placeholder"] {
  color: var(--bf-text-muted) !important;
  opacity: 0.7 !important;
}

/* Focus states for accessibility */
*:focus-visible {
  outline: 2px solid var(--bf-primary) !important;
  outline-offset: 2px !important;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
  .card, [class*="card"] {
    border-radius: 8px !important;
  }
  
  button, .btn {
    padding: 12px 16px !important;
  }
}

/* Print styles */
@media print {
  * {
    background: white !important;
    color: black !important;
    box-shadow: none !important;
  }
}
