.auth-page{margin:0;font-family:var(--font-family);background:#fff;min-height:100vh;color:var(--c-text);display:grid;place-items:center;padding:32px 20px;box-sizing:border-box}.auth-stage{width:100%;max-width:420px}.auth-brand{display:inline-block;font-size:14px;font-weight:600;color:var(--c-text);text-decoration:none;letter-spacing:-.01em;margin-bottom:48px}.auth-headline{margin:0 0 8px;font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.2}.auth-sub{margin:0 0 32px;font-size:14px;color:var(--c-text-sub);line-height:1.6}.auth-sub-dim{color:#9ca3af;font-size:13px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:13px;font-weight:500;color:var(--c-text)}.auth-field input{height:44px;padding:0 12px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;font-size:14px;font-family:var(--font-family);color:var(--c-text);transition:border-color .15s ease;box-sizing:border-box}.auth-field input:focus{outline:none;border-color:var(--c-text)}.auth-field input::placeholder{color:#9ca3af}.auth-account-info{margin:0 0 4px;padding:10px 12px;background:#f9fafb;border-radius:6px;font-size:13px;color:#6b7280}.auth-account-info strong{color:var(--c-text);font-weight:500}.auth-strength{display:flex;align-items:center;gap:8px;font-size:12px}.auth-strength-bar{flex:1;height:3px;border-radius:2px;background:#e5e7eb;position:relative;overflow:hidden}.auth-strength-bar:after{content:"";position:absolute;top:0;left:0;height:100%;border-radius:2px;transition:width .2s ease}.auth-strength--weak .auth-strength-bar:after{width:33%;background:var(--c-error)}.auth-strength--medium .auth-strength-bar:after{width:66%;background:var(--c-warning)}.auth-strength--strong .auth-strength-bar:after{width:100%;background:var(--c-success)}.auth-strength-label{font-weight:500;color:var(--c-text-sub)}.auth-strength--weak .auth-strength-label{color:var(--c-error)}.auth-strength--medium .auth-strength-label{color:var(--c-warning)}.auth-strength--strong .auth-strength-label{color:var(--c-success)}.auth-error{padding:10px 12px;background:#fef2f2;color:var(--c-error);font-size:13px;border-radius:6px;border:1px solid #fecaca}.auth-error-action{display:inline-block;color:var(--c-error);font-weight:600;text-decoration:underline;text-underline-offset:3px}.auth-error-action:hover{opacity:.8}.auth-info{padding:10px 12px;background:#f0fdf4;color:var(--c-success);font-size:13px;border:1px solid #bbf7d0;border-radius:6px}.auth-desc{margin:0 0 8px;font-size:13px;color:var(--c-text-sub)}.auth-submit{height:48px;margin-top:8px;background:var(--c-text);color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;font-family:var(--font-family);cursor:pointer;transition:opacity .15s ease,background .15s ease}.auth-submit:hover:not(:disabled){opacity:.88}.auth-submit:disabled{opacity:.35;cursor:not-allowed}.auth-cancel{height:40px;margin-top:4px;background:transparent;color:var(--c-text-sub);border:1px solid var(--c-border, #e5e7eb);border-radius:6px;font-size:13px;font-weight:500;font-family:var(--font-family);cursor:pointer;transition:background .15s ease,color .15s ease}.auth-cancel:hover:not(:disabled){background:var(--c-bg-sub, #f9fafb);color:var(--c-text)}.auth-cancel:disabled{opacity:.5;cursor:not-allowed}.auth-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px;font-size:13px}.auth-row-sep{color:#d1d5db}.auth-link-btn{background:none;border:none;padding:0;color:var(--c-text-sub);cursor:pointer;font-size:13px;font-family:var(--font-family);text-decoration:underline}.auth-link-btn:hover{color:var(--c-text)}.auth-link{color:var(--c-text-sub);text-decoration:underline}.auth-link:hover{color:var(--c-text)}.auth-divider{display:flex;align-items:center;gap:10px;margin:6px 0}.auth-divider-line{flex:1;height:1px;background:var(--c-border)}.auth-divider-text{font-size:11px;color:var(--c-text-sub);letter-spacing:.02em}.auth-social{height:44px;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:var(--c-text);border:1px solid #e5e7eb;border-radius:6px;font-size:14px;font-weight:500;font-family:var(--font-family);cursor:pointer;transition:background .15s ease,border-color .15s ease}.auth-social:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.auth-social:disabled{opacity:.6;cursor:not-allowed}.auth-social-kakao{background:#fee500;border-color:#fee500;color:#3c1e1e}.auth-social-kakao:hover:not(:disabled){background:#ffd800;border-color:#ffd800}.auth-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:var(--c-text)}.auth-checkbox input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--c-text)}.otp-info{padding:14px 16px;background:#f9fafb;border-radius:6px;font-size:13px;color:var(--c-text);line-height:1.55}.otp-info strong{font-weight:600}.otp-code-input{letter-spacing:.5em;text-align:center;font-size:18px!important;font-weight:600}.otp-info-box{padding:10px 12px;background:#f0fdf4;color:var(--c-success);font-size:13px;border-radius:6px;border:1px solid #bbf7d0}.otp-actions{display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;color:var(--c-text-sub)}.otp-link{background:none;border:none;padding:0;color:var(--c-text);font-size:13px;font-family:var(--font-family);cursor:pointer;text-decoration:underline}.otp-link:disabled{color:#9ca3af;cursor:not-allowed;text-decoration:none}.otp-sep{color:#d1d5db}.consent-box{padding:14px 0;display:flex;flex-direction:column;gap:10px;font-size:13px;border-top:1px solid #f3f4f6;margin-top:8px}.consent-row{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--c-text)}.consent-row input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--c-text)}.consent-row span{flex:1}.consent-all{font-weight:600;font-size:14px}.consent-divider{height:1px;background:#f3f4f6;margin:2px 0}.consent-tag{display:inline-block;font-size:10px;padding:0 5px;margin-right:2px;font-weight:600}.consent-tag--required{color:var(--c-error)}.consent-tag--optional{color:#9ca3af}.consent-link{font-size:12px;color:#6b7280;text-decoration:underline}.consent-link:hover{color:var(--c-text)}.consent-note{margin:10px 0 0;padding:10px 12px;background:#f9fafb;border-radius:4px;font-size:11px;color:#6b7280;line-height:1.55}.auth-foot{margin-top:24px;font-size:13px;color:var(--c-text-sub);text-align:center}.auth-foot a{color:var(--c-text);font-weight:600;text-decoration:none}.auth-foot a:hover{text-decoration:underline}.auth-legal{max-width:420px;margin:24px auto 0;padding:0 20px;font-size:12px;color:#9ca3af;text-align:center;line-height:1.6}.auth-legal a{color:var(--c-text-sub);text-decoration:underline}
