/* Miwa ERP components — فاز ۲ (خرید و تأمین).
   کامپوننت‌های دیزاین سیستم: SectionCard، FormGrid، LineItems، ItemSheet، FAB.
   فقط از توکن‌های miwa.css استفاده می‌کند؛ هیچ رنگ ثابتی ندارد. */

/* ---------- SectionCard: کارت شماره‌دار برای بخش‌های فرم ---------- */
.mw-pcard{background:var(--surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4);overflow:hidden;flex:none}
.mw-pcard__head{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-3) var(--space-4);font-size:14px;line-height:22px;font-weight:700;color:var(--ink);background:var(--surface-grouped);border-bottom:1px solid var(--line)}
.mw-pcard__head .n{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-full);background:var(--leaf-soft);color:var(--leaf);font-size:12px;font-weight:700;flex:none}
.mw-pcard__body{padding:var(--space-4)}
.mw-note{margin:0 0 var(--space-2);font-size:12px;line-height:20px;color:var(--ink-muted)}
.mw-note--flush{margin:var(--space-1) 0 0}
.mw-alert{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:14px;line-height:24px}
.mw-alert--danger{background:var(--berry-soft);color:var(--berry)}
.mw-alert--warn{background:var(--warn-soft);color:var(--warn)}

/* ---------- FormGrid + Field ---------- */
.mw-hd{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-3);margin-bottom:var(--space-3)}
.mw-hd--3{grid-template-columns:1fr 1fr 1fr}
.mw-pf{margin-bottom:var(--space-3);min-width:0}
.mw-pf:last-child{margin-bottom:0}
.mw-pf>label{display:block;font-size:12.5px;line-height:20px;font-weight:600;color:var(--ink-muted);margin-bottom:var(--space-1)}
.mw-pf input[type=text],.mw-pf input[type=number],.mw-pf select{width:100%;min-width:0}
.mw-ltr{direction:ltr;text-align:center}
.mw-radios{display:flex;gap:var(--space-4);align-items:center;font-size:14px}
.mw-radios label{display:flex;gap:6px;align-items:center;font-weight:400;cursor:pointer;margin:0;color:var(--ink)}

/* ---------- LineItems: جدول اقلام؛ روی موبایل هر ردیف یک کارت ---------- */
table.mw-lines{width:100%;min-width:0;border-collapse:collapse;font-size:13.5px;margin-bottom:var(--space-3);background:transparent;box-shadow:none;border-radius:0;overflow:visible}
.mw-lines th{font-size:12px;color:var(--ink-muted);font-weight:600;text-align:right;padding:0 var(--space-1) var(--space-2);white-space:nowrap}
.mw-lines td{padding:var(--space-1) 2px}
.mw-lines input,.mw-lines select{width:100%;min-width:0}
.mw-namecell{display:flex;align-items:center;gap:6px}
/* بدهی غرفه‌ها: انتخاب غرفه + نحوه‌ی تسویه زیر نام قلم (فرم فاکتور مسئول خرید) */
.mw-settle{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center;min-width:220px}
.mw-settle select.mw-vsel,.mw-settle input.mw-vnew{flex:1 1 100%;min-width:0}
.mw-settle.is-need select.mw-vsel{border-color:var(--warn);background:var(--warn-soft)}
.mw-settle.is-must select.mw-vsel{border-color:var(--berry);background:var(--berry-soft)}
.mw-nt{flex:1 1 100%}
.mw-ntbtn{border:0;background:transparent;color:var(--ink-muted);font:inherit;font-size:12.5px;padding:2px;cursor:pointer}
.mw-ntbtn:hover{color:var(--leaf)}
.mw-ntin{width:100%}
.mw-vchip{flex:1 1 100%;text-align:start;border:0;background:transparent;color:var(--leaf);font:inherit;font-size:12.5px;font-weight:600;padding:2px 2px;cursor:pointer}
.mw-vchip[hidden]{display:none}
.mw-vchip:hover{text-decoration:underline}
.mw-ssel{display:none!important}                 /* مقدار ارسالی همین select است؛ کاربر با دکمه‌های سه‌حالته عوضش می‌کند */
/* انتخاب سه‌حالته: نقد | بخشی نسیه | نسیه */
.mw-seg{display:flex;flex:1 1 100%;background:var(--fill-secondary);border-radius:var(--radius-md);padding:2px;gap:2px}
.mw-seg button{flex:1 1 0;border:0;background:transparent;font:inherit;font-size:13px;font-weight:600;color:var(--ink-muted);padding:7px 4px;border-radius:calc(var(--radius-md) - 2px);cursor:pointer;min-height:36px;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease}
.mw-seg button.is-on{background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-sm)}
.mw-settle.is-credit .mw-seg button.is-on{color:var(--warn)}
.mw-spaidbox{display:flex;gap:6px;flex:1 1 100%}
.mw-spaidbox input{flex:1 1 auto;min-width:0}
.mw-half{flex:none;border:1px solid var(--line);background:var(--surface-raised);color:var(--ink);font:inherit;font-size:12.5px;border-radius:var(--radius-md);padding:0 12px;cursor:pointer}
.mw-spaid.is-bad{border-color:var(--berry);background:var(--berry-soft)}
.mw-sline{flex:1 1 100%;font-size:12.5px;color:var(--ink-muted);min-height:18px}
.mw-sline b{color:var(--ink);font-weight:700}
.mw-settle.is-credit .mw-sline b{color:var(--warn)}
.mw-sline.is-bad{color:var(--berry);font-weight:600}
.mw-namecell input{flex:1 1 auto;min-width:0}
.mw-code{flex:0 0 auto;white-space:nowrap;font-size:11px;font-weight:700;color:var(--leaf);background:var(--leaf-soft);padding:4px 8px;border-radius:var(--radius-sm);direction:ltr}
.mw-rm{width:32px;height:32px;border:0;border-radius:var(--radius-full);background:transparent;color:var(--ink-muted);cursor:pointer;font-size:18px;line-height:1;padding:0;display:inline-grid;place-items:center;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease}
.mw-rm:hover{background:var(--berry-soft);color:var(--berry)}
.mw-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;clear:both;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line)}
.mw-actions .btn{flex:1 1 180px;justify-content:center}
.mw-formbar{display:flex;gap:var(--space-3);margin-top:var(--space-2)}
@media (max-width:820px){
  .mw-hd,.mw-hd--3{grid-template-columns:1fr}
  .mw-lines thead{display:none}
  .mw-lines,.mw-lines tbody{display:block;width:100%}
  .mw-lines tr{display:grid;grid-template-columns:1fr 1fr 40px;grid-template-areas:"name name name" "qty qty qty" "price price rm" "cat cat cat";gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-3);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);align-items:center}
  .mw-lines tr:last-child{margin-bottom:0}
  .mw-lines td{padding:0;min-width:0}
  .mw-lines td:nth-child(1){grid-area:name}
  .mw-lines td:nth-child(2){grid-area:qty}
  .mw-lines td:nth-child(3){grid-area:price}
  .mw-lines td:nth-child(4){grid-area:cat}
  .mw-lines td:nth-child(5){grid-area:rm;text-align:center}
  /* جدول هزینه‌های جانبی: ۴ ستون (عنوان، تعداد، فی، حذف) */
  .mw-lines--exp tr{grid-template-areas:"name name name" "qty qty qty" "price price rm"}
  .mw-lines--exp td:nth-child(4){grid-area:rm}
  /* برچسب فیلدها (ردیف‌ها data-label ندارند) */
  .mw-lines td:nth-child(2)::before{content:"مقدار";display:block;font-size:12px;color:var(--ink-muted);margin-bottom:2px}
  .mw-lines td:nth-child(3)::before{content:"فی خرید";display:block;font-size:12px;color:var(--ink-muted);margin-bottom:2px}
  .mw-lines--exp td:nth-child(2)::before{content:"تعداد"}
  .mw-lines--exp td:nth-child(3)::before{content:"فی واحد"}
  .mw-lines td:nth-child(5){align-self:end}
  .mw-lines--exp td:nth-child(4){align-self:end}
  /* ستون توضیحات (ابرکاربر): ردیف شش‌ستونه می‌شود — با کلاس جایگاه‌ها صریح می‌شوند */
  .mw-lines tr.has-note{grid-template-areas:"name name name" "qty qty qty" "price price rm" "cat cat cat" "note note note"}
  .mw-lines td.mw-ntd{grid-area:note;text-align:right;align-self:stretch}
  .mw-lines td.mw-ntd::before{content:"توضیحات";display:block;font-size:12px;color:var(--ink-muted);margin-bottom:2px}
  .mw-lines td.mw-rmtd{grid-area:rm;text-align:center;align-self:end}
}

