/* ===== LOGIN PAGE ===== */
body.auth{display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:100vh;padding:24px}
body.auth::before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 20%,rgba(16,185,129,.22),transparent 35%),radial-gradient(circle at 85% 80%,rgba(59,130,246,.18),transparent 40%),radial-gradient(circle at 50% 50%,rgba(168,85,247,.08),transparent 60%)}
body.auth::after{content:'';position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(148,163,184,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at center,black 40%,transparent 80%);-webkit-mask-image:radial-gradient(circle at center,black 40%,transparent 80%)}

.auth-shell{position:relative;z-index:1;width:100%;max-width:420px}
.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:28px;justify-content:center}
.auth-brand .logo{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary-2));display:grid;place-items:center;box-shadow:0 10px 28px rgba(16,185,129,.35)}
.auth-brand .logo svg{width:18px;height:18px;color:#04150f}
.auth-brand .name{font-weight:700;letter-spacing:-.01em;font-size:16px}
.auth-brand .name span{color:var(--muted);font-weight:500}

.auth-card{padding:32px;border-radius:18px;background:rgba(15,20,32,.7);border:1px solid var(--border);box-shadow:0 30px 80px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.04);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.auth-card h2{margin:0 0 6px;font-size:22px;font-weight:600;letter-spacing:-.02em}
.auth-card .sub{color:var(--muted);font-size:13px;margin-bottom:24px}
.auth-card label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:500}
.auth-card input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border-hi);background:rgba(8,11,18,.85);color:var(--text);font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s;margin-bottom:14px}
.auth-card input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(16,185,129,.18)}
.auth-card .err{margin-top:4px;margin-bottom:14px;padding:10px 12px;font-size:13px;color:#fecaca;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);border-radius:8px;display:flex;align-items:center;gap:8px}
.auth-card button.primary{width:100%;margin-top:4px;padding:12px 16px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#04150f;font-weight:600;font-size:14px;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s,box-shadow .15s;box-shadow:0 8px 24px rgba(16,185,129,.25)}
.auth-card button.primary:hover{transform:translateY(-1px);box-shadow:0 12px 32px rgba(16,185,129,.4)}
.auth-foot{margin-top:18px;text-align:center;color:var(--muted);font-size:12px}
.auth-foot a{color:var(--primary-2);text-decoration:none}
.auth-foot a:hover{text-decoration:underline}
