/* LUXE FITNESS — auth.css (login) */
.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:#050505}
.login-art{position:relative;overflow:hidden;background:#050505}
.login-art img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:.8;animation:kenburns 24s ease-in-out infinite alternate}
.login-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.1),#050505 98%),linear-gradient(0deg,#050505 4%,transparent 55%)}
.login-art .copy{position:absolute;left:56px;bottom:56px;z-index:2;max-width:430px}
.login-art .copy h2{font-size:34px;font-weight:300;letter-spacing:.02em;line-height:1.2}
.login-art .copy h2 b{font-weight:800;color:var(--gold)}
.login-art .copy p{margin-top:14px;color:var(--muted);font-size:13.5px}
.login-art .logo-top{position:absolute;left:56px;top:46px;z-index:2;height:64px;width:auto;mix-blend-mode:screen}
.login-panel{display:flex;align-items:center;justify-content:center;padding:40px 28px;position:relative}
.login-panel::before{content:"";position:absolute;right:-20%;top:-20%;width:60%;height:60%;background:radial-gradient(circle,rgba(212,175,55,.09),transparent 60%);pointer-events:none}
.login-box{width:min(420px,100%);position:relative;animation:viewIn .7s .1s both}
.login-box .brand{display:flex;align-items:center;gap:14px;margin-bottom:34px}
.login-box .brand img{width:54px;height:54px;border-radius:14px}
.login-box .brand div b{display:block;font-weight:300;letter-spacing:.38em;font-size:18px}
.login-box .brand div b strong{font-weight:800;color:var(--gold)}
.login-box .brand div span{font-size:9.5px;letter-spacing:.34em;color:var(--gold)}
.login-box h1{font-size:26px;font-weight:700;margin-bottom:6px}
.login-box .sub{color:var(--muted);font-size:13px;margin-bottom:26px}
.login-box .input{background:#0B0B0B;padding:14px 16px}
.login-row{display:flex;justify-content:space-between;align-items:center;margin:4px 0 22px;font-size:12.5px}
.login-row a{color:var(--gold);cursor:pointer}
.login-row a:hover{text-decoration:underline}
.pw-wrap{position:relative}
.pw-wrap button{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--muted);padding:8px}
.demo-toggle{margin-top:26px;border-top:1px solid var(--line-soft);padding-top:18px}
.demo-toggle>button{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.demo-toggle>button:hover{color:var(--gold)}
.demo-list{display:grid;gap:8px;margin-top:14px}
.demo-acc{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:#0F0F0F;text-align:left;width:100%;transition:.2s}
.demo-acc:hover{border-color:var(--gold);transform:translateX(3px)}
.demo-acc .role{font-size:9.5px;letter-spacing:.14em;font-weight:800;color:#15110a;background:var(--gold-grad);padding:3px 8px;border-radius:6px;min-width:84px;text-align:center}
.demo-acc b{font-size:12.5px;display:block;font-weight:600}
.demo-acc span{font-size:11px;color:var(--muted)}
.login-back{position:absolute;top:26px;right:28px;font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center}
.login-back:hover{color:var(--gold)}
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.12) translate(-1.5%,1%)}}
@media(max-width:900px){
  .login{grid-template-columns:1fr}
  .login-art{display:none}
  .login-panel{min-height:100vh;background:radial-gradient(circle at 80% 0,rgba(212,175,55,.12),transparent 50%),#050505}
}

/* Móvil: la pantalla de acceso nunca desborda en horizontal */
.login{overflow-x:hidden}
.login-panel{min-width:0}