/* ---------- ItemSheet (bottom sheet موبایل) + FAB ---------- */
.mw-fab{display:none}
.mw-sheet-overlay,.mw-sheet{display:none}
@media (max-width:820px){
  .mw-fab{display:flex;align-items:center;justify-content:center;position:fixed;inset-inline-start:var(--space-4);bottom:calc(84px + env(safe-area-inset-bottom));z-index:32;width:56px;height:56px;border-radius:var(--radius-full);background:var(--leaf);color:var(--on-leaf);font-size:28px;font-weight:600;line-height:1;border:0;padding:0;cursor:pointer;box-shadow:var(--shadow-md);transition:transform var(--dur-fast) var(--ease-spring)}
  .mw-fab:active{transform:scale(.92)}
  #addRow{display:none}
  .mw-sheet-overlay{display:block;position:fixed;inset:0;background:rgba(10,12,10,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;opacity:0;pointer-events:none;transition:opacity var(--dur-base) ease}
  .mw-sheet-overlay.open{opacity:1;pointer-events:auto}
  .mw-sheet{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;z-index:51;background:var(--surface-raised);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-2) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));max-height:82vh;overflow:auto;transform:translateY(100%);transition:transform var(--dur-slow) var(--ease-out);box-shadow:var(--shadow-lg)}
  .mw-sheet.open{transform:none}
  .mw-sheet__handle{width:38px;height:4px;border-radius:var(--radius-full);background:var(--line);margin:var(--space-2) auto var(--space-4)}
  .mw-sheet__title{margin:0 0 var(--space-3);font-size:16px}
}

/* جدول اقلام داخل کارت: پوشش خودکار .table-wrap (base.html) و ستون چسبان نباید اثر بگذارند */
.mw-pcard .table-wrap{box-shadow:none;background:transparent;overflow:visible;max-height:none;border-radius:0}
.table-wrap table.mw-lines td:first-child,.table-wrap table.mw-lines th:first-child{position:static;box-shadow:none;background:transparent}
.mw-hd .mw-pf{margin-bottom:0}

/* ======================================================================
   WorkCard (کارت نیازسنجی) + RefChip + ControlBar + Progress
   نام کلاس‌ها عمداً همان نام‌های قدیمی مانده‌اند چون JS صفحه به آن‌ها وابسته
   است (need-card, ref-chip, no-need-toggle, need-control-bar)؛ تغییر نام به
   mw-* در فاز ۶ (پاک‌سازی) همراه با JS انجام می‌شود.
   ====================================================================== */
#pendingGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3)}
@media (max-width:480px){#pendingGrid{grid-template-columns:1fr}}
.need-card{background:var(--surface-raised);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:opacity var(--dur-base) ease,transform var(--dur-base) ease,box-shadow var(--dur-base) ease}
.need-card.fading{opacity:0;transform:scale(.94)}
.need-card.just-added{box-shadow:0 0 0 2px var(--leaf);animation:mwJustAdded 1.6s ease-in-out 2}
@keyframes mwJustAdded{0%,100%{box-shadow:0 0 0 2px var(--leaf)}50%{box-shadow:0 0 0 6px var(--leaf-soft)}}
.need-card-title{font-weight:700;font-size:15px;line-height:24px;color:var(--ink);text-align:center;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-bottom:var(--space-1)}
.need-card-ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:var(--space-2) 0 var(--space-1)}
.ref-chip{background:var(--surface-grouped);border-radius:var(--radius-sm);padding:6px 2px;text-align:center;min-width:0}
.ref-chip--warn{background:var(--warn-soft)}
.ref-chip--danger{background:var(--berry-soft)}
.ref-chip .ref-label{display:block;font-size:10px;line-height:16px;color:var(--ink-muted);font-weight:600;margin-bottom:2px}
.ref-chip .ref-value{display:block;font-size:11.5px;line-height:18px;color:var(--ink);font-weight:700;word-break:normal;overflow-wrap:break-word;white-space:normal;font-feature-settings:"tnum"}
.ref-chip .ref-value--small{font-size:10.5px}
.no-need-toggle{display:block;width:100%;margin:var(--space-2) 0 var(--space-3);min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-sm);border:0;background:var(--fill-secondary);color:var(--ink-muted);font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-spring)}
.no-need-toggle:active{transform:scale(.97)}
.no-need-toggle.active{background:var(--warn-soft);color:var(--warn)}
.need-card-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--space-3)}
.need-card-fields label{display:block;font-size:11px;line-height:18px;color:var(--ink-muted);text-align:center;margin-bottom:var(--space-1);font-weight:600}
.need-card-fields input{width:100%;min-width:0;text-align:center}
.need-card-fields input.is-readonly{background:var(--surface-grouped);color:var(--ink-muted)}
.need-card-title .btn.small{min-height:24px;padding:0 8px;font-size:11px}

