/* Perseus – Premium Dark UI (Autohaus) */

:root{
  --bg-0:#06080c;
  --bg-1:#0b0f16;
  --card: rgba(255, 255, 255, 0.04);
  --card2: rgba(255,255,255,.06);
  --border: rgba(255,255,255,.10);
  --border2: rgba(255,255,255,.14);

  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.62);

  --a1:#7c3aed;   /* violet */
  --a2:#22c55e;   /* green */
  --a3:#06b6d4;   /* cyan */
  --danger:#ef4444;
  --shadow: 0 18px 50px rgba(0,0,0,.45);
  --radius: 18px;
}

* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
html, body { height: 100%; }

body{
  background:
    radial-gradient(900px 600px at 10% -10%, rgba(124,58,237,.28), transparent 62%),
    radial-gradient(900px 600px at 90% 10%, rgba(34,197,94,.18), transparent 60%),
    radial-gradient(700px 500px at 60% 110%, rgba(6,182,212,.14), transparent 55%),
    linear-gradient(180deg, var(--bg-0), var(--bg-1) 60%, var(--bg-0));
  color: var(--text);
}

a { color: inherit; }
.text-secondary{ color: var(--muted) !important; }

/* Navbar */
.navbar{
  backdrop-filter: blur(10px);
  background: rgba(10,12,18,.65) !important;
  border-bottom: 1px solid var(--border) !important;
}
.navbar .nav-link{
  color: rgba(255,255,255,.78) !important;
  transition: all .18s ease;
}
.navbar .nav-link:hover{
  color: rgba(255,255,255,.96) !important;
  transform: translateY(-1px);
}
.navbar .navbar-brand{
  letter-spacing: .2px;
}

/* Containers spacing */
main .container{ max-width: 1100px; }

/* Cards */
.card{
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.035));
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.card .card-body{ padding: 18px; }

/* Hero */
.hero{
  position: relative;
  overflow: hidden;
  border-radius: calc(var(--radius) + 6px);
  border: 1px solid var(--border2);
  background:
    linear-gradient(135deg, rgba(124,58,237,.22), rgba(34,197,94,.10), rgba(6,182,212,.10)),
    rgba(255,255,255,.03);
  box-shadow: 0 26px 70px rgba(0,0,0,.55);
  padding: 28px;
}
.hero::after{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(500px 260px at 20% 20%, rgba(255,255,255,.08), transparent 60%),
    radial-gradient(500px 260px at 80% 40%, rgba(255,255,255,.06), transparent 60%);
  pointer-events:none;
  mix-blend-mode: overlay;
}
.hero h1, .hero .display-6{ letter-spacing: -.6px; }
.hero .lead{ color: var(--muted); }

/* Badges */
.badge{
  border: 1px solid rgba(255,255,255,.10);
  padding: .45rem .6rem;
}

/* Buttons */
.btn{
  border-radius: 14px;
  padding: .55rem .9rem;
  border-width: 1px;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(0,0,0,.35);
}
.btn:active{ transform: translateY(0); }

.btn-light{
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.82));
  border-color: rgba(255,255,255,.22);
}
.btn-outline-light{
  border-color: rgba(255,255,255,.20);
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.02);
}
.btn-outline-light:hover{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.28);
}

.btn-outline-danger{
  border-color: rgba(239,68,68,.45);
  color: rgba(255,255,255,.92);
  background: rgba(239,68,68,.06);
}
.btn-outline-danger:hover{
  background: rgba(239,68,68,.14);
  border-color: rgba(239,68,68,.65);
}

/* Forms */
.form-label{ margin-bottom: .25rem; }
.form-control, .form-select, textarea{
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.12);
  color: var(--text);
}
.form-control::placeholder, textarea::placeholder{ color: rgba(255,255,255,.45); }
.form-control:focus, .form-select:focus, textarea:focus{
  background: rgba(255,255,255,.06);
  color: var(--text);
  border-color: rgba(124,58,237,.55);
  box-shadow: 0 0 0 .25rem rgba(124,58,237,.16);
}
textarea{ resize: vertical; }

hr.border-secondary{ border-color: rgba(255,255,255,.10) !important; }

/* Tables */
.table{
  --bs-table-bg: transparent;
  --bs-table-color: var(--text);
}
.table thead th{
  color: rgba(255,255,255,.60);
  font-weight: 600;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
}
.table tbody td{
  border-top: 1px solid rgba(255,255,255,.08) !important;
}
.table-hover tbody tr{
  transition: background .15s ease, transform .15s ease;
}
.table-hover tbody tr:hover{
  background: rgba(255,255,255,.04);
}

/* Subtle panels */
.rounded-3.border{
  border-color: rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.03);
  border-radius: 16px !important;
}

/* Alerts (nicer) */
.alert{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: var(--text);
}
.alert-success{
  border-color: rgba(34,197,94,.35);
  background: rgba(34,197,94,.10);
}
.alert-danger{
  border-color: rgba(239,68,68,.35);
  background: rgba(239,68,68,.10);
}

/* Footer */
footer{
  background: rgba(10,12,18,.55) !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
}

