/* OFA OTP doğrulama penceresi — mevcut mor/cam tema ile uyumlu */
.ofa-otp-open{overflow:hidden}
.ofa-otp-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .34s ease,visibility .34s ease}
.ofa-otp-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.ofa-otp-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(168,85,247,.18),transparent 32%),radial-gradient(circle at 80% 10%,rgba(234,179,8,.12),transparent 24%),rgba(4,7,18,.72);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}
.ofa-otp-card{position:relative;width:min(96vw,520px);overflow:hidden;border:1px solid rgba(255,255,255,.18)!important;border-radius:30px!important;background:linear-gradient(145deg,rgba(16,18,34,.82),rgba(12,14,28,.58))!important;box-shadow:0 30px 100px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.16);padding:34px;transform:translateY(24px) scale(.96);opacity:0;transition:transform .42s cubic-bezier(.2,.8,.2,1),opacity .42s ease}
.ofa-otp-modal.is-open .ofa-otp-card{transform:translateY(0) scale(1);opacity:1;animation:ofaOtpFloatIn .74s cubic-bezier(.2,.8,.2,1) both}
.ofa-otp-card:before{content:"";position:absolute;inset:-1px;border-radius:30px;padding:1px;background:linear-gradient(135deg,rgba(216,180,254,.75),rgba(234,179,8,.38),rgba(124,58,237,.46));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.ofa-otp-orb{position:absolute;border-radius:999px;filter:blur(2px);opacity:.8;pointer-events:none;animation:ofaOtpOrb 7s ease-in-out infinite alternate}
.ofa-otp-orb.orb-a{width:138px;height:138px;right:-48px;top:-42px;background:radial-gradient(circle,rgba(168,85,247,.46),transparent 66%)}
.ofa-otp-orb.orb-b{width:120px;height:120px;left:-38px;bottom:-44px;background:radial-gradient(circle,rgba(234,179,8,.25),transparent 68%);animation-delay:-2s}
.ofa-otp-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:24px;line-height:1;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease;z-index:2}
.ofa-otp-close:hover{transform:rotate(90deg) scale(1.04);background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28)}
.ofa-otp-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(135deg,rgba(192,38,211,.9),rgba(124,58,237,.86));box-shadow:0 18px 45px rgba(124,58,237,.34);font-size:28px;margin-bottom:18px;animation:ofaOtpPulse 2.6s ease-in-out infinite}
.ofa-otp-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:rgba(168,85,247,.13);border:1px solid rgba(216,180,254,.22);color:#d8b4fe;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.ofa-otp-card h2{font-size:clamp(28px,4vw,40px);line-height:1.05;margin:0 0 12px;color:#fff;letter-spacing:-.04em}
.ofa-otp-lead{margin:0 0 22px;color:#c8cce0;line-height:1.65}.ofa-otp-lead b{color:#fff}
.ofa-otp-form{position:relative;z-index:1}.ofa-otp-code{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:20px 0 14px}
.ofa-otp-code input{width:100%;height:62px;text-align:center;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;font-size:28px;font-weight:900;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}
.ofa-otp-code input:focus{border-color:rgba(216,180,254,.82);background:rgba(255,255,255,.13);box-shadow:0 0 0 4px rgba(168,85,247,.18),0 14px 34px rgba(0,0,0,.18);transform:translateY(-2px)}
.ofa-otp-status{min-height:22px;margin:6px 0 14px;color:#d8b4fe;font-size:14px;line-height:1.45}.ofa-otp-status.is-error{color:#fecaca}.ofa-otp-status.is-success{color:#bbf7d0}
.ofa-otp-submit{width:100%;justify-content:center;min-height:52px;font-size:15px;border-radius:18px!important;box-shadow:0 16px 45px rgba(124,58,237,.34)}
.ofa-otp-submit[disabled],.ofa-otp-resend[disabled]{opacity:.62;cursor:wait}.ofa-otp-resend{width:100%;border:0;background:transparent;color:#d8b4fe;font-weight:800;margin-top:14px;cursor:pointer;transition:color .2s ease,transform .2s ease}.ofa-otp-resend:hover{color:#fff;transform:translateY(-1px)}
.ofa-otp-card.is-shaking{animation:ofaOtpShake .38s ease both}.theme-light .ofa-otp-card,.theme-light .ofa-otp-card.glass-card{background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(244,241,255,.74))!important;color:#111827!important}.theme-light .ofa-otp-card h2,.theme-light .ofa-otp-lead b,.theme-light .ofa-otp-code input{color:#111827}.theme-light .ofa-otp-lead{color:#4b5563}.theme-light .ofa-otp-code input{background:rgba(255,255,255,.78);border-color:rgba(124,58,237,.18)}.theme-light .ofa-otp-close{color:#111827;background:rgba(255,255,255,.72)}
@keyframes ofaOtpFloatIn{0%{transform:translateY(30px) scale(.94);filter:blur(8px)}55%{transform:translateY(-4px) scale(1.01);filter:blur(0)}100%{transform:translateY(0) scale(1)}}
@keyframes ofaOtpPulse{0%,100%{transform:translateY(0);box-shadow:0 18px 45px rgba(124,58,237,.34)}50%{transform:translateY(-3px);box-shadow:0 24px 58px rgba(168,85,247,.46)}}
@keyframes ofaOtpOrb{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-18px,18px,0) scale(1.12)}}
@keyframes ofaOtpShake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(3px)}30%,50%,70%{transform:translateX(-6px)}40%,60%{transform:translateX(6px)}}
@media (max-width:560px){.ofa-otp-modal{padding:14px}.ofa-otp-card{padding:26px 18px;border-radius:26px!important}.ofa-otp-code{gap:7px}.ofa-otp-code input{height:54px;border-radius:15px;font-size:24px}.ofa-otp-icon{width:54px;height:54px;border-radius:18px}.ofa-otp-card h2{font-size:29px}}