/* نوار کنترل: دسکتاپ sticky بالا، موبایل ثابت پایین به‌جای bottom-nav */
.need-control-bar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--material-bar);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);padding:var(--space-3) var(--space-2) var(--space-2);margin:0 calc(-1*var(--space-2)) var(--space-2);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
@media (max-width:820px){
  body:has(#needControlBar) .bottom-nav{display:none}
  body:has(#needControlBar) .back-to-top,body:has(#needControlBar) #backToTopBtn{bottom:268px}
  form:has(#needControlBar){padding-bottom:190px}
  .need-control-bar{position:fixed;top:auto;bottom:0;right:0;left:0;z-index:30;border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin:0;box-shadow:var(--shadow-lg);padding:var(--space-3) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom))}
}
.mw-progress{height:8px;border-radius:var(--radius-full);background:var(--fill-secondary);overflow:hidden;margin:6px 0 4px}
.mw-progress>div{height:100%;width:0;background:var(--leaf);border-radius:var(--radius-full);transition:width var(--dur-slow) var(--ease-out)}
.mw-toolbar-row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;margin:var(--space-3) 0}
.mw-toolbar-row input[type=text]{flex:1;min-width:160px;max-width:280px}
.mw-toolbar-row label{font-size:12.5px;display:flex;gap:6px;align-items:center;color:var(--ink-muted)}
.mw-pager{display:flex;gap:6px;flex-wrap:wrap;margin:var(--space-3) 0 2px}
.mw-btnrow{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}
.mw-btnrow--tight{gap:var(--space-2);margin:var(--space-2) 0 0}
.mw-sumcard{border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow-sm),0 0 0 2px var(--warn-soft);padding:var(--space-4);margin-bottom:var(--space-4)}
.mw-sumcard h3{margin:0 0 var(--space-2);font-size:15px}
.mw-sumcard p{margin:0 0 6px}
.mw-strong{font-size:14px;font-weight:600}
.mw-note--warn{color:var(--warn)}
.mw-note--ok{color:var(--leaf)}
.mw-list{margin:0 0 var(--space-2);padding-inline-start:var(--space-5);font-size:12.5px}
.mw-inline{display:flex;gap:var(--space-4);align-items:flex-start;flex-wrap:wrap}
.mw-inline--center{align-items:center}
.mw-cardbox{flex:none;background:var(--surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-4);margin-bottom:var(--space-4)}
.mw-cardbox>h3{margin:0 0 var(--space-2);font-size:14px}
.mw-cardbox--head{margin-bottom:var(--space-4)}
.mw-lead{color:var(--ink-muted);font-size:14px;line-height:24px;margin:-8px 0 var(--space-4)}
.mw-paramsform .ngroup{min-width:0}
@media (max-width:820px){.mw-paramsform .ngroup{width:100%}.mw-paramsform input[type=number],.mw-paramsform input[type=text]{width:100%!important}}
.mw-w120{width:120px}.mw-w140{width:140px}
.mw-grow{flex:1;min-width:0}
.mw-flabel{display:block;font-size:12.5px;color:var(--ink-muted);margin-bottom:var(--space-1)}
.mw-flex{display:flex;gap:var(--space-2)}
.mw-btnrow--top{margin:var(--space-3) 0 0}
.mw-paramsform label[for]{font-size:12.5px}

/* ---------- صفحه‌های تأیید و داشبوردهای خرید ---------- */
.hidden{display:none!important}
.mw-sec{font-size:15px;line-height:24px;margin:var(--space-5) 0 var(--space-2)}
.mw-cardgrid{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-4)}
.mw-cardgrid>form{flex:1;min-width:260px;margin-bottom:0}
.mw-cardgrid h2{font-size:15px;margin:0 0 var(--space-2)}
.mw-cardgrid textarea{width:100%;min-height:72px;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}
.mw-cardbox--danger{box-shadow:var(--shadow-sm),0 0 0 2px var(--berry-soft)}
.mw-cardbox--danger h2{color:var(--berry)}
.mw-tail{margin-top:var(--space-4)}
.need-tbl td.ro{color:var(--ink-muted);font-size:12.5px}
.diff-warn{color:var(--berry);font-weight:700}
.mw-cc{direction:ltr;text-align:center}
.mw-lr{direction:ltr;text-align:right}
.mw-sm{font-size:12px}
.mw-nowrap{white-space:nowrap}
.mw-inline-form{display:inline}
.mw-formrow{margin:var(--space-3) 0}
.mw-rejectform{margin-top:var(--space-2);display:flex;gap:6px;align-items:center}
.mw-rejectform input[type=text]{flex:1;min-width:180px}
.mw-rejectform.hidden{display:none!important}

/* ---------- صفحه ورود ---------- */
.mw-login{max-width:380px;margin:var(--space-8) auto 0;padding:var(--space-6) var(--space-5);background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center}
.mw-login__logo{display:block;width:min(220px,64%);height:auto;margin:0 auto var(--space-4)}
.mw-login__title{font-size:22px;margin:0 0 var(--space-1)}
.mw-login__sub{margin:0 0 var(--space-5);color:var(--ink-muted);font-size:14px}
.mw-login__form{text-align:right}
.mw-login__form input{width:100%}
.mw-login__btn{width:100%;margin-top:var(--space-4);min-height:48px;font-size:16px}
@media (max-width:820px){.mw-login{margin-top:var(--space-6)}}

/* ---------- فاز ۲ دور دوم: ابزارک‌های عمومی صفحه‌های لیستی/تنظیمات ---------- */
.mw-w160{width:160px;max-width:100%}
.mw-search{flex:1;min-width:160px}
.mw-bold{font-weight:700}
.mw-mt{margin-top:var(--space-2)}
.mw-meta{display:flex;gap:var(--space-5);flex-wrap:wrap;font-size:13px}
.mw-narrow{max-width:640px}

