/* ── AUTH CSS ── */
:root{--bg:#0B0F1E;--blue:#4B6EF5;--violet:#7C4DFF;--teal:#00D9A5;--surface:#161B27;--border:rgba(255,255,255,0.08);--text:#E8ECF4;--text2:#8B93A8;--text3:#4B5368}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;align-items:center;justify-content:center}
.auth-bg{position:fixed;inset:0;z-index:0}
.auth-orb{position:absolute;border-radius:50%;filter:blur(80px)}
.orb1{width:400px;height:400px;background:rgba(75,110,245,.2);top:-100px;right:0}
.orb2{width:300px;height:300px;background:rgba(124,77,255,.15);bottom:0;left:0}
.auth-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:50px 50px}
.auth-wrap{position:relative;z-index:1;width:100%;max-width:420px;padding:24px 16px}
.auth-brand{text-align:center;margin-bottom:28px}
.auth-logo-icon{width:60px;height:60px;background:linear-gradient(135deg,var(--blue),var(--violet));border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 12px}
.auth-brand h1{font-family:'Bricolage Grotesque',sans-serif;font-size:26px;font-weight:800;color:#fff;letter-spacing:-.5px}
.auth-brand p{font-size:13px;color:var(--text2);margin-top:4px}
.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:32px 28px;box-shadow:0 24px 80px rgba(0,0,0,.5)}
.auth-card h2{font-family:'Bricolage Grotesque',sans-serif;font-size:22px;font-weight:800;color:#fff;margin-bottom:4px}
.auth-sub{font-size:13px;color:var(--text2);margin-bottom:24px}
.alert{padding:10px 14px;border-radius:9px;margin-bottom:16px;font-size:13px;font-weight:500}
.alert-success{background:rgba(0,217,165,.12);color:var(--teal);border:1px solid rgba(0,217,165,.2)}
.alert-error{background:rgba(255,91,91,.12);color:#FF5B5B;border:1px solid rgba(255,91,91,.2)}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:12px;font-weight:600;color:var(--text2);margin-bottom:7px}
.input-wrap{position:relative}
.input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;stroke:var(--text3);fill:none;stroke-width:1.8}
.form-input{width:100%;height:50px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:9px;padding:0 44px;font-family:'DM Sans',sans-serif;font-size:14px;color:var(--text);outline:none;transition:border-color .18s}
.form-input:focus{border-color:var(--blue)}
.form-input::placeholder{color:var(--text3)}
.eye-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px}
.eye-btn svg{width:16px;height:16px;stroke:var(--text3);fill:none}
.btn-login{width:100%;height:50px;background:linear-gradient(135deg,var(--blue),var(--violet));border:none;border-radius:9px;color:#fff;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;cursor:pointer;margin-top:8px;box-shadow:0 6px 20px rgba(75,110,245,.35);transition:all .2s}
.btn-login:hover{transform:translateY(-1px);box-shadow:0 8px 28px rgba(75,110,245,.45)}
.forgot-link{display:block;text-align:center;margin-top:16px;font-size:13px;color:var(--blue);font-weight:600;text-decoration:none}
.demo-creds{margin-top:20px;padding:14px;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:9px}
.demo-title{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}
.demo-row{font-size:12px;color:var(--text2);margin-bottom:4px}
.demo-row span{font-weight:600;color:var(--text)}
