/* Public registration and activation only; existing member QR/layout stays independent. */
.registration-v2-hero h1 { font-size:36px; }
.registration-v2-hero p { max-width:850px; font-size:17px; line-height:1.6; }
.registration-v2-hero .online-explanation { margin-top:13px; }
.registration-v2-form { margin:24px auto 0; }
.registration-v2-form .form-grid { gap:18px 22px; }
.registration-v2-form .form-grid > label { font-size:14px; gap:7px; }
.registration-v2-form .form-grid input { height:48px; border-radius:10px; }
.registration-phone { display:flex; align-items:center; gap:8px; }
.registration-phone .phone-country-fixed { flex:0 0 auto; display:grid; place-items:center; height:48px; padding:0 13px; background:#f2f6f9; border:1px solid var(--line); border-radius:10px; }
.registration-phone input { min-width:0; flex:1; }
.registration-v2-form .field-help { font-size:12px; }
.registration-v2-form .password-tools { margin-top:16px; }
.registration-v2-form .password-rules { margin-bottom:22px; }
.activation-methods { padding:0; margin:24px 0; border:0; min-width:0; }
.activation-method-help { color:var(--muted); font-size:14px; line-height:1.6; margin:14px 0 0; }
.activation-preview-notice { font-size:14px; line-height:1.6; padding:13px; border:1px solid #e9ce85; border-radius:10px; background:#fff9e9; margin:12px 0 0; }
.activation-methods [hidden] { display:none !important; }
.activation-methods legend { font-size:17px; font-weight:800; margin-bottom:12px; }
.activation-method-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
.activation-method { display:flex; flex-direction:row; align-items:flex-start; gap:10px; border:1px solid var(--line); border-radius:12px; padding:13px; cursor:pointer; font-size:14px; }
.activation-method:has(input:checked) { border:2px solid var(--blue); padding:12px; background:#f0faff; }
.activation-method input { flex:0 0 16px; width:16px; height:16px; padding:0; margin:3px 0 0; accent-color:var(--blue); }
.activation-method strong { display:block; color:var(--blue-deep); }
.activation-method small { display:block; color:var(--muted); font-size:12px; font-weight:400; margin-top:4px; }
.registration-v2-form .consents { gap:12px; }
.registration-v2-form .consent-row { padding:12px; }
.registration-v2-form .consent-row strong { font-size:14px; }
.registration-v2-form .consent-row small { font-size:12px; }
.registration-v2-form .primary-button { width:100%; }
.registration-v2-result { margin:24px auto 0; max-width:700px; }
.registration-v2-result .confirmation-address { overflow-wrap:anywhere; }
.registration-v2-result .resend-confirmation { margin-top:25px; border-top:1px solid var(--line); padding-top:20px; }
.registration-v2-result p { line-height:1.6; }
.registration-v2-form .registration-steps li,.registration-v2-result .registration-steps li,.sms-v2 .registration-steps li { align-items:center; flex-direction:row; }
.registration-v2-form .registration-steps strong,.registration-v2-result .registration-steps strong,.sms-v2 .registration-steps strong { min-height:0; line-height:1.3; }
.registration-steps .completed span { background:#e5f5ed; color:#168a4a; }
.sms-v2 { max-width:660px; margin:26px auto 0; }
.sms-v2 .panel { padding:32px 44px; }
.sms-intro { text-align:center; margin-bottom:26px; }
.sms-icon { width:52px; height:52px; border-radius:16px; display:grid; place-items:center; color:var(--blue-deep); background:var(--blue-soft); margin:0 auto 18px; }
.sms-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.sms-intro p { color:var(--muted); margin:0 0 12px; }
.sms-intro strong { display:block; font-size:21px; color:var(--ink); margin:5px 0; }
.sms-intro a { font-size:13px; }
.sms-v2 label[for=otp] { font-size:14px; margin-bottom:10px; }
.sms-v2 .sms-code-input { text-align:center; letter-spacing:15px; text-indent:15px; font-size:30px; height:68px; border:1.5px solid var(--blue); box-shadow:0 0 0 4px #0783b910; }
.sms-v2 .sms-code-input::placeholder { color:#c6d0da; }
.sms-code-help { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font-size:12px; margin:10px 0 24px; }
.sms-v2 .primary-button { width:100%; }
.sms-resend { text-align:center; border-top:1px solid var(--line); margin-top:25px; padding-top:19px; }
.sms-resend > p { font-size:13px; color:var(--muted); }
.sms-resend .cf-turnstile { margin:14px auto; max-width:100%; }
.sms-resend button:disabled,.registration-v2-result button:disabled { opacity:.65; cursor:default; }
@media(max-width:650px) {
    .registration-v2-hero { padding:25px 19px !important; }
    .registration-v2-hero h1 { font-size:29px; }
    .registration-v2-hero p { font-size:14px; line-height:1.6; }
    .registration-v2-form,.registration-v2-result { margin-top:17px; padding:20px 17px; }
    .registration-v2-form .form-grid { grid-template-columns:1fr; gap:16px; }
    .registration-v2-form .registration-steps,.registration-v2-result .registration-steps,.sms-v2 .registration-steps { gap:5px; }
    .registration-v2-form .registration-steps li,.registration-v2-result .registration-steps li,.sms-v2 .registration-steps li { font-size:10px; gap:5px; flex-direction:row; }
    .registration-v2-form .registration-steps span,.registration-v2-result .registration-steps span,.sms-v2 .registration-steps span { width:22px; height:22px; flex-shrink:0; }
    .activation-method-grid { grid-template-columns:1fr; }
    .activation-methods legend { font-size:16px; }
    .sms-v2 { margin-top:17px; }
    .sms-v2 .panel { padding:22px 20px; }
    .sms-v2 .sms-code-input { letter-spacing:12px; text-indent:12px; font-size:28px; height:62px; }
    .sms-code-help { font-size:11px; }
    .sms-v2 .primary-button { font-size:14px; }
}