/* ---------- گروه ب: لیست خرید دوره‌ای / روند قیمت / تحلیل خرید ---------- */
.mw-cardbox--warn{box-shadow:var(--shadow-sm),0 0 0 2px var(--warn-soft)}
.mw-between{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3)}
.mw-flex--center{align-items:center}
.mw-dim{opacity:.4}
.mw-opt{display:flex;gap:6px;align-items:center;margin:0;font-size:12.5px;font-weight:400;color:var(--ink)}
.mw-push{margin-inline-start:auto}
.mw-namecol{text-align:right;font-weight:600}
.mw-note--tiny{font-size:10.5px;margin-top:2px}
.needNewForm .whenGroup{padding:0;gap:var(--space-5);flex-wrap:wrap}
.needNewForm .whenGroup .mw-opt{white-space:nowrap;gap:8px;font-size:13.5px;cursor:pointer}
/* فرم شروع لیست جدید: شبکه‌ی ۲ستونه (دو حالت انتخاب) + ردیف پایین (برای امروز/فردا + دکمه) */
.needNewForm .mw-inline{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-8);align-items:center}
.needNewForm .mw-inline>.ngroup{min-width:0;flex:none}
.needNewForm .mw-inline>:nth-child(1){grid-area:1/1}
.needNewForm .mw-inline>:nth-child(2){grid-area:2/1}
.needNewForm .mw-inline>:nth-child(3){grid-area:1/2}
.needNewForm .mw-inline>:nth-child(4){grid-area:2/2}
.needNewForm .mw-inline>:nth-child(5){grid-area:3/1;padding-top:var(--space-3);border-top:1px solid var(--line)}
.needNewForm .mw-inline>:nth-child(6){grid-area:3/2;justify-self:end;margin-top:var(--space-3)}
.needNewForm .mw-inline>:nth-child(1) label,.needNewForm .mw-inline>:nth-child(3) label{font-weight:700;font-size:13.5px;margin:0;cursor:pointer}
.needNewForm .mw-flex{flex-wrap:wrap}
@media (max-width:820px){
  .needNewForm .mw-inline{grid-template-columns:1fr;gap:var(--space-3)}
  .needNewForm .mw-inline>*{grid-area:auto!important;justify-self:stretch!important;margin-top:0!important}
  .needNewForm .mw-inline>:nth-child(5){padding-top:var(--space-3)}
  .needNewForm .mw-inline>:nth-child(6){width:100%}
}
.needNewForm .ngroup>label[for]{font-size:12.5px}

/* برچسب وضعیت گرد: روند قیمت و نوسان */
.mw-pill{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:700;background:var(--fill-secondary);color:var(--ink-muted)}
.mw-pill--ok{background:var(--leaf-soft);color:var(--leaf)}
.mw-pill--warn{background:var(--warn-soft);color:var(--warn)}
.mw-pill--bad{background:var(--berry-soft);color:var(--berry)}
.mw-pill--flat{color:var(--ink)}
.mw-pill--none{color:var(--ink-muted)}

/* آمار دوره (۲×۲) و فهرست بررسی داده */
.mw-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-radius:var(--radius-sm);overflow:hidden}
.mw-stats>div{background:var(--surface-raised);padding:var(--space-3)}
.mw-stats b{display:block;font-size:17px;font-weight:800;line-height:1.3}
.mw-stats span{font-size:11.5px;color:var(--ink-muted)}
.mw-checks{margin:0;padding:0;list-style:none;font-size:12.5px}
.mw-checks li{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);align-items:start}
.mw-checks li:last-child{border-bottom:0}
.mw-checks .mk{width:20px;height:20px;border-radius:var(--radius-full);display:grid;place-items:center;font-size:11px;font-weight:800;margin-top:2px}
.mw-checks .sev-flag .mk{background:var(--berry-soft);color:var(--berry)}
.mw-checks .sev-warn .mk{background:var(--warn-soft);color:var(--warn)}
.mw-checks .sev-ok .mk{background:var(--leaf-soft);color:var(--leaf)}
.mw-checks .t{font-weight:700;display:block}
.mw-checks .d{color:var(--ink-muted);font-size:12px}
.mw-rowlist{margin:0;padding:0;list-style:none;font-size:13px}
.mw-rowlist li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line)}
.mw-rowlist li:last-child{border-bottom:0}

/* ---------- گزارش برآورد و گزارش مغایرت ---------- */
.mw-pcard__body--sep{border-top:1px solid var(--line)}
.mw-pcard__body.mw-btnrow{margin-bottom:0}
.mw-opt--lg{font-size:13px;font-weight:600;color:var(--ink-muted);cursor:pointer}
.mw-opt input[type=checkbox]{width:16px;height:16px;flex:none}
.mw-muted{color:var(--ink-muted)}
.mw-statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3);margin:var(--space-4) 0}
.mw-stat{background:var(--surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-3) var(--space-4)}
.mw-stat b{display:block;font-size:18px;font-weight:800;line-height:1.3}
.mw-stat span{font-size:12px;color:var(--ink-muted)}
.mw-stat--ok b{color:var(--leaf)}
.mw-stat--bad b{color:var(--berry)}
.mw-notecol{font-size:11px;color:var(--ink-muted);text-align:right;max-width:180px}

