/* Nikan SMS Auth - frontend OTP login/register page */
.nikan-otp-auth-body{
  margin:0;
  min-height:100vh;
  background:radial-gradient(circle at 80% 10%,var(--nikan-otp-bg-glow-soft,rgba(37,99,235,.12)),transparent 32%),linear-gradient(135deg,var(--nikan-otp-bg-start,#f8fafc) 0%,var(--nikan-otp-bg-end,#eef2ff) 100%);
  font-family:var(--nikan-otp-font,'YekanBakh','IRANSans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif) !important;
  color:var(--nikan-otp-title,#111827);
  direction:rtl;
}
.nikan-otp-auth-body,
.nikan-otp-auth-body .nikan-otp-card,
.nikan-otp-auth-body .nikan-otp-card *:not([class^="fi-"]):not([class*=" fi-"]){
  font-family:var(--nikan-otp-font,'YekanBakh','IRANSans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif) !important;
}
.nikan-otp-auth-body *{box-sizing:border-box}
.nikan-otp-auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px 16px}
.nikan-otp-card{width:100%;max-width:440px;background:var(--nikan-otp-card-bg,#fff);border:1px solid var(--nikan-otp-card-border,#e2e8f0);border-radius:28px;box-shadow:0 24px 70px rgba(15,23,42,.10);padding:28px 26px 22px;backdrop-filter:blur(10px)}
.nikan-otp-brand{display:flex;justify-content:center;margin-bottom:18px}
.nikan-otp-logo{text-decoration:none;color:var(--nikan-otp-title,#0f172a);font-weight:900;font-size:20px;letter-spacing:-.2px}
.nikan-otp-logo:hover{text-decoration:none;color:var(--nikan-otp-primary,#2563eb)}
.nikan-otp-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--nikan-otp-tab-bg,#f1f5f9);border:1px solid var(--nikan-otp-card-border,#e2e8f0);border-radius:18px;padding:6px;gap:6px;margin-bottom:22px}
.nikan-otp-tab{border:0;background:transparent;color:var(--nikan-otp-muted,#64748b);padding:12px;border-radius:14px;cursor:pointer;font-weight:800;font-size:14px;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.nikan-otp-tab.is-active{background:var(--nikan-otp-tab-active-bg,#fff);color:var(--nikan-otp-primary-dark,#1d4ed8);box-shadow:0 8px 22px rgba(15,23,42,.08)}
.nikan-otp-panel{display:none}.nikan-otp-panel.is-active{display:block}
.nikan-otp-title{text-align:center;font-weight:900;font-size:18px;margin:2px 0 20px;color:var(--nikan-otp-title,#0f172a)}
.nikan-otp-field{margin-bottom:15px}.nikan-otp-label{display:block;font-size:13px;font-weight:800;margin:0 0 8px;color:var(--nikan-otp-text,#334155)}
.nikan-otp-input{display:flex;align-items:center;min-height:52px;border:1px solid var(--nikan-otp-input-border,#dbe3ef);border-radius:16px;padding:0 14px;gap:10px;background:var(--nikan-otp-input-bg,#fff);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.nikan-otp-input:focus-within{border-color:var(--nikan-otp-primary,#2563eb);box-shadow:0 0 0 4px rgba(var(--nikan-otp-primary-rgb,37,99,235),.12)}
.nikan-otp-icon{width:22px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:var(--nikan-otp-primary,#2563eb);font-size:18px;opacity:.9}
.nikan-otp-input input{width:100%;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;font-size:15px;font-weight:700;color:var(--nikan-otp-title,#0f172a);direction:ltr;text-align:left;font-family:var(--nikan-otp-font,'YekanBakh','IRANSans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif)!important}
.nikan-otp-input input::placeholder{color:var(--nikan-otp-muted,#94a3b8);font-weight:500;opacity:.72}
.nikan-otp-btn{width:100%;border:0;border-radius:16px;padding:14px 16px;font-weight:900;font-size:15px;cursor:pointer;background:linear-gradient(135deg,var(--nikan-otp-primary,#2563eb),var(--nikan-otp-primary-dark,#1d4ed8));color:var(--nikan-otp-primary-text,#fff);box-shadow:0 14px 24px rgba(var(--nikan-otp-primary-rgb,37,99,235),.25);transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}
.nikan-otp-btn:hover{transform:translateY(-1px);box-shadow:0 18px 30px rgba(var(--nikan-otp-primary-rgb,37,99,235),.30)}.nikan-otp-btn[disabled]{opacity:.62;cursor:not-allowed;transform:none}
.nikan-otp-msg{margin-top:12px;font-size:13px;text-align:center;min-height:18px;font-weight:700;color:var(--nikan-otp-text,#334155)}.nikan-otp-msg.is-error{color:#dc2626}.nikan-otp-msg.is-ok{color:#16a34a}
.nikan-otp-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.nikan-otp-link{border:0;background:var(--nikan-otp-tab-bg,#f8fafc);border-radius:12px;padding:8px 10px;cursor:pointer;font-weight:800;font-size:13px;color:var(--nikan-otp-text,#334155)}.nikan-otp-link:hover{background:var(--nikan-otp-bg-end,#eef2ff);color:var(--nikan-otp-primary-dark,#1d4ed8)}.nikan-otp-link[disabled]{opacity:.45;cursor:not-allowed}
.nikan-otp-timer{margin-top:12px;text-align:center;font-size:13px;color:var(--nikan-otp-muted,#64748b);min-height:18px}.nikan-otp-footnote{margin-top:18px;text-align:center;font-size:12px;color:var(--nikan-otp-muted,#64748b);line-height:1.8}.nikan-otp-verify .nikan-otp-input input{letter-spacing:8px;text-align:center;font-size:20px;font-weight:900}
.nikan-sms-auth-wrap,.nikan-sms-auth-card,.nikan-sms-auth-wrap *:not([class^="fi-"]):not([class*=" fi-"]){font-family:var(--nikan-otp-font,'YekanBakh','IRANSans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif)!important}
.nikan-sms-auth-wrap{direction:rtl;color:var(--nikan-otp-title,#0f172a)}
.nikan-sms-auth-card{background:var(--nikan-otp-card-bg,#fff);border:1px solid var(--nikan-otp-card-border,#e2e8f0);border-radius:24px;box-shadow:0 20px 55px rgba(15,23,42,.08);padding:24px}
.nikan-sms-auth-tab.is-active,.nikan-btn{background:linear-gradient(135deg,var(--nikan-otp-primary,#2563eb),var(--nikan-otp-primary-dark,#1d4ed8));color:var(--nikan-otp-primary-text,#fff)}
@media(max-width:420px){.nikan-otp-auth-wrap{padding:18px 12px}.nikan-otp-card{padding:22px 18px 18px;border-radius:22px}.nikan-otp-title{font-size:16px}.nikan-otp-input{min-height:50px}.nikan-otp-btn{padding:13px 14px}}
@media(prefers-reduced-motion:reduce){.nikan-otp-tab,.nikan-otp-input,.nikan-otp-btn{transition:none}.nikan-otp-btn:hover{transform:none}}
