/* ===================================================================
   پشتیبانی و فروش PV — نسخه ۲.۲
   استایل کامل با ریسپانسیو موبایل/تبلت، چت تمام‌صفحه موبایل،
   دارک‌مود صحیح (بدون!important اجباری روی رنگ متن)،
   درگ‌اند‌دراپ، اعلان تایپ، امتیازدهی، فرم ورود مهمان
   =================================================================== */

/* ----------------- متغیرها و پایه ----------------- */
.pvs-wrap{
 /* در حالت روشن: بک‌گراند کاملاً سفید */
 --bg:#ffffff; --card:#ffffff; --line:#e2e8f0;
 --tx:#0f172a; --tx2:#64748b;
 --p:#2563eb; --p2:#1d4ed8; --red:#dc2626;
 --green:#10b981; --amber:#f59e0b;
 --radius:18px; --shadow:0 8px 24px rgba(2,6,23,.08);
 direction:rtl; text-align:right;
 font-family:Vazirmatx, Vazir, IRANSans, Tahoma, inherit;
 color:var(--tx); background:var(--bg);
 /* بک‌گراند همیشه radius دارد (دسکتاپ: ۲۰px، موبایل: ۱۴px) */
 border-radius:20px; padding:14px;
 width:100%; max-width:100%; margin:0 auto;
 box-sizing:border-box;
 font-size:15px; line-height:1.75;
 -webkit-text-size-adjust:100%;
 overflow:hidden;
}
/* در حالت روشن، خط جداکننده ظریف‌تر تا بک‌گراند سفید واضح‌تر دیده شود */
.pvs-wrap:not(.pvs-mode-dark){
 --bg:#ffffff; --card:#ffffff; --line:#e5e7eb;
}
/* در پنل ادمین وردپرس، فاصله بیرونی اضافه */
.pvs-wrap.pvs-admin{
 margin:20px auto;
 max-width:1400px;
}
.pvs-wrap *,.pvs-wrap *::before,.pvs-wrap *::after{box-sizing:border-box !important}
.pvs-login-wrap *,.pvs-login-wrap *::before,.pvs-login-wrap *::after{box-sizing:border-box !important}
.pvs-modal *,.pvs-modal *::before,.pvs-modal *::after{box-sizing:border-box !important}

/* جلوگیری قطعی از بیرون‌زدگی: همه عناصر داخل pvs-wrap محدود به عرض والد می‌شوند */
.pvs-wrap,.pvs-wrap *,
.pvs-login-wrap,.pvs-login-wrap *,
.pvs-modal,.pvs-modal *{
 max-width:100% !important;
}

/* دکمه‌ها و فیلدهای متنی هرگز از کادر بیرون نزنند
   فقط inputهای متنی/تلفن/عددی/ایمیل/جستجو — نه file, checkbox, radio, button */
.pvs-wrap .pvs-btn,
.pvs-wrap .pvs-input,
.pvs-wrap .pvs-fl,
.pvs-wrap input[type="text"],
.pvs-wrap input[type="tel"],
.pvs-wrap input[type="email"],
.pvs-wrap input[type="number"],
.pvs-wrap input[type="search"],
.pvs-wrap input[type="password"],
.pvs-wrap textarea,
.pvs-wrap select,
.pvs-login-wrap .pvs-btn,
.pvs-login-wrap .pvs-input,
.pvs-login-wrap .pvs-fl,
.pvs-login-wrap input[type="text"],
.pvs-login-wrap input[type="tel"],
.pvs-login-wrap input[type="email"],
.pvs-login-wrap input[type="number"],
.pvs-login-wrap input[type="search"],
.pvs-login-wrap input[type="password"],
.pvs-login-wrap textarea,
.pvs-login-wrap select,
.pvs-modal .pvs-btn,
.pvs-modal .pvs-input,
.pvs-modal .pvs-fl,
.pvs-modal input[type="text"],
.pvs-modal input[type="tel"],
.pvs-modal input[type="email"],
.pvs-modal input[type="number"],
.pvs-modal input[type="search"],
.pvs-modal input[type="password"],
.pvs-modal textarea,
.pvs-modal select{
 width:100%;
 max-width:100% !important;
 box-sizing:border-box !important;
 margin-left:0 !important;
 margin-right:0 !important;
}

/* input فایل، چک‌باکس، رادیو — استایل عادی حفظ شود */
.pvs-wrap input[type="file"],
.pvs-login-wrap input[type="file"],
.pvs-modal input[type="file"],
.pvs-wrap input[type="checkbox"],
.pvs-login-wrap input[type="checkbox"],
.pvs-modal input[type="checkbox"],
.pvs-wrap input[type="radio"],
.pvs-login-wrap input[type="radio"],
.pvs-modal input[type="radio"]{
 width:auto !important;
 max-width:none !important;
 margin:0 !important;
}

/* دکمه‌های بلاک به‌طور خاص */
.pvs-btn.pvs-block{
 width:100% !important;
 max-width:100% !important;
 box-sizing:border-box !important;
 display:flex !important;
}

/* مهم: دکمه‌های داخل ردیف‌های flex نباید width:100% بگیرند
   این قانون قانون کلی قبلی را بازنویسی می‌کند تا دکمه‌ها در دسکتاپ
   به‌صورت افقی در کنار هم قرار بگیرند (مثل ردیف اقدامات تیکت) */
.pvs-wrap .pvs-actrow .pvs-btn,
.pvs-wrap .pvs-mactions .pvs-btn,
.pvs-wrap .pvs-topacts .pvs-btn,
.pvs-wrap .pvs-topacts .pvs-ic,
.pvs-wrap .pvs-topacts .pvs-snd,
.pvs-wrap .pvs-topacts #pvs-darkbtn,
.pvs-wrap .pvs-topacts #pvs-install,
.pvs-wrap .pvs-topacts .pvs-user-trigger,
.pvs-wrap .pvs-listtop .pvs-btn,
.pvs-wrap .pvs-listtop .pvs-seg,
.pvs-wrap .pvs-topacts2 .pvs-btn,
.pvs-wrap .pvs-tk-foot .pvs-chip,
.pvs-wrap .pvs-tk-foot .pvs-tno,
.pvs-wrap .pvs-tk-foot .pvs-unread,
.pvs-wrap .pvs-tk-foot .pvs-rate-mini,
.pvs-wrap .pvs-ch-actions .pvs-ic,
.pvs-wrap .pvs-ch-actions .pvs-btn,
.pvs-wrap .pvs-stagebar .pvs-stagebtn,
.pvs-wrap .pvs-others .pvs-ochip,
.pvs-wrap .pvs-stepper .pvs-step,
.pvs-wrap .pvs-tk-head .pvs-ava,
.pvs-wrap .pvs-tk-head .pvs-tk-names,
.pvs-wrap .pvs-tk-head .pvs-tk-meta,
.pvs-wrap .pvs-ch-head .pvs-back,
.pvs-wrap .pvs-ch-head .pvs-ch-info,
.pvs-wrap .pvs-ch-head .pvs-ch-actions,
.pvs-wrap .pvs-crow .pvs-attach,
.pvs-wrap .pvs-crow .pvs-input,
.pvs-wrap .pvs-crow .pvs-send,
.pvs-wrap .pvs-rate-box .pvs-rate-stars button,
.pvs-wrap .pvs-fchip .pvs-fx,
.pvs-wrap .pvs-fchip .pvs-icn,
.pvs-wrap .pvs-msg .pvs-bfoot .pvs-macts,
.pvs-wrap .pvs-msg .pvs-bfoot .pvs-mact,
.pvs-wrap .pvs-msg .pvs-bfoot .pvs-btime,
.pvs-wrap .pvs-msg .pvs-bfoot .pvs-edited,
.pvs-wrap .pvs-msg .pvs-bfoot .pvs-ticks,
.pvs-wrap .pvs-ucard .pvs-uacts,
.pvs-wrap .pvs-ucard .pvs-mact,
.pvs-wrap .pvs-mx,
.pvs-wrap .pvs-prev .pvs-prev-i,
.pvs-wrap .pvs-prev .pvs-prev-x,
.pvs-wrap .pvs-faq .pvs-faq-chip,
.pvs-wrap .pvs-chips .pvs-chip,
.pvs-wrap .pvs-seg button,
.pvs-wrap .pvs-topacts .pvs-unreadb,
.pvs-wrap .pvs-reg-meta .pvs-badge,
.pvs-wrap .pvs-reg-meta .pvs-ago,
.pvs-wrap .pvs-reg-stats .pvs-reg-stat,
.pvs-wrap .pvs-reg-card .pvs-ava,
.pvs-wrap .pvs-reg-card .pvs-reg-info,
.pvs-wrap .pvs-reg-card .pvs-reg-meta,
.pvs-wrap .pvs-reg-card .pvs-reg-stats,
.pvs-wrap .pvs-search-wrap,
.pvs-wrap .pvs-search-wrap .pvs-icn,
.pvs-wrap .pvs-search-wrap .pvs-search,
.pvs-wrap .pvs-mtitle,
.pvs-wrap .pvs-mbody,
.pvs-wrap .pvs-mx,
.pvs-wrap .pvs-logo,
.pvs-wrap .pvs-logo .pvs-logo-ic,
.pvs-wrap .pvs-logo .pvs-logo-tx,
.pvs-wrap .pvs-logo .pvs-logo-tx b,
.pvs-wrap .pvs-logo .pvs-logo-tx span,
.pvs-wrap .pvs-topacts,
.pvs-wrap .pvs-topacts2,
.pvs-wrap .pvs-listtop,
.pvs-wrap .pvs-chips,
.pvs-wrap .pvs-toolbar,
.pvs-wrap .pvs-list,
.pvs-wrap .pvs-empty,
.pvs-wrap .pvs-tk,
.pvs-wrap .pvs-tk-prev,
.pvs-wrap .pvs-tk-foot,
.pvs-wrap .pvs-tk-head,
.pvs-wrap .pvs-chat,
.pvs-wrap .pvs-ch-head,
.pvs-wrap .pvs-msgs,
.pvs-wrap .pvs-msg,
.pvs-wrap .pvs-bub,
.pvs-wrap .pvs-btxt,
.pvs-wrap .pvs-bfoot,
.pvs-wrap .pvs-bname,
.pvs-wrap .pvs-btime,
.pvs-wrap .pvs-sysmsg,
.pvs-wrap .pvs-att-img,
.pvs-wrap .pvs-att-cap,
.pvs-wrap .pvs-att-file,
.pvs-wrap .pvs-composer,
.pvs-wrap .pvs-prev,
.pvs-wrap .pvs-crow,
.pvs-wrap .pvs-actrow,
.pvs-wrap .pvs-stagebar,
.pvs-wrap .pvs-others,
.pvs-wrap .pvs-stepper,
.pvs-wrap .pvs-wait,
.pvs-wrap .pvs-typing,
.pvs-wrap .pvs-faq,
.pvs-wrap .pvs-rate-box,
.pvs-wrap .pvs-rate-stars,
.pvs-wrap .pvs-rate-done,
.pvs-wrap .pvs-card,
.pvs-wrap .pvs-form,
.pvs-wrap .pvs-fl,
.pvs-wrap .pvs-grid2,
.pvs-wrap .pvs-form-step,
.pvs-wrap .pvs-hint,
.pvs-wrap .pvs-mp,
.pvs-wrap .pvs-h2,
.pvs-wrap .pvs-mactions,
.pvs-wrap .pvs-search,
.pvs-wrap .pvs-user-menu,
.pvs-wrap .pvs-user-trigger,
.pvs-wrap .pvs-user-dropdown,
.pvs-wrap .pvs-uinfo,
.pvs-wrap .pvs-udrow,
.pvs-wrap .pvs-reg-list,
.pvs-wrap .pvs-reg-card,
.pvs-wrap .pvs-reg-stats{
 width:auto;
 max-width:100%;
}

