/* 로그인 — 디자인에 없는 화면이라 대시보드와 같은 색 · 글꼴로 최소한만 */
:root { color-scheme: dark; }
html, body { margin: 0; min-height: 100%; background: #0b0d10; color: #e6e8eb;
  font-family: "Pretendard Variable", Pretendard, system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
body { display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 24px 16px; }
.box { width: 100%; max-width: 340px; padding: 28px 24px; border-radius: 10px; background: #12151a; border: 1px solid #1d2229; }
.brand { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.mark { width: 10px; height: 10px; border-radius: 2px; background: #6aa8ff; transform: rotate(45deg); }
h1 { margin: 0; font-size: 16px; font-weight: 700; letter-spacing: -0.01em; }
form { display: flex; flex-direction: column; gap: 14px; }
label { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 600; color: #8b93a0; }
input:not([type=checkbox]) { font: inherit; font-size: 15px; font-weight: 500; color: #e6e8eb; background: #0b0d10; border: 1px solid #242a33;
  border-radius: 6px; padding: 10px 12px; outline: none; }
input:not([type=checkbox]):focus { border-color: #6aa8ff; }
button { margin-top: 6px; font: inherit; font-size: 14px; font-weight: 700; color: #0b0d10; background: #6aa8ff;
  border: none; border-radius: 6px; padding: 11px 0; cursor: pointer; }
button:hover { background: #9cc5ff; }
.err { margin: 0; font-size: 12px; color: #ff8a8e; }
.opts { display: flex; gap: 18px; margin-top: -2px; }
label.ck { flex-direction: row; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; color: #c9ced6; cursor: pointer; user-select: none; }
label.ck input { width: 15px; height: 15px; margin: 0; accent-color: #6aa8ff; cursor: pointer; }
.note { margin: 16px 0 0; font-size: 11px; line-height: 1.5; color: #5d6571; }
