/*
WolfPython Global User Color
Wendet die persönliche Benutzerfarbe auf alle Dashboard-Seiten an.
*/

:root {
  --wolf-user-accent: #a855f7;
  --wolf-user-accent-2: #ec4899;
  --wolf-user-accent-3: #7c3aed;
  --wolf-user-accent-rgb: 168,85,247;
}

/* Grundklasse */
body.wolf-global-color {
  accent-color: var(--wolf-user-accent);
}

/* Links */
body.wolf-global-color a:not(.btn):not(.button) {
  color: var(--wolf-user-accent);
}

/* Buttons */
body.wolf-global-color .btn,
body.wolf-global-color button:not(.plain):not(.unstyled),
body.wolf-global-color input[type="submit"],
body.wolf-global-color input[type="button"],
body.wolf-global-color .button,
body.wolf-global-color .action-btn,
body.wolf-global-color .primary {
  background: linear-gradient(135deg, var(--wolf-user-accent), var(--wolf-user-accent-2)) !important;
  border-color: rgba(255,255,255,.18) !important;
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(var(--wolf-user-accent-rgb), .32) !important;
}

/* Sekundäre Buttons */
body.wolf-global-color .btn.secondary,
body.wolf-global-color .secondary,
body.wolf-global-color .btn-muted {
  background: rgba(var(--wolf-user-accent-rgb), .14) !important;
  border: 1px solid rgba(var(--wolf-user-accent-rgb), .38) !important;
  color: #fff !important;
}

/* Karten / Panels */
body.wolf-global-color .card,
body.wolf-global-color .panel,
body.wolf-global-color .box,
body.wolf-global-color .widget,
body.wolf-global-color .module-card,
body.wolf-global-color .stat-card,
body.wolf-global-color .tile {
  border-color: rgba(var(--wolf-user-accent-rgb), .22) !important;
}

body.wolf-global-color .card:hover,
body.wolf-global-color .module-card:hover,
body.wolf-global-color .tile:hover {
  box-shadow: 0 12px 38px rgba(var(--wolf-user-accent-rgb), .18) !important;
}

/* Sidebar / Navigation */
body.wolf-global-color .sidebar,
body.wolf-global-color .side,
body.wolf-global-color aside,
body.wolf-global-color nav.sidebar {
  --accent: var(--wolf-user-accent);
  --accent2: var(--wolf-user-accent-2);
}

body.wolf-global-color .sidebar a.active,
body.wolf-global-color .side a.active,
body.wolf-global-color aside a.active,
body.wolf-global-color .nav a.active,
body.wolf-global-color .menu a.active,
body.wolf-global-color .sidebar a:hover,
body.wolf-global-color .side a:hover,
body.wolf-global-color aside a:hover {
  background: linear-gradient(135deg, rgba(var(--wolf-user-accent-rgb), .30), rgba(var(--wolf-user-accent-rgb), .12)) !important;
  border-color: rgba(var(--wolf-user-accent-rgb), .42) !important;
}

/* Kategorien einheitlich */
body.wolf-global-color .nav-section,
body.wolf-global-color .nav-group,
body.wolf-global-color .nav-category,
body.wolf-global-color .sidebar-section,
body.wolf-global-color .menu-section,
body.wolf-global-color .category-header,
body.wolf-global-color .group-header,
body.wolf-global-color details {
  border-color: rgba(var(--wolf-user-accent-rgb), .32) !important;
}

/* Formulare */
body.wolf-global-color input,
body.wolf-global-color textarea,
body.wolf-global-color select {
  border-color: rgba(var(--wolf-user-accent-rgb), .24) !important;
}

body.wolf-global-color input:focus,
body.wolf-global-color textarea:focus,
body.wolf-global-color select:focus {
  outline: none !important;
  border-color: rgba(var(--wolf-user-accent-rgb), .78) !important;
  box-shadow: 0 0 0 3px rgba(var(--wolf-user-accent-rgb), .18) !important;
}

/* Badges / Pills */
body.wolf-global-color .badge,
body.wolf-global-color .pill,
body.wolf-global-color .tag,
body.wolf-global-color .label {
  border-color: rgba(var(--wolf-user-accent-rgb), .35) !important;
}

body.wolf-global-color .badge.primary,
body.wolf-global-color .pill.primary,
body.wolf-global-color .tag.primary {
  background: rgba(var(--wolf-user-accent-rgb), .22) !important;
  color: #fff !important;
}

/* Tabellen */
body.wolf-global-color th {
  color: #fff !important;
  border-bottom-color: rgba(var(--wolf-user-accent-rgb), .35) !important;
}

body.wolf-global-color tr:hover td {
  background: rgba(var(--wolf-user-accent-rgb), .07) !important;
}

/* Tabs */
body.wolf-global-color .tab.active,
body.wolf-global-color .tabs a.active,
body.wolf-global-color .nav-tabs .active {
  background: rgba(var(--wolf-user-accent-rgb), .20) !important;
  border-color: rgba(var(--wolf-user-accent-rgb), .42) !important;
}

/* Progress */
body.wolf-global-color progress::-webkit-progress-value {
  background: linear-gradient(90deg, var(--wolf-user-accent), var(--wolf-user-accent-2)) !important;
}

body.wolf-global-color .progress-bar,
body.wolf-global-color .bar-fill {
  background: linear-gradient(90deg, var(--wolf-user-accent), var(--wolf-user-accent-2)) !important;
}

/* Scrollbar */
body.wolf-global-color ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--wolf-user-accent), var(--wolf-user-accent-2));
  border-radius: 999px;
}

/* Persönliches Hintergrundbild */
body.wolf-global-color.wolf-has-bg-image::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  background-image: var(--wolf-bg-image);
  background-size: cover;
  background-position: center;
  opacity: var(--wolf-bg-opacity, .18);
}

body.wolf-global-color.wolf-has-bg-image::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: rgba(8,9,15,.78);
}
