/* پنل PWEncoder — استایل فارسی راست‌به‌چپ (محدود به .pwenc-panel) */
.pwenc-panel {
  --bg:#f4f6fb; --card:#fff; --ink:#1e293b; --muted:#64748b; --line:#e6eaf2;
  --brand:#4f46e5; --brand-2:#6366f1; --ok:#16a34a; --warn:#d97706; --err:#dc2626;
  --radius:14px;
  --shadow:0 1px 2px rgba(15,23,42,.05),0 6px 18px rgba(15,23,42,.05);
  --shadow-lg:0 10px 30px rgba(15,23,42,.10);
  --ring:0 0 0 3px rgba(79,70,229,.16);
  direction:rtl; color:var(--ink); line-height:1.9;
  font-family:Vazirmatn,"IRANSans",Tahoma,"Segoe UI",system-ui,sans-serif;
  /* رندر سریع‌تر متن فارسی و جلوگیری از پرش چیدمان هنگام بارگذاری فونت */
  text-rendering:optimizeSpeed; font-synthesis:none;
}
body.pwenc-body { margin:0; background:var(--bg); }
.pwenc-panel * { box-sizing:border-box; }
/* احترام به تنظیم «کاهش حرکت» سیستم کاربر */
@media (prefers-reduced-motion:reduce){
  .pwenc-panel *,.pwenc-panel *::before,.pwenc-panel *::after { transition:none !important; animation:none !important; }
}
/* رنگ لینک‌های محتوایی؛ دکمه‌ها (a.pwenc-btn) از این رنگ مستثنا هستند تا متنشان
   با پس‌زمینهٔ آبی یکی نشود و خوانا بماند. این قانون فقط به ناحیهٔ محتوا محدود
   است تا رنگ روشنِ منوی سایدبار (پس‌زمینهٔ تیره) را تیره و ناخوانا نکند. */
