:root{--ink:#10233d;--muted:#66758a;--line:#dce3ed;--blue:#2469ed;--navy:#12304e;--bg:#f3f7fc}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:system-ui,-apple-system,"Noto Sans KR","Malgun Gothic",sans-serif;color:var(--ink);background:var(--bg)}
body{min-height:100vh;display:grid;place-items:center;padding:24px}
.auth-shell{width:min(980px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border:1px solid rgba(16,35,61,.08);border-radius:28px;overflow:hidden;box-shadow:0 24px 70px rgba(30,58,95,.14)}
.auth-brand{padding:64px 54px;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(59,130,246,.75),transparent 34%),linear-gradient(145deg,#102b45,#16528a 70%,#2469ed)}
.auth-brand img{width:110px;height:auto;border-radius:12px;margin-bottom:64px}
.auth-brand .eyebrow{font-size:12px;letter-spacing:.18em;font-weight:800;color:#bcd8ff;margin:0 0 14px}
.auth-brand h1{font-size:36px;line-height:1.25;margin:0 0 14px;letter-spacing:-.04em}
.auth-brand>p:last-child{color:#d7e7fa;margin:0;line-height:1.75}
.auth-card{padding:54px 48px;display:flex;flex-direction:column;justify-content:center}
.auth-card h2{font-size:28px;margin:0 0 8px;letter-spacing:-.03em}
.auth-help{margin:0 0 28px;color:var(--muted);line-height:1.6}
.auth-card label{font-size:14px;font-weight:750;margin:0 0 8px}
.auth-card input{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:14px 15px;font-size:16px;margin:0 0 18px;outline:none;transition:.2s}
.auth-card input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(36,105,237,.1)}
.auth-card input[type=submit],.auth-primary{border:0;background:linear-gradient(135deg,#1f62df,#2d79f3);color:#fff;font-weight:800;cursor:pointer;margin-top:4px;box-shadow:0 10px 24px rgba(36,105,237,.22);text-align:center;text-decoration:none}
.auth-card input[type=submit]:hover,.auth-primary:hover{filter:brightness(.96)}
.auth-links{display:flex;justify-content:space-between;gap:16px;margin-top:8px}
.auth-links a{color:#50637a;text-decoration:none;font-size:14px;font-weight:700}
.auth-links a:hover{color:var(--blue)}
.auth-alert{padding:12px 14px;margin:0 0 20px;border-radius:12px;background:#fff1f1;color:#a52a2a;border:1px solid #ffd6d6;font-size:14px;line-height:1.5}
.auth-note{padding:18px;border-radius:14px;background:#f3f7fd;color:#44566d;line-height:1.7;margin:0 0 22px}
.auth-actions{display:grid;gap:10px}.auth-actions a{display:block;padding:14px;border-radius:13px;text-align:center;text-decoration:none;font-weight:800}
.auth-secondary{border:1px solid var(--line);color:var(--ink);background:#fff}
@media(max-width:720px){body{padding:0;background:#fff;display:block}.auth-shell{display:block;border:0;border-radius:0;box-shadow:none;min-height:100vh}.auth-brand{padding:28px 24px 34px}.auth-brand img{width:78px;margin-bottom:32px}.auth-brand h1{font-size:28px}.auth-card{padding:32px 24px 44px}.auth-links{font-size:13px}}
