/* Only the ordinary storefront mobile registration page. Shared auth logic is unchanged. */
body.register-refined { margin: 0; min-height: 100vh; color: #1d1d1f; background: #f5f5f7; font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif; -webkit-font-smoothing: antialiased; }
.register-refined *, .register-refined *::before, .register-refined *::after { box-sizing: border-box; }
.register-refined button, .register-refined input { font: inherit; }
.register-refined .m-page { width: 100%; max-width: 480px; min-height: calc(100svh - 58px); margin: 0 auto; padding: 0 20px 24px; background: #f5f5f7; }
.register-refined .m-page > .m-header, .register-refined .m-brand { display: none; }
.register-refined .m-main { padding: 40px 0 12px; }
.register-refined .register-eyebrow { margin: 0 0 12px; text-align: center; color: #6e6e73; font-size: 12px; font-weight: 500; }
.register-refined h1 { margin: 0; color: #1d1d1f; text-align: center; font-size: 28px; line-height: 1.45; letter-spacing: -.035em; font-weight: 650; }
.register-refined .m-intro { margin: 14px 0 28px; text-align: center; font-size: 14px; line-height: 1.9; color: #626269; }
.register-refined #registerForm { padding: 24px 20px; margin: 0; border-radius: 22px; background: #fff; border: 1px solid #e9e9ed; box-shadow: none; }
.register-refined .m-field { margin: 0 0 20px; }
.register-refined .m-field label { display: block; margin: 0 0 10px; font-size: 13px; line-height: 1.6; font-weight: 600; color: #333338; }
.register-refined .m-required { margin-left: 6px; color: #77777f; font-size: 11px; font-weight: 400; }
.register-refined .m-field input { display: block; width: 100%; height: 52px; min-width: 0; padding: 0 14px; border: 1px solid #c9c9d0; border-radius: 12px; background: #fff; color: #1d1d1f; font-size: 16px; line-height: 1.4; outline: none; transition: border-color .15s, box-shadow .15s; }
.register-refined .m-field input::placeholder { color: #909098; }
.register-refined .m-field input:focus { border-color: #0071e3; box-shadow: 0 0 0 3px #0071e31a; }
.register-refined .m-field input[readonly] { background: #f7f7f9; color: #626269; }
.register-refined .m-help { margin: 8px 0 0; font-size: 12px; line-height: 1.7; color: #6e6e73; }
.register-refined .m-input-wrap { position: relative; }
.register-refined .m-field .m-password { padding-right: 66px; }
.register-refined .m-toggle { position: absolute; top: 4px; right: 5px; min-width: 52px; min-height: 44px; padding: 8px; border: 0; border-radius: 8px; background: transparent; color: #0066cc; font-size: 12px; cursor: pointer; }
.register-refined .m-code-row { display: grid; grid-template-columns: minmax(0,1fr) 116px; gap: 8px; }
.register-refined .m-code-btn { min-height: 48px; padding: 10px; border: 1px solid #0071e3; border-radius: 12px; background: #fff; color: #0066cc; font-size: 12px; cursor: pointer; }
.register-refined .m-submit { width: 100%; min-height: 52px; padding: 14px 12px; border: 0; border-radius: 999px; background: #0071e3; color: #fff; font-size: 15px; line-height: 1.6; font-weight: 600; text-align: center; cursor: pointer; box-shadow: none; }
.register-refined .m-submit:hover { background: #0063c9; }
.register-refined button:disabled { opacity: .55; cursor: wait; }
.register-refined .m-consent-row { display: flex; align-items: flex-start; gap: 10px; margin: 4px 0 22px; font-size: 12px; line-height: 1.9; color: #55555c; }
.register-refined .m-consent-row input { width: 20px; height: 20px; margin: 2px 0 0; flex-shrink: 0; accent-color: #0071e3; }
.register-refined .m-consent-row a { color: #0066cc; text-underline-offset: 3px; }
.register-refined .m-error, .register-refined .m-success { display: none; margin: 0 0 18px; padding: 12px 14px; border-radius: 10px; font-size: 13px; line-height: 1.75; overflow-wrap: anywhere; }
.register-refined .m-error { background: #fff2f1; color: #b42318; }
.register-refined .m-success { background: #edf8ef; color: #236b39; }
.register-refined .m-login-link { display: block; margin: 18px 0 0; padding: 12px 0; min-height: 44px; color: #0066cc; text-align: center; font-size: 13px; line-height: 1.8; text-decoration: none; }
.register-refined .m-login-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.register-refined #registerSentBox p { line-height: 1.85 !important; }
.register-refined #registerSentTo { color: #1d1d1f; font-weight: 600; }
.register-refined #registerResendBtn, .register-refined #registerRelinkBtn { min-height: 48px !important; border-radius: 999px !important; border-color: #b9d5f5 !important; background: #f1f6fd !important; color: #0066cc !important; font-size: 14px !important; }
.register-refined #registerChangeEmailBtn { color: #0066cc !important; font-size: 13px !important; min-height: 44px; }
.register-refined #registerLinkError { border-radius: 12px !important; }
.register-refined .m-bottom-nav, .register-refined .mobile-nav-v2 { display: none !important; }
.register-refined button:focus-visible, .register-refined a:focus-visible { outline: 3px solid #0071e3; outline-offset: 3px; }
.register-refined .m-toast { position: fixed; left: 50%; bottom: 24px; z-index: 200; transform: translateX(-50%); max-width: calc(100% - 32px); padding: 12px 18px; border-radius: 12px; background: #1d1d1f; color: #fff; font-size: 13px; line-height: 1.6; text-align: center; opacity: 0; pointer-events: none; }
.register-refined .m-toast.show { opacity: 1; }
@media (max-width: 350px) { .register-refined .m-page { padding-left: 16px; padding-right: 16px; } .register-refined #registerForm { padding-left: 16px; padding-right: 16px; } }
@media (prefers-reduced-motion: reduce) { .register-refined .m-field input { transition: none; } }
