/* =========================================================================
   AgentCars · Auth (login / registro) — mismo lenguaje que el front nuevo
   Autocontenido. Poppins, rojo/negro. Sin Bootstrap.
   ========================================================================= */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

:root{
  --primary:#EC0C0C; --primary-600:#c90a0a;
  --ink:#111214; --ink-2:#17181c; --body:#2b2e33; --muted:#6b7075;
  --line:#e9e9ec; --soft:#f5f5f7; --white:#fff;
  --radius:14px; --radius-sm:10px;
  --shadow-lg:0 20px 60px rgba(17,18,20,.14);
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{ box-sizing:border-box; }
.auth_body{
  margin:0; font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--body); background:var(--soft); -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
.auth_body img{ display:block; max-width:100%; }
.auth_body a{ color:inherit; text-decoration:none; }

.auth_wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:26px; }
.auth_shell{
  width:100%; max-width:1000px; background:var(--white); border-radius:22px; overflow:hidden;
  box-shadow:var(--shadow-lg); display:grid; grid-template-columns:1fr 1fr; min-height:600px;
}

/* ---- Panel de marca (izquierda, oscuro) ---- */
.auth_aside{
  position:relative; background:var(--ink); color:#c7c9ce; padding:48px 44px;
  display:flex; flex-direction:column; justify-content:center; overflow:hidden;
}
.auth_aside::before{
  content:""; position:absolute; width:340px; height:340px; border-radius:50%;
  background:radial-gradient(circle,rgba(236,12,12,.35),transparent 70%);
  top:-120px; right:-120px; filter:blur(10px);
}
.auth_aside::after{
  content:""; position:absolute; width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle,rgba(236,12,12,.18),transparent 70%);
  bottom:-100px; left:-80px;
}
.auth_aside > *{ position:relative; z-index:1; }
.auth_aside .brand{ height:46px; width:auto; margin-bottom:34px; }
.auth_aside h2{ color:#fff; font-size:30px; font-weight:800; line-height:1.15; letter-spacing:-.02em; margin:0 0 14px; }
.auth_aside .lead{ font-size:15.5px; color:#a9adb3; margin:0 0 28px; max-width:340px; }
.auth_feats{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.auth_feats li{ display:flex; align-items:center; gap:12px; font-size:14.5px; color:#d7d9dd; }
.auth_feats li i{
  flex:none; width:24px; height:24px; border-radius:50%; background:var(--primary);
  color:#fff; font-size:11px; display:flex; align-items:center; justify-content:center;
}

/* ---- Formulario (derecha) ---- */
.auth_form_side{ padding:52px 48px; display:flex; flex-direction:column; justify-content:center; }
.auth_form_side .mobile_logo{ display:none; }
.auth_form_side h3{ font-size:26px; font-weight:700; color:var(--ink); letter-spacing:-.02em; margin:0 0 6px; }
.auth_form_side .sub{ font-size:15px; color:var(--muted); margin:0 0 28px; }

.fld{ margin-bottom:16px; }
.fld .form-label{ display:block; font-size:13px; font-weight:600; color:var(--ink); margin-bottom:7px; }
.form-control{
  width:100%; height:50px; border:1.5px solid var(--line); border-radius:var(--radius-sm);
  padding:0 15px; font-family:inherit; font-size:15px; color:var(--ink); background:#fff; transition:.2s;
}
.form-control::placeholder{ color:#aeb2b8; }
.form-control:focus{ border-color:var(--primary); outline:none; box-shadow:0 0 0 4px rgba(236,12,12,.1); }
.auth_row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:inherit;
  font-weight:600; font-size:15px; line-height:1; padding:15px 24px; border-radius:999px;
  border:1.5px solid transparent; cursor:pointer; transition:.2s var(--ease);
}
.btn-thm{ background:var(--primary); color:#fff; box-shadow:0 8px 22px rgba(236,12,12,.28); }
.btn-thm:hover{ background:var(--primary-600); transform:translateY(-2px); box-shadow:0 12px 28px rgba(236,12,12,.34); }
.btn-thm:disabled{ opacity:.7; cursor:default; transform:none; box-shadow:none; }
.w-100{ width:100%; }

.auth_row_end{ display:flex; justify-content:flex-end; margin:-4px 0 12px; }
.auth_link{ font-size:13px; color:var(--muted); font-weight:500; }
.auth_link:hover{ color:var(--primary); text-decoration:underline; }

.auth_msg{ font-size:13.5px; margin:4px 0 14px; min-height:18px; }
.auth_msg.auth_error{ color:var(--primary); font-weight:500; }
.auth_msg.auth_ok{ color:#127a3e; font-weight:500; }

.auth_foot{ font-size:14px; color:var(--muted); margin:26px 0 0; text-align:center; }
.auth_foot a{ color:var(--primary); font-weight:600; }
.auth_foot a:hover{ text-decoration:underline; }

/* ---- Responsive ---- */
@media (max-width:820px){
  .auth_shell{ grid-template-columns:1fr; max-width:460px; min-height:0; }
  .auth_aside{ display:none; }
  .auth_form_side{ padding:40px 30px; }
  .auth_form_side .mobile_logo{
    display:block; text-align:center; margin-bottom:26px;
  }
  .auth_form_side .mobile_logo img{ height:52px; width:auto; margin:0 auto; }
}
@media (max-width:460px){
  .auth_wrap{ padding:16px; }
  .auth_shell{ border-radius:16px; }
  .auth_form_side{ padding:32px 22px; }
  .auth_row{ grid-template-columns:1fr; gap:0; }
}
