        .opt-in-overlay { position: fixed; inset: 0; background: rgba(15,23,42,.62); display: none; justify-content: center; align-items: center; z-index: 1000000; padding: 24px 16px; overflow-y: auto; box-sizing: border-box; }
        .opt-in { position: relative; width: 100%; max-width: 440px; max-height: calc(100dvh - 48px); overflow-y: auto; background: #fff; color: #152336; border-radius: 18px; box-shadow: 0 24px 80px rgba(0,0,0,.25); text-align: left; box-sizing: border-box; font-family: Arial, sans-serif; }
        .opt-in-content { padding: 32px; }
        .opt-in .account-step { margin: 0 0 10px; color: #64748b; font-size: 11px; font-weight: 700; letter-spacing: 1.3px; }
        .opt-in h1 { margin: 0 0 9px; padding: 0; font-size: 27px; line-height: 1.2; font-weight: 700; color: #152336; background: none; }
        .opt-in #account-description { margin: 0 0 27px; font-size: 14px; line-height: 1.5; color: #64748b; }
        .opt-in-close { position: absolute; top: 14px; right: 14px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: #f1f5f9; color: #475569; font-size: 24px; line-height: 1; cursor: pointer; }
        .opt-in .form-group { margin: 0 0 19px; }
        .opt-in label { display: block; margin: 0 0 7px; font-size: 13px; font-weight: 600; color: #334155; }
        .opt-in input:not([type="hidden"]), .opt-in select { display: block; width: 100%; min-width: 0; height: 49px; border: 1px solid #cbd5e1; border-radius: 8px; padding: 0 13px; background: #fff; color: #152336; font: 16px Arial, sans-serif; box-sizing: border-box; transition: border-color .15s, box-shadow .15s; }
        .opt-in .input-with-icon { position: relative; }
        .opt-in .input-with-icon input { padding-left: 42px; }
        .opt-in .field-icon { position: absolute; left: 14px; top: 15px; width: 19px; height: 19px; color: #94a3b8; pointer-events: none; }
        .opt-in input::placeholder { color: #94a3b8; opacity: 1; }
        .opt-in input:focus, .opt-in select:focus, .opt-in button:focus-visible { outline: 0; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.15); }
        .opt-in .phone-row { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 8px; }
        .opt-in select { padding: 0 7px; font-size: 14px; }
        .opt-in .field-hint { margin: 7px 0 0; color: #64748b; font-size: 12px; line-height: 1.4; }
        .opt-in .validation-message { margin: 7px 0 0; color: #b42318; font-size: 12px; line-height: 1.4; }
        .opt-in .validation-message:empty { display: none; }
        .opt-in input.invalid, .opt-in input[aria-invalid="true"] { border-color: #d92d20; }
        .opt-in-submit { display: block; width: 100%; min-height: 49px; border: 0; border-radius: 8px; margin: 25px 0 0; padding: 14px 16px; background: #1764e8; color: #fff; font: 600 15px Arial, sans-serif; text-align: center; cursor: pointer; box-shadow: none; animation: none; }
        .opt-in-submit:hover { background: #1557ca; }
        .opt-in-submit[aria-disabled="true"] { cursor: wait; opacity: .7; }
        .opt-in .funnel-status { font-size: 13px; }
        @media (max-width: 480px) { .opt-in-content { padding: 30px 22px 24px; } .opt-in h1 { font-size: 25px; } .opt-in .phone-row { grid-template-columns: 120px minmax(0,1fr); } }
        @media (max-height: 640px) { .opt-in-overlay { align-items: flex-start; } }
    


.funnel-status { margin:16px 0 0; padding:12px 16px; border-radius:8px; background:#f2f6fb; color:#143452; font-size:14px; line-height:1.5; text-align:center; }
.funnel-status.funnel-error { background:#fff1f1; color:#9b1c1c; }
button:focus-visible,a:focus-visible { outline:3px solid #81aef2; outline-offset:3px; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; scroll-behavior:auto !important; } }