/* ---------- نمودار روند قیمت ---------- */
.mw-chartbox{background:var(--surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-3);margin:var(--space-4) 0;overflow-x:auto}
.mw-chart{display:block;width:100%;min-width:600px;height:auto;font-family:inherit}
.mw-legend{display:flex;gap:var(--space-4);flex-wrap:wrap;align-items:center;font-size:12px;margin-bottom:var(--space-2);padding:0 6px}
.mw-legend>span{display:inline-flex;align-items:center;gap:6px}
.mw-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}
.mw-dot--ok{background:var(--leaf)}.mw-dot--bad{background:var(--berry)}
.mw-dash{display:inline-block;width:16px;height:0;border-top:2px dashed var(--info);flex:none}
.mw-chips{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-2) 0}
.mw-chips>div{background:var(--fill-secondary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:12px;text-align:center;min-width:70px}
.mw-chips b{display:block;font-size:14px}
tr.mw-row--bad td{background:var(--berry-soft)}
.mw-bad-text{color:var(--berry);font-size:11px;font-weight:700}
.mw-summary{cursor:pointer;list-style:none}
.mw-summary::-webkit-details-marker{display:none}
details.mw-pcard:not([open])>.mw-summary{border-bottom:0}

/* انتخاب فایل (ایمپورت‌ها) */
input[type=file]{font:inherit;color:var(--ink-muted);max-width:100%}
input[type=file]::file-selector-button{font:inherit;font-weight:600;margin-inline-end:var(--space-3);padding:0 var(--space-4);min-height:36px;border:0;border-radius:var(--radius-full);background:var(--leaf-soft);color:var(--leaf);cursor:pointer}

/* ---------- صفحهٔ خرید روزانه (need_purchase) و نوار صفحه‌بندی مشترک ---------- */
.need-tbl input[type=number]{width:100%}
.need-row.just-added td{background:var(--leaf-soft);animation:mwRowPulse 1.6s ease-in-out 2}
@keyframes mwRowPulse{0%,100%{background:var(--leaf-soft)}50%{background:transparent}}
#newItemsWrap input[type=text],#newItemsWrap input[type=number],#newItemsWrap select,#expensesWrap input{width:100%}
.mw-warn-text{color:var(--warn);font-weight:600}
.mw-badge-sm{font-size:10px}
.mw-dots{padding:0 4px}
.mw-cardbox>.mw-tail{margin-top:var(--space-3)}

/* صفحه‌ی خرید: روی دسکتاپ جدول در عرض کادر جا می‌شود (بدون اسکرول افقی). زیر ۱۲۸۰px همان اسکرول قبلی می‌ماند. */
@media (min-width:1280px){
  #needPurchaseTbl{min-width:0;width:100%;table-layout:fixed}
  #needPurchaseTbl th,#needPurchaseTbl td{padding-inline:8px;white-space:normal;overflow-wrap:anywhere}
  #needPurchaseTbl th{font-size:12px;line-height:1.5}
  #needPurchaseTbl input,#needPurchaseTbl select{min-width:0;width:100%}
  #needPurchaseTbl .c-name{width:12%}#needPurchaseTbl .c-last{width:9%}#needPurchaseTbl .c-date{width:9%}
  #needPurchaseTbl .c-need{width:7%}#needPurchaseTbl .c-max{width:9%}#needPurchaseTbl .c-qty{width:11%}
  #needPurchaseTbl .c-price{width:14%}#needPurchaseTbl .c-settle{width:29%}
  #needPurchaseTbl .mw-settle{min-width:0}
  #needPurchaseTbl .mw-spaidbox input{width:auto;flex:1 1 0}
  .table-wrap:has(#needPurchaseTbl){overflow-x:visible}
}

/* ---------- کنترل پرداختی‌ها / سند پرداخت ---------- */
.mw-agebar{display:flex;height:12px;border-radius:var(--radius-full);overflow:hidden;background:var(--fill-secondary);margin:var(--space-2) 0}
.mw-agebar span{display:block;height:100%}
.mw-agebar .a1,.mw-agelegend i.a1{background:var(--leaf)}
.mw-agebar .a2,.mw-agelegend i.a2{background:var(--warn)}
.mw-agebar .a3,.mw-agelegend i.a3{background:var(--berry)}
.mw-agelegend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:13px;color:var(--ink-muted)}
.mw-agelegend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:4px}
.mw-agelegend b{color:var(--ink)}
.mw-share-cell{white-space:nowrap}
.mw-share{display:inline-block;width:90px;height:8px;border-radius:var(--radius-full);background:var(--fill-secondary);overflow:hidden;vertical-align:middle;margin-inline-end:6px}
.mw-share i{display:block;height:100%;background:var(--warn);border-radius:inherit}
.mw-pr-mode{margin-bottom:var(--space-3);flex-wrap:wrap}
.mw-pr-row{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin-bottom:var(--space-3)}
.mw-pr-row .mw-flabel{flex:1 1 100%;margin:0}
.mw-pr-row input{flex:1 1 180px;max-width:280px}
.mw-pr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3);margin-bottom:var(--space-3)}
.mw-pr-grid input,.mw-pr-grid select{width:100%}
.mw-pr-wide{grid-column:1/-1}
.mw-req{font-weight:600;font-size:11.5px;color:var(--ink-muted);margin-inline-start:4px}
.mw-req.is-on{color:var(--berry)}
.mw-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3) var(--space-5)}
.mw-kv span{display:block;font-size:12.5px;color:var(--ink-muted)}
.mw-kv b{font-weight:700}
.mw-kv small{color:var(--ink-muted)}
.mw-kv-wide{grid-column:1/-1}
.mw-receipt{max-width:100%;max-height:520px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}

