* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif; background:linear-gradient(135deg,#667eea 0%,#764ba2 100%); min-height:100dvh; }
.auth-body { display:flex; align-items:center; justify-content:center; padding:24px; min-height:100dvh; }
.login-card { background:rgba(255,255,255,0.88); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-radius:20px; padding:44px 40px; width:100%; max-width:400px; box-shadow:0 8px 40px rgba(0,0,0,0.15), 0 1px 3px rgba(0,0,0,0.08); border:1px solid rgba(255,255,255,0.4); }
.login-card h2 { margin:0 0 6px 0; font-size:1.4rem; color:#2d3748; }
.login-card .sub { margin:0 0 24px 0; color:#64748b; font-size:.95rem; }
.login-card label { display:block; font-size:.9rem; font-weight:600; margin-bottom:4px; color:#334155; }
.login-card input { width:100%; padding:10px 14px; border:1px solid #d0d5dd; border-radius:10px; font-size:.95rem; background:rgba(255,255,255,0.7); box-sizing:border-box; transition:border-color .15s, box-shadow .15s; }
.login-card input:focus { outline:none; border-color:#667eea; box-shadow:0 0 0 3px rgba(102,126,234,0.15); background:#fff; }
.login-card .field { margin-bottom:18px; }
.login-card .btn { width:100%; padding:12px 0; background:linear-gradient(135deg,#667eea 0%,#764ba2 100%); color:#fff; border:none; border-radius:10px; font-size:.95rem; font-weight:600; cursor:pointer; transition:opacity .15s, transform .15s; }
.login-card .btn:hover { opacity:0.92; transform:translateY(-1px); }
.login-card .btn:active { transform:translateY(0); }
.login-card .footnote { margin-top:22px; font-size:.85rem; color:#64748b; text-align:center; }
.login-card .footnote a { color:#667eea; text-decoration:none; font-weight:600; }
.login-card .footnote a:hover { text-decoration:underline; }
.alert { padding:10px 14px; border-radius:10px; margin-bottom:18px; font-size:.9rem; }
.alert-error { background:rgba(254,226,226,0.85); color:#991b1b; border:1px solid rgba(254,202,202,0.6); }
.alert-success { background:rgba(220,252,231,0.85); color:#166534; border:1px solid rgba(187,247,208,0.6); }
.logo { text-align:center; margin-bottom:10px; font-size:2.2rem; }
@media (max-width: 480px) {
    .auth-body { padding:20px 16px; align-items:center; }
    .login-card { padding:32px 24px; border-radius:16px; background:rgba(255,255,255,0.85); max-width:100%; }
    .login-card h2 { font-size:1.25rem; }
    .login-card input { padding:11px 14px; font-size:1rem; }
    .login-card .btn { padding:13px 0; font-size:1rem; }
    .logo { font-size:2rem; }
}
