:root {
  --brand-shadow: 0 10px 30px rgba(27, 35, 55, .08);
  --glass-bg: rgba(255, 255, 255, .72);
  --glass-bg-dark: rgba(21, 24, 35, .65);
}

* { font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; }

.auth-body {
  background: radial-gradient(1200px 800px at 10% 10%, #eef2ff 0%, #f7f7fb 40%, #fafbff 100%);
}

[data-bs-theme="dark"] .auth-body {
  background: radial-gradient(1200px 800px at 10% 10%, #0f1420 0%, #0b0e16 45%, #0a0d14 100%);
}

/* Wrapper */
.auth-wrapper .img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Colonne gauche (hero) */
.auth-hero .img-cover {
  filter: saturate(1.05) contrast(1.02);
}
.auth-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.25) 45%, rgba(0,0,0,0) 70%);
}
.auth-hero-content {
  position: absolute;
  left: 6%;
  right: 10%;
  bottom: 10%;
}
.brand-badge {
  backdrop-filter: blur(6px);
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 16px;
  padding: .35rem .75rem;
}

/* Colonne droite (carte) */
.glass-card {
  backdrop-filter: blur(12px);
  background: var(--glass-bg);
  border-radius: 16px;
  box-shadow: var(--brand-shadow);
}
[data-bs-theme="dark"] .glass-card {
  background: var(--glass-bg-dark);
}

.auth-card-header .app-brand {
  font-size: .95rem;
  letter-spacing: .2px;
}

/* Floating labels + icônes */
.form-floating > .form-control,
.form-floating > .form-select {
  border-radius: .8rem;
  padding-left: 2.6rem; /* espace icône toggle */
}
.form-floating > label { color: #6c757d; }

/* Bouton “show password” */
.password-toggle {
  position: absolute;
  right: .5rem;
  top: 50%;
  transform: translateY(-50%);
  color: #6c757d;
  text-decoration: none !important;
}
.password-toggle:hover { color: #343a40; }
[data-bs-theme="dark"] .password-toggle:hover { color: #fff; }

/* Bouton submit avec spinner */
[data-auth-submit] { position: relative; }
[data-auth-submit] .btn-spinner { vertical-align: middle; }

/* Focus */
.form-control:focus,
.form-select:focus {
  box-shadow: 0 0 0 .25rem rgba(13,110,253,.12);
}

/* Mode sombre verres/texte */
[data-bs-theme="dark"] .auth-hero-overlay {
  background: linear-gradient(115deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,.35) 45%, rgba(0,0,0,0) 70%);
}
