:root { color-scheme: light; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; color: #31242b; background: #faf7f8; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 32px 20px; background: radial-gradient(ellipse at top left, #f9e3eb, transparent 65%), #faf7f8; }
.login-card { width: 100%; max-width: 440px; padding: 36px; background: white; border: 1px solid #eadfe4; border-radius: 24px; box-shadow: 0 20px 60px #59384a12; }
.brand-mark { width: 48px; height: 48px; display: grid; place-items: center; color: white; background: #c95f7f; border-radius: 14px; font-size: 23px; font-weight: 700; margin-bottom: 22px; }
.eyebrow { color: #a94867; font-size: 13px; font-weight: 600; margin: 0 0 8px; }
h1 { font-size: 28px; margin: 0 0 10px; }
.intro { color: #7b717c; font-size: 14px; line-height: 1.7; margin: 0 0 26px; }
label { display: block; font-size: 14px; font-weight: 600; margin: 17px 0 8px; }
input { width: 100%; border: 1px solid #dfd4da; border-radius: 10px; padding: 12px 14px; font: inherit; background: #fff; color: #31242b; }
input:focus { outline: 3px solid #fde8ef; border-color: #c95f7f; }
button { width: 100%; border: 0; border-radius: 10px; background: #b64e70; color: white; padding: 13px 16px; font: inherit; font-weight: 600; cursor: pointer; }
button:hover { background: #a94867; }
button:disabled { opacity: .6; cursor: wait; }
.hint, .footer { color: #7b717c; font-size: 12px; line-height: 1.7; }
.footer { margin: 24px 0 0; text-align: center; }
#message { min-height: 20px; font-size: 13px; line-height: 1.6; color: #b62f47; margin: 16px 0; }
[hidden] { display: none !important; }
@media (max-width: 480px) { .login-card { padding: 28px 24px; } }
