/*
WolfPython Dashboard Beauty Restore
Sicherer Layout-/Design-Fix ohne aggressives Ersetzen der Sidebar.
*/

:root {
  --wolf-accent: var(--wolf-user-accent, #7c8cff);
  --wolf-accent-2: var(--wolf-user-accent-2, #ff5c9a);
  --wolf-accent-rgb: var(--wolf-user-accent-rgb, 124,140,255);
  --wolf-bg: #070914;
  --wolf-panel: rgba(18, 22, 38, .88);
  --wolf-panel-2: rgba(26, 31, 52, .82);
  --wolf-line: rgba(255,255,255,.12);
  --wolf-text: #f7f8ff;
  --wolf-muted: rgba(230,235,255,.75);
}

html, body { min-height: 100%; }

body {
  background:
    radial-gradient(circle at 18% 8%, rgba(255, 65, 115, .22), transparent 28%),
    radial-gradient(circle at 85% 5%, rgba(88, 100, 255, .20), transparent 32%),
    linear-gradient(135deg, #090b14 0%, #0b0d1b 45%, #12102b 100%) !important;
  color: var(--wolf-text) !important;
  overflow-x: hidden !important;
}

main,
.main,
.content,
.dashboard-content,
.page-content,
.wolf-content,
.container,
.container-fluid,
.app-content,
#content,
#main,
#app main {
  max-width: none !important;
  width: auto !important;
  min-width: 0 !important;
}

.wrap,
.wrapper,
.layout,
.shell,
.dashboard-layout,
.page,
.page-wrap,
.app,
.app-shell {
  max-width: none !important;
}

main,
.main,
.content,
.dashboard-content,
.page-content,
#content,
#main {
  padding: clamp(18px, 2.2vw, 34px) !important;
}

body .grid,
body .cards,
body .dashboard-grid,
body .stats-grid,
body .modules-grid,
body .kpi-grid,
body .overview-grid {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

body .card,
body .panel,
body .box,
body .widget,
body .module-card,
body .stat-card,
body .tile,
body .glass-card {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  color: var(--wolf-text) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(var(--wolf-accent-rgb), .25) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

body .card:hover,
body .panel:hover,
body .module-card:hover,
body .tile:hover {
  box-shadow: 0 22px 70px rgba(0,0,0,.32), 0 0 0 1px rgba(var(--wolf-accent-rgb), .18) !important;
}

h1, h2, h3, h4, h5,
.title,
.page-title,
.card-title,
.module-title {
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}

.muted,
.sub,
.subtitle,
.description,
small {
  color: var(--wolf-muted) !important;
}

.btn,
button:not(.plain):not(.unstyled),
input[type="submit"],
input[type="button"],
.button,
.action-btn {
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: linear-gradient(135deg, var(--wolf-accent), var(--wolf-accent-2)) !important;
  color: #fff !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 34px rgba(var(--wolf-accent-rgb), .26) !important;
}

input,
textarea,
select {
  background: rgba(5,7,16,.82) !important;
  border: 1px solid rgba(var(--wolf-accent-rgb), .25) !important;
  color: #fff !important;
  border-radius: 14px !important;
}

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

table {
  width: 100% !important;
  border-collapse: collapse;
}

th, td {
  border-bottom: 1px solid rgba(255,255,255,.09) !important;
}

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

/* Sidebar lesbar lassen, aber nicht aggressiv umbauen */
.sidebar,
.side,
aside,
nav.sidebar,
.dashboard-sidebar,
.layout-sidebar,
.nav-sidebar {
  color: #fff !important;
}

.sidebar a,
.side a,
aside a,
nav.sidebar a,
.dashboard-sidebar a,
.layout-sidebar a,
.nav-sidebar a {
  color: #fff !important;
}

.sidebar a.active,
.side a.active,
aside a.active,
.nav a.active,
.menu a.active {
  background: rgba(var(--wolf-accent-rgb), .25) !important;
  border-color: rgba(var(--wolf-accent-rgb), .45) !important;
}

/* Falls Cards per altem Script zu schmal wurden */
body.wolf-beauty-restore .card[style*="width"],
body.wolf-beauty-restore .panel[style*="width"],
body.wolf-beauty-restore .box[style*="width"] {
  max-width: none !important;
}

.badge,
.pill,
.tag,
.label {
  border-radius: 999px !important;
  border: 1px solid rgba(var(--wolf-accent-rgb), .35) !important;
}

@media (max-width: 900px) {
  main,
  .main,
  .content,
  .dashboard-content,
  .page-content,
  #content,
  #main {
    padding: 16px !important;
  }

  body .grid,
  body .cards,
  body .dashboard-grid,
  body .stats-grid,
  body .modules-grid,
  body .kpi-grid,
  body .overview-grid {
    grid-template-columns: 1fr !important;
  }
}