/* ---------- ماشین‌حساب قیمت: کارت قلم (۱۴۰۵/۰۷) — پیشوند mp-؛ فقط توکن‌های miwa.css ---------- */
.mp-bar{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center;margin:var(--space-3) 0}
.mp-bar input.mp-q{flex:1 1 220px;min-width:0}
.mp-seg{display:inline-flex;background:var(--fill-secondary);border-radius:var(--radius-md);padding:2px;gap:2px}
.mp-seg a{display:inline-flex;align-items:center;min-height:34px;padding:0 var(--space-3);border-radius:calc(var(--radius-md) - 2px);font-size:13px;font-weight:600;color:var(--ink-muted);text-decoration:none;white-space:nowrap}
.mp-seg a.on{background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-sm)}
label.mp-tgt{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:500;color:var(--ink-muted);background:var(--fill-secondary);border-radius:var(--radius-md);padding:0 var(--space-3);min-height:40px}
label.mp-tgt[hidden]{display:none}
.mp-tgt input{width:46px;min-height:30px;text-align:center;font-weight:700;background:var(--surface-raised);padding:0 4px}
.mp-more{position:relative}
.mp-more>summary{list-style:none;cursor:pointer}
.mp-more>summary::-webkit-details-marker{display:none}
.mp-menu{position:absolute;inset-inline-start:0;top:calc(100% + 4px);z-index:30;background:var(--surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:6px;min-width:220px;display:flex;flex-direction:column}
.mp-menu a,.mp-menu button{display:block;width:100%;text-align:start;border:0;background:transparent;font:inherit;font-size:13px;padding:9px 12px;border-radius:var(--radius-sm);cursor:pointer;color:var(--ink);text-decoration:none}
.mp-menu a:hover,.mp-menu button:hover{background:var(--fill-secondary)}
.mp-menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}
.mp-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:var(--space-4)}
.mp-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border-radius:var(--radius-full);border:1px solid var(--line);background:var(--surface-raised);color:var(--ink);font-size:13px;text-decoration:none}
.mp-chip i{font-style:normal;font-size:12px;color:var(--ink-muted)}
.mp-chip.on{background:var(--leaf);border-color:var(--leaf);color:var(--on-leaf)}
.mp-chip.on i{color:inherit;opacity:.85}
.mp-sm{font-size:12px;line-height:20px;color:var(--ink-muted)}
.mp-warn{color:var(--warn)}
.mp-n{direction:ltr;unicode-bidi:isolate;display:inline-block;font-feature-settings:"tnum"}
.mp-cards{align-items:start;display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}
.mp-card{background:var(--surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px;padding:12px 14px;min-width:0;position:relative;transition:opacity var(--dur-fast,120ms)}
.mp-card.off{opacity:.62}
.mp-card.alert{box-shadow:0 0 0 1.5px var(--berry),var(--shadow-sm)}
.mp-card.saving{opacity:.85}
.mp-head{display:flex;gap:10px;align-items:center}
.mp-head h3{margin:0;font-size:16px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-sub{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:-4px}
.mp-icon{width:34px;height:34px;border-radius:var(--radius-full);display:inline-grid;place-items:center;color:var(--ink-muted);font-size:18px;line-height:1;cursor:pointer}
.mp-icon:hover{background:var(--fill-secondary);color:var(--ink)}
.mp-cmenu .mp-menu{min-width:190px;inset-inline-start:auto;inset-inline-end:0}
.mp-card:has(details[open]){z-index:40}
.mp-bar>.mp-more{order:-1}
label.mp-sw{position:relative;display:inline-block;width:38px;height:22px;margin:0;flex:none}
.mp-sw input{appearance:none;-webkit-appearance:none;width:38px;height:22px;min-height:0;border-radius:var(--radius-full);background:var(--fill-secondary);margin:0;padding:0;cursor:pointer;transition:background var(--dur-fast,120ms)}
.mp-sw input:checked{background:var(--leaf)}
.mp-sw::after{content:"";position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:inset-inline-start var(--dur-fast,120ms);pointer-events:none}
.mp-sw:has(input:checked)::after{inset-inline-start:18px}
.mp-buy{background:var(--surface-grouped);border:1px solid var(--line);border-radius:var(--radius-md);padding:8px 12px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:6px 10px}
.mp-buy.stale{background:var(--warn-soft);border-color:transparent}
.mp-cap{font-size:11.5px;font-weight:700;color:var(--ink-muted)}
.mp-big{font-size:22px;line-height:1.3;font-weight:700;font-feature-settings:"tnum"}
.mp-big small{font-size:12px;font-weight:500;color:var(--ink-muted);margin-inline-start:4px}
.mp-big.mp-none{color:var(--ink-muted)}
.mp-buy-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.mp-wrow{flex:1 1 100%;display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:6px;margin-top:2px}
.mp-step{display:inline-flex;align-items:center;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md)}
.mp-step button{width:30px;height:30px;border:0;background:transparent;font:inherit;font-size:18px;cursor:pointer;color:var(--ink);padding:0}
.mp-step .mp-wv{min-width:46px;text-align:center;font-weight:700;font-size:13.5px;font-feature-settings:"tnum"}
.mp-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mp-tile{display:flex;flex-direction:column;gap:6px;align-items:stretch;border:1px solid var(--line);border-radius:var(--radius-md);padding:8px;min-width:0}
/* ---- صفحه‌های فرعی قیمت‌گذاری (نسخهٔ ۲ طراحی) ---- */
.mp-tabs{margin:var(--space-2) 0 var(--space-4)}
a.mw-tabs__tab,a.mw-chip{text-decoration:none}
.mp-li-list{background:var(--surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:var(--space-4)}
.mp-li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border-top:1px solid var(--line)}
.mp-li:first-child{border-top:0}
.mp-li[hidden],.mp-save[hidden],.mp-toolbar[hidden]{display:none}
.mp-li.is-changed{box-shadow:inset 3px 0 0 var(--citrus)}
.mp-li.is-off{opacity:.62}
.mp-li__t{font-weight:600;font-size:16px;line-height:24px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:0}
.mp-li__s{font-size:13px;line-height:20px;color:var(--ink-muted)}
.mp-li .mw-select{font-size:15px;min-height:40px}
.mp-li__par{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.mp-pill{display:inline-flex;gap:4px;font-size:12px;line-height:20px;color:var(--ink-muted);background:var(--fill-secondary);border-radius:6px;padding:0 6px;white-space:nowrap}
.mp-pill b{color:var(--ink);font-weight:600;font-feature-settings:"tnum";direction:rtl;unicode-bidi:plaintext}
.mp-pill.nd{background:var(--warn-soft);color:var(--warn)}
.mp-save{position:sticky;bottom:calc(var(--space-3) + 56px);z-index:20;display:flex;gap:var(--space-2);align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);margin:var(--space-3) 0}
@media (min-width:801px){.mp-save{bottom:var(--space-3)}}
.mp-save .grow{flex:1;justify-content:center}
.mp-toolbar{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center;margin:var(--space-3) 0}
.mp-toolbar .mw-input{max-width:340px;flex:1 1 220px}
dialog.mp-sheet{padding:0}
.mp-sheet .mw-dialog__body{display:flex;flex-direction:column;gap:var(--space-3)}
.mp-bp{background:var(--surface-grouped);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}
.mp-bp__h{font-weight:600;font-size:15px}
.mp-bp__c{display:flex;flex-direction:column;gap:6px;min-width:0}
.mp-bp__l{display:flex;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:500;cursor:pointer;min-height:28px}
.mp-bp .mw-input{min-height:44px;padding:0 var(--space-2);text-align:center;background:var(--surface-raised)}
.mp-bp .mw-input:disabled{opacity:.45}
.mp-scope{display:flex;background:var(--fill-secondary);border-radius:var(--radius-sm);padding:2px;gap:2px}
.mp-scope label{flex:1;margin:0;cursor:pointer}
.mp-scope input{position:absolute;opacity:0;pointer-events:none}
.mp-scope span{display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;border-radius:6px;font-size:14px;color:var(--ink-muted);font-weight:500;text-align:center}
.mp-scope input:checked + span{background:var(--surface-raised);color:var(--ink);font-weight:600;box-shadow:var(--shadow-sm)}
.mp-scope input:focus-visible + span{outline:2px solid var(--focus-ring);outline-offset:1px}
.mp-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}
@media (max-width:640px){
  .mp-li{grid-template-columns:1fr;gap:var(--space-2)}
  .mp-li__par{justify-content:flex-start}
  dialog.mp-sheet{margin:auto 0 0;width:100%;max-width:100%;border-radius:24px 24px 0 0}
}
.mp-steps{display:flex;gap:6px;margin:var(--space-2) 0 var(--space-1)}
.mp-steps span{flex:1;height:4px;border-radius:9px;background:var(--fill-secondary)}
.mp-steps span.on{background:var(--leaf)}
.mp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin:var(--space-3) 0}
.mp-apply{position:sticky;bottom:calc(var(--space-3) + 56px);z-index:20;border-radius:var(--radius-lg);padding:var(--space-3);margin:var(--space-3) 0;display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}
@media (min-width:801px){.mp-apply{bottom:var(--space-3)}}
.mp-apply .mw-input{max-width:200px;min-height:40px;font-size:15px}
.mp-kv{display:flex;justify-content:space-between;gap:var(--space-3);padding:6px 0;border-top:1px solid var(--line);font-size:14px}
.mp-kv:first-child{border-top:0}
.mp-kv b{font-feature-settings:"tnum"}
.mp-box{background:var(--surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-4);margin-bottom:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}
.mp-seg4{display:inline-flex;background:var(--fill-secondary);border-radius:var(--radius-sm);padding:2px;gap:2px;flex-wrap:wrap}
.mp-seg4 a{display:inline-flex;align-items:center;min-height:34px;padding:0 var(--space-3);border-radius:6px;font-size:13px;font-weight:500;color:var(--ink-muted);text-decoration:none}
.mp-seg4 a.on{background:var(--surface-raised);color:var(--ink);font-weight:600;box-shadow:var(--shadow-sm)}
.mp-commit{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}
.mp-commit .btn{min-height:40px}
.mp-prow{display:flex;gap:4px;align-items:center}
.mp-prow .mp-pin{flex:1 1 auto;min-width:0}
.mp-back{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;min-height:36px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink-muted);font:inherit;font-size:12px;white-space:nowrap;cursor:pointer;padding:0 6px}
.mp-back b{font-weight:700;color:var(--ink);font-feature-settings:"tnum"}
.mp-back:hover{background:var(--fill-secondary);color:var(--ink)}
.mp-back[hidden],.mp-wreset[hidden]{display:none}
.mp-wrow{flex-wrap:wrap}
.mp-wreset{flex:1 1 100%;white-space:nowrap;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink-muted);font:inherit;font-size:12px;min-height:36px;padding:0 8px;cursor:pointer}
.mp-wreset:hover{background:var(--fill-secondary);color:var(--ink)}
.mp-tile.neg{background:var(--berry-soft);border-color:transparent}
.mp-tl{font-size:12px;font-weight:700;color:var(--ink-muted);text-align:center}
.mp-tile input.mp-pin{width:100%;min-height:38px;padding:0 4px;font-size:15px;font-weight:700;text-align:center;background:var(--surface-raised);border:1px solid var(--line);font-feature-settings:"tnum"}
label.mp-td{display:flex;align-items:center;justify-content:center;gap:4px;margin:0;font-size:11.5px;font-weight:400;color:var(--ink-muted);min-height:30px}
.mp-td input{width:44px;min-height:28px;padding:0 2px;text-align:center;font-size:13px;font-weight:600;background:var(--surface-raised);border:1px solid var(--line)}
.mp-td em{font-style:normal}
span.mp-td-none{display:flex;align-items:center;justify-content:center;min-height:30px;font-size:11px;opacity:.7;color:var(--ink-muted)}
.mp-pill{display:inline-flex;justify-content:center;align-items:center;border-radius:var(--radius-sm);padding:0 8px;font-size:12.5px;font-weight:700;line-height:24px;font-feature-settings:"tnum"}
.mp-pill.g{background:var(--leaf-soft);color:var(--leaf)}
.mp-pill.a{background:var(--warn-soft);color:var(--warn)}
.mp-pill.r{background:var(--berry-soft);color:var(--berry)}
.mp-pill.n{background:var(--fill-secondary);color:var(--ink-muted)}
.mp-xp{border:0;background:transparent;font:inherit;font-size:12.5px;font-weight:600;color:var(--leaf);cursor:pointer;display:flex;justify-content:center;gap:6px;padding:2px;min-height:28px}
.mp-det{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:10px}
.mp-det[hidden]{display:none}
.mp-dr{display:flex;flex-direction:column;gap:5px}
.mp-dtop{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mp-lad{position:relative;height:22px}
.mp-lad[hidden]{display:none}
.mp-trk{position:absolute;inset-inline:0;top:8px;height:6px;border-radius:3px;background:var(--fill-secondary)}
.mp-fill{position:absolute;top:8px;height:6px;border-radius:3px}
.mp-fill.g{background:var(--leaf)}.mp-fill.a{background:var(--citrus)}.mp-fill.r{background:var(--berry)}.mp-fill.n{background:var(--fill-secondary)}
.mp-mk{position:absolute;top:2px;bottom:2px;width:2px;background:var(--ink);border-radius:1px}
.mp-tg{position:absolute;top:4px;height:14px;width:0;border-inline-start:2px dashed var(--leaf);opacity:.6}
.mp-sug{align-self:flex-start;border:0;font:inherit;font-size:12px;font-weight:700;color:var(--leaf);background:var(--leaf-soft);border-radius:var(--radius-full);padding:0 12px;min-height:28px;cursor:pointer}
.mp-sug[hidden]{display:none}
@media(max-width:560px){.mp-cards{grid-template-columns:minmax(0,1fr)}}

/* ---- داشبورد قیمت‌گذاری (pd-*) ---- */
.pd-h{font-size:18px;line-height:26px;font-weight:700;margin:var(--space-5) 0 var(--space-2)}
.pd-sums{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-3);margin:var(--space-3) 0}
button.pd-sum{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:2px;cursor:pointer;background:var(--surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-3) var(--space-4);text-align:start;font-family:var(--font-sans);transition:box-shadow var(--dur-fast) ease,transform var(--dur-fast) var(--ease-spring)}
button.pd-sum:active{transform:scale(.98)}
button.pd-sum:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
button.pd-sum[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--leaf)}
.pd-sum>span:first-child{font-size:13px;color:var(--ink-muted)}
.pd-sum b{font-size:20px;line-height:28px;font-weight:800;display:block}
.pd-sum b small{font-size:13px;font-weight:500;color:var(--ink-muted)}
.mw-stat--bad.pd-sum b{color:var(--berry)}
.mw-stat--ok.pd-sum b{color:var(--leaf)}
.pd-sub{display:block;font-size:12px;line-height:20px;color:var(--ink-muted)}
.pd-sub.mp-warn{color:var(--warn)}
.pd-cell{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;font-size:15px}
.pd-tool{margin:var(--space-2) 0}
.pd-chk{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:14px;cursor:pointer;min-height:32px}
.pd-chk input{width:18px;height:18px;margin:0}
.pd-up{color:var(--berry)}
.pd-dn{color:var(--leaf)}
.pd-cap{caption-side:top;text-align:start;padding:var(--space-3) var(--space-4) var(--space-2);font-weight:600;font-size:14px;color:var(--ink)}
.pd-list{margin:var(--space-2) 0;padding-inline-start:var(--space-5);display:flex;flex-direction:column;gap:4px}
.pd-w{min-width:0}
.table-wrap table.pd-tbl{min-width:0}
#pdLoss tbody tr[hidden],#pdChg tbody tr[hidden]{display:none}

