/* ============ PALETA SLATE ============ */
:root[data-theme="slate"]{
  /* Acento */
  --primary:#2e3f66; --primary-600:#273656; --primary-700:#202c46; --primary-rgb:46,63,102;

  /* Neutros base */
  --ink:#0e1116; --muted:#4b5563; --muted-weak:#7b8491;
  --bg:#f6f7fa; --card:#ffffff; --card-hover:#f8f9fc;

  /* Bordes / anillos */
  --ring:#e6e9f1; --border:#e5e7eb; --divider:#edf1f5;

  /* Superficies */
  --primary-soft:#eef1f6; --primary-soft-hover:#e9edf4;
  --surface-hover:#f1f3f5; --surface-muted:#fafbfc;
  --shadow-rgb:10,12,16;

  /* Estados */
  --danger-bg:#ffeaea; --danger-ring:#ffd3d3; --danger-700:#9a0511;
  --success-bg:#eef7ff; --success-ring:#cfe4ff;
  --overlay-backdrop:rgba(10,12,16,.6);

  /* Inputs */
  --input-border:#cbd5e1;
}

/* ============ REGISTRO (colores via variables) ============ */
html, body{
  font-family:'Manrope', Arial, sans-serif;
  background:var(--bg);
  color:var(--ink);
  margin:0; padding:0; min-height:100vh;
}

.registro-container{
  max-width:410px;
  margin:4.5em auto 0;
  background:var(--card);
  border-radius:19px;
  box-shadow:0 7px 32px rgba(var(--shadow-rgb),.11);
  padding:2.7em 2.1em 2.1em;
  display:flex; flex-direction:column; align-items:center;
  border:1.5px solid var(--ring);
}

.registro-logo{
  display:flex; align-items:center; gap:.7em;
  font-size:2em; font-weight:800; color:var(--primary);
  letter-spacing:-1px; margin-bottom:.2em;
}
.registro-logo img{ height:2.2em; }

h2{
  margin:.5em 0 1.3em;
  font-size:1.25em; font-weight:800; text-align:center;
  color:var(--primary-700); letter-spacing:-.7px;
}

.registro-form{ width:100%; display:flex; flex-direction:column; gap:1.1em; }
.registro-form p{ margin-bottom:1.1em; display:flex; flex-direction:column; }

.registro-form label{
  font-weight:700; color:var(--primary); margin-bottom:.28em; font-size:1em;
}

.registro-form input,
.registro-form select{
  width:100%; box-sizing:border-box;
  padding:.68em 1em; border-radius:8px;
  border:1.5px solid var(--input-border);
  background:var(--card-hover);
  font-size:1.07em; margin-top:.02em;
  transition:border-color .15s, box-shadow .14s;
  color:var(--ink);
}
.registro-form input::placeholder{ color:var(--muted-weak); }
.registro-form input:focus,
.registro-form select:focus{
  border-color:var(--primary);
  box-shadow:0 0 0 2px rgba(var(--primary-rgb),.18);
  outline:none;
}

.registro-btn{
  width:100%; padding:.75em 0; margin-top:.4em;
  color:#fff; font-weight:800; font-size:1.09em; border:none; border-radius:10px; cursor:pointer;
  background:linear-gradient(180deg, var(--primary), var(--primary-600));
  box-shadow:0 2px 14px rgba(var(--primary-rgb),.12), inset 0 -1px 0 rgba(0,0,0,.06);
  transition:filter .13s, transform .10s;
}
.registro-btn:hover, .registro-btn:focus{
  filter:brightness(1.05);
  transform:translateY(-1px) scale(1.03);
}

/* Links */
.registro-links{ margin-top:1.4em; text-align:center; }
.registro-links a{
  color:var(--primary); text-decoration:underline; font-weight:700; font-size:.98em;
}
.registro-links a:hover{ color:var(--primary-700); }

/* Mensajes Django (genérico en rojo como el original) */
.messages{ width:100%; margin-bottom:.7em; padding:0; }
.messages li{
  list-style:none; text-align:center; font-weight:700; font-size:.98em;
  background:var(--danger-bg); color:var(--danger-700); border:1px solid var(--danger-ring);
  border-radius:8px; padding:.7em 1em; margin-bottom:.4em; animation:fadeInError .5s;
}

/* Errorlist de Django */
.errorlist{ width:100%; margin-bottom:.7em; padding:0; }
.errorlist li{
  list-style:none; text-align:center; font-weight:700; font-size:.98em;
  background:var(--danger-bg); color:var(--danger-700); border:1px solid var(--danger-ring);
  border-radius:8px; padding:.7em 1em; margin-bottom:.4em; animation:fadeInError .5s;
}

@keyframes fadeInError{
  from{ opacity:0; transform:translateY(-15px); }
  to{ opacity:1; transform:translateY(0); }
}

@media (max-width:520px){
  .registro-container{ padding:1.6em .4em; }
}