/* فقط input‌های متنی و textarea داخل .pvs-fl همچنان width:100% بگیرند */
.pvs-wrap .pvs-fl input[type="text"],
.pvs-wrap .pvs-fl input[type="tel"],
.pvs-wrap .pvs-fl input[type="email"],
.pvs-wrap .pvs-fl input[type="number"],
.pvs-wrap .pvs-fl input[type="search"],
.pvs-wrap .pvs-fl input[type="password"],
.pvs-wrap .pvs-fl textarea,
.pvs-wrap .pvs-fl select,
.pvs-wrap .pvs-input,
.pvs-wrap .pvs-search{
 width:100% !important;
 max-width:100% !important;
 box-sizing:border-box !important;
}

/* span داخل label هرگز width 100% نگیرد — فقط inline باشد */
.pvs-wrap .pvs-fl > span,
.pvs-login-wrap .pvs-fl > span,
.pvs-modal .pvs-fl > span{
 display:block;
 width:auto !important;
 max-width:100% !important;
 margin-bottom:6px;
}

/* ===================================================================
   اصلاح نمایش آیکون‌ها — رنگ صریح و قابل مشاهده
   =================================================================== */
.pvs-wrap .pvs-icn,
.pvs-login-wrap .pvs-icn,
.pvs-modal .pvs-icn{
 fill:none !important;
 stroke:currentColor !important;
 color:inherit;
 display:inline-block !important;
 visibility:visible !important;
 opacity:1 !important;
}
/* مهم: path داخل SVG باید به‌صورت outline رندر شود (نه fill)
   قالب‌های وردپرس معمولاً svg path { fill: currentColor } دارند که
   آیکون‌های outline را مخفی می‌کند. این قانون آن را بازنویسی می‌کند. */
.pvs-wrap .pvs-icn path,
.pvs-wrap .pvs-icn circle,
.pvs-wrap .pvs-icn rect,
.pvs-wrap .pvs-icn ellipse,
.pvs-wrap .pvs-icn polygon,
.pvs-wrap .pvs-icn line,
.pvs-wrap .pvs-icn polyline,
.pvs-login-wrap .pvs-icn path,
.pvs-login-wrap .pvs-icn circle,
.pvs-login-wrap .pvs-icn rect,
.pvs-login-wrap .pvs-icn ellipse,
.pvs-login-wrap .pvs-icn polygon,
.pvs-login-wrap .pvs-icn line,
.pvs-login-wrap .pvs-icn polyline,
.pvs-modal .pvs-icn path,
.pvs-modal .pvs-icn circle,
.pvs-modal .pvs-icn rect,
.pvs-modal .pvs-icn ellipse,
.pvs-modal .pvs-icn polygon,
.pvs-modal .pvs-icn line,
.pvs-modal .pvs-icn polyline{
 fill:none !important;
 stroke:currentColor !important;
 stroke-width:1.8 !important;
 stroke-linecap:round !important;
 stroke-linejoin:round !important;
}
/* دکمه‌های آیکونی همیشه رنگ متضاد با پس‌زمینه داشته باشند */
.pvs-wrap .pvs-ic,.pvs-wrap .pvs-back,.pvs-wrap .pvs-mx,
.pvs-wrap .pvs-send,.pvs-wrap .pvs-attach,
.pvs-wrap .pvs-stagebtn,.pvs-wrap .pvs-unreadb,
.pvs-wrap .pvs-tab,.pvs-wrap .pvs-theme-btn,
.pvs-wrap .pvs-user-trigger,.pvs-wrap .pvs-udrow,
.pvs-wrap .pvs-ochip,.pvs-wrap .pvs-chip,
.pvs-wrap .pvs-fchip,.pvs-wrap .pvs-rate-stars button,
.pvs-login-wrap .pvs-ic,.pvs-login-wrap .pvs-tab,.pvs-login-wrap .pvs-theme-btn,
.pvs-modal .pvs-ic,.pvs-modal .pvs-mx,.pvs-modal .pvs-btn{
 color:var(--tx) !important;
}
.pvs-wrap .pvs-ic svg,.pvs-wrap .pvs-back svg,.pvs-wrap .pvs-mx svg,
.pvs-wrap .pvs-send svg,.pvs-wrap .pvs-attach svg,
.pvs-login-wrap .pvs-ic svg,.pvs-login-wrap .pvs-tab svg,
.pvs-login-wrap .pvs-theme-btn svg,
.pvs-modal .pvs-ic svg,.pvs-modal .pvs-mx svg{
 visibility:visible !important;
 opacity:1 !important;
}
/* دکمه‌های رنگی رنگ خود را حفظ کنند */
.pvs-wrap .pvs-primary,.pvs-wrap .pvs-send,.pvs-wrap .pvs-stagebtn.cur,
.pvs-wrap .pvs-unreadb,.pvs-wrap .pvs-chip.cur,
.pvs-wrap .pvs-step.cur,
.pvs-modal .pvs-primary{
 color:#fff !important;
}
.pvs-wrap .pvs-primary svg,.pvs-wrap .pvs-send svg,.pvs-wrap .pvs-stagebtn.cur svg,
.pvs-wrap .pvs-unreadb svg,.pvs-wrap .pvs-chip.cur svg,
.pvs-modal .pvs-primary svg{
 stroke:#fff !important;
}
.pvs-wrap .pvs-danger,.pvs-modal .pvs-danger{
 color:#fff !important;
}
.pvs-wrap .pvs-danger svg,.pvs-modal .pvs-danger svg{
 stroke:#fff !important;
}
.pvs-login-wrap input[type="tel"],
.pvs-login-wrap input[type="number"],
.pvs-login-wrap textarea{
 width:100% !important;
 box-sizing:border-box !important;
}
.pvs-wrap .pvs-input{
 width:100%;
 box-sizing:border-box;
}

/* حالت تاریک خودکار — فقط روی متغیرها اعمال می‌شود */
@media (prefers-color-scheme:dark){
 .pvs-wrap:not(.pvs-mode-light){--bg:#0b1220; --card:#111a2e; --line:#22304f; --tx:#e7eefb; --tx2:#92a3bd}
}

/* حالت تاریک دستی (وقتی کاربر دکمه را می‌زند) */
.pvs-wrap.pvs-mode-dark{
 --bg:#0b1220; --card:#111a2e; --line:#22304f; --tx:#e7eefb; --tx2:#92a3bd;
}
/* حالت روشن دستی — بک‌گراند کاملاً سفید */
.pvs-wrap.pvs-mode-light{
 --bg:#ffffff; --card:#ffffff; --line:#e5e7eb; --tx:#0f172a; --tx2:#64748b;
}

/* عناصر بیرون از .pvs-wrap (مودال/لایت‌باکس) */
.pvs-modal,.pvs-lightbox,#pvs-toasts{
 --bg:#f1f5f9; --card:#fff; --line:#e2e8f0;
 --tx:#0f172a; --tx2:#64748b; --p:#2563eb; --p2:#1d4ed8; --red:#dc2626;
 font-family:inherit;
}
@media (prefers-color-scheme:dark){
 .pvs-modal:not(.pvs-mode-light),.pvs-lightbox:not(.pvs-mode-light),#pvs-toasts:not(.pvs-mode-light){
  --bg:#0b1220; --card:#111a2e; --line:#22304f; --tx:#e7eefb; --tx2:#92a3bd
 }
}

.pvs-wrap [hidden]{display:none !important}

/* ===================================================================
   اصلاح دارک‌مود — متن عناوین از --tx استفاده می‌کند (نه #fff)
   اگر قالب شما روی h2/h3 رنگ سفید !important می‌گذارد، این قانون آن را بازنویسی می‌کند
   =================================================================== */
.pvs-wrap h1,.pvs-wrap h2,.pvs-wrap h3,.pvs-wrap h4,
.pvs-wrap .pvs-h2,.pvs-wrap .pvs-logo-tx b,.pvs-wrap .pvs-ch-info b,
.pvs-wrap .pvs-tk-names b,.pvs-wrap .pvs-mtitle{
 color:var(--tx) !important;
}
.pvs-wrap .pvs-logo-tx span,.pvs-wrap .pvs-ch-info span,
.pvs-wrap .pvs-tk-user,.pvs-wrap .pvs-ago,.pvs-wrap .pvs-tno,
.pvs-wrap .pvs-hint,.pvs-wrap .pvs-login-sub,.pvs-wrap .pvs-others-lbl{
 color:var(--tx2) !important;
}

