/* لایه‌ی پولیش پنل میوا (۱۴۰۵/۰۷/۱۳) — سبک: بدون انیمیشن دائمی، فقط transform/opacity.
   حذف این فایل از base.html همه‌چیز را به حالت قبل برمی‌گرداند. */

/* ---- پس‌زمینه‌ی ظریف و استاتیک (گرادیان کم‌رنگ + الگوی لوگو در گوشه) ---- */
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(48vmax 42vmax at 92% -6%,color-mix(in srgb,var(--leaf) 12%,transparent),transparent 70%),radial-gradient(40vmax 36vmax at 4% 104%,color-mix(in srgb,#e4800d 10%,transparent),transparent 70%)}
body::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;background:url("img/miwa-mark.png") 0 0/84px repeat;-webkit-mask:radial-gradient(60% 50% at 100% 0%,#000,transparent 75%);mask:radial-gradient(60% 50% at 100% 0%,#000,transparent 75%)}
[data-theme="dark"] body::before{background:radial-gradient(48vmax 42vmax at 92% -6%,color-mix(in srgb,var(--leaf) 16%,transparent),transparent 70%),radial-gradient(40vmax 36vmax at 4% 104%,color-mix(in srgb,#f5a04a 10%,transparent),transparent 70%)}
[data-theme="dark"] body::after{opacity:.06;filter:invert(1) brightness(1.3)}
.app{position:relative;z-index:1}
body.mw-login-body::before,body.mw-login-body::after{display:none}

/* ---- ورود نرم محتوای هر صفحه ---- */
.content-inner{animation:mwpEnter .2s cubic-bezier(.2,.8,.2,1) backwards}
@keyframes mwpEnter{from{opacity:0;transform:translateY(8px)}}

/* ---- دکمه‌ی اصلی و ورودی‌ها ---- */
.btn:not(.ghost):not(.danger){background:linear-gradient(120deg,var(--leaf),color-mix(in srgb,var(--leaf) 55%,#2fa862));box-shadow:0 4px 14px color-mix(in srgb,var(--leaf) 28%,transparent);transition:transform .12s,box-shadow .2s,filter .2s}
[data-theme="dark"] .btn:not(.ghost):not(.danger){background:linear-gradient(120deg,#4db36f,#7fe0a0)}
.btn:not(.ghost):not(.danger):hover{filter:none;transform:translateY(-1px);box-shadow:0 8px 20px color-mix(in srgb,var(--leaf) 38%,transparent)}
.btn:not(.ghost):not(.danger):active{transform:scale(.97)}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 2px var(--surface),0 0 0 4px color-mix(in srgb,var(--focus-ring) 70%,transparent),0 6px 20px color-mix(in srgb,var(--leaf) 14%,transparent);transition:box-shadow .22s}

/* ---- کارت‌ها ---- */
.kpi{border:1px solid var(--line);transition:transform .2s,box-shadow .2s}
.kpi:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(20,30,20,.06),0 14px 30px color-mix(in srgb,var(--leaf) 16%,transparent)}
.card{border:1px solid var(--line)}

/* ---- سایدبار: آیتم فعال گرادیانی ---- */
.sidebar nav a.active,.drawer nav a.active{background:linear-gradient(120deg,var(--leaf),color-mix(in srgb,var(--leaf) 55%,#2fa862));color:var(--on-leaf);box-shadow:0 6px 16px color-mix(in srgb,var(--leaf) 30%,transparent)}
[data-theme="dark"] .sidebar nav a.active,[data-theme="dark"] .drawer nav a.active{background:linear-gradient(120deg,#4db36f,#7fe0a0)}
.sidebar nav a.sub.active::before,.drawer nav a.sub.active::before{background:currentColor}

/* ---- جدول: بدون اسکرول عمودیِ داخلی (اسکرول دوبل) ---- */
.table-wrap{max-height:none}

/* ---- بازخورد دستورها (feedback.js) — فقط افزوده‌های کوچک روی کامپوننت‌های دیزاین سیستم ---- */
/* اعلان: mw-toast خودِ دیزاین سیستم است (پایین‌وسط؛ روی موبایل بالای نوار پایین). نوع «اطلاع» و پیام چندخطی: */
.mw-toast--info .mw-toast__dot{background:var(--info)}
.mw-toast{max-width:min(520px,calc(100vw - 32px));align-items:flex-start}
.mw-toast__dot{margin-top:8px}
.mw-toast__msg{min-width:0;overflow-wrap:anywhere}
/* دکمه‌ی در حال ارسال: برچسب پنهان، عرض ثابت، اسپینر وسط (رنگ از رنگ متن دکمه گرفته می‌شود) */
.mwf-busy{position:relative;pointer-events:none;color:transparent!important;text-shadow:none!important}
.mwf-busy>*{opacity:0}
.mwf-busy::after{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;border-radius:50%;border:2px solid var(--mwf-c,currentColor);border-top-color:transparent;animation:mwfSpin .7s linear infinite}
@keyframes mwfSpin{to{transform:rotate(360deg)}}
/* بعد از زدن دستور، محتوا کمی کم‌رنگ می‌شود (فقط opacity) تا رفرش «اتفاق افتادن» حس شود */
.content-inner{transition:opacity var(--dur-base,240ms) var(--ease-out,ease)}
html.mwf-nav-out .content-inner{opacity:.55}
/* پنجره‌ی تأیید: متن چندخطی */
.mwf-confirm__body{white-space:pre-line;overflow-wrap:anywhere}
.mwp-flash-src{display:none!important}

/* ---- گذار ورود → پنل (فقط یک بار بعد از ورود) ---- */
html.mw-arrive .sidebar{animation:mwpArrS .55s cubic-bezier(.2,.8,.2,1) .15s backwards}
html.mw-arrive .corner-userbox,html.mw-arrive .mobile-topbar{animation:mwpArrT .5s cubic-bezier(.2,.8,.2,1) .2s backwards}
html.mw-arrive .content-inner{animation:none}
html.mw-arrive .content-inner>*{animation:mwpArrC .55s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(.28s + var(--mwp-i,0)*60ms)}
@keyframes mwpArrS{from{opacity:0;transform:translateX(36px)}}
@keyframes mwpArrT{from{opacity:0;transform:translateY(-14px)}}
@keyframes mwpArrC{from{opacity:0;transform:translateY(16px)}}
html.mw-arrive .content-inner>:nth-child(1){--mwp-i:0}html.mw-arrive .content-inner>:nth-child(2){--mwp-i:1}html.mw-arrive .content-inner>:nth-child(3){--mwp-i:2}html.mw-arrive .content-inner>:nth-child(4){--mwp-i:3}html.mw-arrive .content-inner>:nth-child(5){--mwp-i:4}html.mw-arrive .content-inner>:nth-child(n+6){--mwp-i:5}
/* خروج */
html.mw-leave body{opacity:0;transition:opacity .2s ease}

@media (prefers-reduced-motion:reduce){.content-inner,html.mw-arrive *,.mw-toast,.mwf-busy::after{animation:none!important}html.mw-leave body{transition:none}}