.pwenc-content a:not(.pwenc-btn) { color:var(--brand); text-decoration:none; }
.pwenc-content a:not(.pwenc-btn):hover { text-decoration:underline; }
.pwenc-panel a.pwenc-btn { color:#fff; }
.pwenc-panel a.pwenc-btn.ghost { color:var(--ink); }
.pwenc-panel a.pwenc-btn:hover { color:#fff; }
.pwenc-panel a.pwenc-btn.ghost:hover { color:var(--ink); }
.pwenc-panel code,.pwenc-panel .mono { font-family:"Fira Code",ui-monospace,monospace; direction:ltr; unicode-bidi:embed; }
.pwenc-panel .mono { font-size:.82rem; word-break:break-all; }

.pwenc-layout { display:grid; grid-template-columns:210px 1fr; min-height:100vh; }
.pwenc-sidebar { background:linear-gradient(180deg,#111827,#0b1220); color:#cbd5e1; position:sticky; top:0; height:100vh; overflow-y:auto; }
.pwenc-brand { display:flex; align-items:center; gap:.5rem; padding:.9rem 1rem; border-bottom:1px solid #1f2937; }
.pwenc-brand .logo { width:30px; height:30px; border-radius:8px; background:linear-gradient(135deg,var(--brand),var(--brand-2)); display:grid; place-items:center; font-size:16px; }
.pwenc-brand b { color:#fff; font-size:.98rem; }
.pwenc-brand small { color:#64748b; display:block; font-size:.66rem; }
.pwenc-nav { padding:.5rem; }
.pwenc-nav a { display:flex; align-items:center; gap:.55rem; color:#e2e8f0; padding:.45rem .6rem; border-radius:9px; margin-bottom:.12rem; font-size:.85rem; text-decoration:none; position:relative; transition:background .13s ease,color .13s ease; }
.pwenc-nav a:hover,.pwenc-nav a:focus,.pwenc-nav a.active { text-decoration:none; }
.pwenc-nav a:hover { background:#1f2937; color:#fff; text-decoration:none; }
.pwenc-nav a:focus-visible { outline:none; box-shadow:0 0 0 2px rgba(99,102,241,.75); }
.pwenc-nav a.active { background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#fff; box-shadow:0 6px 16px rgba(79,70,229,.35); }
/* نشانگر کوچک سمت راستِ آیتم فعال */
.pwenc-nav a.active::before { content:""; position:absolute; right:-.5rem; top:50%; transform:translateY(-50%); width:3px; height:60%; border-radius:3px; background:#a5b4fc; }
.pwenc-nav a span:first-child { font-size:.95rem; width:1.1rem; text-align:center; }
.pwenc-nav .sep { color:#94a3b8; font-size:.64rem; padding:.55rem .6rem .2rem; letter-spacing:.02em; }

.pwenc-main { min-width:0; }
.pwenc-topbar { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.6rem; background:rgba(255,255,255,.88); backdrop-filter:saturate(180%) blur(8px); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5; }
.pwenc-topbar h1 { font-size:1.25rem; margin:0; }
.pwenc-topbar .user { display:flex; align-items:center; gap:.8rem; color:var(--muted); font-size:.9rem; }
.pwenc-topbar .chip { background:#eef2ff; color:var(--brand); padding:.25rem .7rem; border-radius:999px; font-size:.8rem; }
.pwenc-content { padding:1.6rem; max-width:1200px; }

.pwenc-help { background:linear-gradient(180deg,#eef2ff,#f8faff); border:1px solid #e0e7ff; border-radius:var(--radius); padding:1rem 1.2rem; margin-bottom:1.4rem; display:flex; gap:.8rem; }
.pwenc-help .i { flex:0 0 auto; width:34px; height:34px; border-radius:9px; background:var(--brand); color:#fff; display:grid; place-items:center; font-weight:bold; }
.pwenc-help p { margin:0; color:#3730a3; font-size:.92rem; }

.pwenc-grid { display:grid; gap:1.1rem; }
.pwenc-c4 { grid-template-columns:repeat(4,1fr); }
.pwenc-c3 { grid-template-columns:repeat(3,1fr); }
.pwenc-c2 { grid-template-columns:repeat(2,1fr); }
.pwenc-card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:1.3rem; transition:box-shadow .15s ease; }
.pwenc-card:hover { box-shadow:var(--shadow-lg); }
.pwenc-card h2 { margin:0 0 1rem; font-size:1.05rem; }
/* کارت‌های آمار داشبورد: تعامل ملایم و خوانایی بهتر */
.pwenc-stat { position:relative; overflow:hidden; }
.pwenc-stat::after { content:""; position:absolute; inset:auto -20% -60% auto; width:150px; height:150px; border-radius:50%; background:radial-gradient(circle,rgba(99,102,241,.10),transparent 70%); pointer-events:none; }
.pwenc-stat .n { font-size:2rem; font-weight:800; letter-spacing:-.01em; }
.pwenc-stat .l { color:var(--muted); font-size:.9rem; }
.pwenc-stat .ico { font-size:1.4rem; }

/* جدول‌ها: قابل اسکرول افقی روی موبایل + رندر سریع‌تر ردیف‌های زیاد */
.pwenc-panel table.tbl { width:100%; border-collapse:collapse; background:#fff; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); }
.pwenc-panel table.tbl th,.pwenc-panel table.tbl td { padding:.75rem 1rem; text-align:right; border-bottom:1px solid var(--line); font-size:.9rem; }
.pwenc-panel table.tbl th { background:#f8fafc; color:var(--muted); font-weight:600; position:sticky; top:0; z-index:1; }
.pwenc-panel table.tbl tbody tr { transition:background .12s ease; content-visibility:auto; contain-intrinsic-size:auto 48px; }
.pwenc-panel table.tbl tbody tr:hover { background:#f8fafc; }
.pwenc-panel table.tbl tr:last-child td { border-bottom:none; }

.pwenc-panel .field { margin-bottom:1.1rem; }
.pwenc-panel .field label { display:block; font-weight:600; margin-bottom:.4rem; font-size:.92rem; }
.pwenc-panel .hint { color:var(--muted); font-size:.82rem; margin-top:.3rem; }
.pwenc-panel input[type=text],.pwenc-panel input[type=password],.pwenc-panel input[type=number],.pwenc-panel input[type=date],.pwenc-panel textarea,.pwenc-panel select {
  width:100%; padding:.65rem .8rem; border:1px solid var(--line); border-radius:10px; font:inherit; background:#fff; color:var(--ink); }
.pwenc-panel input:focus,.pwenc-panel textarea:focus,.pwenc-panel select:focus { outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(79,70,229,.12); }
.pwenc-panel textarea { min-height:110px; resize:vertical; }
.pwenc-row { display:flex; gap:1rem; flex-wrap:wrap; }
.pwenc-row > * { flex:1; min-width:180px; }

.pwenc-btn { display:inline-flex; align-items:center; gap:.4rem; padding:.6rem 1.1rem; border-radius:10px; border:1px solid transparent; background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#fff; font:inherit; font-weight:600; cursor:pointer; text-decoration:none; box-shadow:0 2px 8px rgba(79,70,229,.22); transition:transform .12s ease,box-shadow .12s ease,background .12s ease; }
.pwenc-btn:hover { background:var(--brand-2); text-decoration:none; color:#fff; transform:translateY(-1px); box-shadow:0 6px 18px rgba(79,70,229,.32); }
.pwenc-btn:active { transform:translateY(0); box-shadow:0 2px 6px rgba(79,70,229,.25); }
.pwenc-panel .pwenc-btn:focus-visible { outline:none; box-shadow:var(--ring),0 6px 18px rgba(79,70,229,.28); }
/* حالت «در حال ارسال» برای جلوگیری از ثبت دوباره و بازخورد فوری به کاربر */
.pwenc-btn[disabled],.pwenc-btn.is-busy { opacity:.65; pointer-events:none; }
.pwenc-btn.sm { padding:.4rem .8rem; font-size:.82rem; }
.pwenc-btn.ghost { background:#fff; color:var(--ink); border-color:var(--line); box-shadow:0 1px 2px rgba(15,23,42,.05); }
.pwenc-btn.ghost:hover { background:#f8fafc; color:var(--ink); border-color:#cbd5e1; box-shadow:0 4px 12px rgba(15,23,42,.08); }
.pwenc-btn.ok { background:var(--ok); box-shadow:0 2px 8px rgba(22,163,74,.22); }
.pwenc-btn.ok:hover { background:#15803d; box-shadow:0 6px 18px rgba(22,163,74,.3); }
.pwenc-btn.warn { background:var(--warn); box-shadow:0 2px 8px rgba(217,119,6,.22); }
.pwenc-btn.warn:hover { background:#b45309; box-shadow:0 6px 18px rgba(217,119,6,.3); }
.pwenc-btn.danger { background:var(--err); box-shadow:0 2px 8px rgba(220,38,38,.22); }
.pwenc-btn.danger:hover { background:#b91c1c; box-shadow:0 6px 18px rgba(220,38,38,.3); }

.pwenc-badge { display:inline-block; padding:.2rem .7rem; border-radius:999px; font-size:.78rem; font-weight:600; }
.pwenc-badge.active,.pwenc-badge.done,.pwenc-badge.ok { background:#dcfce7; color:#166534; }
.pwenc-badge.expired,.pwenc-badge.failed,.pwenc-badge.revoked,.pwenc-badge.err { background:#fee2e2; color:#991b1b; }
.pwenc-badge.suspended,.pwenc-badge.queued,.pwenc-badge.warn { background:#fef3c7; color:#92400e; }
.pwenc-badge.inactive,.pwenc-badge.running { background:#e0e7ff; color:#3730a3; }

.pwenc-flash { padding:.9rem 1.1rem; border-radius:10px; margin-bottom:1rem; font-size:.92rem; }
.pwenc-flash.success { background:#dcfce7; color:#166534; border:1px solid #bbf7d0; }
.pwenc-flash.error { background:#fee2e2; color:#991b1b; border:1px solid #fecaca; }

.pwenc-login { max-width:420px; margin:3rem auto; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:2rem; text-align:center; box-shadow:var(--shadow); }

/* ---------- صفحهٔ ورود به پنل ---------- */
/* هم‌خانواده با صفحهٔ معرفی: پس‌زمینهٔ تیرهٔ گرادیانی + کارت شیشه‌ای برند. */
.pwenc-panel-plain { padding:0; }
.pwenc-panel-plain > .pwenc-flash { max-width:760px; margin:2.5rem auto; }
.pwenc-auth {
  min-height:78vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:3rem 1.25rem 2rem;
  background:
    radial-gradient(1100px 520px at 80% -10%, rgba(99,102,241,.30), transparent 60%),
    radial-gradient(900px 500px at 10% 110%, rgba(16,185,129,.18), transparent 60%),
    linear-gradient(160deg,#0b1220 0%,#111827 55%,#0b1220 100%);
}
.pwenc-auth-card {
  width:100%; max-width:440px; background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.12); border-radius:20px; padding:2rem 1.9rem 1.6rem;
  box-shadow:0 24px 70px rgba(2,6,23,.55); backdrop-filter:blur(10px);
}
.pwenc-auth-brand { display:flex; align-items:center; gap:.7rem; margin-bottom:1.5rem; }
.pwenc-auth-brand .logo { width:46px; height:46px; border-radius:13px; background:linear-gradient(135deg,var(--brand),var(--brand-2)); display:grid; place-items:center; font-size:23px; box-shadow:0 8px 26px rgba(79,70,229,.5); }
.pwenc-auth-brand b { color:#fff; font-size:1.02rem; display:block; line-height:1.5; }
.pwenc-auth-brand small { color:#94a3b8; font-size:.72rem; display:block; }
.pwenc-auth h1 { color:#fff; font-size:1.4rem; margin:0 0 .4rem; font-weight:700; }
.pwenc-auth .sub { color:#cbd5e1; font-size:.9rem; line-height:1.9; margin:0 0 1.3rem; }
.pwenc-auth-error { background:rgba(220,38,38,.16); border:1px solid rgba(248,113,113,.45); color:#fecaca; border-radius:10px; padding:.7rem .9rem; font-size:.86rem; margin-bottom:1rem; }

/* فرم استاندارد وردپرس (wp_login_form) با ظاهر پنل */
.pwenc-auth-form p { margin:0 0 .9rem; }
.pwenc-auth-form label { display:block; color:#e2e8f0; font-size:.85rem; font-weight:600; margin-bottom:.4rem; }
.pwenc-auth-form input[type=text],
.pwenc-auth-form input[type=password] {
  width:100%; padding:.75rem .9rem; border-radius:11px; font:inherit;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16); color:#fff;
  transition:border-color .13s ease, box-shadow .13s ease, background .13s ease;
}
.pwenc-auth-form input::placeholder { color:#94a3b8; }
.pwenc-auth-form input[type=text]:focus,
.pwenc-auth-form input[type=password]:focus {
  outline:none; background:rgba(255,255,255,.1);
  border-color:var(--brand-2); box-shadow:0 0 0 3px rgba(99,102,241,.28);
}
.pwenc-auth-form .login-remember label { display:flex; align-items:center; gap:.45rem; color:#cbd5e1; font-weight:normal; font-size:.85rem; }
.pwenc-auth-form .login-remember input { accent-color:var(--brand-2); width:auto; }
.pwenc-auth-form .login-submit { margin-top:1.1rem; }
.pwenc-auth-form input[type=submit] {
  width:100%; padding:.8rem 1.1rem; border:none; border-radius:11px; cursor:pointer;
  background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#fff;
  font:inherit; font-weight:700; font-size:1rem;
  box-shadow:0 10px 26px rgba(79,70,229,.42); transition:transform .12s ease, box-shadow .12s ease;
}
.pwenc-auth-form input[type=submit]:hover { transform:translateY(-1px); box-shadow:0 14px 32px rgba(79,70,229,.55); }
.pwenc-auth-form input[type=submit]:active { transform:translateY(0); }

.pwenc-auth-links { text-align:center; margin-top:1.1rem; font-size:.83rem; color:#64748b; display:flex; gap:.5rem; justify-content:center; }
.pwenc-auth-links a { color:#a5b4fc; text-decoration:none; }
.pwenc-auth-links a:hover { color:#c7d2fe; text-decoration:underline; }

.pwenc-auth-actions { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.4rem; }
.pwenc-auth-btn { display:inline-flex; align-items:center; gap:.4rem; padding:.7rem 1.2rem; border-radius:11px; font-weight:600; text-decoration:none; font-size:.9rem; }
.pwenc-auth-btn.ghost { background:rgba(255,255,255,.07); color:#e2e8f0; border:1px solid rgba(255,255,255,.16); }
.pwenc-auth-btn.ghost:hover { background:rgba(255,255,255,.13); color:#fff; text-decoration:none; }

.pwenc-auth-features { display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; margin-top:1.6rem; padding-top:1.3rem; border-top:1px solid rgba(255,255,255,.09); }
.pwenc-auth-features > div { text-align:center; }
.pwenc-auth-features .ic { font-size:1.15rem; }
.pwenc-auth-features b { display:block; color:#e2e8f0; font-size:.78rem; margin-top:.25rem; }
.pwenc-auth-features small { color:#7c8ba1; font-size:.68rem; line-height:1.6; display:block; }

.pwenc-auth-foot { color:#64748b; font-size:.78rem; margin:1.1rem 0 0; text-align:center; }

@media (max-width:420px){
  .pwenc-auth-card { padding:1.6rem 1.25rem 1.3rem; }
  .pwenc-auth-features { grid-template-columns:1fr; gap:.8rem; }
}

.pwenc-muted { color:var(--muted); }
.pwenc-panel hr.soft { border:none; border-top:1px solid var(--line); margin:1.4rem 0; }
.pwenc-pills { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; }
.pwenc-progress { height:8px; background:var(--line); border-radius:999px; overflow:hidden; min-width:120px; }
.pwenc-progress > span { display:block; height:100%; background:var(--brand); }

/* جعبهٔ مقادیر حساس (کلید عمومی و…): پیش‌فرض مخفی + دکمهٔ نمایش/کپی. */
.pwenc-secret { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; background:#f8fafc; border:1px solid var(--line); border-radius:10px; padding:.6rem .75rem; }
.pwenc-secret code { flex:1; min-width:180px; word-break:break-all; color:var(--ink); background:none; padding:0; }
.pwenc-secret [data-secret-mask] { letter-spacing:.14em; color:var(--muted); }

/* کارت‌های «نسخه‌های آمادهٔ دیکودر» — هر فایل در یک باکس مستقل با توضیح و دکمه. */
.pwenc-assets { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:.9rem; margin:.9rem 0 1.2rem; }
.pwenc-asset { display:flex; flex-direction:column; gap:.5rem; background:#fff; border:1px solid var(--line); border-radius:12px; padding:1rem; box-shadow:var(--shadow); }
.pwenc-asset .t { font-weight:700; font-size:.95rem; }
.pwenc-asset .d { margin:0; font-size:.85rem; color:var(--muted); line-height:1.8; flex:1; }
.pwenc-asset .m { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; font-size:.78rem; }
.pwenc-asset .pwenc-btn { align-self:flex-start; }

.pwenc-guide h2 { margin-top:2rem; color:var(--brand); border-bottom:2px solid var(--line); padding-bottom:.4rem; }
.pwenc-guide h3 { margin-top:1.4rem; }
.pwenc-guide pre { background:#0f172a; color:#e2e8f0; padding:1rem; border-radius:10px; overflow-x:auto; direction:ltr; }
.pwenc-guide code { background:#f1f5f9; padding:.15rem .4rem; border-radius:5px; }
.pwenc-guide pre code { background:none; padding:0; }
.pwenc-guide ol,.pwenc-guide ul { padding-right:1.5rem; }
.pwenc-guide .note { background:#fffbeb; border:1px solid #fde68a; border-radius:10px; padding:1rem; margin:1rem 0; color:#92400e; }
.pwenc-steps { counter-reset:step; }
.pwenc-steps .step { position:relative; padding-right:3rem; margin-bottom:1.2rem; }
.pwenc-steps .step::before { counter-increment:step; content:counter(step); position:absolute; right:0; top:0; width:2rem; height:2rem; background:var(--brand); color:#fff; border-radius:50%; display:grid; place-items:center; font-weight:bold; }

@media (max-width:860px){ .pwenc-layout{ grid-template-columns:1fr; } .pwenc-sidebar{ position:static; height:auto; } .pwenc-c4,.pwenc-c3,.pwenc-c2{ grid-template-columns:1fr 1fr; } }
