:root{
  /* Ajuste à ta charte RSG */
  --rsg-primary:#0b5ed7;   /* Bleu principal */
  --rsg-secondary:#198754; /* Vert RSG (boutons) */
  --rsg-dark:#0b1220;
  --rsg-soft:#f5f7fb;
  --rsg-muted:#6c757d;
  --rsg-card:#ffffff;
  --rsg-border:rgba(15, 23, 42, .08);
  --rsg-shadow: 0 12px 35px rgba(2,6,23,.10);
  --rsg-radius:18px;
}

body.auth-page{
  min-height: 100vh;
  background:
    radial-gradient(1100px 500px at 15% 10%, rgba(11,94,215,.14), transparent 60%),
    radial-gradient(900px 500px at 85% 20%, rgba(25,135,84,.12), transparent 55%),
    linear-gradient(180deg, #ffffff, var(--rsg-soft));
  font-family: "Roboto", system-ui, -apple-system, Segoe UI, Arial, sans-serif;
}

.auth-wrap{
  min-height: 100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 40px 12px;
}

.auth-card{
  width: 100%;
  max-width: 460px;
  background: var(--rsg-card);
  border: 1px solid var(--rsg-border);
  border-radius: var(--rsg-radius);
  box-shadow: var(--rsg-shadow);
  overflow: hidden;
}

.auth-head{
  padding: 26px 26px 12px 26px;
  background:
    linear-gradient(145deg, rgba(11,94,215,.10), rgba(25,135,84,.06));
  border-bottom: 1px solid var(--rsg-border);
}

.auth-logo{
  width: 78px;
  height: 78px;
  border-radius: 18px;
  background: rgba(255,255,255,.8);
  border: 1px solid var(--rsg-border);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 10px 25px rgba(2,6,23,.08);
  margin-bottom: 14px;
}

.auth-logo img{
  max-width: 64px;
  height: auto;
}

.auth-title{
  margin: 0;
  font-weight: 800;
  color: var(--rsg-dark);
  letter-spacing: .2px;
}

.auth-subtitle{
  margin: 6px 0 0 0;
  color: var(--rsg-muted);
}

.auth-body{
  padding: 22px 26px 26px 26px;
}

.auth-field .input-group-text{
  background: #fff;
  border-right: 0;
  color: rgba(11,18,32,.65);
}

.auth-field .form-control{
  border-left: 0;
  padding: 12px 12px;
}

.auth-field .form-control:focus{
  box-shadow: none;
  border-color: rgba(11,94,215,.35);
}

.auth-btn{
  background: var(--rsg-secondary);
  border: none;
  padding: 12px 14px;
  font-weight: 700;
  border-radius: 14px;
}

.auth-btn:hover{
  filter: brightness(.96);
}

.auth-link{
  color: var(--rsg-primary);
  font-weight: 700;
  text-decoration: none;
}
.auth-link:hover{ text-decoration: underline; }

.auth-foot{
  padding-top: 14px;
  border-top: 1px dashed rgba(15,23,42,.10);
  margin-top: 18px;
  text-align:center;
  color: var(--rsg-muted);
  font-size: 13px;
}

/* Alert messages */
.auth-alert{
  border-radius: 14px;
  padding: 10px 12px;
  border: 1px solid rgba(220,53,69,.15);
  background: rgba(220,53,69,.06);
  color: #b02a37;
  font-size: 14px;
}

/* help text & errors */
.field-error{
  color: #b02a37;
  font-size: 12px;
  margin-top: 6px;
}
.small-muted{
  color: var(--rsg-muted);
  font-size: 13px;
}
