:root { color-scheme: light; font-family: Inter, Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: #f3f1ed; color: #1f2a44; }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(420px, 100%); background: rgba(255,255,255,.94); border: 1px solid #e5e0d8; border-radius: 24px; padding: 38px; box-shadow: 0 24px 70px rgba(31,42,68,.12); }
.mark { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; color: #fff; background: linear-gradient(145deg,#7357df,#9e87f5); font-size: 25px; font-weight: 800; }
.eyebrow { margin: 24px 0 6px; color: #8871db; font-size: 11px; letter-spacing: .16em; font-weight: 800; }
h1 { margin: 0; font-size: 38px; letter-spacing: -.04em; }
.lead { margin: 8px 0 28px; color: #687084; }
form { display: grid; gap: 17px; }
label { display: grid; gap: 7px; font-size: 13px; font-weight: 700; }
input { width: 100%; border: 1px solid #d9d5cf; border-radius: 12px; padding: 13px 14px; font: inherit; background: #fff; outline: none; }
input:focus { border-color: #8a6df0; box-shadow: 0 0 0 3px rgba(138,109,240,.13); }
button { margin-top: 4px; border: 0; border-radius: 12px; padding: 14px; color: #fff; background: #1f2a44; font: inherit; font-weight: 800; cursor: pointer; }
button:hover { background: #2b395c; }
.error { margin: 0 0 18px; padding: 11px 13px; border-radius: 10px; background: #fff0f0; color: #a43131; font-size: 13px; }
.foot { margin: 24px 0 0; color: #9a9fa9; font-size: 11px; text-align: center; text-transform: uppercase; letter-spacing: .14em; }
