:root{--ink:#17233a;--muted:#6d7a90;--line:#e2e8f0;--blue:#2563eb}*{box-sizing:border-box}body{margin:0;font-family:Inter,'Noto Sans KR',sans-serif;color:var(--ink);background:#f4f7fb}.auth{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 12% 10%,#dceaff 0,transparent 27%),radial-gradient(circle at 90% 90%,#e2f5ee 0,transparent 24%),#f6f8fc}.card{width:min(460px,100%);padding:42px;border:1px solid #e2e8f0;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(23,48,84,.12)}.brand{display:inline-flex;align-items:center;gap:8px;color:#142944;text-decoration:none;font-size:20px;font-weight:800;letter-spacing:-.5px}.mark{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#5e9fff,#276ce5);color:white;box-shadow:0 7px 15px #286ae53b}.card h1{margin:32px 0 9px;font-size:24px;letter-spacing:-.7px}.lead{margin:0 0 26px;color:var(--muted);line-height:1.7}.form{display:grid;gap:16px}.form label{display:grid;gap:7px;color:#45556d;font-size:12px;font-weight:700}.form input,.form select{height:45px;padding:0 12px;border:1px solid #dbe2ec;border-radius:9px;background:#fff;font:inherit;color:var(--ink);outline:0;transition:.18s}.form input:focus,.form select:focus{border-color:#7eaaf8;box-shadow:0 0 0 3px #2563eb14}.form small{color:#8793a6;font-weight:500}.btn{min-height:45px;border:1px solid var(--blue);border-radius:9px;background:var(--blue);color:#fff;font:750 13px inherit;cursor:pointer;box-shadow:0 7px 15px #2563eb26;text-decoration:none;display:inline-grid;place-items:center}.btn:hover{background:#1f56d1}.links{display:flex;justify-content:space-between;gap:14px;margin-top:23px}.links a{color:#2863c7;font-size:12px;text-decoration:none}.links a:hover{text-decoration:underline}.message{min-height:18px;margin:13px 0 0;color:#c94444;font-size:12px}.center{text-align:center}.ok{display:grid;place-items:center;width:52px;height:52px;margin:auto;border-radius:50%;background:#e2f7ec;color:#0a9261;font-size:25px}.card table{margin-top:22px}.card th,.card td{padding:12px 9px;border-bottom:1px solid #edf0f4;text-align:left;font-size:12px}.card th{color:#78869a;font-weight:700}@media(max-width:540px){.auth{padding:16px}.card{padding:30px 23px;border-radius:16px}.links{flex-direction:column;align-items:flex-start}.card h1{font-size:21px}}
