:root { color-scheme: light; font-family: Inter, "Hiragino Sans", "Yu Gothic", sans-serif; background: #e8ebef; color: #18263a; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 20% 0%, #fff 0, #edf3fa 34%, #e8ebef 72%); }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(100%, 420px); padding: 34px 28px; border-radius: 28px; background: rgba(255,255,255,.96); box-shadow: 0 22px 65px rgba(31,65,111,.16); }
.login-card img { display: block; border-radius: 18px; }
.eyebrow { margin: 20px 0 6px; color: #3d6fbe; font-size: .68rem; font-weight: 800; letter-spacing: .16em; }
h1 { margin: 0; color: #1f416f; font-size: 2.3rem; letter-spacing: -.05em; }
.intro { margin: 7px 0 24px; color: #66717d; }
form { display: grid; gap: 15px; }
label span { display: block; margin-bottom: 7px; color: #66717d; font-size: .76rem; font-weight: 700; }
input { width: 100%; min-height: 50px; padding: 0 13px; border: 1px solid #cad4df; border-radius: 13px; background: #f8fafc; font: inherit; }
button { min-height: 52px; margin-top: 4px; border: 0; border-radius: 14px; background: #1f416f; color: white; font: 800 1rem/1 inherit; box-shadow: 0 10px 24px rgba(31,65,111,.24); }
.login-error { padding: 12px; border-radius: 12px; background: #fff0f0; color: #963f3f; font-size: .78rem; line-height: 1.5; }
.login-card > small { display: block; margin-top: 18px; color: #7d8791; font-size: .68rem; line-height: 1.6; }
