/* ===== توکن‌های طراحی ===== */
:root{
  --brand:#cc2630;--brand-2:#b30c15;--brand-3:#9f1c1d;--gold:#d23b43;--gold-2:#bf343c;
  --ink:#0d2149;--ink-deep:#011132;--ink-top:#1b3160;--ink-800:#22376a;--ink-400:#8fa3c4;--ink-300:#b3c3dc;--steel:#c9d6e8;
  /* کرومِ روشن سایدبار/هدر — طوسی-سفید، به‌جای آبی سرمه‌ای قبلی */
  --side-top:#ffffff;--side:#f4f5f7;--side-deep:#e8eaee;--side-line:#e3e5ea;--side-muted:#6b7280;--side-muted-2:#96a0ad;
  --paper:#f1f4fa;--text:#1c2740;--muted:#64748b;--line:#dde5f0;
  /* نام‌های قدیمی برای سازگاری */
  --teal:#cc2630;--dark:#0d2149;--red:#b30c15;
  font-family:Vazirmatn,Vazir,IRANSans,IRANYekan,"B Nazanin",Tahoma,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--text);font-size:14px
}
*{box-sizing:border-box}
body{
  margin:0;min-height:100vh;
  background:
    radial-gradient(1200px 600px at 100% -10%, rgba(13,33,73,.10), transparent 60%),
    radial-gradient(900px 500px at 0% 110%, rgba(204,38,48,.07), transparent 55%),
    var(--paper);
  color:var(--text)
}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer;border:1px solid var(--line);border-radius:12px;padding:9px 14px;background:#fff;color:var(--text);font-weight:700;font-size:13px;transition:.15s}
button:hover{border-color:var(--brand);background:#fdf4f5}
button:disabled{opacity:.5;cursor:not-allowed}
button.primary{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 6px 16px -8px rgba(179,12,21,.55)}
button.primary:hover{background:var(--brand-2);border-color:var(--brand-2)}
button.gold{background:var(--gold);color:#fff;border-color:var(--gold)}
button.gold:hover{background:var(--gold-2);border-color:var(--gold-2)}
button.danger{color:var(--brand-2)}
a{color:var(--brand);text-decoration:none}
h1,h2,h3,p{margin-top:0}
h1{font-size:20px;line-height:1.7}
h2{font-size:16px}
h3{font-size:14px}
p{line-height:1.95}

/* ===== چیدمان: سایدبار کارت شناور + محتوا ===== */
.shell{max-width:1920px;margin:0 auto;padding:20px;display:grid;grid-template-columns:252px minmax(0,1fr);gap:16px;align-items:start}
.sidebar{background:linear-gradient(180deg,var(--side-top),var(--side) 45%,var(--side-deep));color:var(--text);border-radius:22px;position:sticky;top:20px;height:calc(100vh - 40px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 40px -18px rgba(15,23,42,.15);border:1px solid var(--side-line)}
.brand{padding:16px 14px 12px;display:flex;align-items:center;justify-content:center}
.brandlogo{width:100%;max-width:210px;height:auto;display:block;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}
.branddate{padding:0 18px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:800;color:var(--text);border-bottom:1px solid var(--side-line)}
.branddate .ver{font-size:10px;font-weight:700;color:var(--side-muted);background:#fff;border:1px solid var(--side-line);padding:2px 8px;border-radius:99px}
.authlogo{width:clamp(200px,18vw,290px);max-width:70%;height:auto;margin:0 auto 2px;display:block}
.sidebar nav{flex:1;overflow:auto;padding:12px;scrollbar-width:thin;scrollbar-color:rgba(15,23,42,.18) transparent}
.sidebar nav::-webkit-scrollbar{width:9px}
.sidebar nav::-webkit-scrollbar-thumb{background:rgba(15,23,42,.18);border-radius:99px;border:2px solid transparent;background-clip:padding-box}
.sidebar nav::-webkit-scrollbar-track{background:transparent}

.navgroup{margin-bottom:4px}
.navgrouphead{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:12px;font-size:12px;font-weight:800;color:var(--side-muted);background:transparent;border:0}
.navgrouphead:hover{color:var(--text);background:transparent;border-color:transparent}
.navgrouphead .chev{font-size:24px;font-weight:900;line-height:1;color:#000;opacity:1;transition:transform .15s}
.navgrouphead.open .chev{transform:rotate(90deg)}
.navgroupitems{padding-right:8px;margin-top:4px;display:flex;flex-direction:column;gap:4px}
.navgroupitems.hidden{display:none}

.navbtn{position:relative;width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;font-size:13px;font-weight:700;background:transparent;border:0;color:var(--side-muted);text-align:right;transition:.15s}
.navbtn .ico{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.05);color:var(--side-muted);font-size:15px;flex:0 0 auto}
.navbtn:hover{background:rgba(15,23,42,.05);color:var(--text);border-color:transparent}
.navbtn.active{background:rgba(204,38,48,.08);color:var(--brand-2)}
.navbtn.active .ico{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 6px 14px -6px rgba(204,38,48,.7)}
.navbtn.active:before{content:"";position:absolute;right:-12px;top:8px;bottom:8px;width:4px;border-radius:99px;background:linear-gradient(180deg,var(--brand),var(--gold))}

.usercard{margin:12px;margin-top:0;display:flex;align-items:center;gap:10px;padding:12px;border-radius:16px;background:#fff;border:1px solid var(--side-line)}
.useravatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-3));display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;color:#fff;flex:0 0 auto}
.userinfo{min-width:0;flex:1}
.userinfo b{display:block;font-size:12.5px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.userinfo span{display:block;font-size:10.5px;color:var(--side-muted)}
.onlinedot{width:8px;height:8px;border-radius:50%;background:var(--brand);flex:0 0 auto}

/* ===== هدر تیره چسبان ===== */
.workspace{min-width:0}
.topbar{position:sticky;top:12px;z-index:40;margin-bottom:16px;border-radius:18px;background:linear-gradient(135deg,var(--side-top),var(--side) 55%,var(--side-deep));color:var(--text);box-shadow:0 10px 22px -14px rgba(15,23,42,.2);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid var(--side-line)}
.topbar .pagetitle{font-size:15px;font-weight:900;line-height:1.4}
.topbar .pagedesc{font-size:11px;color:var(--side-muted);margin-top:2px}
.searchbox{display:flex;align-items:center;gap:8px;flex:1;min-width:160px;max-width:420px;border-radius:12px;padding:8px 12px;background:#fff;border:1px solid var(--side-line)}
.searchbox:focus-within{border-color:rgba(204,38,48,.6)}
.searchbox input{background:transparent;border:0;color:var(--text);font-size:12.5px;min-height:auto;padding:0;width:100%}
.searchbox input:focus{outline:0;background:transparent}
.searchbox input::placeholder{color:var(--side-muted-2)}
.searchicon{color:var(--side-muted);flex:0 0 auto}
.topbtns{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.chip{font-size:12px;padding:7px 12px;border-radius:12px;background:#fff;border:1px solid var(--side-line);color:var(--text)}
.topbtns button{font-size:12px;padding:7px 12px;border-radius:12px;background:#fff;border:1px solid var(--side-line);color:var(--text)}
.topbtns button:hover{background:#f3f4f6;border-color:var(--side-line)}
.topbtns button.gold{background:var(--gold);border-color:var(--gold);font-weight:800}
.topbtns button.gold:hover{background:var(--gold-2)}
.content{display:flex;flex-direction:column;gap:16px}
.sitefoot{padding:32px 0;text-align:center;font-size:12px;color:var(--ink-400)}

/* ===== عنوان صفحه با ریل قرمز ===== */
.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;flex-wrap:wrap}
.pagehead h1{margin:0;position:relative;padding-right:11px}
.pagehead h1:before{content:"";position:absolute;right:0;top:.15em;bottom:.15em;width:4px;border-radius:99px;background:linear-gradient(180deg,var(--brand),var(--gold))}
.subtitle{color:var(--muted);font-size:12.5px;margin:4px 0 0}
.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.eyebrow{font-size:11px;color:var(--brand);letter-spacing:.3px;font-weight:800;margin-bottom:6px}

/* ===== سربرگ کارت و تاگل دوره ===== */
.cardhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.cardtitle{font-size:14px;font-weight:900}
.cardhead select{width:auto;min-width:150px;min-height:34px;padding:5px 10px;font-size:12px}
.seg{display:inline-flex;gap:2px;padding:3px;background:#eef2f8;border:1px solid var(--line);border-radius:12px}
.seg button{border:0;background:transparent;padding:5px 12px;border-radius:9px;font-size:12px;font-weight:700;color:#5b6b7c}
.seg button:hover{background:transparent;border-color:transparent;color:var(--brand)}
.seg button.active{background:var(--brand);color:#fff}
.seg button.active:hover{background:var(--brand-2);color:#fff}
/* ===== گیج نیم‌دایره ===== */
.gaugegrid{display:grid;grid-template-columns:1fr 1fr 2fr;gap:14px;align-items:center}
.gauge{display:flex;flex-direction:column;align-items:center;text-align:center}
.gauge svg{width:100%;max-width:170px;height:auto}
.gaugelabel{font-size:11px;color:var(--muted);margin-top:2px;line-height:1.6}
.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stat{border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 10px;text-align:center}
.stat small{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.stat b{font-size:14px;font-weight:900;direction:ltr;display:block}
.stat.rose{background:#fdeeee;border-color:#f4cdcd}.stat.rose small{color:#b3454b}.stat.rose b{color:#a13a3a}
.stat.brand{background:#fdf0f1;border-color:#f3c9c9}.stat.brand small{color:var(--brand)}.stat.brand b{color:var(--brand-3)}
.stat.emerald{background:#eafaf4;border-color:#bfe9da}.stat.emerald small{color:#1c8a6a}.stat.emerald b{color:#1c6f5a}
.stat.amber{background:#fff8e6;border-color:#f3e2b8}.stat.amber small{color:#a67c14}.stat.amber b{color:#956819}
.rankrow{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.rankchip{padding:6px 14px;border-radius:99px;background:#fff8e6;border:1px solid #f3e2b8;color:#8a6410;font-weight:800;font-size:12.5px}
/* ===== کارت‌ها ===== */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.card,.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 1px 2px rgba(13,33,73,.06)}
.card.pink{background:#fdeeee;border-color:#f4cdcd}
.card.amber{background:#fff8e6;border-color:#f3e2b8}
.card.green{background:#eafaf4;border-color:#bfe9da}
.card.dark{background:linear-gradient(135deg,var(--ink-top),var(--ink) 55%,var(--ink-deep));border-color:transparent;color:#fff}
.card.dark span,.card.dark small{color:var(--ink-300)}
.card.dark .metric{color:#fff}
.stagesum{margin:-8px 0 12px}
.metric{font-size:26px;font-weight:900;margin:10px 0 6px;letter-spacing:-.5px}
.muted{color:var(--muted)}
.small{font-size:12px}
.tag{display:inline-block;padding:4px 10px;background:#eafaf4;color:#1c6f5a;border-radius:99px;font-size:11px;font-weight:700;white-space:nowrap}
.tag.warn{background:#fff8e6;color:#956819}
.tag.red{background:#fdeeee;color:#a13a3a}
.tag.blue{background:#eef4ff;color:#2f5aa8}
.grid2{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}
.empty{text-align:center;padding:48px 24px;color:var(--muted)}
.empty .symbol{font-size:34px;color:#9fb3d1;margin-bottom:16px}
.empty h2{color:var(--text);font-size:17px}
.empty p{max-width:480px;margin:0 auto 20px}

/* ===== جدول ===== */
.tablewrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 2px rgba(13,33,73,.06)}
table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:right}
thead{background:#eef2f8}
th{font-size:12px;color:#44557a;padding:13px 16px;font-weight:700;border-bottom:2px solid #d8e2f0}
td{padding:13px 16px;border-bottom:1px solid #e8eef7;font-size:12.5px}
tbody tr:hover{background:#f6f9fd}
tbody tr.rowgreen{background:#f4fbf8}
tbody tr.rowamber{background:#fffaf0}
tbody tr.rowred{background:#fdf2f2}
tbody tr.rowblue{background:#f3f7ff}
tbody tr.rowgreen:hover{background:#eaf6f0}
tbody tr.rowamber:hover{background:#fff3e0}
tbody tr.rowred:hover{background:#fbe8e8}
tbody tr.rowblue:hover{background:#e8f0ff}
.rowlink{border:0;background:transparent;color:var(--brand);padding:0;text-align:right;font-weight:800}
.rowlink:hover{background:transparent;text-decoration:underline}

/* ===== فرم ===== */
.toolbar{display:flex;gap:10px;flex-wrap:wrap}
.toolbar input{min-width:240px;flex:1}
.toolbar select{max-width:210px}
input,select,textarea{width:100%;border:1px solid #dde5f0;border-radius:12px;padding:9px 12px;background:#fbfcfe;min-height:40px;color:var(--text);font-size:13px}
input:focus,select:focus,textarea:focus{outline:0;background:#fff;border-color:rgba(204,38,48,.45);box-shadow:0 0 0 3px rgba(204,38,48,.1)}
textarea{min-height:88px;resize:vertical}
select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.4' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:left .7rem center;padding-left:1.9rem}
label{display:block;font-size:12px;font-weight:700;line-height:1.9;color:#4b5563}
label input,label select,label textarea{margin-top:5px;font-weight:400}
input[type=checkbox]{width:auto;min-height:auto;margin-left:7px;accent-color:var(--brand)}
.pwwrap{position:relative;display:block}
.pwwrap input{padding-left:44px}
.pwwrap .pwtoggle{position:absolute;left:4px;top:50%;width:34px;height:34px;margin:0;padding:0;min-height:auto;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);border-radius:10px;transform:translateY(-50%)}
.pwwrap .pwtoggle:hover{background:#fdf0f1;color:var(--brand)}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.span2{grid-column:1/-1}
.formsection{padding:18px 0 4px;border-top:1px solid var(--line);margin-top:16px}
.formfooter{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}

/* ===== شبکه‌ی ۱۲ ستونه ===== */
.grid12{display:grid;grid-template-columns:repeat(12,1fr);gap:10px;margin-bottom:12px}
.grid12>label,.grid12>div{min-width:0}
.cs-1{grid-column:span 1}.cs-2{grid-column:span 2}.cs-3{grid-column:span 3}.cs-4{grid-column:span 4}
.cs-5{grid-column:span 5}.cs-6{grid-column:span 6}.cs-7{grid-column:span 7}.cs-8{grid-column:span 8}
.cs-9{grid-column:span 9}.cs-10{grid-column:span 10}.cs-11{grid-column:span 11}.cs-12{grid-column:span 12}
.customerpickrow{display:flex;gap:6px;align-items:stretch}
.customerpickrow .customerpick{flex:1}
.customerpickrow .newleadinline{margin-top:0;white-space:nowrap}
.shipdetails{border:1px solid var(--line);border-radius:12px;background:#fafbfd;padding:2px 12px}
.shipdetails summary{cursor:pointer;padding:9px 2px;font-size:12px;font-weight:700;color:var(--muted)}
.shipdetails[open]{padding-bottom:12px}
.settlebox{border:1px solid var(--line);border-radius:14px;background:#fafbfd;padding:14px;margin-bottom:12px}
.settleboxhead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.settletitle{font-size:12px;font-weight:800;color:#44557a}
.paymentrow-credit{border-color:#f3d9a0!important;background:#fff8ea}
#invSettleWrap.hidden{display:none}
.addrowbtns{display:flex;gap:6px;align-items:end}
.addrowbtns button{flex:1}
@media (max-width:860px){.grid12>[class*="cs-"]{grid-column:span 12}}

/* ===== مودال ===== */
dialog{border:0;border-radius:20px;box-shadow:0 24px 80px rgba(13,33,73,.3);width:min(820px,94vw);max-height:90vh;padding:24px;overflow:auto;color:var(--text)}
dialog.wide{width:min(1120px,97vw)}
dialog::backdrop{background:rgba(6,18,44,.6);backdrop-filter:blur(2px)}
.dialoghead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.dialoghead h2{margin:0;position:relative;padding-right:11px}
.dialoghead h2:before{content:"";position:absolute;right:0;top:.15em;bottom:.15em;width:4px;border-radius:99px;background:linear-gradient(180deg,var(--brand),var(--gold))}
.close{font-size:22px;padding:0 9px;border:0;background:transparent}

/* ===== پیام‌ها ===== */
.notice{padding:13px 16px;background:#fff8e6;border:1px solid #f3e2b8;border-radius:14px;color:#795e24;line-height:1.9;font-size:12.5px}
.error{padding:13px 16px;background:#fdeeee;color:#a13a3a;border:1px solid #f4cdcd;border-radius:14px;line-height:1.8;font-size:12.5px}
.success{padding:13px 16px;background:#eafaf4;color:#1c6f5a;border:1px solid #bfe9da;border-radius:14px;line-height:1.8;font-size:12.5px}

/* ===== قیف فروش ===== */
.pipeline{display:flex;gap:12px;overflow:auto;padding-bottom:14px}
.stagecol{min-width:230px;width:230px;background:#eaeff8;border-radius:16px;padding:14px}
.stagehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:12.5px;font-weight:800}
.deal{background:#fff;border:1px solid #e3eaf4;border-radius:14px;padding:13px;margin-bottom:9px;box-shadow:0 1px 2px rgba(13,33,73,.06);transition:.18s}
.deal:hover{box-shadow:0 10px 24px -10px rgba(13,33,73,.28);border-color:#c3d3ea;transform:translateY(-2px)}
.deal p{font-size:12px;margin:7px 0}

/* ===== جزئیات ===== */
.timeline{border-right:2px solid #dde5f0;padding:0 20px;margin:18px 4px}
.timeline article{padding:0 0 18px;position:relative}
.timeline article:before{content:'';position:absolute;width:10px;height:10px;background:#fff;border:2px solid var(--brand);box-shadow:0 0 0 3px rgba(204,38,48,.18);border-radius:50%;right:-25px;top:5px}
.timeline p{white-space:pre-wrap;margin:9px 0}
.detailsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.detailsgrid>div{padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:13px;font-weight:700}
.detailsgrid small{display:block;color:var(--muted);margin-bottom:7px;font-weight:400}
.detailsgrid-gap{margin-top:14px}
.mt20{margin-top:20px}
.pagination{display:flex;justify-content:space-between;align-items:center}
.progressrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #e8eef7;font-size:12.5px}
.progressrow:last-child{border-bottom:0}
.number{direction:ltr;display:inline-block}
.loading{padding:40px;text-align:center;color:var(--muted)}
.previewtable{max-height:330px;overflow:auto}

/* ===== زیرتب ===== */
.tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow:auto}
.tab{position:relative;padding:9px 2px;font-weight:700;font-size:13px;color:#6b7280;background:transparent;border:0;white-space:nowrap}
.tab:hover{color:var(--brand-3);background:transparent;border-color:transparent}
.tab.active{color:#9f1c1d}
.tab.active:after{content:"";position:absolute;bottom:-1px;right:0;left:0;height:3px;border-radius:3px;background:var(--brand)}

/* ===== ورود ===== */
/* نسخه ۶۶ — صفحهٔ ورود: دو سوم بالا سفید (لوگو + طرح‌های چرخشی)، یک سوم پایین خاکستری با یک ردیف ورود. */
.auth{min-height:100vh;display:grid;grid-template-columns:1fr;grid-template-rows:2fr 1fr;background:#e4e7eb}
.authart{background:#fff;color:#111827;padding:30px 6% 20px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:4px;border-bottom:1px solid #d3d8de}
.authslide{min-height:clamp(220px,32vh,380px);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .36s ease,transform .36s ease}
.authslide.fade{opacity:0;transform:translateY(8px)}
.authicon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;font-size:32px;background:linear-gradient(145deg,#fff,#f1f3f6);border:1px solid #e1e5ea;box-shadow:0 14px 30px -16px rgba(15,23,42,.35);margin-bottom:6px}
.authart h1{font-size:clamp(32px,4.6vw,66px);line-height:1.35;margin:10px 0 0;color:#111827;font-weight:900;letter-spacing:-.2px}
.authnum{font-size:clamp(60px,8vw,104px);line-height:1.1;font-weight:900;color:var(--brand);margin-top:6px}
.authnum i{font-style:normal;font-size:.6em;margin-inline-start:4px}
.authart p.authlabel{color:#111827;font-size:clamp(18px,2vw,24px);font-weight:800}
.authart .rule{margin:14px auto 12px}
.authart h1 .l2{display:block;color:var(--brand)}
.authart p{color:#4b5563;max-width:760px;margin:0;font-size:clamp(16px,1.6vw,23px);font-weight:700}
.authart small{color:#9aa3ad;margin-top:10px}
.authdots{display:flex;gap:7px;margin-top:12px}
.authdots button{width:9px;height:9px;padding:0;border-radius:99px;border:0;background:#d3d8de;transition:.2s}
.authdots button.on{background:var(--brand);width:22px}
.authdots button:hover{background:#b9c0c9;border-color:transparent}
.authform{display:grid;place-items:center;padding:26px 20px 34px;background:#e4e7eb}
.authbox{width:100%;max-width:1000px}
.authhead{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px;justify-content:center}
.authhead b{font-size:17px;color:#111827}
.authhead span{font-size:12.5px;color:#6b7280}
.authgrid{display:grid;grid-template-columns:1fr 1fr 150px;gap:12px;align-items:end}
.authgrid.setupgrid{grid-template-columns:repeat(3,1fr);align-items:end}
.authgrid.setupgrid>button{grid-column:1/-1}
.authf{display:flex;flex-direction:column;gap:5px;margin:0}
.authf>span{font-size:12px;font-weight:800;color:#111827}
.authf input{background:#f6f7f9;border:1px solid #cfd5dc;border-radius:12px;padding:11px 13px;color:#111827;width:100%}
.authf input:focus{outline:0;border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px rgba(204,38,48,.10)}
.authf .pwwrap{display:block;position:relative}
.authgrid>button{margin:0;padding:12px;border-radius:12px;height:45px}
.authnote{text-align:center;margin:12px 0 0;color:#6b7280}
#authError{text-align:center}
.rule{height:4px;width:70px;background:linear-gradient(90deg,var(--brand),var(--gold));border-radius:99px}

/* ===== فاکتور ===== */
.paymentgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.paymentrow{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff}
.paymentrow label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:400;flex:1;margin:0}
.paymentrow input[type=checkbox]{margin:0}
.paymentrow input[type=number]{width:auto;flex:1}
.totalsbar{background:#fdeeee;border:1px solid #f4cdcd;border-radius:16px;padding:16px 20px;margin-top:14px;display:flex;justify-content:space-between;align-items:center}
.totalsbar b{font-size:20px;color:var(--brand)}
.inlinecheck{display:flex;align-items:center;gap:8px;font-weight:400;margin-top:14px}
/* ردیف‌های ریز ارزش معامله در فرم لید */
.dealitemrow{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:8px;background:#fafcff}
.dealitemrow label{font-size:11px}
/* پیام‌رسان‌های مشتری */
.inlinecheck-row{display:flex;flex-wrap:wrap;gap:14px 20px;margin-top:8px}
.inlinecheck-row .inlinecheck{margin-top:0}
/* فهرست چندتایی محصول مورد علاقه */
.chiprow{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.chiprow .chip{background:#eef2fb;border:1px solid var(--line);color:var(--text);display:inline-flex;align-items:center;gap:6px}
.chiprow .chip button{background:transparent;border:0;color:var(--muted);padding:0;cursor:pointer;font-size:14px;line-height:1}
.inlineadd{display:flex;gap:8px;align-items:center}
.inlineadd input{flex:1}
/* نوار عملیات چسبان پایین فرم فاکتور */
.stickybar{position:sticky;bottom:-24px;margin:18px -24px -24px;padding:14px 24px;background:linear-gradient(135deg,var(--ink-top),var(--ink) 55%,var(--ink-deep));display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);z-index:5}
.stickybar button{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.14);color:#fff}
.stickybar button:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.14)}
.stickybar button.primary{background:var(--brand);border-color:var(--brand)}
.stickybar button.primary:hover{background:var(--brand-2);border-color:var(--brand-2)}
/* جستجوی زنده کالا */
.psearch,.customerpick{position:relative;display:block}
.presults{position:absolute;top:calc(100% + 4px);right:0;left:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 28px rgba(13,33,73,.18);z-index:20;max-height:230px;overflow:auto;display:flex;flex-direction:column;padding:4px}
.presults.hidden{display:none}
.presult{border:0;background:transparent;text-align:right;padding:8px 10px;border-radius:9px;font-size:12.5px;font-weight:700}
.presult:hover{background:#f1f5fb;border-color:transparent}
.presult.active{background:#e4ecfb}
/* ردیف جمع‌ها */
.sumrow{display:flex;gap:18px;flex-wrap:wrap;padding:12px 16px;margin-top:12px;background:#eef2f8;border:1px solid var(--line);border-radius:14px;font-size:12.5px}
.sumrow b{color:var(--ink)}
.balancebar{margin:10px 0}
/* + شخص جدید (طرف حساب فاکتور) */
.newleadinline{margin-top:6px;padding:6px 12px;border-radius:99px;border:1px solid #bfe8cf;background:#eafbf1;color:#177a44;font-size:12px;font-weight:700}
.newleadinline:hover{background:#d9f7e6}
/* نوع قیمت */
.inlinelabel{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;margin:8px 0}
.inlinelabel select{width:auto;padding:6px 10px}
/* چک‌های متعدد فاکتور — فقط در CRM ذخیره می‌شود، در حسابداری نمی‌نشیند */
.checksheadrow{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:0;padding-top:0;margin-top:6px}
.checksheadrow button{padding:5px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:700}
.checkrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.checkrow input{width:auto;flex:1;min-width:140px}
.checkrow button{border:1px solid #f3c6c6;color:#c0392b;background:#fff;border-radius:9px;padding:6px 10px;font-size:12px}
#invChecksWrap.hidden{display:none}
#invChecksRas{margin-top:6px}
.mono{font-family:monospace}
.warn{color:#c0392b}
/* هشدار فروش زیر قیمت خرید */
input.lossprice{border-color:#e08a8a;background:#fff5f5}
/* پنل فیلتر */
.filtergrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.filtergrid .span2{grid-column:1/-1}
/* سند چاپی فاکتور */
.invhead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;margin-bottom:14px;border-bottom:2px solid var(--line);flex-wrap:wrap}
.invlogo{width:170px;height:auto;display:block;margin-bottom:8px}
.invorg{font-size:15px;font-weight:900}
.invmeta{display:flex;gap:14px;flex-wrap:wrap}
.invmeta div{border:1px solid var(--line);border-radius:12px;padding:8px 14px;font-size:13px;font-weight:800}
.invmeta small{display:block;color:var(--muted);font-weight:400;margin-bottom:4px}
.invsign{display:flex;justify-content:space-between;gap:20px;margin-top:34px;padding-top:14px;font-size:12px;color:var(--muted)}
.invoiceitem{display:grid;grid-template-columns:2fr .8fr 1fr 1fr 1fr auto;gap:8px;margin:10px 0}
.flexfill{flex:1}
.reportgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.filebox{border:2px dashed #f0c9cb;background:#fdf7f7;padding:32px;border-radius:18px;text-align:center}
.filebox input{margin-top:18px}
#toast{position:fixed;bottom:20px;left:20px;background:var(--ink);color:#fff;padding:14px 20px;border-radius:14px;max-width:500px;display:none;z-index:1000;box-shadow:0 12px 30px rgba(13,33,73,.3);font-size:13px}
.printonly{display:none}

/* ===== واکنش‌گرا ===== */
.navtoggle{display:none}
.navoverlay{display:none}
@media(max-width:1023px){
  .shell{grid-template-columns:1fr;padding:12px}
  .sidebar{position:fixed;top:0;right:0;z-index:50;width:86vw;max-width:300px;height:100%;border-radius:0;transform:translateX(100%);transition:transform .22s ease}
  .sidebar.open{transform:translateX(0)}
  .navoverlay.open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:40}
  .navtoggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:12px;background:#fff;border:1px solid var(--side-line);color:var(--text);flex:0 0 auto}
  .navtoggle:hover{background:#f3f4f6;border-color:var(--side-line)}
  .topbar>div:first-child{display:flex;align-items:center;gap:10px}
  .cards{grid-template-columns:1fr 1fr}
  .grid2{grid-template-columns:1fr}
}
@media(max-width:700px){
  .cards{grid-template-columns:1fr 1fr;gap:10px}
  .card{padding:15px}
  .metric{font-size:22px}
  .formgrid,.detailsgrid,.reportgrid,.paymentgrid,.filtergrid{grid-template-columns:1fr}
  .gaugegrid{grid-template-columns:1fr}
  .statgrid{grid-template-columns:repeat(2,1fr)}
  .sumrow{gap:10px}
  .span2{grid-column:auto}
  .auth{grid-template-rows:auto auto}
  .authart{padding:26px 16px 20px}
  .authart h1{margin-top:10px}
  .authart p{font-size:13.5px}
  .authslide{min-height:0}
  .authform{padding:20px 14px 30px}
  .authgrid,.authgrid.setupgrid{grid-template-columns:1fr}
  .authgrid>button{grid-column:auto}
  .topbar{padding:12px}
  .searchbox{max-width:none;order:3;width:100%}
  .invoiceitem{grid-template-columns:1fr 1fr}
}
@media print{
  .sidebar,.topbar,.noprint,#toast,button,.sitefoot,.stickybar,.dialoghead{display:none!important}
  body.printing-doc #app{display:none!important}
  @page{size:A4 portrait;margin:7mm}
  .invoicedoc{font-size:12px}
  .invoicedoc .tablewrap{border:1px solid #999;box-shadow:none;border-radius:8px}
  .invoicedoc thead{background:#eee!important}
  .invoicedoc .totalsbar{background:#f4f4f4!important;border-color:#999}
  .shell{display:block;padding:0;max-width:none}
  body{background:#fff}
  .printonly{display:block}
  dialog{position:static;width:100%;max-width:none;max-height:none;box-shadow:none;padding:0;margin:0;border:0}
  #modal{padding:0!important;margin:0!important;width:100%!important;max-width:none!important;border:0!important;border-radius:0!important}
  dialog::backdrop{background:none}
}

/* ===== فونت وزیرمتن (اگر فایل روی سرور باشد) ===== */
@font-face{font-family:Vazirmatn;font-style:normal;font-weight:400;font-display:swap;src:url('/static/vazirmatn-400.woff2') format('woff2')}
@font-face{font-family:Vazirmatn;font-style:normal;font-weight:700;font-display:swap;src:url('/static/vazirmatn-700.woff2') format('woff2')}

/* ===== کارت معامله در قیف فروش ===== */
.deal{cursor:grab}
.deal.dragging{opacity:.45;cursor:grabbing}
.stagecol.over{outline:2px dashed var(--brand);outline-offset:3px;background:rgba(204,38,48,.05)}
.dealtop{display:flex;align-items:center;justify-content:space-between;gap:6px}
.dealmeta{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:3px;flex-wrap:wrap}
.probbar{height:5px;border-radius:99px;background:var(--line);overflow:hidden;margin:6px 0 2px}
.probbar>i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),var(--gold))}
.dealnav{display:flex;align-items:center;justify-content:space-between;margin-top:6px}
.stepbtn{min-width:28px;height:24px;padding:0 6px;line-height:1;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--brand);font-size:15px;cursor:pointer}
.stepbtn:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.probbar>i.w0{width:0%}
.probbar>i.w5{width:5%}
.probbar>i.w10{width:10%}
.probbar>i.w15{width:15%}
.probbar>i.w20{width:20%}
.probbar>i.w25{width:25%}
.probbar>i.w30{width:30%}
.probbar>i.w35{width:35%}
.probbar>i.w40{width:40%}
.probbar>i.w45{width:45%}
.probbar>i.w50{width:50%}
.probbar>i.w55{width:55%}
.probbar>i.w60{width:60%}
.probbar>i.w65{width:65%}
.probbar>i.w70{width:70%}
.probbar>i.w75{width:75%}
.probbar>i.w80{width:80%}
.probbar>i.w85{width:85%}
.probbar>i.w90{width:90%}
.probbar>i.w95{width:95%}
.probbar>i.w100{width:100%}
/* فاکتور مرجوعی */
.retbox{border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:12px 0}
.rethead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 14px;background:#f8fafc;border-bottom:1px solid var(--line)}
.retsearch{display:flex;align-items:center;gap:8px}
.retsearch input{width:220px;min-height:34px;padding:5px 10px;font-size:12px}
.retwrap{max-height:44vh;overflow:auto;border:0;border-radius:0;margin:0}
.retwrap thead th{position:sticky;top:0;z-index:1}
.retwrap td.c{text-align:center}
.retwrap input.riQty{width:80px;min-height:32px;padding:4px 6px;text-align:center}
.retwrap input.riChk{width:16px;height:16px}
.retwrap tr.retsel td{background:#fff8e6}
.retwrap td.retamt{font-weight:700}
.retempty{padding:32px 10px!important;text-align:center;color:#94a3b8}
.retfoot{margin-top:4px}
.rettotals{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;background:#fff8e6;border:1px solid #f3e2b8;border-radius:14px}
.rettotals b{font-size:15px}
.rettotals button:disabled{opacity:.4;cursor:not-allowed}
@media (max-width:860px){.retsearch input{width:150px}}
.navgrouphead.hasactive{color:var(--brand);font-weight:900}
.pagerrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.pagerrow input{width:90px;min-height:34px;padding:4px 8px}
.pagerrow button:disabled{opacity:.4;cursor:not-allowed}
.edithead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px;background:#fff8e6;border:1px solid #f3e2b8;border-radius:14px}
/* تقویم ماهانه */
.calnav select{width:auto;min-height:34px;padding:4px 10px}
.calgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:14px}
.calhead{text-align:center;font-weight:800;font-size:12px;color:var(--muted,#64748b);padding:4px 0}
.calcell{min-height:96px;border:1px solid var(--line);border-radius:12px;padding:6px;display:flex;flex-direction:column;gap:4px;background:#fff;min-width:0}
.calcell.empty{background:transparent;border-style:dashed;opacity:.4}
.calcell.today{border-color:var(--brand);box-shadow:0 0 0 2px rgba(204,38,48,.15)}
.calday{font-weight:800;font-size:12px}
.calchip{display:block;width:100%;text-align:right;font-size:11px;padding:3px 6px;border-radius:8px;border:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:0;cursor:pointer}
.calchip.normal{background:#eef2f8;color:#334155}.calchip.high{background:#fde8e8;color:#b42318}.calchip.low{background:#f1f5f9;color:#64748b}
.calchip.over{background:#c0392b;color:#fff}.calchip.done{background:#e3f5ec;color:#0d8a5f;text-decoration:line-through}
.callegend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;margin-top:12px;align-items:center}
.callegend span{display:inline-flex;align-items:center;gap:6px}
.calchip-dot{width:10px;height:10px;border-radius:3px;display:inline-block}
.calchip-dot.today{border:2px solid var(--brand)}.calchip-dot.over{background:#c0392b}.calchip-dot.high{background:#fde8e8;border:1px solid #b42318}.calchip-dot.normal{background:#eef2f8;border:1px solid #94a3b8}.calchip-dot.low{background:#f1f5f9;border:1px solid #cbd5e1}.calchip-dot.done{background:#e3f5ec;border:1px solid #0d8a5f}
@media (max-width:860px){.calcell{min-height:64px;padding:3px}.calchip{font-size:10px;padding:2px 3px}}
/* گردش کالا */
#mvSearch{width:100%}
.mvresults{display:flex;flex-direction:column;gap:4px;margin-top:8px;max-height:60vh;overflow:auto}
.mvitem{display:flex;justify-content:space-between;gap:10px;text-align:right;width:100%;background:#fff;border:1px solid var(--line)}
.mvfilter{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:6px}
.mvfilter input{width:170px}
/* داشبورد و گزارش‌ها */
.kpi8{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:860px){.kpi8{grid-template-columns:repeat(2,minmax(0,1fr))}}
.chartgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.chartgrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.chartgrid h3,.panel h3{font-size:13px;margin:6px 0 10px}
@media (max-width:860px){.chartgrid,.chartgrid.two{grid-template-columns:1fr}}
.barlist{display:flex;flex-direction:column;gap:7px}
.barrow{display:grid;grid-template-columns:minmax(70px,120px) 1fr auto;gap:8px;align-items:center;font-size:12px}
.barlbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bartrack{height:10px;background:#eef2f8;border-radius:99px;overflow:hidden}
.bartrack i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-2));border-radius:99px}
.barval{font-size:12px;min-width:34px;text-align:left}
.colchart{display:flex;align-items:flex-end;gap:4px;height:170px;overflow-x:auto;padding-bottom:4px}
.colitem{flex:1 0 26px;display:flex;flex-direction:column;align-items:center;gap:3px;height:100%}
.coltrack{flex:1;width:70%;display:flex;align-items:flex-end;background:#f4f6fb;border-radius:6px}
.coltrack i{display:block;width:100%;background:var(--brand);border-radius:6px 6px 0 0;min-height:2px}
.colval{font-size:10px;color:#475569;white-space:nowrap}
.collbl{font-size:10px;color:#64748b;white-space:nowrap}
.bigpct{font-size:44px;font-weight:900;color:var(--brand);line-height:1.2}
.hero{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}
@media (max-width:860px){.hero{grid-template-columns:1fr}}
.hero h2{margin:4px 0 6px}
.herostats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
@media (max-width:520px){.herostats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.herostats div,.todaygrid div{background:#f4f6fb;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:2px}
.herostats b,.todaygrid b{font-size:20px}
.herotop{display:flex;flex-direction:column;gap:8px}
.topopp{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:right;width:100%;background:#fff;border:1px solid var(--line)}
.todaygrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
@media (max-width:860px){.todaygrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.taskrow .actions{display:flex;gap:6px;flex-wrap:wrap}
.chartgrid>div{min-width:0}.colitem{flex:1 0 20px}
.settleterms{border:1.5px solid var(--brand);border-radius:14px;padding:12px 16px;margin-top:12px;display:flex;flex-direction:column;gap:6px}
.sttitle{font-weight:900;margin-bottom:4px}
.stline{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding-bottom:4px}
.stline.sub{padding-right:18px;font-size:12.5px;color:#475569}
@media print{.settleterms{border-color:#333}}
.invoicedoc .invorg{color:var(--invc,#cc2630)}
.invoicedoc .totalsbar b{color:var(--invc,#cc2630)}
.invoicedoc .settleterms{border-color:var(--invc,#cc2630)}
.linklike{background:none;border:0;padding:0;min-height:0;color:var(--brand);text-decoration:underline;cursor:pointer;font:inherit}

/* عرض/ارتفاع نمودارها بدون استایل درون‌خطی (CSP) */
.pw0{width:0%}
.pw5{width:5%}
.pw10{width:10%}
.pw15{width:15%}
.pw20{width:20%}
.pw25{width:25%}
.pw30{width:30%}
.pw35{width:35%}
.pw40{width:40%}
.pw45{width:45%}
.pw50{width:50%}
.pw55{width:55%}
.pw60{width:60%}
.pw65{width:65%}
.pw70{width:70%}
.pw75{width:75%}
.pw80{width:80%}
.pw85{width:85%}
.pw90{width:90%}
.pw95{width:95%}
.pw100{width:100%}
.ph0{height:0%}
.ph5{height:5%}
.ph10{height:10%}
.ph15{height:15%}
.ph20{height:20%}
.ph25{height:25%}
.ph30{height:30%}
.ph35{height:35%}
.ph40{height:40%}
.ph45{height:45%}
.ph50{height:50%}
.ph55{height:55%}
.ph60{height:60%}
.ph65{height:65%}
.ph70{height:70%}
.ph75{height:75%}
.ph80{height:80%}
.ph85{height:85%}
.ph90{height:90%}
.ph95{height:95%}
.ph100{height:100%}
.bartrack i.pw0{width:2px}.coltrack i.ph0{height:2px}
/* ===== نسخه ۱۸: موبایل ویزیتور، مسیر من، برعهده گرفتن ===== */
.bottomnav{display:none}
.btnlike{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--text);text-decoration:none;font-size:13px;font-weight:600;min-height:36px}
.btnlike:hover{background:#f3f4f6}
.claimbtn{background:#ecfdf5!important;color:#047857!important;border:1px solid #a7f3d0!important;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;margin-top:4px}
.claimbtn:hover{background:#d1fae5!important}
.mrfilter{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:10px;align-items:end}
.chiprow{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chipbtn{border-radius:999px;padding:6px 14px;font-size:13px;background:#fff;border:1px solid var(--line)}
.chipbtn.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.mrgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:12px}
.mrcard{background:#fff;border:1px solid var(--line);border-right:4px solid var(--ink-300);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0}
.mrcard.own{border-right-color:#16a34a}
.mrcard.free{border-right-color:#f59e0b}
.mrtop{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.mrname{font-size:15px;font-weight:800;text-align:right}
.mrmeta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12.5px;color:var(--muted)}
.mraddr{font-size:12.5px;color:var(--text);background:#f8fafc;border-radius:8px;padding:6px 8px;overflow-wrap:anywhere}
.mractions{display:flex;flex-wrap:wrap;gap:6px}
.mractions>*{flex:1 1 auto}
.mractions .claimbtn{margin-top:0;border-radius:10px;padding:8px 10px}
.regionchips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.rchip{display:inline-flex;align-items:center;gap:6px;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:3px 6px 3px 10px;font-size:12.5px}
.rchip button{border:0;background:transparent;padding:0 4px;font-size:16px;line-height:1;color:#b91c1c;min-height:0}
.regionadd{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;gap:8px}
@media(max-width:700px){
  .shell{padding:8px 8px 76px}
  .bottomnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:35;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(13,33,73,.08);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}
  .bottomnav button{display:flex;flex-direction:column;align-items:center;gap:2px;background:transparent;border:0;border-radius:10px;padding:6px 2px;font-size:11px;color:var(--muted);min-height:52px;box-shadow:none}
  .bottomnav button .bi{font-size:19px;line-height:1}
  .bottomnav button.active{color:var(--brand);background:#fdf2f2;font-weight:800}
  .mrfilter{grid-template-columns:1fr}
  .mrgrid{grid-template-columns:1fr}
  .regionadd{grid-template-columns:1fr}
  .sitefoot{padding-bottom:8px}
  .topbtns .chip{display:none}
}
.mt8{margin-top:8px}.cellpad{text-align:center;padding:18px}.w170{width:170px}
@media(max-width:700px){.detailsgrid{grid-template-columns:1fr 1fr}.detailsgrid>div{min-width:0;overflow-wrap:anywhere}}
/* نسخه ۱۹: دسترسی‌های دقیق */
.permbox .cardhead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.permgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin-top:10px}
.permgroup{border:1px solid var(--line);border-radius:12px;padding:8px 12px 10px;margin:0;min-width:0;background:#fbfcfe}
.permgroup legend{font-weight:800;font-size:13px;padding:0 6px;color:var(--ink)}
.permitem{display:flex;align-items:flex-start;gap:6px;font-size:12.5px;margin:5px 0;line-height:1.6}
.permitem input{margin-top:4px;flex:0 0 auto}
@media(max-width:700px){.permgrid{grid-template-columns:1fr}}
/* نسخه ۲۱: عکس پروفایل، دستیار گزارش */
.av{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;object-fit:cover;flex:0 0 auto;background:var(--brand);color:#fff;font-weight:800}
.avini{background:linear-gradient(135deg,var(--brand),var(--brand-3))}
.useravatar.av{width:40px;height:40px;font-size:16px}
.chipavatar{width:22px;height:22px;font-size:11px;vertical-align:middle}
.userchip{display:inline-flex;align-items:center;gap:6px}
.tableavatar{width:30px;height:30px;font-size:13px}
.namewithav{display:inline-flex;align-items:center;gap:8px}
.avatarbig{width:84px;height:84px;font-size:32px;box-shadow:0 4px 14px rgba(13,33,73,.18)}
.avatarrow{display:flex;align-items:center;gap:16px;margin:6px 0 14px}
.avatarrow>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.avatarrow p{flex-basis:100%;margin:0}
.filebtn{cursor:pointer}
.hiddenfile{display:none}
.askcat{margin-top:10px}
.askcat>b{font-size:13px;color:var(--muted)}
.askcat .chiprow{margin-top:6px}
.askform .askrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:10px}
.asktotal{font-size:15px;background:#f1f5f9;border-radius:10px;padding:8px 12px}
@media print{.sidebar,.topbar,.bottomnav,.sitefoot,.askform,.askcat,[data-askcustom]{display:none!important}}
.smsmsg{white-space:pre-line;display:block;min-width:220px;font-size:12.5px;line-height:1.7}
/* نسخه ۲۴: کاتالوگ فروشگاه */
.catcards{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));margin-bottom:14px}
.cardbtn{text-align:right;cursor:pointer;font:inherit;padding:14px}
.cardbtn .metric{font-size:22px}
.cardbtn.on{border-color:var(--brand);box-shadow:0 0 0 2px rgba(192,57,43,.15)}
.pthumb{width:48px;height:48px;object-fit:contain;border-radius:10px;border:1px solid var(--line);background:#fff;display:inline-flex;align-items:center;justify-content:center}
.pbig{width:120px;height:120px;object-fit:contain;border-radius:14px;border:1px solid var(--line);background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:30px}
.noimg{color:#c0c6d0;background:#f8fafc}
.pimgbox{display:flex;gap:14px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.bulkrow{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.bulkrow>select,.bulkrow>input{width:auto;min-width:170px}
.bulkrow label{flex:1;min-width:180px}
.bulkrow label.inlinecheck{flex:0 0 auto;min-width:0}
.carpick{display:flex;flex-wrap:wrap;gap:6px 14px;max-height:180px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;margin:6px 0 10px}
.catind.d1{padding-right:18px}.catind.d2{padding-right:36px}.catind.d3{padding-right:54px}
.notice.good{background:#eafaf4;border-color:#bfe8d8;color:#1c6f5a}
.notice.warn{background:#fdeeee;border-color:#f3c6c6;color:#a13a3a}
.center{text-align:center}
.catbulk{margin:12px 0}
@media (max-width:700px){.bulkrow>select,.bulkrow>input{min-width:0;width:100%}.pthumb{width:40px;height:40px}}
.pimgbox input[type=file]{display:none}
.pimgbox label.btnlike{cursor:pointer;display:inline-block}
.pname{display:flex;flex-direction:column;gap:2px;min-width:160px}
@media (max-width:700px){.catcards{grid-template-columns:repeat(3,1fr);gap:8px}.catcards .cardbtn{padding:9px 10px;border-radius:12px}.catcards .cardbtn span{font-size:11px}.catcards .metric{font-size:17px}}
/* نسخه ۲۵: باشگاه مشتریان */
.gradegrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.seggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.tag.grade{font-size:13px;padding:4px 12px;letter-spacing:.5px}
.tag.gAp{background:#fdeeee;color:#a13a3a}.tag.gA{background:#eef4ff;color:#2f5aa8}.tag.gB{background:#eafaf4;color:#1c6f5a}.tag.gC{background:#fff8e6;color:#956819}.tag.gD{background:#f1f3f6;color:#5b6573}
.metric.small2{font-size:15px}
.clubcard .cards{grid-template-columns:repeat(4,1fr)}
b.danger{color:#c0392b}
@media (max-width:700px){.gradegrid{grid-template-columns:repeat(3,1fr)}.clubcard .cards{grid-template-columns:repeat(2,1fr)}}
/* نسخه ۲۶: مرکز فرمان مدیر */
.cmdhero{margin-bottom:12px}
.cmdcards{grid-template-columns:repeat(4,1fr);margin-bottom:14px}
.cmdcard .metric{font-size:19px}
.warncard{border-color:#f3c6c6;background:#fffafa}
.cmdgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.cmdkv{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:8px}
.cmdkv>div,.kvbtn{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;text-align:right;font:inherit}
.kvbtn{cursor:pointer}.kvbtn:hover{border-color:var(--brand)}
.kvbtn b,.cmdkv>div b{font-size:16px}
.paybar{height:10px;border-radius:99px;background:#eef2f7;overflow:hidden;margin-top:10px}
.paybar i{display:block;height:100%;width:0;background:#1c8f6a;border-radius:99px}
.linkbtn{background:transparent;border:0;color:var(--brand);font-weight:700;cursor:pointer}
@media (max-width:900px){.cmdgrid{grid-template-columns:1fr}.cmdcards{grid-template-columns:repeat(2,1fr)}}
/* نسخه ۲۷: هدف و پورسانت */
.tgbar{height:8px;border-radius:99px;background:#eef2f7;overflow:hidden;min-width:90px;margin:4px 0 2px}
.tgbar i{display:block;height:100%;width:0;border-radius:99px;transition:width .4s}
.tgbar i.ok{background:#1c8f6a}.tgbar i.mid{background:#d99a1e}.tgbar i.low{background:#c0392b}
.tgmine{margin-bottom:14px;border-right:4px solid var(--brand)}
.tablewrap input[type=number]{max-width:160px}

/* نسخه ۲۸: سفارش‌های سایت */
.navcount{margin-inline-start:auto;background:var(--brand);color:#fff;border-radius:99px;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.subpanel{background:#f8fafd;box-shadow:none;margin:10px 0;padding:12px 14px}
#soPick{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.bannerthumb{width:100%;max-height:160px;object-fit:cover;border-radius:12px;margin:6px 0 10px;border:1px solid var(--line)}
.sotimeline{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.shiprow{grid-template-columns:1.2fr .8fr .8fr 1.6fr auto!important;align-items:end;border-bottom:1px dashed var(--line);padding-bottom:8px;margin-bottom:8px}
@media (max-width:760px){.shiprow{grid-template-columns:1fr 1fr!important}}

.soacts{display:flex;flex-direction:column;gap:6px;align-items:stretch}.soacts button{white-space:nowrap;padding:7px 12px;font-size:12.5px}
.tablewrap:has(.soacts) table{white-space:normal}.tablewrap:has(.soacts) td{vertical-align:middle}

/* نسخه ۳۵: پیشنهاد کالا با موجودی هر انبار */
.psearch .presults:has(.pitem){max-height:380px;min-width:min(560px,90vw)}
.pitem{display:flex;flex-direction:column;gap:3px;border-bottom:1px solid #eef2f8;border-radius:0}
.pitem .pline{display:flex;justify-content:space-between;gap:10px}
.pstock{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
.pwh{font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:7px;background:#eef2f8;color:#34425f}
.pwh.raw,.pwh.raw.ok,.pwh.raw.no{background:#eef2f8;color:#34425f}.pwh.ok{background:#e7f6ec;color:#17693a}.pwh.no{background:#fdecec;color:#a32d2d}.pwh.tot{background:#e8eefb;color:#1f2d5c}
.pnone{padding:8px 10px;margin:0}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield;appearance:textfield}
.itemedit{background:#fff7e0 !important}

.stagecell{display:flex;flex-direction:column;gap:5px;align-items:flex-start;min-width:140px;white-space:normal}
.stagecell .stbtn{white-space:nowrap;padding:6px 11px;font-size:12.5px}
.stagecell .stbtn.mini{padding:2px 8px;font-size:11.5px}
.stagecell .locs{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.stagecell .loc{font-size:12px;font-weight:700;color:#5a6780}.stagecell .loc.ok{color:#17693a}
.tag.amber{background:#fff3d6;color:#8a5a00}.tag.green{background:#e7f6ec;color:#17693a}
.stagebox{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#f8fafd}
.stagebox .sttl{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.stagebox .sttl div{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline}
.inboxbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.inboxchip{font-weight:800;border-radius:12px;padding:9px 14px}
.inboxchip.amber{background:#fff3d6;border-color:#f0c96b;color:#8a5a00}.inboxchip.blue{background:#e8eefb;border-color:#b5c6ee;color:#1f2d5c}.inboxchip.green{background:#e7f6ec;border-color:#9fd8b3;color:#17693a}
.notice.red{background:#fdecec;color:#a32d2d;border-color:#f3b7b7}

.invacts{display:grid;grid-template-columns:repeat(2,auto);gap:5px;justify-content:start}
.invacts button{white-space:nowrap;padding:6px 10px;font-size:12.5px}
.tablewrap:has(.stagecell) table{white-space:normal}
.tablewrap:has(.stagecell) td{vertical-align:middle}

.replacebox{display:block;padding:10px 12px;border:1px solid #f3b7b7;background:#fdecec;border-radius:12px;margin-bottom:8px}
button.danger{background:#a32d2d !important;color:#fff !important}
.tablewrap:has(.pstock) table{white-space:normal}.tablewrap:has(.pstock) td .pstock{min-width:150px}
/* نسخه ۳۷: صفحه‌ی موجودی انبار */
.stfilter{padding:16px 18px}
.stgrid{display:grid;grid-template-columns:minmax(260px,2.2fr) repeat(5,minmax(130px,1fr));gap:10px;align-items:end}
.stgrid label{font-size:12px;margin:0}
.stgrid input,.stgrid select{margin-top:5px}
.stbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.stbtns{display:flex;gap:8px;flex-wrap:wrap}
.stpanel{padding:10px 12px}
.stcount{margin:2px 4px 8px}
.stocktbl{table-layout:fixed;width:100%;white-space:normal}
.stocktbl th{padding:10px 8px;font-size:11.5px;white-space:nowrap}
.stocktbl td{padding:7px 8px;font-size:12.5px;vertical-align:middle;line-height:1.55}
.stocktbl col.c-code{width:108px}.stocktbl col.c-grp{width:13%}.stocktbl col.c-dep{width:9%}.stocktbl col.c-brand{width:9%}
.stocktbl col.c-price{width:118px}.stocktbl col.c-st{width:70px}.stocktbl col.c-act{width:112px}
.stocktbl td.stname{font-weight:600;color:var(--ink)}
.stocktbl td:nth-child(3),.stocktbl td:nth-child(4),.stocktbl td:nth-child(5){color:#56657f;font-size:12px}
.stocktbl .num{text-align:center;font-variant-numeric:tabular-nums}
.stocktbl th:nth-child(n+6){text-align:center}
.stn{font-weight:800}.stn.ok{color:#17693a}.stn.zero{color:#9aa6bb;font-weight:600}.stn.neg{color:#c0262d}
.stacts{white-space:nowrap;text-align:center}
.stacts button{padding:4px 7px;min-height:0;font-size:13px;margin:0 1px;border-radius:8px}
.stocktbl tbody tr:hover{background:#f6f9fe}
.stmore{display:flex;gap:8px;justify-content:center;margin:12px 0 4px}
.stcols{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:10px 0}
@media (max-width:1280px){.stgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.stgrid .stq{grid-column:1/-1}}
@media (max-width:700px){.stgrid{grid-template-columns:1fr 1fr}.stocktbl{min-width:760px}}
#printList{display:none}
@media print{
  body.printing-list > *:not(#printList){display:none!important}
  body.printing-list #printList{display:block}
  #printList{font-size:11px;color:#000}
  .plhead{display:flex;gap:14px;align-items:center;border-bottom:2px solid #1f2d5c;padding-bottom:8px;margin-bottom:8px}
  .plhead img{height:56px}
  .plorg{font-size:16px;font-weight:800;color:#1f2d5c}.pltitle{font-size:14px;font-weight:700;margin:2px 0}
  .pltable{width:100%;border-collapse:collapse;white-space:normal}
  .pltable th{background:#1f2d5c!important;color:#fff!important;padding:5px;font-size:10.5px;border:1px solid #1f2d5c;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pltable td{padding:4px 5px;border:1px solid #bbb;font-size:10.5px}
  .pltable td.n{text-align:center;white-space:nowrap}
  .pltable tr:nth-child(even) td{background:#f3f5f9!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pltable thead{display:table-header-group}
  .pltable tr{page-break-inside:avoid}
  .plnote{margin-top:6px;font-size:10px}
  @page{size:A4;margin:10mm}
}
.stocktbl td.ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stocktbl td.stname .nm{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* نسخه ۳۸: عنوان ستون قابل مرتب‌سازی */
.tablewrap th{cursor:pointer;user-select:none;position:relative}
.tablewrap th.nosort,.invoicedoc th,form[data-form="invoice"] th,.retwrap th,.previewtable th{cursor:default}
.tablewrap th:hover{background:#e3eaf5}
.tablewrap th.nosort:hover,.invoicedoc th:hover,form[data-form="invoice"] th:hover{background:inherit}
.tablewrap th.sorted::after{content:' ▲';font-size:10px;color:#cc2630}
.tablewrap th.sorted.desc::after{content:' ▼'}

.exmain{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.exopt{display:flex;gap:10px;align-items:flex-start;border:2px solid var(--line);border-radius:14px;padding:12px;cursor:pointer;margin:0}
.exopt:has(input:checked){border-color:#17693a;background:#eef9f1}
.exopt input{width:20px;height:20px;margin-top:2px;flex:none}
.exopt span{display:flex;flex-direction:column;gap:3px}.exopt small{color:#6b7891;font-size:11.5px}
.exsub{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:#f6f8fc;border-radius:12px;margin-bottom:8px}
.exsub[hidden]{display:none}
@media (max-width:600px){.exmain{grid-template-columns:1fr}}
.exsub label.inlinecheck{display:flex;align-items:center;gap:8px;margin:0;font-weight:600}
.exsub input[type=radio]{width:18px;height:18px;min-height:0;flex:none;margin:0;padding:0;box-shadow:none}
.exsub label.inlinecheck:has(input:focus-visible){outline:2px solid #1f2d5c}
/* ——— نسخه ۳۹ ——— */
.xseg{flex-wrap:wrap}.xcnt{background:#e8eefb;color:#1f2d5c;border-radius:8px;padding:0 6px;font-size:11px;margin-inline-start:4px}
.xchat{display:grid;grid-template-columns:340px minmax(0,1fr);gap:0;padding:0;overflow:hidden;min-height:560px}
.xchatlist{border-inline-end:1px solid var(--line);display:flex;flex-direction:column;min-height:0}
.xchatfilter{padding:12px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line)}
.xthlist{overflow:auto;max-height:620px}
.xth{display:flex;flex-direction:column;gap:4px;width:100%;text-align:right;border:0;border-bottom:1px solid #eef2f8;border-radius:0;padding:11px 14px;background:#fff;min-height:0}
.xth:hover{background:#f6f9fe}.xth.on{background:#eef3fd;box-shadow:inset -3px 0 0 #cc2630}.xth.unread b{color:#cc2630}
.xthtop{display:flex;justify-content:space-between;gap:8px}.xthtop small{color:#8a96ad;font-size:11px}
.xthtext{font-size:12px;color:#56657f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xthmeta{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.xchatbox{display:flex;flex-direction:column;min-height:560px;background:#f7f9fc}
.xchatempty{margin:auto;color:#8a96ad}
.xchathead{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap}
.xchatacts{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.xchatacts select{max-width:180px}
.xmsgs{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;max-height:470px}
.xmsg{display:flex;flex-direction:column;max-width:75%;align-self:flex-end}.xmsg small{font-size:10.5px;color:#8a96ad;margin-top:3px}
.xmsg.staff{align-self:flex-start}.xmsg.system{align-self:center;max-width:90%}
.xbub{background:#fff;border:1px solid #e3e9f3;border-radius:14px 14px 14px 4px;padding:9px 12px;line-height:1.8;font-size:13px;white-space:normal;word-break:break-word}
.xmsg.staff .xbub{background:#1f2d5c;color:#fff;border-color:#1f2d5c;border-radius:14px 14px 4px 14px}
.xmsg.system .xbub{background:#fff7e0;border-color:#f0dca0;font-size:12px}
.xchatform{display:flex;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid var(--line)}.xchatform textarea{flex:1;resize:none;min-height:44px}
@media (max-width:900px){.xchat{grid-template-columns:1fr}.xthlist{max-height:260px}}
.xlate{color:#c0262d;font-weight:800}
.cardred{border-color:#f3b7b7;background:#fff5f5}
.xhist{display:flex;flex-direction:column;gap:5px;padding:10px;background:#f6f8fc;border-radius:12px;margin:8px 0}
.xaud{border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:10px 0}.xaud [hidden]{display:none}
.xaudcount{margin-top:8px}
.xpre{background:#f6f8fc;border-radius:12px;padding:10px 12px;line-height:1.9}
.xsegcard{text-align:right;cursor:pointer}.xsegcard.on{border:2px solid #cc2630}
.xidgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;margin-top:12px}
.xidcard{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}
.xdocs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.xdoc{display:flex;flex-direction:column;align-items:center;gap:4px;width:110px;font-size:11.5px;text-decoration:none;color:inherit}
.xdoc img{width:110px;height:80px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.xidact{display:flex;flex-direction:column;gap:6px}
.xartthumb{width:64px;height:44px;object-fit:cover;border-radius:8px}
.xtoolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}.xtoolbar button{padding:4px 10px;min-height:0;font-size:12px}
.xpayact{display:flex;flex-direction:column;gap:5px;min-width:200px}
.xbank{border-top:1px dashed var(--line);padding-top:8px;margin-top:8px}
fieldset{border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:0 0 12px}legend{font-weight:800;padding:0 6px}
/* نسخه ۴۰ — تلفن و اتصال سپیدار */
.filterbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.filterbar input[type=search]{flex:1;min-width:180px}.filterbar select{width:auto}
.pager{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:10px}
.nowrap{white-space:nowrap}.rowacts{display:flex;flex-wrap:nowrap;gap:4px}.rowacts button{white-space:nowrap}.errtext{color:#b3261e}.errbox{background:#fdeeee;border:1px solid #f3c6c6;border-radius:10px;padding:8px 10px;margin-top:8px;color:#a13a3a}
.bigcheck{font-size:14px}.tokbox{background:#101828;color:#e7ecf5;border-radius:10px;padding:12px;font-family:monospace;font-size:13px;word-break:break-all;margin:10px 0;user-select:all}
.sepb{margin-top:5px;font-size:11.5px;border-radius:8px;padding:2px 8px;display:inline-block;background:#f1f3f7;color:#44506b}
.sepb.ok{background:#eafaf4;color:#1c6f5a}.sepb.wait{background:#fff8e6;color:#795e24}.sepb.err{background:#fdeeee;color:#a13a3a}.sepb.lock{background:#1f2d5c;color:#fff}
#callPops{position:fixed;left:16px;top:96px;z-index:60;display:flex;flex-direction:column;gap:10px;width:320px;max-width:calc(100vw - 32px)}
.callpop{background:#fff;border-radius:16px;box-shadow:0 12px 36px rgba(16,24,40,.28);padding:14px 16px;border-top:5px solid #cc2630;animation:cpin .25s ease-out}
.callpop.answered{border-top-color:#2563eb}.callpop.gone{opacity:.55}
.callpop.ringing{animation:cpin .25s ease-out,cpring 1.2s ease-in-out infinite}
@keyframes cpin{from{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}
@keyframes cpring{0%,100%{box-shadow:0 12px 36px rgba(16,24,40,.28)}50%{box-shadow:0 0 0 6px rgba(204,38,48,.25),0 12px 36px rgba(16,24,40,.28)}}
.cptop{display:flex;align-items:center;gap:8px}.cptop b{flex:1}.cptop .close{background:none;border:0;font-size:20px;line-height:1;cursor:pointer;color:#667085;padding:0 4px}
.cpnum{font-size:20px;font-weight:700;margin:6px 0 2px;text-align:right}.cpname{font-size:15px;font-weight:700;margin-bottom:2px}
.cpacts{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.cpacts button{flex:1}
@media print{#callPops{display:none}}
@media (max-width:760px){#callPops{top:10px;left:10px;right:10px;width:auto;max-width:none}}

/* v45 dues */
.paymentrow .paydue{max-width:160px;min-width:120px}
[data-durange]{cursor:pointer}
.card.duactive{outline:2px solid #2563eb;outline-offset:-2px}

/* v46 notify */
.ntfbell{position:relative;font-size:17px;min-width:40px}
.ntfbell .ntfcount{position:absolute;top:-7px;left:-7px;background:#dc2626;color:#fff;border-radius:999px;font-size:11px;line-height:18px;min-width:18px;padding:0 5px;font-weight:700}
.ntfbell.ntfhas{border-color:#fca5a5}
.ntfpulse{animation:ntfp .8s ease-in-out 4}
@keyframes ntfp{0%,100%{transform:rotate(0)}25%{transform:rotate(-16deg)}75%{transform:rotate(16deg)}}
.ntfpanel{position:fixed;z-index:90;width:360px;max-width:calc(100vw - 16px);max-height:70vh;overflow:auto;background:#fff;color:#111827;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 14px 36px rgba(0,0,0,.2)}
.ntfhead{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #f1f5f9}
.ntfitem{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:11px 12px;border:0;border-bottom:1px solid #f1f5f9;background:none;text-align:right;cursor:pointer;font:inherit;color:inherit}
.ntfitem:hover{background:#f8fafc}
.ntfitem b{background:#fee2e2;color:#b91c1c;border-radius:999px;padding:0 9px;white-space:nowrap}
/* v46 receipts */
.rcline select,.rcline input{width:100%}
.rcline button[data-rcdelline]{height:38px}
[data-rcst]{cursor:pointer}

.hidden{display:none!important}
.cxacts{flex-wrap:wrap;gap:4px}
.cxacts button{font-size:.78rem;padding:4px 7px;white-space:nowrap}
.errtext{color:#b91c1c}
.wrapacts{flex-wrap:wrap}
.mt10{margin-top:10px}
.my6{margin:6px 0}
.pad10{padding:10px}
.pad610{padding:6px 10px}
.maxw150{max-width:150px}
.rcline{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;align-items:end;border:1px solid #e5e7eb;border-radius:10px;padding:10px;margin-bottom:8px}
.vsum{cursor:pointer;padding:6px 2px}

/* ===== نسخه ۵۶ — قالب چاپی فاکتور (A4، مطابق نمونه‌ی رسمی) ===== */
.i2top{text-align:center;color:#cc0000;font-weight:800;font-size:15px;padding:2px 0 6px}
.i2soft{text-align:center;color:#cc0000;font-weight:800;font-size:13px;padding:7px 0 3px}
.i2bot{display:flex;align-items:center;justify-content:center;gap:10px;color:#16365c;font-weight:700;font-size:12.5px;padding:2px 0 4px}
.i2bot img{height:26px;width:auto}
.i2doc{border:1px solid #000;background:#fff;color:#000;font-size:12.5px;line-height:1.7;direction:rtl;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.i2doc *{box-sizing:border-box}
.i2doc bdi{unicode-bidi:isolate}
.i2head,.i2row{display:flex;align-items:stretch;border-bottom:1px solid #000}
.i2hc{flex:1 1 0;min-width:0;padding:6px 7px;border-left:1px solid #000;overflow:hidden;word-wrap:break-word;display:flex;align-items:center;gap:4px}
.i2hc b{white-space:nowrap}
.i2head .i2hc:last-child,.i2row .i2hc:last-child{border-left:0}
.i2c28{flex:0 0 28%}.i2c34{flex:0 0 34%}.i2c38{flex:0 0 38%}.i2c72{flex:0 0 72%}
.i2logo{width:160px;flex:0 0 160px;display:flex;align-items:center;justify-content:center;padding:3px;border-left:1px solid #000}
.i2logo img{max-height:44px;max-width:100%}
.i2band{background:#b6e3c6;text-align:center;font-weight:800;padding:6px;border-bottom:1px solid #000}
.i2yellow{background:#ffffcc}
.i2green{background:#b6e3c6}
.i2tbl{width:100%;border-collapse:collapse;table-layout:fixed}
.i2tbl th{background:#b6e3c6;font-weight:800}
.i2tbl th,.i2tbl td,.i2pay th,.i2pay td{font-family:inherit;font-size:12.5px;font-variant-numeric:normal}
.i2tbl th,.i2tbl td{border:1px solid #000;padding:5px 4px;text-align:center;word-wrap:break-word;vertical-align:middle}
.i2tbl td.i2name{text-align:right}
.i2tbl td.i2wh{background:#ffffcc;font-weight:800;color:#8a0000}
.i2tbl .w1{width:6%}.i2tbl .w2{width:11%}.i2tbl .w3{width:24%}.i2tbl .w4{width:6%}.i2tbl .w5{width:11%}.i2tbl .w6{width:9%}.i2tbl .w7{width:12%}.i2tbl .w8{width:11%}.i2tbl .w9{width:10%}
.i2tbl.nowh .w1{width:6.7%}.i2tbl.nowh .w2{width:12.2%}.i2tbl.nowh .w3{width:26.7%}.i2tbl.nowh .w4{width:6.7%}.i2tbl.nowh .w5{width:12.2%}.i2tbl.nowh .w6{width:10%}.i2tbl.nowh .w7{width:13.3%}.i2tbl.nowh .w8{width:12.2%}
.i2tbl td.i2hdrcell{border:0;padding:0;text-align:inherit;background:none;white-space:normal}
.i2mid{display:flex;align-items:stretch;border-bottom:1px solid #000}
.i2paybox{flex:1 1 0;min-width:0;padding:5px;border-left:1px solid #000;display:flex}
.i2pay{width:100%;height:100%;border-collapse:collapse}
.i2pay th,.i2pay td{border:1px solid #000;padding:4px 6px;text-align:right}
.i2pay th{background:#b6e3c6;text-align:center;font-weight:800}
.i2pay td.i2num{text-align:center;width:42%;white-space:nowrap}
.i2sums{flex:0 0 46%;padding:5px;display:flex;flex-direction:column;gap:5px}
.i2sumrow{display:flex;gap:5px;flex:1 1 0}
.i2sumlbl{flex:1 1 0;border:1px solid #000;padding:4px 6px;text-align:center;display:flex;align-items:center;justify-content:center}
.i2sumval{flex:1 1 0;border:1px solid #000;padding:4px 6px;text-align:center;white-space:nowrap;display:flex;align-items:center;justify-content:center}
.i2sumval.i2red{color:#cc0000;font-weight:800}
.i2faddr{color:#cc0000;text-align:center;padding:5px 6px;border-bottom:1px solid #000}
.i2fphone{text-align:center;padding:5px 6px;border-bottom:1px solid #000;direction:ltr}
.i2ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}
.i2fbank{display:flex;justify-content:space-around;align-items:center;gap:10px;padding:5px 6px;flex-wrap:wrap}
@media print{
  .invoicedoc.inv2{font-size:11px;width:100%;max-width:100%;margin:0 auto}
  .i2doc{font-size:11px;line-height:1.5}
  .i2tbl th,.i2tbl td,.i2pay th,.i2pay td{font-size:11px}
  .i2tbl th,.i2tbl td{padding:3.5px 3px}
  .i2pay th,.i2pay td{padding:3.5px 6px}
  .i2tbl td{white-space:nowrap}
  .i2tbl td.i2name{white-space:normal}
  .i2tbl .w1{width:6%}.i2tbl .w2{width:10.5%}.i2tbl .w3{width:19.5%}.i2tbl .w4{width:5.5%}.i2tbl .w5{width:11.5%}.i2tbl .w6{width:8.5%}.i2tbl .w7{width:13%}.i2tbl .w8{width:12%}.i2tbl .w9{width:13.5%}
  .i2tbl.nowh .w1{width:6.9%}.i2tbl.nowh .w2{width:12.1%}.i2tbl.nowh .w3{width:22.5%}.i2tbl.nowh .w4{width:6.4%}.i2tbl.nowh .w5{width:13.3%}.i2tbl.nowh .w6{width:9.8%}.i2tbl.nowh .w7{width:15%}.i2tbl.nowh .w8{width:14%}
  .i2tbl td.i2hdrcell{white-space:normal}
  .i2hc{padding:5px 6px}
  .i2sumval,.i2pay td.i2num{white-space:nowrap}
  .i2tbl thead{display:table-header-group}
  .i2tbl tr,.i2head,.i2band,.i2row,.i2mid,.i2faddr,.i2fphone,.i2fbank{break-inside:avoid;page-break-inside:avoid}
  .i2logo{width:150px;flex:0 0 150px}
  .i2logo img{max-height:40px}
  .i2top{font-size:14px;padding:0 0 4px}
  .i2soft{font-size:12px;padding:5px 0 2px}
  .i2bot{font-size:11px;padding:0}
  .i2bot img{height:22px}
}
/* نسخه ۶۲ — هویت شرکت */
.brandlogos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:14px}
.brandlogobox{border:1px dashed var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.brandlogobox img.brandprev{max-width:100%;max-height:90px;object-fit:contain;background:#f6f7f9;border-radius:10px;padding:6px}
.brandlogobox img.brandicon{width:72px;height:72px;object-fit:cover;border-radius:16px;background:#f6f7f9}
.setupnotice{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
/* نسخه ۶۳ — پیامک لینک فاکتور */
.smsprevbox{margin:10px 0}
pre.smsprev{white-space:pre-wrap;font-family:inherit;background:#f6f8fb;border:1px solid var(--line);border-radius:12px;padding:12px;margin:6px 0;line-height:1.9;font-size:13px;direction:rtl}
details.small summary{cursor:pointer;margin:8px 0;color:var(--text)}
/* نسخه ۶۵ — جعبهٔ جمع‌بندی تسویه در فرم فاکتور */
.settlesum{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:12px 0;background:#f8fafc}
.settlesum.debit{border-color:#f0b4b4;background:#fff6f6}
.settlesum.credit{border-color:#a7d8c4;background:#f3fbf7}
.settlesum.zero{border-color:#bcd0ea;background:#f5f9ff}
.settlesum .ssrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;font-size:13px;flex-wrap:wrap}
.settlesum .ssrow+.ssrow{border-top:1px dashed var(--line)}
.settlesum .ssrow b{white-space:nowrap;font-size:14px}
.settlesum .ssmain b{font-size:16px}
.settlesum.debit .ssmain b{color:#c0272d}
.settlesum.credit .ssmain b{color:#0f7a52}
.settlesum .sstag{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;background:#fff;border:1px solid currentColor}
.settlesum .ssnote{margin:6px 0 0}

.licbanner{margin:0 0 14px;padding:11px 16px;border-radius:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13.5px}
.licbanner.warn{background:#fff7e0;border:1px solid #f0d58a;color:#6b4e00}
.licbanner.bad{background:#fdecee;border:1px solid #f0b4ba;color:#8a1520}
.licbanner button{margin-inline-start:auto;padding:6px 14px}
/* نسخه ۷۵ — مهر شرکت و پرونده‌های مشتری */
.brandempty{display:flex;align-items:center;justify-content:center;min-height:70px;border:1px dashed var(--line,#d5dbe3);border-radius:10px;color:#64748b;font-size:12px}
.cfgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 14px}
.cfusers{width:100%;border-collapse:collapse}
.cfusers th,.cfusers td{padding:6px 4px;border-bottom:1px solid var(--line,#e5e7eb);text-align:right;vertical-align:middle}
.cfusers input,.cfusers select{width:100%;min-width:0}
.cfusers .cfnum{width:28px;color:#64748b}
.cfusers .cfdel{width:36px}
.cfimgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.cfimg{border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.cfimg img{max-width:100%;max-height:80px;object-fit:contain}
.cfstate{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:700;background:#eef2f6;color:#334155}
.cfstate.ok{background:#e3f4ea;color:#1b7f4b}.cfstate.warn{background:#fff1d6;color:#9a6200}.cfstate.bad{background:#fde6e8;color:#a3141f}
.cfsteps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:6px}
.cfstep{border:1px solid var(--line,#e5e7eb);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}
.cfstep h3{margin:0;font-size:15px}
.cfstep.done{border-color:#9fd8b6;background:#f4fbf7}
.cfpw{font-family:Consolas,monospace;direction:ltr;unicode-bidi:isolate;font-weight:700;letter-spacing:.5px}
.cfsheet{background:#fff;color:#111;padding:18px;border:1px solid #ddd;border-radius:10px}
.cfsheet h2{margin:0 0 6px}
.cfsheet table{width:100%;border-collapse:collapse;margin:10px 0}
.cfsheet td,.cfsheet th{border:1px solid #bbb;padding:6px;text-align:right}
@media print{body.printing-cf #app{display:none!important}}
a.btnlike.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.cfcapq{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}

/* صفحهٔ به‌روزرسانی و پاک‌سازی (نسخهٔ ۷۷) */
.updintro{max-width:760px;line-height:2;margin:6px 0 16px}
.dropbox{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 20px;border:2px dashed #e7b9bc;background:#fdf7f7;border-radius:18px;text-align:center;cursor:pointer;transition:.15s}
.dropbox:hover,.dropbox.over{border-color:var(--brand);background:#fdeff0}
.dropbox.has{border-style:solid;border-color:var(--brand);background:#fff}
.dropbox b{font-size:15px;color:var(--text)}
.dropico{font-size:34px;line-height:1}
.dropname{font-weight:800;color:var(--brand-2);min-height:1.4em}
.srfile{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
#updGo[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.cleanlist{display:grid;gap:8px;margin:14px 0 6px}
.cleanrow{display:flex;align-items:center;gap:12px;margin:0;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font-weight:600}
.cleanrow:hover{border-color:var(--brand);background:#fdf7f7}
.cleanrow input{margin:0}
.cleanlbl{flex:1}
.cleanrow .tag{min-width:34px;text-align:center}

.cfbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0 12px}
.cfbar input{flex:1 1 240px;min-width:0}
.cfchips{display:flex;gap:6px;flex-wrap:wrap}
.cfchip{padding:5px 12px;border-radius:99px;font-size:13px}
.cfchip.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.cfqa{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.cfqa button{padding:5px 11px;font-size:13px;white-space:nowrap}
.cftable tr[hidden]{display:none}

/* نسخه ۸۲ — مناطق و کارشناسان */
.trtable td,.trtable th{vertical-align:middle}
.trtable select{min-width:9rem;max-width:14rem}
.trtable tr.trdirty td{background:rgba(245,166,35,.16)}
.trsub{padding-inline-start:1.4rem;color:var(--muted,#667)}
.trflag{margin-inline-start:.6rem;font-weight:400}
.trtools{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.6rem 0}
.trsavebar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;position:sticky;bottom:0;z-index:5}
.notice.trbad{border-color:#b3261e}
.trbox{padding:.5rem .7rem;border:1px dashed var(--line,#c8ccd4);border-radius:10px}
.trinfo.trok{color:#0a7a3d}
.trinfo.trbad{color:#b3261e}
.cresult.cdenied{opacity:.55}

.rcacts{max-width:210px;gap:4px}.rcacts button{padding:4px 8px;font-size:.85rem}
.ntfsnd{padding:6px 10px;font-size:.85rem}.ntfplay{display:block;width:100%;text-align:right;margin:2px 0;padding:4px 8px;font-size:.85rem}
.lgtable td.num,.lgtable th{white-space:nowrap}.lgtable tr.lgopen{background:var(--soft,#f4f6fb);font-weight:600}.lgbd{color:#b3261e;font-weight:700}.lgbs{color:#1b7f3b;font-weight:700}

/* v94: جدول چک‌ها بدون اسکرول افقی + رنگ ردیف‌ها */
.cxwide .tablewrap{overflow-x:visible}
.cxwide table{white-space:normal;table-layout:auto}
.cxwide th,.cxwide td{padding:9px 7px;vertical-align:middle}
.nw{white-space:nowrap}
.cxwide td .number{overflow-wrap:anywhere;word-break:break-all}
.cxwide .cxacts button{padding:4px 8px;font-size:11.5px}
.cxwide tbody tr.cxsep td{background:#e3eeff}
.cxwide tbody tr.cxsep:hover td{background:#d3e4ff}
.cxwide tbody tr.cxpassed td{background:#d9f4e3}
.cxwide tbody tr.cxpassed:hover td{background:#c8edd7}
.cxlegend{display:flex;align-items:center;gap:8px;margin:6px 0}
.cxdot{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid #9bb;margin-inline-start:10px}
.cxd-sep{background:#e3eeff;border-color:#8fb2ec}
.cxd-pass{background:#d9f4e3;border-color:#7ccb9c}

.tablewrap tbody tr.sepblue td{background:#e3eeff}
.tablewrap tbody tr.sepblue:hover td{background:#d3e4ff}

/* v96 shop settings page and product visibility box */
.shopvis{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;margin:0 0 12px;border:2px solid #1f9d55;border-radius:12px;background:#eefaf2}
.shopvis .shopvisbox{font-size:1.05em}
.spx-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.spx-tab{padding:9px 18px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font:inherit}
.spx-tab.on{background:#1f2d5c;color:#fff;border-color:#1f2d5c}
.spx-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.spx-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.spx-col{border:1px solid #e2e8f0;border-radius:12px;padding:10px}
.spx-list{max-height:380px;overflow:auto;display:flex;flex-direction:column;gap:2px}
.spx-row{padding:5px 6px;border-radius:8px}
.spx-row:hover{background:#f1f5f9}
.spx-rule{border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;margin:8px 0;background:#fff}
.spx-rule.off{opacity:.55}
.spx-rhead{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:4px}
.spx-chipbox{margin:10px 0}
.spx-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}
.spx-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;border-radius:999px;background:#e8eefc;font-size:.9em}
.spx-chip button{border:0;background:transparent;cursor:pointer;font-size:1.1em;line-height:1;padding:0 6px}
.spx-prev{margin-top:12px}

/* نسخه ۱۱۱ — نتایج جست‌وجوی فاکتور خرید */
.puitem{display:flex;flex-direction:column;gap:3px;border-bottom:1px solid #eef2f8;border-radius:0}
.puitem .pline{display:flex;justify-content:space-between;gap:10px}
.psearch .presults:has(.puitem){max-height:380px;min-width:min(560px,90vw)}

/* نسخه ۱۱۵: بدون اسکرول افقی */
.tblx{overflow-x:hidden}
.tblx table{white-space:normal;table-layout:auto}
.tblx th,.tblx td{padding:10px 9px;overflow-wrap:anywhere;word-break:normal}
.tblx td .btnrow,.tblx td button{margin:2px}
@media(max-width:1000px){
 .tblx table,.tblx tbody,.tblx tr,.tblx td{display:block;width:100%}
 .tblx thead{display:none}
 .tblx tr{border:1px solid var(--line);border-radius:12px;margin:8px;padding:6px 10px;width:auto;background:#fff}
 .tblx td{border-bottom:1px dashed #e8eef7;padding:7px 2px}
 .tblx td:last-child{border-bottom:0}
 .tblx td::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;color:#44557a;margin-bottom:2px}
 .tblx td[data-label=""]::before{display:none}
}
.sccards{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px;margin-top:10px}
.sccard{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}
.sccard.off{background:#fdf6f6}
.sccard-h{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sccard-b{display:flex;flex-direction:column;gap:4px;font-size:12.5px;overflow-wrap:anywhere}
.sccard-f{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.scfields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.scf{border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0;overflow-wrap:anywhere}
.scf .scf-l{display:block;font-size:11px;color:#44557a}
.scf.no{background:#fff7f7;border-color:#f0c4c4}.scf.no .scf-v{color:#b91c1c;font-weight:400;font-size:12px}
.scf.ok{background:#f5fbf8}
@media(max-width:700px){.scfields{grid-template-columns:1fr}}

.pricelock{background:#f3f7ff;border:1px solid #cfdcf3;border-radius:10px;padding:9px 12px;line-height:1.9}
/* نسخه ۱۱۶: صفحه‌ی تغییر قیمت */
.prlist{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.prrow{display:grid;grid-template-columns:30px minmax(0,1.4fr) minmax(0,2.6fr);gap:8px 12px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;min-width:0}
.prrow.changed{background:#fffbea;border-color:#f0d98a}
.prname{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere}
.prinputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.prf{display:flex;flex-direction:column;gap:3px;font-size:11px;color:#44557a;min-width:0}
.prf input{width:100%;min-width:0;text-align:left}
.prf.dirty input{border-color:#e0a800;background:#fff8dc}
.prsep{grid-column:2 / -1;font-size:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.prsep.diff{color:#92400e}
.prsave{position:sticky;bottom:0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:12px;box-shadow:0 -2px 10px rgba(13,33,73,.08)}
.prsave.on{border-color:#e0a800;background:#fffbea}
.prbulk{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin:10px 0;background:#f8fafd}
.prbulkform{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;align-items:end;margin-top:10px}
.prdiffbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center;margin:10px 0}
.prlogs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px;margin-top:10px}
.prlog{border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:#fff;min-width:0;overflow-wrap:anywhere}
.prprev{max-height:50vh;overflow-y:auto;border:1px solid var(--line);border-radius:10px;padding:6px 10px;margin:8px 0}
.prprevrow{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dashed #e4eaf3;flex-wrap:wrap}
@media(max-width:800px){.prrow{grid-template-columns:30px minmax(0,1fr)}.prinputs,.prsep{grid-column:1 / -1}.prinputs{grid-template-columns:1fr}}
@media(max-width:800px){.prsave{bottom:66px}}

.prhist{border:1px solid #cfe0f5;background:#f4f9ff;border-radius:12px;padding:10px 12px;margin:8px 0;display:flex;flex-direction:column;gap:8px;font-size:12.5px}
.prhist-c{line-height:1.9}.prhist-c.none{color:#92400e}
.prhist-r{display:grid;grid-template-columns:90px minmax(0,1.4fr) 80px minmax(0,1fr) 90px;gap:8px;padding:4px 0;border-bottom:1px dashed #d5e3f3;overflow-wrap:anywhere}
@media(max-width:700px){.prhist-r{grid-template-columns:1fr 1fr}}

/* v118 قیمت جزئی */
.prretail{grid-column:1/-1;margin-top:4px;padding:6px 10px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;font-size:13px}
.prretail.none{background:#f3f4f6;border-color:#e5e7eb}
.prwarn{margin:6px 0;padding:8px 10px;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;font-size:13px;color:#92400e}
.prexp{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 14px;margin:8px 0;font-size:13px;line-height:1.9}
.prexp ul{margin:6px 0 0;padding-inline-start:20px}
.prdef{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:10px 0}
.prdef input{max-width:140px}
.prrule{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px;margin:6px 0;flex-wrap:wrap}
.prrule.off{opacity:.55}
.prruleact{display:flex;gap:6px;flex-wrap:wrap}
.prprevbox{margin:10px 0;padding:10px;border:1px dashed #cbd5e1;border-radius:12px}
.prprevrow{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid #f1f5f9;font-size:13px;flex-wrap:wrap}
.fdbulk{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0;padding:10px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc}
/* v123 شماره‌های تماس سایت */
.phrows{display:grid;gap:8px}
.phrow{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-width:600px){.phrow{grid-template-columns:1fr}}

/* ============ v130: تم شیشه‌ای رنگین‌کمانی برای CRM ============ */
:root{
  --brand:#6a5cf0;--brand-2:#4b4fd8;--brand-3:#3a3bb5;--gold:#8b5cf6;--gold-2:#6d45e0;
  --ink:#2b2f7a;--ink-top:#4b4fd8;--ink-800:#3a3fa8;--ink-deep:#232669;--ink-400:#9aa0d8;--ink-300:#c3c7ee;
  --side-top:rgba(255,255,255,.78);--side:rgba(244,242,255,.62);--side-deep:rgba(226,232,255,.55);--side-line:rgba(255,255,255,.9);--side-muted:#62668a;--side-muted-2:#8c90b3;
  --paper:#eceef8;--text:#1c1e3b;--muted:#62668a;--line:rgba(130,120,220,.22);
  --teal:#6a5cf0;--dark:#2b2f7a;--red:#d63a6a;
  --gx:linear-gradient(110deg,#5b6cff,#8b5cf6 55%,#c45cf0);--gl-blur:blur(16px) saturate(1.5);--gl-edge:rgba(255,255,255,.88);
}
body{background:
 radial-gradient(1000px 560px at 100% -8%,rgba(139,92,246,.24),transparent 60%),
 radial-gradient(900px 520px at 0% 25%,rgba(76,201,240,.20),transparent 60%),
 radial-gradient(1000px 640px at 70% 108%,rgba(244,114,182,.18),transparent 60%),#eceef8;background-attachment:fixed}
.sidebar,.topbar{backdrop-filter:var(--gl-blur);-webkit-backdrop-filter:var(--gl-blur);box-shadow:inset 0 1px 0 #fff,0 22px 44px -22px rgba(80,70,210,.45);border:1px solid var(--gl-edge)}
.card,.panel{background:rgba(255,255,255,.6);backdrop-filter:var(--gl-blur);-webkit-backdrop-filter:var(--gl-blur);border:1px solid var(--gl-edge);box-shadow:inset 0 1px 0 #fff,0 16px 32px -22px rgba(80,70,210,.5)}
.card.pink{background:rgba(255,224,244,.6);border-color:rgba(255,255,255,.9)}
.card.amber{background:rgba(255,240,214,.62);border-color:rgba(255,255,255,.9)}
.card.green{background:rgba(214,250,240,.62);border-color:rgba(255,255,255,.9)}
.card.dark{background:var(--gx);border-color:rgba(255,255,255,.4);box-shadow:0 18px 34px -16px rgba(110,80,240,.7)}
button{background:rgba(255,255,255,.7);border:1px solid var(--gl-edge);box-shadow:inset 0 1px 0 #fff,0 6px 14px -10px rgba(80,70,210,.5)}
button:hover{border-color:#8b5cf6;background:rgba(255,255,255,.95);color:#4b3fd0}
button.primary{background:var(--gx);border-color:transparent;color:#fff;box-shadow:0 10px 20px -10px rgba(110,80,240,.75)}
button.primary:hover{filter:brightness(1.07);color:#fff;background:var(--gx)}
.topbtns button{background:rgba(255,255,255,.72);border:1px solid var(--gl-edge)}
.topbtns button:hover{background:#fff}
.topbtns button.gold{background:var(--gx);border-color:transparent;color:#fff}
.topbtns button.gold:hover{background:var(--gx);filter:brightness(1.07)}
input,select,textarea{background:rgba(255,255,255,.72);border-color:var(--line)}
input:focus,select:focus,textarea:focus{outline:0;border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.2)}
dialog{background:rgba(255,255,255,.84);backdrop-filter:var(--gl-blur);border:1px solid var(--gl-edge);box-shadow:0 40px 90px -30px rgba(80,70,210,.6)}
dialog::backdrop{background:rgba(40,30,110,.35);backdrop-filter:blur(4px)}
th{background:rgba(139,92,246,.1)}
tbody tr:hover td{background:rgba(139,92,246,.07)}
.tab.on,.tab.active{border-color:#8b5cf6;color:#4b3fd0}
.cardbtn.on{border-color:#8b5cf6;box-shadow:0 0 0 2px rgba(139,92,246,.2)}

/* v131: بنفش ملایم‌تر */
:root{--brand:#6f86f0;--brand-2:#5a6fe0;--brand-3:#4a5cc8;--gold:#7f93f6;--gold-2:#6a80ea;--gx:linear-gradient(110deg,#62b2f4,#7f93f6 55%,#ab94f2);--ink:#33407f;--ink-top:#5a6fe0;--ink-800:#43509e;--ink-deep:#2c3573}
body{background:
 radial-gradient(1000px 560px at 100% -8%,rgba(139,130,246,.14),transparent 60%),
 radial-gradient(900px 520px at 0% 25%,rgba(76,201,240,.16),transparent 60%),
 radial-gradient(1000px 640px at 70% 108%,rgba(244,160,200,.13),transparent 60%),#f0f2fa;background-attachment:fixed}
button.primary,.topbtns button.gold{box-shadow:0 10px 18px -12px rgba(90,130,240,.7)}
button:hover{border-color:#7f93f6;color:#3b4bb8}

/* ===== v133: CRM — سطوح کارکردی سفید و پرتضاد؛ شیشه فقط برای قاب (سایدبار/نوار بالا) ===== */
:root{--brand:#4f46e5;--brand-2:#4338ca;--brand-3:#3730a3;--gold:#4f46e5;--gold-2:#4338ca;--gx:linear-gradient(110deg,#4338ca,#5b52e6 60%,#7a5cf0);--text:#161833;--muted:#555a80;--line:#dfe3f3}
*{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.sidebar,.topbar,dialog{backdrop-filter:blur(14px) saturate(1.4)!important;-webkit-backdrop-filter:blur(14px) saturate(1.4)!important}
body{background:radial-gradient(1000px 540px at 100% -8%,rgba(139,130,246,.10),transparent 60%),radial-gradient(900px 500px at 0% 25%,rgba(76,201,240,.13),transparent 60%),radial-gradient(1000px 620px at 70% 108%,rgba(244,160,200,.10),transparent 60%),#f3f4fb;background-attachment:fixed}
.card,.panel{background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px -12px rgba(60,70,170,.3)}
.card.pink{background:#fdf0f6}.card.amber{background:#fff7e8}.card.green{background:#eefaf5}
button{background:#fff;border:1px solid var(--line);box-shadow:none}
button:hover{border-color:#4f46e5;background:#f5f6ff;color:#3730a3}
button.primary,.topbtns button.gold{background:var(--gx);color:#fff;border-color:transparent;box-shadow:0 8px 16px -10px rgba(67,56,202,.8)}
button.primary:hover,.topbtns button.gold:hover{background:var(--gx);filter:brightness(1.08);color:#fff}
input,select,textarea{background:#fff}
th{background:#eef0ff}
dialog{background:rgba(255,255,255,.97)}

/* v138: انتقال بین انبارها */
.trq{width:84px;text-align:center;padding:6px;font-weight:700}.trq.bad{border-color:#d33;background:#fff1f1}
.trsearch{position:relative;display:block}.trhits{position:absolute;inset-inline:0;top:100%;z-index:30;background:#fff;border:1px solid #cfd3ee;border-radius:10px;box-shadow:0 14px 30px -12px rgba(30,30,90,.35);max-height:300px;overflow:auto}
.trhit{display:block;width:100%;text-align:right;background:#fff;border:0;border-bottom:1px solid #eef0fa;padding:9px 12px;border-radius:0}.trhit:hover{background:#f3f4ff}
.trshort{border:1px dashed #b9bfe6;border-radius:10px;padding:8px;margin:8px 0;max-height:260px;overflow:auto}.trshortrow{display:grid;grid-template-columns:110px 1fr auto auto;gap:10px;align-items:center;padding:4px 2px;border-bottom:1px solid #f0f1fa}
.neg{color:#c0262d;font-weight:700}
/* v154: فاکتور — ستون نوع تسویه، مرتب‌سازی و اقساط */
.sorthead{background:transparent;border:0;box-shadow:none;color:inherit;font-weight:800;padding:0}
.sorthead:hover{background:transparent;color:#ffe27a}.sorthead.on{color:#ffe27a}
.settletag{cursor:pointer;border:0;font-size:11px}
.settletag.st-cash{background:rgba(255,236,160,.95);color:#7a5a00}.settletag.st-check{background:rgba(255,205,225,.95);color:#a1214f}
.settletag.st-credit{background:rgba(190,245,215,.95);color:#0b5b43}.settletag.st-pos{background:rgba(214,222,232,.95);color:#33404f}.settletag.st-mixed{background:rgba(60,70,82,.85);color:#fff}
.settleline{margin-top:3px;white-space:nowrap}
.w70{width:70px}.w120{width:120px}
.planquick{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
#invCreditPlanWrap{margin-top:10px;padding:10px;border:1px dashed rgba(60,70,82,.35);border-radius:12px;background:rgba(255,248,214,.6)}
/* v152: فهرست فاکتور — ستون‌ها فشرده نشوند؛ اگر جا کم بود افقی اسکرول شود */
.tablewrap:has([data-invkind]) table{min-width:1560px}
.tablewrap:has([data-invkind]) th,.tablewrap:has([data-invkind]) td{min-width:78px}
.tablewrap:has([data-invkind]) td:has([data-invkind]){min-width:280px}

/* v166: ادغام مشتری‌های تکراری */
.ddgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ddside{border:1px solid var(--line);border-radius:12px;padding:10px;line-height:1.9}
.ddside.keep{background:rgba(40,160,90,.07)}
.ddside.drop{background:rgba(220,70,70,.07)}
.ddtitle{font-weight:700;font-size:13px;margin-bottom:2px}
.ddblock{padding:8px 12px;border-radius:10px;background:#fdecee;color:#8a1520}@media(max-width:720px){.ddgrid{grid-template-columns:1fr}}
/* نسخه ۱۷۱ — کلاس‌های کمکی (CSP اجازهٔ style درون‌خطی نمی‌دهد) */
.u-mt4{margin-top:4px}.u-mt6{margin-top:6px}.u-mt8{margin-top:8px}.u-tr{text-align:right}.u-h12{margin:12px 0 4px}.u-h10{margin:10px 0 4px}.u-h14{margin:14px 0 4px}
.u-mb8{margin:0 0 8px}.u-blk8{display:block;margin:8px 0}.u-pre{white-space:pre-wrap}.u-sc420{overflow:auto;max-height:420px;margin-top:8px}.u-sc{overflow:auto}
.u-minw{min-width:260px}.u-sc340{max-height:340px;overflow:auto;margin-top:8px}.u-my6{margin:6px 0}.u-my4{margin:4px 0}.u-m0{margin:0}.u-dim{opacity:.55}
.u-blkt10{margin-top:10px;display:block}.u-blkt8{display:block;margin-top:8px}.u-ol{line-height:2;margin:0 0 8px;padding-inline-start:20px}.u-row4{display:flex;gap:8px;align-items:flex-start;margin:4px 0}
.negok{display:flex;align-items:center;gap:4px;white-space:nowrap;cursor:pointer}
.negok input{width:auto}
[data-returnmode] .negok{display:none}
