/* МТС-стилизованное модальное окно авторизации */
.mtsm-backdrop{position:fixed;inset:0;background:rgba(15,15,20,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:99998}
.mtsm-backdrop.is-open{opacity:1;pointer-events:auto}
.mtsm{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;z-index:99999;pointer-events:none}
.mtsm-card{position:relative;width:100%;max-width:460px;background:#fff;border-radius:28px;padding:36px 32px 28px;box-shadow:0 24px 70px rgba(0,0,0,.28);transform:translateY(26px) scale(.95);opacity:0;transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .3s ease;font-family:MTSSans,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#1d2023;box-sizing:border-box}
.mtsm.is-open .mtsm-card{transform:none;opacity:1}
.mtsm.is-open{pointer-events:auto}
.mtsm-card *{box-sizing:border-box}
.mtsm-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border:none;border-radius:50%;background:#f2f2f4;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;padding:0}
.mtsm-close svg{width:16px;height:16px;stroke:#5c6066;stroke-width:2.4;fill:none;stroke-linecap:round}
.mtsm-close:hover{background:#e6e7e9;transform:rotate(90deg)}
.mtsm-title{font-family:Bounded,'MTS Extended',MTSSans,sans-serif;font-weight:700;font-size:26px;line-height:1.2;margin:0 0 8px;letter-spacing:-.2px}
.mtsm-sub{font-size:15px;line-height:1.45;color:#6e7278;margin:0 0 22px}
.mtsm-steps{position:relative}
.mtsm-step{display:none}
.mtsm-step.is-active{display:block;animation:mtsmIn .4s cubic-bezier(.22,1,.36,1)}
@keyframes mtsmIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.mtsm-field{margin-bottom:14px}
.mtsm-label{display:block;font-size:13px;font-weight:600;color:#6e7278;margin-bottom:6px;letter-spacing:.2px}
.mtsm-phone-wrap{position:relative}
.mtsm-phone-wrap .mtsm-prefix{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:18px;font-weight:600;color:#1d2023;pointer-events:none}
.mtsm-input{width:100%;height:56px;border:1.5px solid #dfe1e3;border-radius:14px;font-size:18px;font-weight:600;color:#1d2023;padding:0 16px 0 18px;outline:none;transition:border-color .2s,box-shadow .2s;background:#fff}
.mtsm-input.with-prefix{padding-left:62px}
.mtsm-input:focus{border-color:#e20611;box-shadow:0 0 0 4px rgba(226,6,17,.12)}
.mtsm-btn{width:100%;height:56px;border:none;border-radius:16px;background:#e20611;color:#fff;font-family:inherit;font-size:18px;font-weight:700;cursor:pointer;letter-spacing:.2px;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 10px 24px rgba(226,6,17,.28)}
.mtsm-btn:hover{background:#c40510;box-shadow:0 12px 28px rgba(226,6,17,.36);transform:translateY(-1px)}
.mtsm-btn:active{transform:translateY(0) scale(.98)}
.mtsm-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.mtsm-note{font-size:12.5px;color:#9a9ea3;line-height:1.45;margin:14px 0 0;text-align:center}
.mtsm-trust{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:18px;font-size:12.5px;color:#9a9ea3}
.mtsm-trust svg{width:13px;height:13px;stroke:#9a9ea3;fill:none;stroke-width:2}

/* шаг загрузки */
.mtsm-load{display:flex;flex-direction:column;align-items:center;padding:18px 0 10px}
.mtsm-spinner{width:64px;height:64px;border-radius:50%;border:5px solid rgba(226,6,17,.14);border-top-color:#e20611;animation:mtsmSpin .8s linear infinite;margin-bottom:22px}
@keyframes mtsmSpin{to{transform:rotate(360deg)}}
.mtsm-load-text{font-size:16px;font-weight:600;color:#1d2023}
.mtsm-dots::after{content:'';animation:mtsmDots 1.2s steps(4,end) infinite}
@keyframes mtsmDots{0%{content:''}25%{content:'.'}50%{content:'..'}75%{content:'...'}}

/* шаг звонка-сброса */
.mtsm-caller{display:flex;justify-content:center;margin:2px 0 18px}
.mtsm-phone-ico{position:relative;width:78px;height:78px;border-radius:50%;background:#e20611;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 26px rgba(226,6,17,.35)}
.mtsm-phone-ico svg{width:34px;height:34px;fill:#fff}
.mtsm-ring{position:absolute;inset:0;border-radius:50%;border:2.5px solid rgba(226,6,17,.55);animation:mtsmRing 1.6s ease-out infinite;pointer-events:none}
.mtsm-ring:nth-child(2){animation-delay:.55s}
@keyframes mtsmRing{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.9);opacity:0}}
.mtsm-alert{background:#fff4f4;border:1.5px solid #ffd9db;border-radius:14px;padding:13px 16px;font-size:14px;line-height:1.45;color:#4a4e54;margin-bottom:16px}
.mtsm-alert b{color:#1d2023}
.mtsm-digits{display:flex;gap:10px;justify-content:center;margin-bottom:8px}
.mtsm-digit{width:56px;height:62px;border:1.5px solid #dfe1e3;border-radius:14px;text-align:center;font-size:26px;font-weight:700;color:#1d2023;outline:none;background:#fff;transition:border-color .2s,box-shadow .2s;font-family:inherit}
.mtsm-digit:focus{border-color:#e20611;box-shadow:0 0 0 4px rgba(226,6,17,.12)}
.mtsm-digit.filled{border-color:#e20611}
.mtsm.shake .mtsm-digits{animation:mtsmShake .45s}
@keyframes mtsmShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}
.mtsm-hint{font-size:13.5px;color:#6e7278;text-align:center;margin:6px 0 16px}
@media (max-width:480px){.mtsm-card{padding:28px 22px 22px;border-radius:22px}.mtsm-title{font-size:22px}.mtsm-digit{width:52px;height:58px}}
