/* Miwa HIG layer — الگوهای تعاملی سبک Apple برای موبایل + کلید تم تیره.
   فقط از توکن‌های miwa.css استفاده می‌کند. بعد از panel.css و erp.css بارگذاری می‌شود. */

/* ---------- کلید تم ---------- */
.mw-themebtn{display:inline-grid;place-items:center;width:40px;height:40px;border:0;border-radius:var(--radius-full);background:transparent;color:var(--ink);cursor:pointer;flex:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-spring)}
.mw-themebtn:hover{background:var(--fill-secondary)}
.mw-themebtn:active{transform:scale(.9)}
.mw-themebtn svg{width:22px;height:22px}
.corner-userbox .mw-themebtn{width:36px;height:36px;margin-inline-end:2px}
html.mw-theme-anim *{transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease!important}

/* ---------- دکمهٔ بازگشت + عنوان جمع‌شونده در نوار بالا ---------- */
.mw-back{display:none}
.mw-tbtitle{display:none}
@media (max-width:820px){
  .mw-back{display:grid;place-items:center;width:40px;height:44px;color:var(--leaf);border-radius:var(--radius-full);text-decoration:none;-webkit-tap-highlight-color:transparent;flex:none}
  .mw-back svg{width:26px;height:26px}
  .mw-back:active{background:var(--fill-secondary)}
  .mw-tbtitle{font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  body.mw-titled .mobile-topbar .t>img,body.mw-titled .mobile-topbar .t>span:not(.mw-tbtitle){display:none}
  body.mw-titled .mw-tbtitle{display:block;animation:mw-rise var(--dur-base) var(--ease-out) both}
  .mobile-topbar{transition:box-shadow var(--dur-base) ease}
  body:not(.mw-titled) .mobile-topbar{box-shadow:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
  /* عنوان بزرگ صفحه (Large Title) */
  .content h1.mw-largetitle{font-size:32px;line-height:1.35;font-weight:800;letter-spacing:-.4px;margin:var(--space-1) 0 var(--space-4)}
  .content h1.mw-largetitle + .mw-lead,.content h1.mw-largetitle + p{margin-top:calc(-1*var(--space-2))}
}

/* ---------- لیست گروه‌بندی‌شده (Inset Grouped) به‌جای کارت‌های جدولی ---------- */
@media (max-width:820px){
  .table-wrap:has(table.cardtable){background:var(--surface-raised);box-shadow:var(--shadow-sm);border-radius:var(--radius-md);overflow:hidden}
  .table-wrap table.cardtable tr{display:flex;flex-direction:column;gap:0;border-radius:0;box-shadow:none;margin:0;padding:var(--space-3) var(--space-4);border-bottom:.5px solid var(--line);animation:none;background:transparent}
  .table-wrap table.cardtable tr:last-child{border-bottom:0}
  .table-wrap table.cardtable td{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:3px 0;font-size:14px;text-align:start}
  .table-wrap table.cardtable td[data-label]{text-align:start}
  .table-wrap table.cardtable td[data-label]::before{display:inline;margin:0;text-align:start;font-size:13px;font-weight:400;color:var(--ink-muted);flex:none}
  .table-wrap table.cardtable td:first-child{justify-content:flex-start;text-align:start;font-size:16px;font-weight:700;padding:0 0 var(--space-1);margin:0;border-bottom:0}
  .table-wrap table.cardtable td:last-child:not(:first-child){justify-content:flex-start;margin-top:var(--space-2);padding:0;border-top:0}
  .table-wrap table.cardtable tr:has(.badge.amber){box-shadow:inset -3px 0 0 var(--warn)}
  .table-wrap table.cardtable tr:has(.badge.blue){box-shadow:inset -3px 0 0 var(--info)}
  .table-wrap table.cardtable tr:has(.badge.purple){box-shadow:inset -3px 0 0 var(--progress)}
  .table-wrap table.cardtable tr:has(.badge.green){box-shadow:inset -3px 0 0 var(--leaf)}
  .table-wrap table.cardtable tr:has(.badge.red){box-shadow:inset -3px 0 0 var(--berry)}
  .table-wrap table.cardtable tr:has(.badge.gray){box-shadow:inset -3px 0 0 var(--ink-muted)}
  .table-wrap table.cardtable tr:active{background:var(--fill-secondary)}
  .table-wrap table.cardtable td[colspan]{display:block;text-align:center}
}

/* ---------- ورودی عددی با + و − (فقط موبایل) ---------- */
.mw-stepper{display:contents}
.mw-stepper__b{display:none}
@media (max-width:820px){
  .mw-stepper{display:flex;align-items:stretch;gap:var(--space-1);min-width:0}
  .mw-stepper>input{flex:1;min-width:0;text-align:center}
  .mw-stepper__b{display:inline-grid;place-items:center;flex:none;width:44px;min-height:44px;border:0;border-radius:var(--radius-sm);background:var(--leaf-soft);color:var(--leaf);font-size:22px;font-weight:600;line-height:1;cursor:pointer;font-family:inherit;padding:0;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-fast) var(--ease-spring),opacity var(--dur-fast) ease}
  .mw-stepper__b:active{transform:scale(.9)}
  .mw-stepper:has(input[readonly]) .mw-stepper__b{opacity:.35;pointer-events:none}
  .need-card-fields .mw-stepper__b{width:36px;min-height:44px}
}

/* ---------- نوار ثبت ثابت پایین فرم‌ها (فقط موبایل) ---------- */
@media (max-width:820px){
  .mw-formbar{position:fixed;left:0;right:0;bottom:calc(58px + env(safe-area-inset-bottom));z-index:29;margin:0;padding:var(--space-2) var(--space-4);background:var(--material-bar);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:inset 0 .5px 0 var(--line)}
  .mw-formbar .btn{flex:1;min-height:48px;font-size:16px}
  form:has(.mw-formbar){padding-bottom:76px}
  .mw-fab{bottom:calc(140px + env(safe-area-inset-bottom))}
}

/* ---------- حس لمسی: فشردن نرم روی هر چیز قابل لمس ---------- */
@media (max-width:820px){
  a,button,label,summary,[role=button]{-webkit-tap-highlight-color:transparent}
  .card:active,.kpi:active{transform:scale(.99)}
}
@media (prefers-reduced-motion:reduce){
  html.mw-theme-anim *{transition:none!important}
}
@media (max-width:820px){
  .table-wrap table.cardtable td[colspan]{border-top:0;margin:0;padding:var(--space-4) 0}
}