/* ----------------- آیکون‌ها ----------------- */
.pvs-icn{width:18px;height:18px;flex:none;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor}
.pvs-ic .pvs-icn{width:20px;height:20px}
.pvs-btn .pvs-icn,.pvs-send .pvs-icn{width:16px;height:16px}
.pvs-back .pvs-icn{width:20px;height:20px}
.pvs-logo-ic .pvs-icn{width:24px;height:24px;color:#fff}
.pvs-ticks .pvs-icn{width:14px;height:14px}
.pvs-msg.me .tk-seen{color:#a5f3fc}
.pvs-empty .pvs-icn{width:38px;height:38px;margin-bottom:6px;opacity:.5}
.pvs-prev-x .pvs-icn{width:13px;height:13px}
.pvs-mx .pvs-icn{width:18px;height:18px}

/* ----------------- هدر ----------------- */
.pvs-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 4px 14px}
.pvs-logo{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
/* باکس لوگو — مربع با ابعاد ثابت */
.pvs-logo-ic{
 display:grid !important;
 place-items:center !important;
 width:46px !important; height:46px !important;
 min-width:46px !important; min-height:46px !important;
 max-width:46px !important; max-height:46px !important;
 flex:0 0 46px !important;
 border-radius:14px;
 background:linear-gradient(135deg,#2563eb,#7c3aed);
 box-shadow:0 6px 16px rgba(37,99,235,.35);
 padding:0 !important;
}
.pvs-logo-ic .pvs-icn{width:24px;height:24px;color:#fff !important;display:inline-block !important;flex:none}
.pvs-logo-tx{min-width:0;flex:1}
.pvs-logo-tx b{display:block;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pvs-logo-tx span{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pvs-topacts{display:flex;gap:6px;align-items:center;flex:none}
/* دکمه‌های آیکونی هدر — همیشه مربع با ابعاد ثابت */
.pvs-wrap .pvs-topacts .pvs-ic,
.pvs-wrap .pvs-topacts .pvs-snd,
.pvs-wrap .pvs-topacts #pvs-darkbtn,
.pvs-wrap .pvs-topacts #pvs-install{
 width:42px !important;
 height:42px !important;
 min-width:42px !important;
 min-height:42px !important;
 max-width:42px !important;
 max-height:42px !important;
 flex:0 0 42px !important;
 border-radius:12px;
 display:grid;
 place-items:center;
 padding:0 !important;
}
/* آیکون داخل دکمه هدر — اندازه مناسب وسط قرار بگیرد */
.pvs-wrap .pvs-topacts .pvs-ic .pvs-icn,
.pvs-wrap .pvs-topacts .pvs-snd .pvs-icn,
.pvs-wrap .pvs-topacts #pvs-darkbtn .pvs-icn,
.pvs-wrap .pvs-topacts #pvs-install .pvs-icn{
 width:20px;height:20px;
 display:inline-block !important;
 flex:none;
}
.pvs-ic{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--card);
 cursor:pointer;display:grid;place-items:center;color:var(--tx);transition:.15s}
.pvs-ic:hover{border-color:var(--p);color:var(--p)}
.pvs-installbtn{animation:pvpulse 2s infinite}
@keyframes pvpulse{0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,.4)}50%{box-shadow:0 0 0 8px rgba(37,99,235,0)}}
.pvs-unreadb{display:inline-flex;align-items:center;gap:5px;border:0;background:var(--red);color:#fff;
 border-radius:99px;padding:7px 14px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;
 flex:0 0 auto;width:auto !important;max-width:none !important}
.pvs-unreadb i{font-style:normal}
.pvs-unreadb .pvs-icn{width:15px;height:15px}

/* ----------------- دکمه‌ها ----------------- */
.pvs-btn{display:inline-flex;align-items:center;gap:7px;justify-content:center;
 border:1px solid transparent;border-radius:12px;padding:10px 18px;font:inherit;font-weight:700;cursor:pointer;transition:.15s}
.pvs-btn:disabled{opacity:.55;cursor:not-allowed}
.pvs-primary{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff}
.pvs-primary:hover{filter:brightness(1.08)}
.pvs-ghost{background:var(--card);border-color:var(--line);color:var(--tx)}
.pvs-ghost:hover{border-color:var(--p);color:var(--p)}
.pvs-danger{background:var(--red);color:#fff}
.pvs-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 11px;border-radius:99px;
 font-size:12px;font-weight:700;white-space:nowrap}
.pvs-wrap .st-green,.pvs-modal .st-green{background:#dcfce7;color:#15803d}
.pvs-wrap .st-amber,.pvs-modal .st-amber{background:#fef3c7;color:#b45309}
.pvs-wrap .st-blue,.pvs-modal .st-blue{background:#dbeafe;color:#1d4ed8}
.pvs-wrap .st-gray,.pvs-modal .st-gray{background:#e2e8f0;color:#475569}
.pvs-wrap .st-red,.pvs-modal .st-red{background:#fee2e2;color:#b91c1c}
@media (prefers-color-scheme:dark){
 .pvs-wrap .st-green,.pvs-modal .st-green{background:rgba(34,197,94,.18);color:#4ade80}
 .pvs-wrap .st-amber,.pvs-modal .st-amber{background:rgba(245,158,11,.18);color:#fbbf24}
 .pvs-wrap .st-blue,.pvs-modal .st-blue{background:rgba(59,130,246,.2);color:#93c5fd}
 .pvs-wrap .st-gray,.pvs-modal .st-gray{background:rgba(148,163,184,.18);color:#cbd5e1}
 .pvs-wrap .st-red,.pvs-modal .st-red{background:rgba(239,68,68,.2);color:#fca5a5}
}

/* ----------------- سوییچر تیکت/مشتری ----------------- */
.pvs-topacts2{display:flex;gap:8px;align-items:center}
.pvs-seg{display:inline-flex;background:rgba(100,116,139,.12);border-radius:12px;padding:3px;gap:3px}
.pvs-seg button{border:0;background:transparent;border-radius:9px;padding:8px 14px;font:inherit;
 font-size:13px;font-weight:700;color:var(--tx2);cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.pvs-seg button .pvs-icn{width:15px;height:15px}
.pvs-seg button.cur{background:var(--card);color:var(--tx);box-shadow:0 1px 4px rgba(2,6,23,.12)}
.pvs-fchip{display:flex;align-items:center;gap:8px;background:rgba(37,99,235,.08);
 border:1px solid rgba(37,99,235,.25);color:var(--p);border-radius:12px;padding:8px 12px;
 margin-bottom:10px;font-size:13px;font-weight:600}
.pvs-fchip .pvs-icn{width:16px;height:16px}
.pvs-fx{margin-inline-start:auto;display:inline-flex;align-items:center;gap:4px;border:0;
 background:transparent;color:var(--p);font:inherit;font-size:12px;cursor:pointer}
.pvs-fx .pvs-icn{width:13px;height:13px}

/* ----------------- لیست ----------------- */
.pvs-listtop{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 10px}
.pvs-h2{font-size:18px;margin:0;color:var(--tx)}
.pvs-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 12px;scrollbar-width:none}
.pvs-chips::-webkit-scrollbar{display:none}
.pvs-chip{flex:0 0 auto;display:flex;align-items:center;gap:8px;border:1px solid var(--line);
 background:var(--card);border-radius:99px;padding:8px 14px;cursor:pointer;font:inherit;
 font-size:13.5px;font-weight:600;color:var(--tx)}
.pvs-chip i{font-style:normal;background:rgba(100,116,139,.15);border-radius:99px;padding:0 8px;font-size:12px}
.pvs-chip.cur{background:var(--p);border-color:var(--p);color:#fff}
.pvs-chip.cur i{background:rgba(255,255,255,.25)}
.pvs-toolbar{padding:0 2px 12px}
.pvs-search-wrap{
 position:relative;display:flex;align-items:center;gap:8px;
 border:1px solid var(--line) !important;background:var(--card) !important;
 border-radius:13px;padding:0 14px;width:100%;box-sizing:border-box;
 outline:none !important;box-shadow:none !important;
}
.pvs-search-wrap .pvs-icn{position:static;transform:none;width:18px;height:18px;color:var(--tx2);flex:none}
.pvs-search{
 flex:1;width:auto;min-width:0;
 border:0 !important;background:transparent !important;
 box-shadow:none !important;outline:none !important;
 padding:12px 0 !important;margin:0;font:inherit;color:var(--tx);
 -webkit-appearance:none !important;appearance:none !important;border-radius:0
}
.pvs-search::-webkit-search-cancel-button{-webkit-appearance:none}
.pvs-search:focus,.pvs-search:focus-visible{
 outline:none !important;box-shadow:none !important;border:0 !important
}
.pvs-search-wrap:focus-within{
 border-color:var(--p) !important;outline:none !important;box-shadow:none !important
}
.pvs-search-wrap:focus,.pvs-search-wrap:focus-visible,
.pvs-search-wrap:focus-within{
 -webkit-tap-highlight-color:transparent
}

.pvs-list{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
.pvs-list>*{min-width:0}
.pvs-tk{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:16px;
 background:var(--card);cursor:pointer;transition:.15s;position:relative;overflow:hidden}
.pvs-tk:hover,.pvs-tk:focus{border-color:#93b4fc;box-shadow:var(--shadow);transform:translateY(-1px)}
.pvs-tk.unread{border-inline-start:4px solid var(--p)}
.pvs-tk-head{display:flex;align-items:center;gap:10px;min-width:0}
/* آواتار حرف اول — مربع با ابعاد ثابت */
.pvs-ava{
 flex:0 0 auto !important;
 display:grid !important;
 place-items:center !important;
 width:44px !important; height:44px !important;
 min-width:44px !important; min-height:44px !important;
 max-width:44px !important; max-height:44px !important;
 border-radius:12px;
 color:#fff;font-weight:800;font-size:18px;
 padding:0 !important;
}
.pvs-tk-names{flex:1;min-width:0}
.pvs-tk-names b{display:block;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx)}
.pvs-tk-user{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pvs-tk-meta{text-align:left;flex:0 0 auto;max-width:42%}
.pvs-ago{display:block;font-size:11.5px;margin-top:4px}
.pvs-tk-prev{font-size:13px;color:var(--tx2);margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pvs-tk-foot{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.pvs-tk-foot .stg{font-size:11.5px;background:rgba(37,99,235,.1);color:var(--p);
 border-radius:99px;padding:2px 10px;font-weight:600}
.pvs-tno{font-size:11.5px;color:var(--tx2);font-family:monospace}
.pvs-unread{margin-inline-start:auto;background:var(--red);color:#fff;font-size:11px;
 font-weight:700;border-radius:99px;padding:2px 10px}
.pvs-rate-mini{
 color:#f59e0b;font-size:14px;line-height:1;
 letter-spacing:1px;flex:0 0 auto;
 display:inline-block;
 margin:0 !important;padding:0 !important;
}
.pvs-more{width:100%;margin-top:6px}
.pvs-empty{grid-column:1/-1;text-align:center;padding:50px 16px;color:var(--tx2);
 background:var(--card);border:1px dashed var(--line);border-radius:16px}

/* ----------------- چت ----------------- */
.pvs-chat{
 display:flex;flex-direction:column;
 /* ارتفاع بیشتر برای دسکتاپ — تمام ارتفاع صفحه تا هدر و فوتر پنل */
 height:min(92vh,1080px);
 min-height:540px;
 background:var(--card);border:1px solid var(--line);
 border-radius:18px;overflow:hidden;
 box-shadow:var(--shadow);
}
.pvs-ch-head{display:flex;align-items:center;gap:10px;padding:12px 16px;
 border-bottom:1px solid var(--line);background:var(--card)}
.pvs-ch-status{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600}
.pvs-ch-status .dot{width:8px;height:8px;border-radius:99px;display:inline-block}
/* دکمه back چت — مربع ثابت */
.pvs-back{
 width:42px !important; height:42px !important;
 min-width:42px !important; min-height:42px !important;
 max-width:42px !important; max-height:42px !important;
 flex:0 0 42px !important;
 border-radius:11px;border:1px solid var(--line);
 background:var(--card);cursor:pointer;display:grid;place-items:center;color:var(--tx);
 padding:0 !important;
}
.pvs-back .pvs-icn{width:20px;height:20px;display:inline-block !important;flex:none}
.pvs-ch-info{flex:1;min-width:0}
.pvs-ch-info b{display:block;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pvs-ch-info span{font-size:12px;color:var(--tx2);display:block;margin-top:2px}
.pvs-ch-info .pvs-ch-status{margin-top:4px}
.pvs-ch-actions{display:flex;gap:6px;align-items:center;flex:none}
/* دکمه‌های آیکونی در هدر چت — مربع */
.pvs-wrap .pvs-ch-actions .pvs-ic{
 width:42px !important; height:42px !important;
 min-width:42px !important; min-height:42px !important;
 max-width:42px !important; max-height:42px !important;
 flex:0 0 42px !important;
 padding:0 !important;
}
.pvs-wrap .pvs-ch-actions .pvs-ic .pvs-icn{
 width:20px;height:20px;display:inline-block !important;flex:none;
}

.pvs-others{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;border-bottom:1px solid var(--line);
 background:var(--card);scrollbar-width:none;align-items:center}
.pvs-others::-webkit-scrollbar{display:none}
.pvs-others-lbl{flex:none;font-size:11.5px;color:var(--tx2);font-weight:700}
.pvs-ochip{flex:none;display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);
 background:var(--bg);border-radius:99px;padding:4px 12px;font:inherit;font-size:12px;
 cursor:pointer;color:var(--tx);max-width:220px}
.pvs-ochip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pvs-ochip i{font-style:normal;font-size:10.5px;color:var(--tx2)}
.pvs-ochip:hover{border-color:var(--p);color:var(--p)}

.pvs-stepper{display:flex;gap:6px;overflow-x:auto;padding:10px 12px;border-bottom:1px solid var(--line);
 background:var(--card);scrollbar-width:none}
.pvs-stepper::-webkit-scrollbar{display:none}
.pvs-step{flex:0 0 auto;font-size:11.5px;padding:5px 13px;border-radius:99px;
 background:rgba(100,116,139,.12);color:var(--tx2);white-space:nowrap;font-weight:600}
.pvs-step.done{background:rgba(34,197,94,.15);color:#16a34a}
.pvs-step.cur{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;
 box-shadow:0 3px 10px rgba(37,99,235,.35)}

.pvs-wait{padding:9px 14px;font-size:13px;font-weight:600;background:rgba(16,185,129,.12);
 color:#047857;border-bottom:1px solid var(--line);display:flex;align-items:center}
@media (prefers-color-scheme:dark){.pvs-wait{color:#34d399}}
.pvs-dot{display:inline-block;width:8px;height:8px;border-radius:99px;background:#10b981;
 margin-inline-end:7px;animation:pvdot 1.2s infinite}
@keyframes pvdot{50%{opacity:.35}}

/* اعلان تایپ کردن */
.pvs-typing{padding:6px 16px;font-size:12.5px;color:var(--tx2);display:flex;align-items:center;
 gap:6px;background:rgba(100,116,139,.06);border-bottom:1px solid var(--line)}
.pvs-typing-dots{display:inline-flex;gap:3px}
.pvs-typing-dots span{width:5px;height:5px;border-radius:99px;background:var(--tx2);
 animation:pvs-td 1.4s infinite}
.pvs-typing-dots span:nth-child(2){animation-delay:.2s}
.pvs-typing-dots span:nth-child(3){animation-delay:.4s}
@keyframes pvs-td{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

.pvs-msgs{flex:1;overflow-y:auto;overscroll-behavior:contain;
 /* padding بیشتر و gap بیشتر برای خوانایی بهتر */
 padding:22px 20px;
 display:flex;flex-direction:column;gap:16px;min-height:0}
.pvs-msg{display:flex;max-width:80%}
.pvs-msg.me{align-self:flex-end;justify-content:flex-end}
.pvs-msg.staff,.pvs-msg.user{align-self:flex-start}
.pvs-bub{padding:11px 15px;border-radius:18px;max-width:100%;word-break:break-word;
 animation:pop .18s ease;box-shadow:0 1px 2px rgba(0,0,0,.04)}
@keyframes pop{from{transform:scale(.96);opacity:.4}to{transform:scale(1);opacity:1}}
.pvs-msg.me .pvs-bub{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;border-bottom-left-radius:6px}
.pvs-msg.user .pvs-bub{background:var(--bg);border:1px solid var(--line);border-bottom-right-radius:6px}
.pvs-msg.staff .pvs-bub{background:linear-gradient(135deg,#10b981,#047857);color:#fff;border-bottom-right-radius:6px}
.pvs-bname{font-size:11px;font-weight:700;opacity:.85;margin-bottom:4px}
.pvs-btxt a{color:inherit;text-decoration:underline;word-break:break-all}
.pvs-msg.me .pvs-btxt a,.pvs-msg.staff .pvs-btxt a{color:#ffe9a8}
.pvs-bfoot{display:flex;align-items:center;gap:7px;margin-top:6px;font-size:10.5px;opacity:.85}
.pvs-msg.pend{opacity:.65}
.pvs-msg.err .pvs-bub{outline:2px solid var(--red)}
.pvs-retry{border:0;background:none;color:inherit;font:inherit;font-size:10.5px;font-weight:700;cursor:pointer;text-decoration:underline}
.pvs-sysmsg{align-self:center;max-width:95%;background:var(--bg);border:1px dashed var(--line);
 color:var(--tx2);font-size:12.5px;padding:7px 16px;border-radius:99px;text-align:center;line-height:1.6}
.pvs-att-img{margin-top:8px}
.pvs-att-img img{max-width:min(300px,100%);max-height:280px;border-radius:12px;cursor:pointer;display:block}
.pvs-att-cap{font-size:11px;margin-top:3px;opacity:.8}
.pvs-att-file{display:inline-flex;align-items:center;gap:7px;margin-top:8px;padding:9px 14px;
 border-radius:11px;background:rgba(148,163,184,.14);color:inherit;text-decoration:none;font-size:12.5px}
.pvs-att-file .pvs-icn{width:15px;height:15px}
.pvs-att-file i{font-style:normal;font-size:11px;opacity:.7}

/* ----------------- استیج‌بار و کامپوزر ----------------- */
.pvs-stagebar{display:flex;gap:6px;overflow-x:auto;padding:10px 12px;border-top:1px solid var(--line);
 background:var(--card);scrollbar-width:none}
.pvs-stagebar::-webkit-scrollbar{display:none}
.pvs-stagebtn{flex:0 0 auto;font:inherit;font-size:12px;font-weight:700;padding:7px 14px;
 border-radius:99px;border:1px solid var(--line);background:var(--bg);color:var(--tx);cursor:pointer}
.pvs-stagebtn:hover{border-color:var(--p);color:var(--p)}
.pvs-stagebtn.danger{color:var(--red)}
.pvs-stagebtn.cur{background:var(--p);border-color:var(--p);color:#fff}

.pvs-composer{border-top:1px solid var(--line);background:var(--card);padding:12px 14px;
 position:relative;transition:.2s}
.pvs-composer.ro{opacity:.5;pointer-events:none}
.pvs-composer.dragover{background:rgba(37,99,235,.08);border:1px dashed var(--p);border-radius:14px}
.pvs-composer.dragover::after{content:'فایل را رها کنید';position:absolute;inset:0;
 display:grid;place-items:center;font-size:16px;font-weight:700;color:var(--p);
 background:rgba(255,255,255,.9);border-radius:14px}
@media (prefers-color-scheme:dark){.pvs-composer.dragover::after{background:rgba(17,26,46,.9)}}

.pvs-prev{display:flex;gap:6px;flex-wrap:wrap}
.pvs-prev:empty{display:none}
.pvs-prev-i{display:flex;align-items:center;gap:6px;background:rgba(37,99,235,.1);
 border-radius:10px;padding:5px 11px;font-size:12px;margin-bottom:6px}
.pvs-prev-x{border:0;background:none;cursor:pointer;color:var(--red);display:inline-flex}
.pvs-crow{display:flex;gap:8px;align-items:flex-end}
.pvs-input{flex:1;resize:none;border:1px solid var(--line);border-radius:14px;padding:11px 16px;
 font:inherit;max-height:140px;background:var(--bg);color:var(--tx);min-height:46px;line-height:1.6}
.pvs-input:focus{outline:2px solid var(--p);outline-offset:-1px}
.pvs-send{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;border:0;border-radius:14px;
 padding:11px 20px;font:inherit;font-weight:800;cursor:pointer;display:inline-flex;gap:7px;
 align-items:center;white-space:nowrap;min-height:46px}
.pvs-send.dis{opacity:.6}
/* ردیف اقدامات: در دسکتاپ دکمه‌ها افقی در کنار هم، در موبایل زیر هم */
.pvs-actrow{display:flex;gap:8px;justify-content:flex-end;padding:10px 12px;border-top:1px solid var(--line);
 background:var(--card);flex-wrap:nowrap;align-items:center}
.pvs-actrow .pvs-btn{
 flex:0 0 auto;
 width:auto !important;
 max-width:none !important;
 white-space:nowrap;
 }
/* در موبایل دکمه‌ها زیر هم یا دو در یک ردیف */
@media (max-width:640px){
 .pvs-actrow{flex-wrap:wrap;gap:6px;padding:8px 10px}
 .pvs-actrow .pvs-btn{flex:1 1 calc(50% - 3px);justify-content:center;padding:10px 8px;font-size:13px}
}
.pvs-mactions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;align-items:center}
.pvs-mactions .pvs-btn{
 flex:0 0 auto;
 width:auto !important;
 max-width:none !important;
 white-space:nowrap;
}
.pvs-topacts{display:flex;gap:6px;align-items:center;flex:none;flex-wrap:nowrap}
.pvs-topacts .pvs-btn,
.pvs-topacts .pvs-ic,
.pvs-topacts .pvs-snd,
.pvs-topacts .pvs-unreadb,
.pvs-topacts .pvs-user-trigger{
 flex:0 0 auto;
 width:auto !important;
 max-width:none !important;
}

/* امتیازدهی */
.pvs-rate-box{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;
 background:var(--bg);border-radius:14px;margin:8px 0}
.pvs-rate-box .title{font-weight:700;font-size:14px}
.pvs-rate-stars{display:flex;gap:4px;justify-content:center}
/* ستاره‌های امتیازدهی — رنگ خاکستری پیش‌فرض */
.pvs-rate-stars button{
 font-size:36px !important;
 border:0 !important;
 background:transparent !important;
 color:#cbd5e1 !important;
 cursor:pointer;
 padding:6px !important;
 line-height:1;
 transition:color .15s,transform .15s;
 flex:0 0 auto !important;
 width:auto !important;
 max-width:none !important;
}
/* hover یا rated — رنگ طلایی فوری */
.pvs-rate-stars button:hover,
.pvs-rate-stars button.hover,
.pvs-rate-stars button.rated{
 color:#f59e0b !important;
 transform:scale(1.15);
}
.pvs-rate-stars button.rated{
 color:#f59e0b !important;
 transform:scale(1.1);
}
.pvs-rate-stars button:disabled{
 cursor:default;
 opacity:1;
}
.pvs-rate-done{color:var(--green);font-weight:700;font-size:14px;text-align:center;padding:8px}

/* ----------------- فرم ----------------- */
.pvs-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}
/* حذف محدودیت عرض فرم پیام جدید در دسکتاپ — تمام عرض */
.pvs-form{display:grid;gap:14px;width:100%;max-width:100%;margin:0}
.pvs-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pvs-fl{display:grid;gap:6px;font-size:13.5px;font-weight:600}
.pvs-fl input,.pvs-fl select,.pvs-fl textarea{width:100%;padding:11px 14px;border-radius:12px;
 border:1px solid var(--line);background:var(--bg);color:var(--tx);font:inherit}
.pvs-fl input:focus,.pvs-fl select:focus,.pvs-fl textarea:focus{outline:2px solid var(--p);outline-offset:-1px}
.pvs-hint{font-size:12px;color:var(--tx2)}
.pvs-hp{position:absolute !important;right:-9999px !important;height:0;width:0;opacity:0}
.pvs-mactions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.pvs-mp{margin:0 0 10px}
.pvs-qr{width:100%;text-align:right;margin-bottom:6px}

/* چیپ‌های FAQ برای مشتری */
.pvs-faq{display:flex;gap:6px;overflow-x:auto;padding:8px 0;scrollbar-width:none}
.pvs-faq::-webkit-scrollbar{display:none}
.pvs-faq-chip{flex:0 0 auto;background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.25);
 color:var(--p);border-radius:99px;padding:6px 12px;font-size:12.5px;font-weight:600;cursor:pointer;
 white-space:nowrap}
.pvs-faq-chip:hover{background:var(--p);color:#fff}

/* ----------------- مودال / توست / لایت‌باکس / اسکلت ----------------- */
.pvs-modal{position:fixed;inset:0;background:rgba(2,6,23,.55);z-index:99999;
 display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(2px)}
.pvs-mcard{background:var(--card);color:var(--tx);border:1px solid var(--line);
 border-radius:18px;padding:20px;width:100%;max-width:480px;position:relative;max-height:90vh;overflow:auto}
.pvs-mtitle{font-weight:800;font-size:16px;margin-bottom:14px;color:var(--tx)}
.pvs-mbody{display:grid;gap:10px}
.pvs-mx{position:absolute;top:10px;left:10px;
 width:34px !important; height:34px !important;
 min-width:34px !important; min-height:34px !important;
 max-width:34px !important; max-height:34px !important;
 flex:0 0 34px !important;
 border-radius:10px;
 border:1px solid var(--line);background:var(--bg);cursor:pointer;display:grid;place-items:center;color:var(--tx);
 padding:0 !important;
}
.pvs-mx .pvs-icn{width:18px;height:18px;display:inline-block !important;flex:none}
#pvs-toasts{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:100000;
 display:grid;gap:8px;width:max-content;max-width:92vw}
.pvs-toast{background:#0f172a;color:#fff;padding:12px 22px;border-radius:99px;font-size:13.5px;
 box-shadow:0 10px 30px rgba(0,0,0,.35);animation:pop .2s ease;text-align:center}
@media (prefers-color-scheme:dark){.pvs-toast{background:#e2e8f0;color:#0f172a}}
.pvs-toast.out{opacity:0;transition:.3s}
.pvs-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:100001;
 display:grid;place-items:center;cursor:zoom-out;padding:20px}
.pvs-lightbox img{max-width:96vw;max-height:92vh;border-radius:12px}
.pvs-lightbox .lb-zoom{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);
 background:rgba(0,0,0,.6);color:#fff;border-radius:99px;padding:8px 16px;font-size:12px}
.pvs-skel{height:120px;border-radius:14px;
 background:linear-gradient(100deg,var(--line) 40%,var(--bg) 50%,var(--line) 60%);
 background-size:200% 100%;animation:sk 1.1s infinite linear}
@keyframes sk{to{background-position:-200% 0}}

/* ===================================================================
   ریسپانسیو — تبلت (۶۴۱ تا ۱۰۲۴ پیکسل)
   =================================================================== */
@media (min-width:641px) and (max-width:1024px){
 .pvs-wrap{padding:12px;border-radius:16px}
 .pvs-chat{height:min(90vh,900px)}
 .pvs-msg{max-width:75%}
 .pvs-logo-ic{width:42px;height:42px}
}

/* ===================================================================
   ریسپانسیو — موبایل (کمتر از ۶۴۱ پیکسل)
   =================================================================== */
@media (max-width:640px){
 .pvs-wrap{
  padding:8px; border-radius:14px;
  font-size:15px;
  min-height:100vh;
  min-height:100dvh;
  margin:0 auto;
 }
 #pvs-app.pvs-wrap{width:100%;max-width:100%}

 /* در موبایل: logo در خط بالا، topacts در خط پایین */
 .pvs-top{
  padding:4px 2px 10px;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
 }
 .pvs-topacts{
  justify-content:flex-start;
  flex-wrap:wrap;
 }
 /* لوگو و عنوان در موبایل کوچک‌تر */
 .pvs-logo-ic{width:40px !important;height:40px !important;min-width:40px !important;min-height:40px !important;max-width:40px !important;max-height:40px !important;flex:0 0 40px !important;border-radius:11px}
 /* عنوان و زیرعنوان در یک خط (inline) برای نمایش کامل‌تر */
 .pvs-logo-tx{min-width:0;flex:1 1 auto}
 .pvs-logo-tx b{font-size:14px;white-space:nowrap;overflow:visible;text-overflow:clip}
 .pvs-logo-tx span{font-size:11px;white-space:nowrap;overflow:visible;text-overflow:clip;display:inline}
 .pvs-ic{width:38px;height:38px;border-radius:10px}
 .pvs-btn{padding:11px 16px}

 .pvs-tk{padding:12px 14px}
 .pvs-tk-meta{max-width:38%}
 .pvs-tk-meta .pvs-badge{display:none}
 .pvs-tk-meta .pvs-ago{margin-top:0}
 .pvs-ava{width:40px;height:40px;font-size:16px}

 /* چیپ‌های فیلتر — افقی با اسکرول (نه wrap) */
 .pvs-chips{
  flex-wrap:nowrap !important;
  gap:6px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  white-space:nowrap;
  padding-bottom:10px;
 }
 .pvs-chips::-webkit-scrollbar{display:none}
 .pvs-chip{flex:0 0 auto;max-width:none;font-size:13px;padding:7px 13px;white-space:nowrap}

 .pvs-seg{flex-wrap:wrap}
 .pvs-seg button{padding:8px 12px;font-size:12.5px}

 /* ===== چت موبایل: تمام‌صفحه و بازتر — در وسط کادر ===== */
 .pvs-chat{
  height:calc(100dvh - 110px);
  height:calc(100vh - 110px);
  min-height:calc(100dvh - 110px);
  border-radius:14px;
  border:1px solid var(--line);
  /* وسط‌چین — حذف margin منفی و width محاسبه‌شده */
  margin:0 auto;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
 }
 @supports (padding:max(0px)){
  .pvs-chat{
   height:calc(100dvh - 110px - env(safe-area-inset-bottom) - env(safe-area-inset-top));
  }
  .pvs-composer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .pvs-ch-head{padding-top:max(12px,env(safe-area-inset-top))}
 }

 .pvs-ch-head{padding:10px 12px;gap:8px}
 .pvs-back{width:40px !important;height:40px !important;min-width:40px !important;min-height:40px !important;max-width:40px !important;max-height:40px !important;flex:0 0 40px !important;border-radius:10px}
 .pvs-ch-info b{font-size:14px}
 .pvs-ch-info span{font-size:11.5px}
 .pvs-ch-head .pvs-badge{display:none}

 .pvs-msgs{padding:14px 12px;gap:10px}
 .pvs-msg{max-width:88%}
 .pvs-bub{padding:11px 14px;font-size:14.5px;line-height:1.7;border-radius:18px}

 .pvs-att-img img{max-width:min(260px,100%);max-height:280px}

 .pvs-stepper{padding:8px 12px}
 .pvs-step{font-size:11.5px;padding:5px 11px}
 .pvs-others{padding:7px 10px}
 .pvs-ochip{padding:4px 11px;font-size:11.5px;max-width:200px}

 .pvs-composer{padding:10px 12px 14px}
 .pvs-crow{flex-direction:column;align-items:stretch;gap:8px}
 .pvs-crow .pvs-attach{align-self:flex-start;width:42px;height:42px}
 .pvs-crow .pvs-input{
  max-height:140px;
  min-height:72px;
  font-size:15px;
  padding:12px 16px;
  border-radius:14px;
 }
 .pvs-crow .pvs-send{
  justify-content:center;
  padding:13px 18px;
  font-size:15px;
  border-radius:14px;
  width:100%;
 }
 .pvs-actrow{flex-wrap:wrap;gap:6px;padding:8px 10px}
 .pvs-actrow .pvs-btn{flex:1 1 calc(50% - 3px);justify-content:center;padding:10px 8px;font-size:13px}
 .pvs-actrow .pvs-btn span{font-size:12.5px}

 .pvs-stagebar{padding:8px 10px}
 .pvs-stagebtn{font-size:11.5px;padding:7px 12px}

 .pvs-modal{padding:10px;align-items:flex-end}
 .pvs-mcard{max-width:100%;border-radius:16px 16px 0 0;max-height:92vh}
 .pvs-mx{top:8px;left:8px;width:34px;height:34px}

 .pvs-grid2{grid-template-columns:1fr}
 .pvs-card{padding:16px;border-radius:14px}
 .pvs-form{gap:12px}
 .pvs-mactions .pvs-btn{flex:1;justify-content:center}

 .pvs-rate-stars button{font-size:32px;padding:6px}

 #pvs-toasts{bottom:14px;width:92vw}

 .pvs-seg button{padding:8px 11px;font-size:12.5px}

 .pvs-search{padding:12px 0;font-size:15px}
 .pvs-search-wrap{padding:0 12px}

 .pvs-wait{font-size:12.5px;padding:7px 12px}
 .pvs-typing{font-size:12px;padding:5px 12px}
}

/* ===================================================================
   ریسپانسیو — موبایل کوچک (کمتر از ۳۸۰ پیکسل)
   =================================================================== */
@media (max-width:380px){
 .pvs-wrap{padding:4px;font-size:14.5px}
 /* حتی در موبایل کوچک زیرعنوان نمایش داده شود — در یک خط با عنوان */
 .pvs-logo-tx span{display:inline;font-size:10px;white-space:nowrap;overflow:visible;text-overflow:clip}
 .pvs-msgs{padding:10px 8px}
 .pvs-bub{padding:10px 12px;font-size:14px}
 .pvs-crow .pvs-input{min-height:64px}
 .pvs-tk{padding:10px 12px}
 .pvs-tk-prev{font-size:12px;margin-top:6px}
 .pvs-ava{width:36px !important;height:36px !important;min-width:36px !important;min-height:36px !important;max-width:36px !important;max-height:36px !important;flex:0 0 36px !important;font-size:14px}
 .pvs-stagebtn{font-size:11px;padding:6px 10px}
 .pvs-actrow .pvs-btn{flex:1 1 100%}
}

/* ===================================================================
   حالت لندسکیپ موبایل (چرخش افقی)
   =================================================================== */
@media (max-width:900px) and (orientation:landscape) and (max-height:500px){
 .pvs-chat{height:calc(100dvh - 80px);min-height:240px}
 .pvs-msgs{padding:8px}
 .pvs-bub{padding:8px 12px;font-size:13px}
 .pvs-stepper,.pvs-others{display:none}
}

/* ===================================================================
   سرریز افقی: جلوگیری از overflow
   =================================================================== */
.pvs-wrap{overflow-x:hidden}
.pvs-view{min-width:0;max-width:100%}
.pvs-tk,.pvs-ucard{min-width:0;max-width:100%;overflow:hidden}
.pvs-tk-head{min-width:0}
.pvs-tk-names{min-width:0}
.pvs-chips,.pvs-toolbar,.pvs-search-wrap,.pvs-fchip{max-width:100%}
.pvs-fchip{flex-wrap:wrap}

@media (min-width:641px){
 .pvs-stagebar,.pvs-chips,.pvs-others,.pvs-stepper{scrollbar-width:thin}
}

/* ===================================================================
   خنثی‌سازی استایل‌های سراسری قالب‌ها (Woodmart و...)
   =================================================================== */
.pvs-wrap button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;outline:none !important}

/* دکمه اصلی */
.pvs-wrap .pvs-primary,.pvs-modal .pvs-primary{
 background:linear-gradient(135deg,var(--p),var(--p2)) !important;
 color:#fff !important;border-color:transparent !important}
.pvs-wrap .pvs-primary:hover,.pvs-wrap .pvs-primary:focus-visible,.pvs-wrap .pvs-primary:active,
.pvs-modal .pvs-primary:hover,.pvs-modal .pvs-primary:focus-visible,.pvs-modal .pvs-primary:active{
 color:#fff !important;filter:brightness(1.1)}

/* دکمه خنثی */
.pvs-wrap .pvs-ghost,.pvs-modal .pvs-ghost{
 background:var(--card) !important;color:var(--tx) !important;border-color:var(--line) !important}
.pvs-wrap .pvs-ghost:hover,.pvs-wrap .pvs-ghost:focus-visible,.pvs-wrap .pvs-ghost:active,
.pvs-modal .pvs-ghost:hover,.pvs-modal .pvs-ghost:focus-visible,.pvs-modal .pvs-ghost:active{
 background:var(--card) !important;color:var(--p) !important;border-color:var(--p) !important}

/* دکمه خطر */
.pvs-wrap .pvs-danger,.pvs-modal .pvs-danger{
 background:var(--red) !important;color:#fff !important}
.pvs-wrap .pvs-danger:hover,.pvs-wrap .pvs-danger:active,
.pvs-modal .pvs-danger:hover,.pvs-modal .pvs-danger:active{color:#fff !important;filter:brightness(1.08)}

/* دکمه ارسال */
.pvs-wrap .pvs-send{
 background:linear-gradient(135deg,var(--p),var(--p2)) !important;color:#fff !important}
.pvs-wrap .pvs-send:hover,.pvs-wrap .pvs-send:focus-visible,.pvs-wrap .pvs-send:active{
 color:#fff !important;filter:brightness(1.1)}
.pvs-wrap .pvs-send.dis{opacity:.6;filter:none !important}

/* دکمه‌های مراحل سفارش */
.pvs-wrap .pvs-stagebtn{
 background:var(--bg) !important;color:var(--tx) !important;border-color:var(--line) !important}
.pvs-wrap .pvs-stagebtn:hover,.pvs-wrap .pvs-stagebtn:active{
 background:var(--bg) !important;color:var(--p) !important;border-color:var(--p) !important}
.pvs-wrap .pvs-stagebtn.cur{
 background:linear-gradient(135deg,var(--p),var(--p2)) !important;
 border-color:var(--p) !important;color:#fff !important}
.pvs-wrap .pvs-stagebtn.danger{color:var(--red) !important}
.pvs-wrap .pvs-stagebtn.danger:hover,.pvs-wrap .pvs-stagebtn.danger:active{color:var(--red) !important}

/* چیپ‌های فیلتر */
.pvs-wrap .pvs-chip{
 background:var(--card) !important;color:var(--tx) !important;border-color:var(--line) !important}
.pvs-wrap .pvs-chip:hover{border-color:var(--p) !important;color:var(--p) !important}
.pvs-wrap .pvs-chip.cur{
 background:var(--p) !important;border-color:var(--p) !important;color:#fff !important}
.pvs-wrap .pvs-chip.cur i{background:rgba(255,255,255,.25) !important;color:#fff !important}
.pvs-wrap .pvs-chip.cur:hover{color:#fff !important}

/* سوییچر */
.pvs-wrap .pvs-seg button{background:transparent !important;color:var(--tx2) !important}
.pvs-wrap .pvs-seg button:hover{color:var(--tx) !important}
.pvs-wrap .pvs-seg button.cur{background:var(--card) !important;color:var(--tx) !important}

/* دکمه‌های آیکونی */
.pvs-wrap .pvs-ic,.pvs-wrap .pvs-back,.pvs-wrap .pvs-mx{
 background:var(--card) !important;color:var(--tx) !important;border-color:var(--line) !important}
.pvs-wrap .pvs-ic:hover,.pvs-wrap .pvs-back:hover{color:var(--p) !important;border-color:var(--p) !important}
.pvs-modal .pvs-mx{background:var(--bg) !important;color:var(--tx) !important}

/* نشان قرمز و دکمه‌های متنی */
.pvs-wrap .pvs-unreadb{background:var(--red) !important;color:#fff !important}
.pvs-wrap .pvs-unreadb:hover,.pvs-wrap .pvs-unreadb:active{color:#fff !important}
.pvs-wrap .pvs-fx{color:var(--p) !important}
.pvs-wrap .pvs-retry{color:inherit !important}

/* چیپ‌های «سایر درخواست‌ها» */
.pvs-wrap .pvs-ochip{
 background:var(--bg) !important;color:var(--tx) !important;border-color:var(--line) !important}
.pvs-wrap .pvs-ochip:hover{color:var(--p) !important;border-color:var(--p) !important}

/* فیلدهای مودال */
.pvs-modal .pvs-fl input,.pvs-modal .pvs-fl textarea{
 background:var(--bg) !important;color:var(--tx) !important;
 border:1px solid var(--line) !important;width:100% !important;max-width:100% !important}

/* دکمه‌های ویرایش/حذف پیام و مشتری — باکس مربع ثابت */
.pvs-macts{display:inline-flex;gap:2px;margin-inline-start:auto;align-items:center}
.pvs-mact{
 border:0;background:transparent !important;color:inherit;opacity:.55;cursor:pointer;
 display:inline-flex !important;align-items:center !important;justify-content:center !important;
 width:32px !important;height:32px !important;
 min-width:32px !important;min-height:32px !important;
 max-width:32px !important;max-height:32px !important;
 flex:0 0 32px !important;
 border-radius:7px;padding:0 !important;
 box-sizing:border-box !important;
}
.pvs-mact:hover,.pvs-mact:active{opacity:1;background:rgba(148,163,184,.2) !important}
.pvs-mact .pvs-icn{
 width:16px !important;height:16px !important;
 display:inline-block !important;
 flex:none !important;
 margin:0 !important;
 padding:0 !important;
 vertical-align:middle;
}
.pvs-mact svg.pvs-icn{display:inline-block !important}
.pvs-uacts{display:inline-flex;gap:4px;margin-inline-start:auto;align-items:center}
.pvs-uacts .pvs-mact{color:var(--p)}
.pvs-uacts .pvs-mact.danger{color:var(--red)}
.pvs-edited{opacity:.7;font-size:10px}
.pvs-txt-danger{color:var(--red) !important}
.pvs-wrap .pvs-ghost.pvs-txt-danger:hover{color:var(--red) !important;border-color:var(--red) !important}

/* جلوگیری از تداخل input با قالب */
.pvs-wrap input,.pvs-wrap textarea,.pvs-wrap select{
 font-family:inherit !important;line-height:1.6 !important
}

/* اسکرول‌بار سفارشی برای پنل پیام‌ها */
.pvs-msgs::-webkit-scrollbar{width:8px}
.pvs-msgs::-webkit-scrollbar-track{background:transparent}
.pvs-msgs::-webkit-scrollbar-thumb{background:rgba(100,116,139,.3);border-radius:99px}
.pvs-msgs::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,.5)}

/* ===================================================================
   اصلاح قوی عناوین در دارک‌مود — روشن و خوانا
   این قانون بعد از همه قوانین قبلی می‌آید تا اولویت داشته باشد
   =================================================================== */
.pvs-wrap.pvs-mode-dark h1,
.pvs-wrap.pvs-mode-dark h2,
.pvs-wrap.pvs-mode-dark h3,
.pvs-wrap.pvs-mode-dark h4,
.pvs-wrap.pvs-mode-dark .pvs-h2,
.pvs-wrap.pvs-mode-dark .pvs-logo-tx b,
.pvs-wrap.pvs-mode-dark .pvs-ch-info b,
.pvs-wrap.pvs-mode-dark .pvs-tk-names b,
.pvs-wrap.pvs-mode-dark .pvs-mtitle,
.pvs-wrap.pvs-mode-dark .pvs-login-title,
.pvs-wrap.pvs-mode-dark .pvs-card,
.pvs-wrap.pvs-mode-dark .pvs-form,
.pvs-wrap.pvs-mode-dark .pvs-fl > span,
.pvs-wrap.pvs-mode-dark label.pvs-fl > span,
.pvs-wrap.pvs-mode-dark .pvs-rate-box .title,
/* متن مستقیم داخل label.pvs-fl (مثل «شرح درخواست / لیست کالاها») */
.pvs-wrap.pvs-mode-dark label.pvs-fl,
.pvs-wrap.pvs-mode-dark .pvs-fl{
 color:#f8fafc !important;
}
/* اما input/textarea داخل label رنگ خود را حفظ کند */
.pvs-wrap.pvs-mode-dark .pvs-fl input,
.pvs-wrap.pvs-mode-dark .pvs-fl textarea,
.pvs-wrap.pvs-mode-dark .pvs-fl select,
.pvs-wrap.pvs-mode-dark label.pvs-fl input,
.pvs-wrap.pvs-mode-dark label.pvs-fl textarea,
.pvs-wrap.pvs-mode-dark label.pvs-fl select{
 color:var(--tx) !important;
}
.pvs-wrap.pvs-mode-dark .pvs-logo-tx span,
.pvs-wrap.pvs-mode-dark .pvs-ch-info span,
.pvs-wrap.pvs-mode-dark .pvs-tk-user,
.pvs-wrap.pvs-mode-dark .pvs-ago,
.pvs-wrap.pvs-mode-dark .pvs-tno,
.pvs-wrap.pvs-mode-dark .pvs-hint,
.pvs-wrap.pvs-mode-dark .pvs-login-sub,
.pvs-wrap.pvs-mode-dark .pvs-others-lbl{
 color:#cbd5e1 !important;
}
@media (prefers-color-scheme:dark){
 .pvs-wrap:not(.pvs-mode-light) h1,
 .pvs-wrap:not(.pvs-mode-light) h2,
 .pvs-wrap:not(.pvs-mode-light) h3,
 .pvs-wrap:not(.pvs-mode-light) h4,
 .pvs-wrap:not(.pvs-mode-light) .pvs-h2,
 .pvs-wrap:not(.pvs-mode-light) .pvs-logo-tx b,
 .pvs-wrap:not(.pvs-mode-light) .pvs-ch-info b,
 .pvs-wrap:not(.pvs-mode-light) .pvs-tk-names b,
 .pvs-wrap:not(.pvs-mode-light) .pvs-mtitle,
 .pvs-wrap:not(.pvs-mode-light) .pvs-login-title,
 .pvs-wrap:not(.pvs-mode-light) .pvs-card,
 .pvs-wrap:not(.pvs-mode-light) .pvs-form,
 .pvs-wrap:not(.pvs-mode-light) .pvs-fl > span,
 .pvs-wrap:not(.pvs-mode-light) label.pvs-fl > span,
 .pvs-wrap:not(.pvs-mode-light) .pvs-rate-box .title,
 /* متن مستقیم داخل label.pvs-fl */
 .pvs-wrap:not(.pvs-mode-light) label.pvs-fl,
 .pvs-wrap:not(.pvs-mode-light) .pvs-fl{
  color:#f8fafc !important;
 }
 /* input/textarea داخل label رنگ خود را حفظ کند */
 .pvs-wrap:not(.pvs-mode-light) .pvs-fl input,
 .pvs-wrap:not(.pvs-mode-light) .pvs-fl textarea,
 .pvs-wrap:not(.pvs-mode-light) .pvs-fl select,
 .pvs-wrap:not(.pvs-mode-light) label.pvs-fl input,
 .pvs-wrap:not(.pvs-mode-light) label.pvs-fl textarea,
 .pvs-wrap:not(.pvs-mode-light) label.pvs-fl select{
  color:var(--tx) !important;
 }
 .pvs-wrap:not(.pvs-mode-light) .pvs-logo-tx span,
 .pvs-wrap:not(.pvs-mode-light) .pvs-ch-info span,
 .pvs-wrap:not(.pvs-mode-light) .pvs-tk-user,
 .pvs-wrap:not(.pvs-mode-light) .pvs-ago,
 .pvs-wrap:not(.pvs-mode-light) .pvs-tno,
 .pvs-wrap:not(.pvs-mode-light) .pvs-hint,
 .pvs-wrap:not(.pvs-mode-light) .pvs-login-sub,
 .pvs-wrap:not(.pvs-mode-light) .pvs-others-lbl{
  color:#cbd5e1 !important;
 }
}

/* ===================================================================
   فرم ورود — مهمان و OTP (اصلاح بیرون‌زدگی)
   =================================================================== */
.pvs-login-wrap{
 display:flex;align-items:center;justify-content:center;
 min-height:min(560px,80vh);
 /* padding واکنش‌گرا برای جلوگیری از بیرون‌زدگی در موبایل */
 padding:20px 16px;
 width:100%;max-width:100%;
 box-sizing:border-box;
 overflow-x:hidden;
}
.pvs-login-card{
 width:100%;
 /* حداکثر عرض با کسر padding، تضمین می‌کند که هرگز از کادر بیرون نزند */
 max-width:440px;
 margin:0 auto;
 background:var(--card);
 border:1px solid var(--line);
 border-radius:20px;
 padding:32px 26px;
 box-shadow:0 10px 40px rgba(2,6,23,.08);
 box-sizing:border-box;
 overflow:hidden;
}
/* فیلدهای فرم ورود — اطمینان از جا شدن داخل کارت */
.pvs-login-card .pvs-fl{min-width:0;max-width:100%}
.pvs-login-card .pvs-input{
 max-width:100%;
 box-sizing:border-box !important;
 width:100% !important;
}
.pvs-login-card .pvs-grid2{
 gap:12px;
 min-width:0;
}
.pvs-login-card .pvs-grid2 .pvs-fl{min-width:0}
.pvs-login-header{
 text-align:center;margin-bottom:22px
}
.pvs-login-header .pvs-logo-ic{
 width:60px;height:60px;border-radius:18px;margin:0 auto 12px;
}
.pvs-login-title{
 font-size:20px;font-weight:800;color:var(--tx);margin:0 0 4px
}
.pvs-login-sub{
 font-size:13px;color:var(--tx2);margin:0
}

/* تب‌ها */
.pvs-tabs{
 display:flex;background:rgba(100,116,139,.1);
 border-radius:12px;padding:4px;margin-bottom:18px;gap:3px
}
.pvs-tab{
 flex:1;border:0;background:transparent;border-radius:9px;
 padding:10px 8px;font:inherit;font-size:12.5px;font-weight:700;
 color:var(--tx2);cursor:pointer;transition:.15s
}
.pvs-tab:hover{color:var(--tx)}
.pvs-tab.cur{
 background:var(--card);color:var(--tx);
 box-shadow:0 1px 4px rgba(2,6,23,.12)
}
.pvs-tabpane{display:none}
.pvs-tabpane.cur{display:block;animation:pvfade .2s ease}
@keyframes pvfade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* قدم‌های فرم ورود (renamed to avoid clash with stepper .pvs-step) */
.pvs-form-step{
 display:grid;
 grid-template-columns:1fr;
 gap:12px;
 padding:0 !important;
 margin:0 !important;
 background:transparent !important;
 border:0 !important;
 border-radius:0 !important;
 color:inherit !important;
 font:inherit !important;
 flex:none !important;
 white-space:normal !important;
}
/* در فرم ورود اطمینان از اینکه labelها و inputها به‌درستی زیر هم قرار بگیرند */
.pvs-form-step > .pvs-fl{
 display:grid;
 grid-template-columns:1fr;
 gap:6px;
 margin:0;
 padding:0;
}
.pvs-form-step > .pvs-btn{
 width:100% !important;
 margin-top:4px;
}
.pvs-form-step > .pvs-hint{
 margin-top:4px;
 padding:0;
 text-align:center;
}

/* فیلدهای فرم */
.pvs-login .pvs-fl,
.pvs-login-wrap .pvs-fl{
 display:grid;
 grid-template-columns:1fr;
 gap:6px;
 font-size:13.5px;
 font-weight:600;
 margin:0 0 12px 0;
 padding:0;
}
.pvs-login .pvs-fl > span,
.pvs-login-wrap .pvs-fl > span{
 display:block;
 width:auto;
 font-size:13.5px;
 font-weight:600;
 color:var(--tx);
 margin:0;
 padding:0;
}
.pvs-login .pvs-input,
.pvs-login-wrap .pvs-input{
 width:100% !important;
 max-width:100% !important;
 box-sizing:border-box !important;
 display:block;
 padding:14px 16px;
 border-radius:12px;
 border:1px solid var(--line);
 background:var(--bg);
 color:var(--tx);
 font:inherit;
 font-size:16px;
 outline:none !important;
 -webkit-appearance:none;
 appearance:none;
 margin:0;
}
.pvs-login-wrap .pvs-input:focus{
 border-color:var(--p);outline:none !important;box-shadow:none !important
}
.pvs-login-wrap input[type="text"],
.pvs-login-wrap input[type="tel"]{
 font-family:'Vazirmatn','Vazir',Tahoma,inherit;
 letter-spacing:1px
}
.pvs-login-wrap .pvs-otp,
.pvs-login-wrap .pvs-fixed{
 text-align:center;letter-spacing:8px;font-size:20px;font-weight:700;
 font-family:ui-monospace,'SF Mono',Menlo,monospace;
 -webkit-text-security:none
}

/* دکمه‌ها */
.pvs-btn.pvs-block{width:100%;padding:13px 16px;font-size:14.5px}
.pvs-btn.pvs-block + .pvs-btn.pvs-block{margin-top:8px}

/* پیام خطا/موفقیت */
.pvs-login-msg{
 margin-top:12px;padding:10px 14px;border-radius:10px;
 font-size:13px;font-weight:600;text-align:center;
 background:rgba(148,163,184,.1);color:var(--tx2);
 min-height:0;transition:.2s
}
.pvs-login-msg:empty{display:none}
.pvs-login-msg.err{background:rgba(220,38,38,.12);color:var(--red)}
.pvs-login-msg.ok{background:rgba(16,185,129,.12);color:#047857}
.pvs-login-msg.info{background:rgba(37,99,235,.1);color:var(--p)}

/* پانوشته */
.pvs-login-footer{
 margin-top:18px;padding-top:14px;border-top:1px solid var(--line)
}
.pvs-login-footer .pvs-hint{
 margin:4px 0;font-size:12px;color:var(--tx2);text-align:center
}

/* موبایل */
@media (max-width:640px){
 .pvs-login-card{padding:24px 18px;max-width:100%;border-radius:14px}
 .pvs-login-title{font-size:18px}
 .pvs-tab{font-size:11.5px;padding:9px 6px}
 .pvs-login-wrap .pvs-input{font-size:16px;padding:13px 14px}
 .pvs-login-wrap .pvs-otp,
 .pvs-login-wrap .pvs-fixed{font-size:18px;letter-spacing:6px}
}

@media (max-width:380px){
 .pvs-login-card{padding:18px 14px}
 .pvs-tabs{flex-direction:column}
 .pvs-tab{padding:11px 6px;font-size:12px}
}

/* ===================================================================
   انتخاب حالت دارک/لایت در صفحه ورود — قبل از ورود
   =================================================================== */
.pvs-theme-picker{
 display:flex;justify-content:center;gap:8px;
 margin:0 0 18px;
 padding:8px;
 background:rgba(100,116,139,.08);
 border-radius:12px;
}
.pvs-theme-btn{
 flex:0 0 auto;
 display:inline-flex;align-items:center;gap:6px;
 border:1px solid transparent;
 background:transparent;
 border-radius:9px;
 padding:8px 14px;
 font:inherit;font-size:12.5px;font-weight:700;
 color:var(--tx2);
 cursor:pointer;
 transition:.15s;
}
.pvs-theme-btn .pvs-icn{width:15px;height:15px}
.pvs-theme-btn:hover{color:var(--tx)}
.pvs-theme-btn.cur{
 background:var(--card);color:var(--tx);
 box-shadow:0 1px 4px rgba(2,6,23,.12);
 border-color:var(--line);
}

/* ===================================================================
   دکمه خروج کاربر
   =================================================================== */
.pvs-logout-btn{
 display:inline-flex;align-items:center;gap:7px;
 border:1px solid var(--line);
 background:var(--card);
 color:var(--tx) !important;
 border-radius:11px;
 padding:9px 14px;
 font:inherit;font-size:13px;font-weight:700;
 cursor:pointer;
 transition:.15s;
}
.pvs-logout-btn:hover{
 border-color:var(--red);
 color:var(--red) !important;
 background:rgba(220,38,38,.05);
}
.pvs-logout-btn .pvs-icn{width:16px;height:16px}

/* منوی کشویی کاربر (نام کاربر + خروج) */
.pvs-user-menu{position:relative;display:inline-block}
.pvs-user-trigger{
 display:inline-flex;align-items:center;gap:8px;
 border:1px solid var(--line);background:var(--card);color:var(--tx);
 border-radius:11px;padding:8px 12px;cursor:pointer;font:inherit;font-size:13px;font-weight:700;
 max-width:180px;
}
.pvs-user-trigger .pvs-ava-mini{
 width:28px;height:28px;border-radius:8px;
 display:grid;place-items:center;
 color:#fff;font-weight:800;font-size:14px;flex:none;
}
.pvs-user-trigger .pvs-user-name{
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px;
}
.pvs-user-trigger .pvs-caret{transition:.2s}
.pvs-user-menu.open .pvs-caret{transform:rotate(180deg)}
.pvs-user-dropdown{
 position:absolute;top:calc(100% + 6px);left:0;
 min-width:200px;
 background:var(--card);border:1px solid var(--line);
 border-radius:12px;padding:6px;
 box-shadow:0 10px 30px rgba(2,6,23,.15);
 z-index:1000;
 display:none;
}
.pvs-user-menu.open .pvs-user-dropdown{display:block;animation:pvfade .15s ease}
.pvs-user-dropdown .pvs-uinfo{
 padding:8px 12px;border-bottom:1px solid var(--line);margin-bottom:4px;
}
.pvs-user-dropdown .pvs-uinfo b{display:block;font-size:13px;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pvs-user-dropdown .pvs-uinfo span{font-size:11px;color:var(--tx2);direction:ltr;display:block}
.pvs-user-dropdown .pvs-udrow{
 display:flex;align-items:center;gap:8px;
 padding:8px 12px;border-radius:8px;cursor:pointer;
 color:var(--tx);font-size:13px;font-weight:600;
}
.pvs-user-dropdown .pvs-udrow:hover{background:var(--bg)}
.pvs-user-dropdown .pvs-udrow.danger{color:var(--red)}
.pvs-user-dropdown .pvs-udrow.danger:hover{background:rgba(220,38,38,.08)}
.pvs-user-dropdown .pvs-udrow .pvs-icn{width:15px;height:15px}

/* ===================================================================
   پنل کاربران ثبت‌نام‌شده (فقط مدیر)
   در تب سوم پنل پشتیبانی نمایش داده می‌شود
   =================================================================== */
.pvs-reg-list{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
.pvs-reg-card{
 display:flex;align-items:center;gap:12px;
 padding:14px 16px;border:1px solid var(--line);border-radius:14px;
 background:var(--card);
}
.pvs-reg-card .pvs-ava{
 width:44px;height:44px;border-radius:12px;flex:none;
 display:grid;place-items:center;color:#fff;font-weight:800;font-size:18px;
}
.pvs-reg-info{flex:1;min-width:0}
.pvs-reg-info b{display:block;font-size:14.5px;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pvs-reg-info span{font-size:12px;color:var(--tx2);display:block;direction:ltr;text-align:right}
.pvs-reg-meta{text-align:left;flex:none}
.pvs-reg-meta .pvs-badge{margin-bottom:6px}
.pvs-reg-meta .pvs-ago{font-size:11.5px;color:var(--tx2);display:block}
.pvs-reg-stats{
 display:flex;gap:12px;margin-top:6px;flex-wrap:wrap;
}
.pvs-reg-stat{
 display:inline-flex;align-items:center;gap:4px;
 font-size:11.5px;color:var(--tx2);
 background:rgba(100,116,139,.1);
 padding:2px 8px;border-radius:99px;
}
.pvs-reg-stat.online{background:rgba(16,185,129,.15);color:#16a34a}
@media (prefers-color-scheme:dark){.pvs-reg-stat.online{color:#4ade80}}

/* ===================================================================
   فرم پیام جدید در دسکتاپ — بدون محدودیت عرض
   =================================================================== */
@media (min-width:1025px){
 .pvs-card.pvs-form-wrap{padding:24px 28px}
 .pvs-form .pvs-grid2{grid-template-columns:1fr 1fr;gap:18px}
 .pvs-form textarea{min-height:160px}
}

/* ===================================================================
   اصلاح نهایی نمایش آیکون‌ها و جلوگیری قطعی از بیرون‌زدگی
   این قوانین در انتها قرار دارند تا بالاترین اولویت را داشته باشند
   =================================================================== */

/* همه آیکون‌ها قابل مشاهده باشند */
.pvs-wrap .pvs-icn,
.pvs-login-wrap .pvs-icn,
.pvs-modal .pvs-icn,
.pvs-wrap svg.pvs-icn,
.pvs-login-wrap svg.pvs-icn,
.pvs-modal svg.pvs-icn{
 fill:none !important;
 stroke:currentColor !important;
 stroke-width:1.8 !important;
 stroke-linecap:round !important;
 stroke-linejoin:round !important;
 display:inline-block !important;
 visibility:visible !important;
 opacity:1 !important;
 color:inherit;
}

/* دکمه‌های آیکونی در هدر — رنگ صریح */
.pvs-wrap .pvs-topacts .pvs-ic,
.pvs-wrap .pvs-topacts .pvs-snd,
.pvs-wrap .pvs-topacts #pvs-darkbtn,
.pvs-wrap .pvs-topacts #pvs-install,
.pvs-wrap .pvs-user-trigger{
 color:var(--tx) !important;
 background:var(--card) !important;
 border:1px solid var(--line) !important;
}
.pvs-wrap .pvs-topacts .pvs-ic:hover,
.pvs-wrap .pvs-topacts .pvs-snd:hover,
.pvs-wrap .pvs-topacts #pvs-darkbtn:hover,
.pvs-wrap .pvs-topacts #pvs-install:hover{
 color:var(--p) !important;
 border-color:var(--p) !important;
}

/* دکمه‌های صفحه ورود (theme picker, tabs) — رنگ صریح */
.pvs-login-wrap .pvs-theme-btn,
.pvs-login-wrap .pvs-tab{
 color:var(--tx2) !important;
}
.pvs-login-wrap .pvs-theme-btn:hover,
.pvs-login-wrap .pvs-tab:hover{
 color:var(--tx) !important;
}
.pvs-login-wrap .pvs-theme-btn.cur,
.pvs-login-wrap .pvs-tab.cur{
 color:var(--tx) !important;
 background:var(--card) !important;
}

/* دکمه اصلی در فرم ورود — آیکون سفید */
.pvs-login-wrap .pvs-primary{
 color:#fff !important;
 background:linear-gradient(135deg,var(--p),var(--p2)) !important;
}
.pvs-login-wrap .pvs-primary svg{
 stroke:#fff !important;
}

/* جلوگیری قطعی از بیرون‌زدگی در فرم ورود */
.pvs-login-wrap{
 width:100% !important;
 max-width:100% !important;
 box-sizing:border-box !important;
 overflow-x:hidden !important;
 padding:20px 16px !important;
 margin:0 !important;
}
.pvs-login-card{
 width:100% !important;
 max-width:440px !important;
 box-sizing:border-box !important;
 overflow:hidden;
 margin:0 auto !important;
 padding:32px 26px !important;
}
.pvs-login-card .pvs-fl,
.pvs-login-card .pvs-grid2,
.pvs-login-card .pvs-form-step{
 width:100% !important;
 max-width:100% !important;
 box-sizing:border-box !important;
 margin:0 0 12px 0 !important;
}
.pvs-login-card .pvs-input,
.pvs-login-card input,
.pvs-login-card textarea{
 width:100% !important;
 max-width:100% !important;
 box-sizing:border-box !important;
 display:block !important;
 margin:0 !important;
}
.pvs-login-card .pvs-btn.pvs-block{
 width:100% !important;
 max-width:100% !important;
 box-sizing:border-box !important;
 display:flex !important;
 justify-content:center !important;
 margin:0 !important;
}

/* کاربران ثبت‌نام‌شده با هویت تأیید شده — نشان سبز */
.pvs-reg-stat.identity{
 background:rgba(16,185,129,.15) !important;
 color:#16a34a !important;
}
@media (prefers-color-scheme:dark){
 .pvs-reg-stat.identity{color:#4ade80 !important}
}
.pvs-wrap.pvs-mode-dark .pvs-reg-stat.identity{color:#4ade80 !important}