/* ---- لیست تعویض قیمت (pp-*) ---- */
.pp-steps{display:flex;gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap}
.pp-step{flex:1;min-width:140px;display:flex;align-items:center;gap:var(--space-2);min-height:var(--tap-min,44px);padding:0 var(--space-3);border-radius:var(--radius-md);background:var(--fill-secondary);color:var(--ink-muted);font-weight:600;text-decoration:none}
.pp-step b{width:26px;height:26px;border-radius:var(--radius-full);background:var(--surface-raised);display:grid;place-items:center;font-size:13px;flex:none}
.pp-step[aria-current="step"]{background:var(--leaf-soft);color:var(--leaf);box-shadow:inset 0 0 0 2px var(--leaf)}
.pp-step.is-off{opacity:.5;pointer-events:none}
.pp-card{background:var(--surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-4);margin:var(--space-3) 0;display:flex;flex-direction:column;gap:var(--space-3)}
.pp-card h2,.pp-card h3{margin:0}
.pp-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}
.pp-sub{font-size:13px;line-height:22px;color:var(--ink-muted)}
.pp-sums{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2)}
.pp-sums>div{background:var(--fill-secondary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);display:flex;flex-direction:column}
.pp-sums b{font-size:22px;line-height:30px}
.pp-sums span{font-size:13px;color:var(--ink-muted)}
.pp-bad{color:var(--berry)!important}.pp-good{color:var(--leaf)!important}
.pp-warn{background:var(--warn-soft);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}
.pp-warn h3{color:var(--warn)}
.pp-ok{background:var(--leaf-soft);border-radius:var(--radius-md);padding:var(--space-3)}.pp-ok h3{color:var(--leaf)}
.pp-grp{display:flex;flex-direction:column;gap:6px}
.pp-sec{font-size:13px;font-weight:700;color:var(--ink-muted);margin-top:var(--space-1)}
.pp-wrow{display:grid;grid-template-columns:minmax(90px,1fr) auto auto;gap:6px var(--space-3);align-items:center;background:var(--surface-raised);border-radius:var(--radius-sm);padding:8px var(--space-3)}
.pp-wp{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pp-wt{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.pp-lossbox{background:var(--berry-soft);border-radius:var(--radius-md);padding:var(--space-2);display:flex;flex-direction:column;gap:6px}
.pp-old{color:var(--ink-muted);text-decoration:line-through;font-size:13px}
.pp-actions{display:flex;gap:var(--space-2);justify-content:flex-end;flex-wrap:wrap}
.pp-tabs{display:flex;gap:6px;flex-wrap:wrap}
.pp-tab{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap-min,44px);padding:0 var(--space-3);border-radius:var(--radius-md);background:var(--fill-secondary);color:var(--ink);font-weight:600;text-decoration:none}
.pp-tab[aria-pressed="true"]{background:var(--leaf-soft);color:var(--leaf);box-shadow:inset 0 0 0 2px var(--leaf)}
.pp-tab em{font-style:normal;font-size:12px;background:var(--surface-raised);border-radius:var(--radius-full);padding:0 8px}
.pp-tools{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}
.pp-tools .mp-q{flex:1;min-width:140px}
.pp-chkl{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap-min,44px);font-size:14px;cursor:pointer}
.pp-chkl input{width:20px;height:20px}
.pp-row{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--fill-secondary);align-items:start}
.pp-row[hidden]{display:none}
.pp-row.is-done{opacity:.6}.pp-row.is-done .pp-nm{text-decoration:line-through}
.pp-row.is-first{box-shadow:inset 0 0 0 2px var(--citrus)}
.pp-chk{width:36px;height:36px;border-radius:10px;border:2px solid var(--line);background:var(--surface-raised);cursor:pointer;display:grid;place-items:center;color:transparent;padding:0;font-size:18px}
.pp-row.is-done .pp-chk{background:var(--leaf);border-color:var(--leaf);color:var(--on-leaf)}
.pp-chk:focus-visible,.pp-cp:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.pp-body{display:flex;flex-direction:column;gap:8px;min-width:0}
.pp-top{display:flex;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;align-items:center}
.pp-nm{font-size:16px}
.pp-fields{display:flex;gap:8px;flex-wrap:wrap}
.pp-fld{display:flex;align-items:center;gap:8px;background:var(--surface-raised);border-radius:10px;padding:4px 4px 4px 10px;min-height:44px}
.pp-fld small{color:var(--ink-muted);font-size:12px}
.pp-fld b{font-size:18px;font-weight:800}
.pp-cp{border:0;background:var(--leaf-soft);color:var(--leaf);border-radius:8px;min-height:36px;padding:0 12px;cursor:pointer;font-weight:700;font-size:13px;font-family:var(--font-sans)}
.pp-msg{white-space:pre-wrap;background:var(--fill-secondary);border-radius:var(--radius-md);padding:var(--space-3);font-family:var(--font-sans);font-size:14px;line-height:26px;max-height:300px;overflow:auto}
.pp-dock{position:sticky;bottom:0;z-index:5;background:var(--surface-raised);box-shadow:0 -2px 12px rgba(0,0,0,.12);border-radius:var(--radius-md);padding:var(--space-3);display:flex;gap:var(--space-3);align-items:center;margin-top:var(--space-3)}
.pp-pg{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;font-size:14px}
.pp-bar{height:10px;background:var(--fill-secondary);border-radius:var(--radius-full);overflow:hidden}
.pp-bar i{display:block;height:100%;background:var(--leaf);border-radius:var(--radius-full);transition:width .25s}
.pp-toast{position:fixed;inset-inline:16px;bottom:96px;max-width:380px;margin-inline:auto;background:var(--ink);color:var(--surface);padding:8px 8px 8px 16px;border-radius:var(--radius-md);display:flex;gap:12px;align-items:center;justify-content:space-between;z-index:30}
.pp-toast[hidden]{display:none}
.pp-toast button{border:0;background:transparent;color:var(--citrus);font-weight:800;min-height:40px;padding:0 10px;cursor:pointer;font-family:var(--font-sans)}
@media (max-width:800px){.pp-dock{bottom:calc(64px + env(safe-area-inset-bottom,0px))}.pp-toast{bottom:calc(150px + env(safe-area-inset-bottom,0px))}}
@media (max-width:520px){.pp-wrow{grid-template-columns:1fr}.pp-wt{justify-content:flex-start}.pp-dock .btn{padding:0 12px}}
@media (prefers-reduced-motion:reduce){.pp-bar i{transition:none}}
