:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; color: #202124; background: #f6f7f9; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 50% 0, #fff 0, #f8f8fa 42%, #f2f3f6 100%); }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(420px, 100%); padding: 38px; border: 1px solid #e7e8ec; border-radius: 22px; background: #fff; box-shadow: 0 22px 60px rgba(36, 38, 45, .12); }
.brand { font-size: 22px; font-weight: 800; margin-bottom: 34px; }
.brand small { margin-left: 6px; color: #a2a5ad; font-size: 14px; font-weight: 700; }
h1 { margin: 0 0 8px; font-size: 28px; }
.intro { margin: 0 0 28px; color: #777b85; line-height: 1.6; }
label { display: block; margin: 17px 0 8px; font-size: 14px; font-weight: 700; }
input { width: 100%; height: 48px; border: 1px solid #dfe1e6; border-radius: 12px; padding: 0 14px; font: inherit; outline: none; transition: border-color .15s, box-shadow .15s; }
input:focus { border-color: #ff4d73; box-shadow: 0 0 0 4px rgba(255, 77, 115, .12); }
button { width: 100%; height: 50px; margin-top: 24px; border: 0; border-radius: 14px; background: #ff4d73; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
button:hover { background: #f83e67; }
button:disabled { opacity: .65; cursor: wait; }
.error { margin: 14px 0 -8px; color: #c72949; font-size: 14px; line-height: 1.5; }
@media (max-width: 520px) { .login-shell { padding: 14px; } .login-card { padding: 28px 22px; border-radius: 18px; } }
