/* Identidad visual compartida por las paginas publicas de acceso:
   login, registro, activar, recuperar, restablecer. Misma paleta e
   idea de la landing (papel calido + serif + bronce); la app de
   trabajo (dashboard, expedientes, etc.) no se toca. */

.lm-auth{
  margin:-28px calc(-50vw + 50%) -28px;
  padding:32px 24px 40px;
  background:#faf8f4;
  min-height:calc(100vh - 56px - 44px);
  display:flex;align-items:flex-start;justify-content:center;
}
.lm-auth-inner{width:100%;max-width:400px}

.lm-auth-header{margin-bottom:20px}

.lm-auth h1{
  font-family:Georgia,'Times New Roman',Times,serif;
  font-size:28px;font-weight:700;color:var(--primary);letter-spacing:-.3px;
  text-align:center;margin-bottom:4px;
}
.lm-auth-sub{
  font-family:Georgia,'Times New Roman',Times,serif;
  font-style:italic;color:var(--text-muted);font-size:14px;text-align:center;
}

.lm-auth-card{padding:22px 24px;box-shadow:0 10px 30px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.04)}

.lm-auth .btn-primary{background:#9c7a4a;box-shadow:0 1px 3px rgba(156,122,74,.3)}
.lm-auth .btn-primary:hover{background:#86673f;box-shadow:0 2px 8px rgba(156,122,74,.4)}

.lm-auth a{color:#9c7a4a}

@media(max-width:480px){
  .lm-auth{padding:20px 16px 32px}
}

/* Variante de dos columnas: panel institucional oscuro + panel del formulario. */
.lm-auth.lm-auth-split{
  padding:0;background:#faf8f4;
  display:flex;align-items:stretch;justify-content:flex-start;
}
.lm-auth-hero{
  flex:1 1 50%;max-width:none;
  background:
    linear-gradient(90deg,rgba(13,26,42,.96) 0%,rgba(13,26,42,.88) 45%,rgba(13,26,42,.55) 100%),
    url('/assets/img/LadoDerecho.png') center right / cover no-repeat;
  color:#f3ede1;
  padding:48px 44px 40px;display:flex;flex-direction:column;justify-content:flex-start;gap:26px;
}
.lm-auth-hero-brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:4px;text-align:center}
.lm-auth-hero-logo{width:130px;height:130px;flex-shrink:0;object-fit:contain}
.lm-auth-hero-brand strong{font-family:Georgia,'Times New Roman',Times,serif;font-size:19px;letter-spacing:.02em;display:block}
.lm-auth-hero-brand span{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.6}

.lm-auth-hero-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#c9a463;font-weight:700;margin-bottom:8px}
.lm-auth-hero h2{font-family:Georgia,'Times New Roman',Times,serif;font-size:32px;line-height:1.22;font-weight:700;margin-bottom:12px}
.lm-auth-hero h2 em{font-style:italic;color:#c9a463}
.lm-auth-hero-sub{font-size:13.5px;line-height:1.65;color:rgba(243,237,225,.72);max-width:380px;margin-bottom:22px}
.lm-auth-hero-features{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.lm-auth-hero-features li{display:flex;gap:9px;align-items:flex-start}
.lm-auth-hero-icon{flex-shrink:0;width:28px;height:28px;border-radius:8px;background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center}
.lm-auth-hero-icon svg{width:15px;height:15px;stroke:#c9a463}
.lm-auth-hero-features strong{display:block;font-size:12px;font-weight:700;margin-bottom:2px}
.lm-auth-hero-features span{font-size:11px;color:rgba(243,237,225,.58);line-height:1.4}

.lm-auth-panel{flex:1 1 50%;display:flex;align-items:flex-start;justify-content:center;padding:32px 24px}
.lm-auth-split .lm-auth-inner{max-width:400px}

/* El formulario de registro es mas ancho (dos columnas): le damos algo mas de aire. */
.lm-auth-panel.lm-auth-panel-wide{flex:1 1 56%}
.lm-auth.lm-auth-split:has(.lm-auth-panel-wide) .lm-auth-hero{flex:1 1 44%}

@media(max-width:900px){
  .lm-auth.lm-auth-split{flex-direction:column}
  .lm-auth-hero{flex:none;max-width:100%;padding:32px 24px}
  .lm-auth-hero-brand{flex-direction:row;align-items:center;text-align:left}
  .lm-auth-hero-logo{width:72px;height:72px}
  .lm-auth-hero h2{font-size:26px}
  .lm-auth-panel{flex:none;padding:28px 24px 36px;align-items:flex-start}
}
@media(max-width:480px){
  .lm-auth-hero{padding:24px 20px}
  .lm-auth-hero-features{grid-template-columns:1fr}
  .lm-auth-panel{padding:20px 16px 32px}
}
