/* 로그인·가입·재설정·2단계 인증 화면 — 한국어 어절 단위 줄바꿈 */
.kb-wrap { min-height: calc(100vh - 120px); display: flex; align-items: flex-start; justify-content: center; padding: 48px 16px; box-sizing: border-box; word-break: keep-all; overflow-wrap: break-word; line-break: strict; }
.kb-card { width: 100%; max-width: 420px; background: #fff; border: 1px solid #d9dee5; border-top: 3px solid #15335e; border-radius: 4px; padding: 28px 24px; box-sizing: border-box; word-break: keep-all; overflow-wrap: break-word; }
.kb-card h1, .kb-card h2 { margin: 0 0 6px; font-size: 22px; font-weight: 800; color: #15335e; }
.kb-desc { margin: 0 0 18px; color: #4a525c; font-size: 14px; line-height: 1.6; }
.kb-label { display: block; margin: 12px 0 6px; font-size: 13px; font-weight: 600; color: #1d2126; }
.kb-input { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #c3cad3; border-radius: 4px; font-size: 15px; }
.kb-input:focus { outline: 2px solid #23477b; outline-offset: 1px; }
.kb-check { display: flex; gap: 8px; align-items: flex-start; margin-top: 14px; font-size: 13px; line-height: 1.6; color: #4a525c; }
.kb-btn { width: 100%; margin-top: 16px; padding: 11px; background: #15335e; color: #fff; border: 0; border-radius: 4px; font-size: 15px; font-weight: 700; cursor: pointer; }
.kb-btn:hover { background: #23477b; }
.kb-btn:disabled { opacity: .6; cursor: default; }
.kb-msg { min-height: 1.4em; margin: 10px 0 0; font-size: 13px; color: #b3261e; }
.kb-msg.ok { color: #2f6b4c; }
.kb-links { margin: 16px 0 0; text-align: center; font-size: 13px; }
.kb-links a { color: #23477b; }
.kb-qr { display: flex; justify-content: center; margin: 8px 0 4px; }
.kb-qr img { background: #fff; border: 1px solid #d9dee5; padding: 6px; }
.kb-card code { word-break: break-all; font-size: 12px; }
