
:root {
    --i1814-login-ink: #0f172a;
    --i1814-login-muted: #64748b;
    --i1814-login-primary: var(--i1814-custom-primary, #38bdf8);
    --i1814-login-primary-dark: var(--i1814-custom-primary-dark, #0b74b8);
}

body.i1814-otp-open { overflow: hidden; }

.i1814-account-menu-link { display:inline-flex !important; align-items:center; gap:7px; cursor:pointer; }
.i1814-account-menu-link svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.i1814-panel-launch-link {
    appearance: none;
    border: 0;
    text-decoration: none;
    font: inherit;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    background: var(--i1814-custom-soft, rgba(20, 92, 245, .08));
    color: var(--i1814-login-primary);
    font-weight: 750;
}

.i1814-otp-wrap,
.i1814-otp-wrap * { box-sizing: border-box; }
.i1814-otp-wrap[hidden] { display:none !important; }

.i1814-otp-wrap {
    position: fixed;
    inset: 0;
    z-index: 999998;
    display: grid;
    place-items: center;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 20px;
    direction: rtl;
    font-family: inherit;
    color: var(--i1814-login-ink);
    background:
        radial-gradient(circle at 15% 18%, rgba(56,189,248,.16), transparent 34%),
        radial-gradient(circle at 88% 82%, rgba(125,211,252,.13), transparent 31%),
        rgba(8,15,30,.38);
    backdrop-filter: blur(13px) saturate(118%);
    -webkit-backdrop-filter: blur(13px) saturate(118%);
    animation: i1814-login-fade var(--i1814-custom-fade-duration, .16s) ease both;
}

.i1814-otp-card {
    position: relative;
    width: min(430px, calc(100vw - 32px));
    padding: 25px 25px 22px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.76);
    border-radius: var(--i1814-custom-radius, 27px);
    background: var(--i1814-custom-login-glass, rgba(255,255,255,.88));
    box-shadow: 0 28px 80px rgba(15,23,42,.20), inset 0 1px 0 rgba(255,255,255,.84);
    backdrop-filter: blur(var(--i1814-custom-blur, 24px)) saturate(145%);
    -webkit-backdrop-filter: blur(var(--i1814-custom-blur, 24px)) saturate(145%);
    animation: i1814-login-pop var(--i1814-custom-pop-duration, .19s) cubic-bezier(.2,.8,.25,1) both;
}

.i1814-otp-card:before,
.i1814-otp-card:after {
    content: '';
    position: absolute;
    z-index: -1;
    width: 145px;
    height: 145px;
    border-radius: 999px;
    filter: blur(8px);
    pointer-events: none;
}
.i1814-otp-card:before { top:-78px; right:-56px; background:rgba(56,189,248,.20); }
.i1814-otp-card:after { bottom:-92px; left:-62px; background:rgba(125,211,252,.13); }

.i1814-otp-close {
    position:absolute; top:16px; left:16px; z-index:3; display:grid; place-items:center;
    width:36px; height:36px; padding:0; border:1px solid rgba(148,163,184,.22); border-radius:13px;
    background:rgba(255,255,255,.66); color:var(--i1814-login-ink); cursor:pointer; font:inherit; font-size:25px; line-height:1;
    transition:transform .12s ease, background .12s ease;
}
.i1814-otp-close:hover { background:#fff; transform:translateY(-1px); }

.i1814-otp-brand {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    margin-bottom: 9px;
    color: var(--i1814-login-primary);
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .8px;
}

.i1814-brand-logo--otp {
    display: block;
    width: auto;
    max-width: var(--i1814-custom-logo-width, 112px);
    height: auto;
    max-height: 36px;
    object-fit: contain;
    object-position: right center;
}
.i1814-brand-fallback.i1814-brand-logo--otp {
    color: var(--i1814-login-primary);
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .8px;
}

.i1814-otp-card h2 {
    margin: 0 0 7px;
    color: var(--i1814-login-ink);
    font-size: clamp(21px,4vw,25px);
    line-height: 1.45;
    font-weight: 900;
}

.i1814-otp-lead,
.i1814-otp-note,
.i1814-otp-sent-to { line-height: 1.85; }

.i1814-otp-lead {
    margin: 0;
    color: var(--i1814-login-muted);
    font-size: 13px;
}

.i1814-otp-note {
    margin: 16px 0 0;
    color: #7c8798;
    font-size: 11px;
    text-align: center;
}

.i1814-otp-sent-to {
    margin: 5px 0 0;
    color: var(--i1814-login-muted);
    font-size: 12px;
}

.i1814-otp-card label {
    display: block;
    margin: 17px 0 7px;
    color: #253047;
    font-size: 12px;
    font-weight: 800;
}

.i1814-otp-card input[type="tel"],
.i1814-otp-card input[type="text"] {
    width: 100%;
    min-height: 50px;
    padding: 10px 14px;
    border: 1px solid rgba(148,163,184,.32);
    border-radius: 15px;
    outline: none;
    background: rgba(248,250,252,.82);
    color: var(--i1814-login-ink);
    box-shadow: inset 0 1px 2px rgba(15,23,42,.02);
    font: inherit;
    font-size: 17px;
    direction: ltr;
    text-align: left;
    transition: border-color .14s ease, box-shadow .14s ease, background .14s ease;
}

.i1814-otp-card input:focus {
    border-color: var(--i1814-custom-primary-border, rgba(20,92,245,.55));
    background: rgba(255,255,255,.95);
    box-shadow: 0 0 0 4px var(--i1814-custom-primary-focus, rgba(20,92,245,.08));
}

.i1814-otp-primary {
    appearance: none;
    width: 100%;
    min-height: 49px;
    margin-top: 14px !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: var(--i1814-login-primary) !important;
    color: #fff !important;
    box-shadow: 0 11px 24px var(--i1814-custom-primary-shadow, rgba(20,92,245,.18));
    cursor: pointer;
    font: inherit !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    transition: transform .14s ease, box-shadow .14s ease, background .14s ease;
}
.i1814-otp-primary:hover { background:var(--i1814-login-primary-dark) !important; transform:translateY(-1px); box-shadow:0 13px 28px var(--i1814-custom-primary-shadow, rgba(20,92,245,.23)); }
.i1814-otp-primary:active { transform:translateY(0); }
.i1814-otp-primary:disabled { opacity:.64; cursor:wait; transform:none; }

.i1814-otp-secondary {
    appearance: none;
    width: 100%;
    min-height: 44px;
    margin-top: 9px;
    border: 1px solid rgba(148,163,184,.30);
    border-radius: 14px;
    background: rgba(255,255,255,.60);
    color: #44516a;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    transition: background .12s ease, border-color .12s ease, color .12s ease, transform .12s ease;
}
.i1814-otp-secondary span { display:inline-block; margin-left:6px; font-size:20px; line-height:0; vertical-align:-2px; }
.i1814-otp-secondary:hover { background:rgba(255,255,255,.88); border-color:var(--i1814-custom-primary-border,rgba(20,92,245,.24)); color:var(--i1814-login-primary); }
.i1814-otp-secondary:active { transform:translateY(1px); }

.i1814-otp-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 11px;
}
.i1814-otp-actions--resend { justify-content:center; }

.i1814-otp-link {
    appearance: none;
    border: 0;
    padding: 4px 0;
    background: transparent;
    color: var(--i1814-login-primary);
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 750;
}
.i1814-otp-link:disabled { color:#a3adbb; cursor:not-allowed; }
.i1814-otp-countdown { color:#7c8798; font-size:11px; }

.i1814-otp-message {
    display: none;
    margin-top: 13px;
    padding: 9px 11px;
    border-radius: 12px;
    font-size: 11px;
    line-height: 1.75;
}
.i1814-otp-message.is-error,
.i1814-otp-message.is-success { display:block; }
.i1814-otp-message.is-error { color:#9f1239; background:rgba(255,241,242,.92); border:1px solid rgba(253,164,175,.5); }
.i1814-otp-message.is-success { color:#067647; background:rgba(240,253,244,.92); border:1px solid rgba(134,239,172,.5); }

@keyframes i1814-login-fade { from { opacity:0 } to { opacity:1 } }
@keyframes i1814-login-pop { from { opacity:0; transform:translateY(8px) scale(.985) } to { opacity:1; transform:none } }

@media (max-width: 520px) {
    .i1814-otp-wrap { padding:14px; }
    .i1814-otp-card { width:min(100%, 410px); padding:22px 18px 19px; border-radius:23px; }
    .i1814-otp-card h2 { font-size:21px; }
    .i1814-otp-note { font-size:10.5px; }
}

@media (prefers-reduced-motion: reduce) {
    .i1814-otp-wrap,
    .i1814-otp-card,
    .i1814-otp-wrap * { animation:none !important; transition:none !important; }
}


/* 1.1.5 — compact, viewport-safe OTP experience. */
.i1814-otp-card{
    max-height:min(88dvh,620px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;
    scrollbar-color:rgba(100,116,139,.28) transparent;
}
.i1814-otp-step{
    display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 2px;padding:8px 10px;
    border:1px solid rgba(148,163,184,.18);border-radius:12px;background:rgba(248,250,252,.62);
    color:#64748b;font-size:10px;font-weight:750;
}
.i1814-otp-step strong{color:#253047;font-size:10.5px;}
.i1814-otp-wrap.is-code-step .i1814-otp-lead,
.i1814-otp-wrap.is-code-step .i1814-otp-note{display:none;}
.i1814-otp-wrap.is-code-step .i1814-otp-brand{margin-bottom:4px;min-height:22px;}
.i1814-otp-wrap.is-code-step .i1814-brand-logo--otp{max-height:28px;}
.i1814-otp-wrap.is-code-step .i1814-otp-card h2{margin-bottom:3px;}
.i1814-otp-wrap.is-code-step .i1814-otp-sent-to{margin:7px 0 0;padding:7px 10px;border-radius:10px;background:rgba(240,253,244,.72);color:#26735a;font-size:11px;}
.i1814-otp-wrap.is-code-step .i1814-otp-card label{margin-top:11px;}
.i1814-otp-wrap.is-code-step .i1814-otp-actions{margin-top:7px;}
@media (max-height:760px) and (min-width:641px){
    .i1814-otp-wrap{padding:10px;}
    .i1814-otp-card{max-height:94dvh;padding:14px 20px 13px;border-radius:22px;}
    .i1814-otp-close{top:11px;left:11px;width:34px;height:34px;}
    .i1814-otp-brand{min-height:21px;margin-bottom:3px;}
    .i1814-brand-logo--otp{max-height:27px;}
    .i1814-otp-card h2{font-size:20px;margin-bottom:3px;}
    .i1814-otp-lead{font-size:11.5px;line-height:1.65;}
    .i1814-otp-step{margin:8px 0 0;padding:6px 9px;}
    .i1814-otp-card label{margin:10px 0 5px;}
    .i1814-otp-card input[type="tel"],.i1814-otp-card input[type="text"]{min-height:44px;}
    .i1814-otp-primary,.i1814-otp-secondary{min-height:44px;}
    .i1814-otp-note{margin-top:9px;font-size:9.5px;}
    .i1814-otp-message{margin-top:8px;padding:7px 9px;}
}
@media (max-width:640px){
    .i1814-otp-wrap{padding:8px;align-items:end;}
    .i1814-otp-card{width:100%;max-height:92dvh;padding:18px 16px 15px;border-radius:24px 24px 0 0;}
    .i1814-otp-step{margin-top:10px;}
}
