/* Authentication only. One layout, natural document scrolling at every size. */
body.zxacc-auth-page { margin: 0; padding: 0; background: #eef2f7; color: #20364f; font-family: var(--beiten-font-en, 'Inter', sans-serif); }
body.zxacc-auth-page.rtl { font-family: var(--beiten-font-fa, 'Vazirmatn', Tahoma, sans-serif); }
.zxacc-auth-page .zxacc-auth-main { margin: 0; padding: 0; width: 100%; }
body.zxacc-auth-page .beiten-tg-fab, body.zxacc-auth-page .support-fab, body.zxacc-auth-page .auth-success-overlay { display: none !important; visibility: hidden !important; width: 0 !important; height: 0 !important; min-height: 0 !important; overflow: hidden !important; pointer-events: none !important; }
.zxacc-auth-page .zxacc-auth, .zxacc-auth-page .zxacc-auth * { box-sizing: border-box; }
.zxacc-auth-page .zxacc-auth { display: grid; grid-template-columns: minmax(0, 48fr) minmax(0, 52fr); direction: ltr; min-height: 100vh; min-height: 100dvh; background: #eef2f7; }
.zxacc-auth-page .bauth-panel { min-width: 0; display: flex; align-items: center; justify-content: center; padding: 40px clamp(24px, 4.7vw, 60px); }
.zxacc-auth-page .zxacc-auth[dir="rtl"] .bauth-panel { direction: rtl; }
.zxacc-auth-page .bauth-card { width: 100%; max-width: 420px; padding: 36px; border-radius: 24px; background: #fff; box-shadow: 0 24px 50px -20px rgb(32 56 82 / 18%); overflow-wrap: anywhere; }
.zxacc-auth-page .bauth-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.zxacc-auth-page .bauth-brand { display: inline-flex; align-items: center; gap: 9px; color: #20364f; font-size: 17px; font-weight: 800; text-decoration: none; }
.zxacc-auth-page .bauth-logo { display: block; width: 42px; height: 42px; object-fit: contain; background: transparent; border: 0; border-radius: 0; }
.zxacc-auth-page .bauth-home { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; color: #355e88; background: #f1f5f9; text-decoration: none; }
.zxacc-auth-page .bauth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin-bottom: 20px; border-radius: 12px; background: #f1f3f6; }
.zxacc-auth-page .bauth-tab { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px; border-radius: 9px; color: #657285; text-decoration: none; font-size: 13px; font-weight: 700; }
.zxacc-auth-page .bauth-tab.active { color: #fff; background: linear-gradient(135deg, #355e88, #5284b0); box-shadow: 0 3px 8px rgb(32 56 82 / 12%); }
.zxacc-auth-page .bauth-view[hidden] { display: none !important; }
.zxacc-auth-page .bauth-views { min-height: 330px; }
.zxacc-auth-page .bauth-title { margin: 0 0 5px; color: #20364f; font-size: 20px; line-height: 1.6; font-weight: 800; }
.zxacc-auth-page .bauth-hint { margin: 0 0 18px; color: #6b7688; font-size: 12px; line-height: 1.85; }
.zxacc-auth-page .bauth-form { margin: 0; padding: 0; }
.zxacc-auth-page .bauth-field { display: block; margin: 0 0 14px; }
.zxacc-auth-page .bauth-field > span, .zxacc-auth-page .bauth-field > label, .zxacc-auth-page .bauth-reset label { display: block; margin: 0 0 5px; color: #20364f; font-size: 12px; font-weight: 600; }
.zxacc-auth-page .bauth-field input, .zxacc-auth-page .bauth-reset input:not([type="hidden"]):not([type="checkbox"]) { width: 100%; min-width: 0; height: 46px; padding: 10px 13px; border: 1px solid #e2e6ec; border-radius: 10px; background: #f9fafb; color: #20364f; font: inherit; font-size: 16px; box-shadow: none; }
.zxacc-auth-page input[type="password"]::-ms-reveal, .zxacc-auth-page input[type="password"]::-ms-clear { display: none; }
.zxacc-auth-page input[type="password"]::-webkit-credentials-auto-fill-button, .zxacc-auth-page input[type="password"]::-webkit-contacts-auto-fill-button { visibility: hidden; display: none !important; pointer-events: none; }
.zxacc-auth-page .bauth-field input::placeholder { color: #9aa5b1; }
.zxacc-auth-page .bauth-field input:focus, .zxacc-auth-page .bauth-reset input:focus { outline: none; border-color: #5284b0; box-shadow: 0 0 0 3px rgb(82 132 176 / 15%); }
.zxacc-auth-page .bauth-password { position: relative; }
.zxacc-auth-page .bauth-password input { padding-inline-end: 50px; }
.zxacc-auth-page .bauth-eye { position: absolute; inset-inline-end: 4px; top: 4px; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 12px; background: linear-gradient(135deg, #edf4fb, #f8fbff); color: #47709a; cursor: pointer; box-shadow: inset 0 0 0 1px rgba(82,132,176,.12); }
.zxacc-auth-page .bauth-eye svg { grid-area: 1 / 1; transition: transform .18s ease, opacity .18s ease; }
.zxacc-auth-page .bauth-eye-closed { opacity: 0; transform: scale(.82); }
.zxacc-auth-page .bauth-eye[aria-pressed="true"] { color: #203852; background: #e4eef8; }
.zxacc-auth-page .bauth-eye[aria-pressed="true"] .bauth-eye-open { opacity: 0; transform: scale(.82); }
.zxacc-auth-page .bauth-eye[aria-pressed="true"] .bauth-eye-closed { opacity: 1; transform: scale(1); }
.zxacc-auth-page .bauth-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.zxacc-auth-page .bauth-check { display: flex; align-items: center; gap: 7px; color: #6b7688; font-size: 12px; line-height: 1.8; cursor: pointer; }
.zxacc-auth-page .bauth-check input { width: 16px; height: 16px; margin: 0; flex: 0 0 16px; accent-color: #355e88; }
.zxacc-auth-page .bauth-terms { align-items: flex-start; margin: 0 0 16px; }
.zxacc-auth-page .bauth-terms input { margin-top: 3px; }
.zxacc-auth-page .bauth-link, .zxacc-auth-page .bauth-terms a { color: #355e88; font-size: 12px; font-weight: 600; text-decoration: none; }
.zxacc-auth-page .bauth-link:hover, .zxacc-auth-page .bauth-terms a:hover { text-decoration: underline; }
.zxacc-auth-page .bauth-btn, .zxacc-auth-page .bauth-reset button[type="submit"] { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 46px; padding: 12px; border: 0; border-radius: 11px; background: linear-gradient(135deg, #355e88, #5284b0); color: #fff; font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1.6; text-decoration: none; cursor: pointer; box-shadow: 0 10px 22px -8px rgb(32 56 82 / 40%); }
.zxacc-auth-page .bauth-btn:hover { filter: brightness(1.07); }
.zxacc-auth-page .bauth-btn[aria-busy="true"] { cursor: progress; opacity: .8; }
.zxacc-auth-page .bauth-btn[aria-busy="true"]::after { content: ''; width: 16px; height: 16px; border: 2px solid #ffffff60; border-top-color: #fff; border-radius: 50%; animation: zxacc-auth-spin .7s linear infinite; }
.zxacc-auth-page .bauth-switch { margin: 16px 0 0; color: #6b7688; font-size: 12px; line-height: 1.8; text-align: center; }
.zxacc-auth-page .bauth-logout { display: inline-block; margin-top: 16px; }
.zxacc-auth-page .bauth-social { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 10px; margin: 0 0 14px; border-radius: 18px; background: radial-gradient(circle at 15% 15%, rgba(255,255,255,.8), transparent 30%), linear-gradient(135deg, #e9f2fb, #f5f9ff 48%, #e0edf8); border: 1px solid rgba(82,132,176,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.72); }
.zxacc-auth-page .bauth-social-btn { position: relative; display: flex; align-items: center; justify-content: center; gap: 7px; min-width: 0; min-height: 42px; padding: 9px 8px; border-radius: 13px; border: 1px solid rgba(82,132,176,.16); background: rgba(255,255,255,.86); color: #20364f; font-family: inherit; font-size: 12px; font-weight: 800; cursor: not-allowed; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.zxacc-auth-page .bauth-social-btn svg { width: 17px; height: 17px; flex: 0 0 17px; }
.zxacc-auth-page .bauth-social-btn span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zxacc-auth-page .bauth-social-btn em { position: absolute; top: -1px; inset-inline-end: -1px; padding: 2px 7px; border-radius: 0 12px 0 10px; background: #355e88; color: #fff; font-size: 9px; font-style: normal; font-weight: 900; line-height: 1.6; opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; }
.zxacc-auth-page .bauth-social-btn:hover, .zxacc-auth-page .bauth-social-btn:focus-visible { transform: translateY(-1px); border-color: rgba(82,132,176,.32); box-shadow: 0 10px 20px -16px rgba(32,56,82,.55); }
.zxacc-auth-page .bauth-social-btn:hover em, .zxacc-auth-page .bauth-social-btn:focus-visible em { opacity: 1; transform: translateY(0); }
.zxacc-auth-page .bauth-social-btn--live { cursor: pointer; text-decoration: none; }
.zxacc-auth-page .bauth-social-btn--live:hover, .zxacc-auth-page .bauth-social-btn--live:focus-visible { border-color: #355e88; box-shadow: 0 10px 20px -14px rgba(32,56,82,.55); }
.zxacc-auth-page .bauth-social-btn--telegram {
    /* Always full-width, regardless of the 1fr/1fr grid above it — the
       widget Telegram injects has its own fixed pixel width and would
       otherwise get clipped in a narrow half-column. */
    grid-column: 1 / -1;
    cursor: default;
    padding: 4px;
    overflow: visible;
    background: transparent;
    border: none;
    box-shadow: none;
    justify-content: center;
}
.zxacc-auth-page .bauth-social-btn--telegram iframe { max-width: 100%; }
.zxacc-auth-page .bauth-divider { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; margin: 0 0 14px; color: #8a97aa; font-size: 11px; font-weight: 800; }
.zxacc-auth-page .bauth-divider::before, .zxacc-auth-page .bauth-divider::after { content: ""; height: 1px; background: #e1e7ef; }
.zxacc-auth-page .bauth-divider span { padding: 0 2px; }
.zxacc-auth-page .bauth-visual { min-width: 0; background: #0b1933; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px 0; }
.zxacc-auth-page .bauth-visual > img { display: block; width: 100%; height: auto; object-fit: contain; }
.zxacc-auth-page .bauth-visual-copy { direction: rtl; text-align: center; padding: 32px 28px; }
.zxacc-auth-page .bauth-visual-copy h2 { color: #fff; margin: 0 0 8px; font-size: 22px; line-height: 1.7; }
.zxacc-auth-page .bauth-visual-copy p { color: #b9c7db; margin: 0; font-size: 13px; line-height: 1.9; }
.zxacc-auth-page .bauth-notices:empty { display: none; }
.zxacc-auth-page .woocommerce-error, .zxacc-auth-page .woocommerce-message, .zxacc-auth-page .woocommerce-info { position: relative; list-style: none; padding-block: 14px; padding-inline: 44px 16px; margin: 0 0 16px; border: 1px solid #d9e5f0; border-radius: 16px; background: #eff6ff; color: #355e88; font-size: 13px; line-height: 1.9; overflow-wrap: anywhere; box-shadow: 0 16px 26px -24px rgba(32,56,82,.28); animation: bauthNoticeIn .22s ease both; }
.zxacc-auth-page .woocommerce-error::after, .zxacc-auth-page .woocommerce-message::after, .zxacc-auth-page .woocommerce-info::after { content: "!"; position: absolute; inset-inline-start: 14px; top: 14px; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: currentColor; color: #fff; font-size: 12px; font-weight: 900; }
.zxacc-auth-page .woocommerce-error { color: #b42318; background: #fff5f5; border-color: #ffc9c9; }
.zxacc-auth-page .woocommerce-message { color: #166534; background: #f0fdf4; border-color: #bbf7d0; }
.zxacc-auth-page .bauth-notice-leaving { animation: bauthNoticeOut .25s ease forwards; }
.zxacc-auth-page .woocommerce-error::before, .zxacc-auth-page .woocommerce-message::before, .zxacc-auth-page .woocommerce-info::before { display: none; }
.zxacc-auth-page .bauth-reset .form-row { float: none; width: 100%; margin: 0 0 14px; padding: 0; }
.zxacc-auth-page .bauth-reset form { margin: 18px 0; }
.zxacc-auth-page .zxacc-auth a:focus-visible, .zxacc-auth-page .zxacc-auth button:focus-visible { outline: 3px solid #5284b0; outline-offset: 3px; }
@keyframes zxacc-auth-spin { to { transform: rotate(360deg); } }
@keyframes bauthNoticeIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes bauthNoticeOut { to { opacity: 0; transform: translateY(-8px); max-height: 0; margin: 0; padding-top: 0; padding-bottom: 0; } }
.zxacc-auth-page .bauth-loggedin { position: relative; isolation: isolate; text-align: center; padding: 16px 0 4px; }
.zxacc-auth-page .bauth-welcome-orbit { position: relative; width: 88px; height: 88px; margin: 0 auto 18px; border-radius: 50%; background: radial-gradient(circle, rgba(82,132,176,.18), rgba(82,132,176,.05) 55%, transparent 57%); }
.zxacc-auth-page .bauth-welcome-orbit::before { content: ""; position: absolute; inset: 19px; border-radius: 24px; background: url('../images/zxacc-auth-logo.png') center/contain no-repeat; filter: drop-shadow(0 10px 20px rgba(53,94,136,.22)); }
.zxacc-auth-page .bauth-welcome-orbit span { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: #5284b0; box-shadow: 0 0 0 5px rgba(82,132,176,.12); animation: bauthOrbit 5s linear infinite; transform-origin: 44px 44px; left: 39px; top: 39px; }
.zxacc-auth-page .bauth-welcome-orbit span:nth-child(2) { background: #ffc53d; animation-delay: -1.7s; }
.zxacc-auth-page .bauth-welcome-orbit span:nth-child(3) { background: #2ac7b8; animation-delay: -3.4s; }
.zxacc-auth-page .bauth-welcome-badge { display: inline-flex; align-items: center; justify-content: center; margin: 0 auto 10px; padding: 5px 12px; border-radius: 999px; background: #ecfdf5; color: #047857; font-size: 11px; font-weight: 900; }
.zxacc-auth-page .bauth-welcome-actions { margin-top: 18px; }
@keyframes bauthOrbit { to { transform: rotate(360deg) translateX(42px) rotate(-360deg); } }
@media (max-width: 900px) {
    .zxacc-auth-page .zxacc-auth { grid-template-columns: minmax(0, 1fr); background: radial-gradient(circle at 0 0, #dce6f0, transparent 230px), radial-gradient(circle at 100% 100%, #e4ecf4, transparent 200px), #eef2f7; }
    .zxacc-auth-page .bauth-visual { display: none; }
    .zxacc-auth-page .bauth-panel { padding: max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom)); }
    .zxacc-auth-page .bauth-card { padding: 26px 22px; border-radius: 22px; max-width: 430px; }
    .zxacc-auth-page .bauth-title { font-size: 19px; }
    .zxacc-auth-page .bauth-social { grid-template-columns: 1fr; }
}
@media (max-width: 359px) {
    .zxacc-auth-page .bauth-panel { padding-inline: 12px; }
    .zxacc-auth-page .bauth-card { padding: 24px 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .zxacc-auth-page .bauth-btn[aria-busy="true"]::after { animation: none; }
}

/* [1.6.0] social buttons: Google + Facebook (soon), gently animated icons */
.zxacc-auth-page .bauth-social-btn em{opacity:1!important;transform:none!important;}
.zxacc-auth-page .bauth-social-btn svg{transform-origin:50% 50%;}
.zxacc-auth-page .bauth-social-btn:first-child svg{animation:bauthG 5s ease-in-out infinite;}
.zxacc-auth-page .bauth-social-btn--fb svg{animation:bauthF 5s 2.5s ease-in-out infinite;}
.zxacc-auth-page .bauth-social-btn:hover svg{animation:bauthPop .5s cubic-bezier(.3,1.6,.5,1);}
@keyframes bauthG{0%,78%,100%{transform:none}84%{transform:rotate(-18deg) scale(1.12)}90%{transform:rotate(12deg) scale(1.06)}95%{transform:rotate(0) scale(1)}}
@keyframes bauthF{0%,78%,100%{transform:none}84%{transform:translateY(-3px) scale(1.12)}90%{transform:translateY(0) scale(.96)}95%{transform:scale(1.03)}}
@keyframes bauthPop{50%{transform:scale(1.25) rotate(-8deg)}}
@media (prefers-reduced-motion:reduce){.zxacc-auth-page .bauth-social-btn svg{animation:none!important}}
