/* 계정 복구 공통 화면: 공식 로고·브랜드 남색, 모바일에서도 44px 이상의 조작 영역 유지. */
body.recovery-page { margin:0; background:#f3f5f9; color:#20283e; font-family:Arial,"Malgun Gothic",sans-serif; font-size:15px; line-height:1.6; }
.recovery-shell { width:min(100% - 32px,460px); margin:48px auto; }
.recovery-brand { display:block; text-align:center; margin-bottom:28px; }
.recovery-brand img { width:180px; height:64px; object-fit:contain; }
.recovery-card { background:#fff; border:1px solid #e2e6ef; border-radius:16px; padding:30px; box-shadow:0 8px 30px rgba(40,51,130,.04); }
.recovery-tabs { display:flex; border-bottom:1px solid #e2e6ef; margin-bottom:26px; }
.recovery-tabs a { flex:1; min-height:44px; padding:8px 2px 12px; text-align:center; text-decoration:none; color:#667085; font-weight:600; }
.recovery-tabs a[aria-current="page"] { color:#283382; border-bottom:3px solid #283382; }
.recovery-card h1 { margin:0 0 8px; font-size:24px; letter-spacing:-.6px; line-height:1.4; }
.recovery-desc { margin:0 0 24px; color:#667085; font-size:14px; }
.recovery-field { margin:0 0 18px; }
.recovery-field label { display:block; margin-bottom:7px; font-size:14px; font-weight:700; }
.recovery-field input { box-sizing:border-box; width:100%; height:50px; border:1px solid #cbd2df; border-radius:8px; background:#fff; color:#20283e; padding:0 14px; font:inherit; font-size:16px; }
.recovery-field input:focus { outline:3px solid #e3e8ff; border-color:#283382; }
.recovery-field input::placeholder { color:#828a9b; font-size:14px; }
.recovery-action { display:flex; align-items:center; justify-content:center; box-sizing:border-box; width:100%; min-height:50px; border:1px solid #283382; border-radius:8px; background:#283382; color:#fff; font:inherit; font-weight:700; padding:12px; cursor:pointer; text-decoration:none; }
.recovery-action:hover { background:#202967; }
.recovery-action.secondary { background:#fff; color:#283382; margin-bottom:20px; }
.recovery-action:disabled { background:#eef0f5; color:#6a7285; border-color:#dbe0ea; cursor:default; }
.recovery-action:focus-visible,.recovery-tabs a:focus-visible,.recovery-footer a:focus-visible { outline:3px solid #93b4fc; outline-offset:3px; }
.recovery-help { font-size:12px; color:#667085; margin:8px 0 0; }
.recovery-note { background:#f4f6fc; border-radius:8px; padding:12px 14px; font-size:13px; color:#4d5773; margin:20px 0 0; }
.recovery-alert { border-radius:8px; padding:12px 14px; font-size:13px; margin:0 0 18px; overflow-wrap:anywhere; }
.recovery-alert.info { background:#eef3ff; color:#283382; border:1px solid #d9e2ff; }
.recovery-alert.error { background:#fff3f2; color:#b42318; border:1px solid #fecdca; }
.recovery-otp { border-top:1px solid #e2e6ef; padding-top:22px; margin-top:4px; }
.recovery-otp input { font-size:22px; letter-spacing:6px; font-variant-numeric:tabular-nums; }
.recovery-otp input::placeholder { letter-spacing:0; }
.recovery-timer { color:#283382; font-size:13px; margin:8px 0 16px; }
.recovery-result { background:#eef3ff; border-radius:8px; padding:20px; text-align:center; margin-bottom:20px; }
.recovery-result strong { display:block; font-size:22px; color:#283382; overflow-wrap:anywhere; }
.recovery-footer { display:flex; justify-content:center; gap:22px; margin:18px 0 0; }
.recovery-footer a { display:flex; align-items:center; min-height:44px; font-size:13px; color:#536079; text-decoration:none; }
.recovery-footer a:hover { text-decoration:underline; }
@media(max-width:480px) { .recovery-shell { margin:24px auto; } .recovery-card { padding:24px 20px; } .recovery-brand { margin-bottom:20px; } }
