@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:wght@300;400;500&display=swap');
*{margin:0;padding:0;box-sizing:border-box;}
:root{--bg:#0a0a0f;--bg2:#111118;--bg3:#1a1a24;--border:#ffffff12;--border2:#ffffff22;--accent:#7c5cfc;--accent2:#a78bfa;--text:#f0eeff;--muted:#8882a8;--success:#22d3a5;--danger:#f43f5e;--warning:#f59e0b;}
html,body{max-width:100%;overflow-x:hidden;}
body{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;}
.stars{position:fixed;inset:0;pointer-events:none;z-index:0;}
.auth-wrap{width:100%;max-width:420px;position:relative;z-index:1;}
.auth-card{background:var(--bg2);border:1px solid var(--border2);border-radius:22px;padding:28px 24px;}
.auth-logo{text-align:center;margin-bottom:24px;}
.brand{font-family:'Syne',sans-serif;font-weight:700;font-size:20px;}
.brand span{color:var(--accent2);}
.tagline{font-size:11px;color:var(--muted);margin-top:2px;letter-spacing:2px;text-transform:uppercase;}
.fg{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.fg label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;}
.input-wrap{position:relative;display:flex;align-items:center;overflow:visible;}
.input-wrap>svg:first-child{position:absolute;left:12px;width:15px;height:15px;stroke:var(--muted);pointer-events:none;z-index:2;}
input[type=text],input[type=email],input[type=password],input[type=tel]{width:100%;padding:11px 40px 11px 38px;background:var(--bg3);border:1px solid var(--border2);border-radius:10px;color:var(--text);font-size:13px;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .2s;}
input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=tel]:focus{border-color:var(--accent);}
.eye-btn{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:var(--muted);padding:0;display:flex;align-items:center;z-index:3;}
.eye-btn:hover{color:var(--accent2);}
.btn-auth{width:100%;padding:13px;background:var(--accent);border:2px solid var(--accent2);border-radius:11px;color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:'Syne',sans-serif;box-shadow:0 0 20px #7c5cfc44;transition:all .2s;margin-top:6px;}
.btn-auth:hover{opacity:.88;}
.auth-links{text-align:center;margin-top:16px;font-size:12px;color:var(--muted);}
.auth-links a,.link-small{color:var(--accent2);text-decoration:none;cursor:pointer;font-size:11px;}
.alert-error{background:#f43f5e18;border:1px solid #f43f5e44;border-radius:9px;padding:10px 14px;font-size:12px;color:var(--danger);margin-bottom:14px;}
.alert-success{background:#22d3a518;border:1px solid #22d3a544;border-radius:9px;padding:10px 14px;font-size:12px;color:var(--success);margin-bottom:14px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.form-grid input{padding-left:12px;}
.tel-wrap{display:flex;gap:8px;}
.tel-prefix{padding:11px 12px;background:var(--bg3);border:1px solid var(--border2);border-radius:10px;color:var(--muted);font-size:13px;white-space:nowrap;}
.inp-hint{font-size:11px;color:var(--accent2);margin-top:4px;line-height:1.5;}
.olvide-box{text-align:center;padding:10px 0;}
.olvide-icon{font-size:40px;margin-bottom:12px;}
.olvide-box h2{font-family:'Syne',sans-serif;font-weight:700;font-size:18px;margin-bottom:8px;}
.olvide-box p{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:18px;}
.btn-whatsapp{display:inline-flex;align-items:center;gap:8px;background:#25d366;border:none;border-radius:10px;padding:12px 20px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;}
.alert-warning{background:#7c5cfc12;border:1px solid #7c5cfc33;border-radius:9px;padding:10px 14px;font-size:12px;color:var(--accent2);margin-bottom:14px;line-height:1.6;}
@media(max-width:480px){
  .auth-card{padding:22px 16px;border-radius:18px;}
  .brand{font-size:18px;}
  .form-grid{grid-template-columns:1fr;}
  body{padding:12px;}
  .tel-wrap{flex-direction:column;}
}
