/* فایل سومِ استایل.
   main2.css (~۹۵٪) و theme.css (~۹۷٪) هر دو به سقفِ ~۱۶ کیلوبایتیِ پاسخِ این
   هاست چسبیده‌اند — فایلی که از آن رد شود بی‌صدا بریده می‌شود و نیمی از
   استایل‌های سایت از کار می‌افتد. پس هر قاعدهٔ جدید از این‌جا به بعد این‌جا. */

/* --- حالت خالی -------------------------------------------------------
   قبلاً یک جملهٔ تنها («تیکتی ثبت نشده.») زیرِ سرستونِ یک جدولِ بی‌ردیف بود:
   نه می‌گفت این بخش به چه کار می‌آید، نه قدمِ بعدی چیست. حالا آیکونِ همان
   بخش + یک جملهٔ توضیح + دکمهٔ اصلی، و سرستونِ جدولِ خالی اصلاً رندر نمی‌شود. */
.empty{text-align:center;padding:34px 18px 30px;}
.empty__ic{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;
  background:var(--surface-2);color:var(--text-secondary);margin-bottom:12px;}
.empty__ic svg{width:24px;height:24px;}
.empty__t{margin:0 0 5px;font-size:14.5px;font-weight:700;color:var(--text);}
.empty__b{margin:0 auto 16px;max-width:430px;font-size:12.5px;line-height:1.9;color:var(--text-secondary);}
.empty .btn{margin:0;}

/* --- هدرِ بالای صفحه --------------------------------------------------
   نوارِ بالا قبلاً فقط یک زنگِ بزرگ داشت و بقیه‌اش خالی بود. حالا: عنوانِ
   صفحه در ابتدای سطر، تاریخ و زنگ در انتها. margin-inline-start:auto
   به‌جای justify-content گذاشته شده تا وقتی عنوان نیست (ویویی که در
   PAGE_TITLES نگاشت ندارد) کنترل‌ها باز هم ته سطر بمانند، نه اولش. */
.topbar{gap:14px;}
.topbar__t{margin:0;font-size:16px;font-weight:700;color:var(--text);line-height:1.5;}
.topbar__r{display:flex;align-items:center;gap:12px;margin-inline-start:auto;}
/* زنگ ۵۴ پیکسلی برای یک نوارِ هدر بزرگ است */
.topbar .am-bell{width:42px;height:42px;}
.topbar .am-bell .am-ic{width:20px;height:20px;}

/* زنگ: در مرحلهٔ هدر از ۵۴ به ۴۲ کوچکش کرده بودم و کوچک شد؛ برمی‌گردد
   بزرگ‌تر — آیکون دو برابرِ فعلی (۲۰ → ۴۰) و دایره به‌اندازه‌ای که جا شود. */
.topbar .am-bell{width:68px;height:68px;}
.topbar .am-bell .am-ic{width:40px;height:40px;}

/* پنلِ اعلان از کادر بیرون می‌زد: قاعده‌اش inset-inline-start:0 بود که در
   حالت راست‌به‌چپ یعنی right:0 — لبهٔ راستِ پنل به زنگ می‌چسبید و پنل به
   سمت چپ رشد می‌کرد. چون زنگ در انتهای چپِ صفحه است، از صفحه بیرون می‌زد.
   حالا لبهٔ چپش می‌چسبد و به سمت راست (داخل صفحه) باز می‌شود.
   min-width هم صفر شده بود (قاعدهٔ پلِ theme.css) و پنل باریک می‌ماند. */
.topbar .notif-dropdown{inset-inline-start:auto;inset-inline-end:0;min-width:300px;}
@media (max-width:560px){
  /* در موبایل ۳۰۰ پیکسل هم ممکن است از صفحه بزند؛ به عرضِ صفحه محدودش می‌کنیم */
  .topbar .notif-dropdown{min-width:0;width:min(300px,calc(100vw - 32px));}
}

.am-date{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;
  color:var(--text-secondary);white-space:nowrap;cursor:default;font-variant-numeric:tabular-nums;}
.am-date svg{width:15px;height:15px;opacity:.7;}
/* در موبایل نوار تنگ است و تاریخ مهم‌ترین چیز نیست */
@media (max-width:640px){.am-date{display:none;}.topbar__t{font-size:14.5px;}}

/* --- نوارِ چهار عددِ کلیدی بالای داشبورد ------------------------------- */
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;}
.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;}
.kpi__t{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:7px;margin-bottom:6px;}
.kpi__flag{background:var(--warn-light);color:var(--warn);font-size:10.5px;font-weight:700;border-radius:999px;padding:2px 8px;}
.kpi__v{font-size:26px;font-weight:700;color:var(--text);line-height:1.25;font-variant-numeric:tabular-nums;}
.kpi__v small{font-size:12.5px;font-weight:400;color:var(--text-secondary);}
.kpi__s{font-size:11.5px;color:var(--text-secondary);margin-top:3px;line-height:1.7;}
.kpi__s.is-ok{color:var(--success);font-weight:700;}
.kpi__s.is-bad{color:var(--danger);font-weight:700;}
/* میله‌نمای کوچک: ارتفاع نسبی، ماهِ جاری پررنگ. align-items:flex-end تا
   میله‌ها از کف رشد کنند نه از سقف. */
.kpi__spark{display:flex;align-items:flex-end;gap:4px;height:26px;margin-top:9px;}
.kpi__bar{flex:1;background:var(--primary-light);border-radius:3px 3px 0 0;min-height:3px;}
.kpi__bar.is-now{background:var(--primary);}
@media (max-width:900px){.kpi-row{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.kpi-row{grid-template-columns:1fr;}}

/* --- راهنمای دونات: نام و مبلغ زیر هم، درصد در ستون جدا ---------------- */
.am-legend__item .lg-name{display:flex;flex-direction:column;line-height:1.5;}
.am-legend__item .lg-name small{color:var(--text-secondary);font-size:11px;}
.am-legend__item .lv{font-variant-numeric:tabular-nums;font-weight:700;color:var(--text);}
/* حالت تک‌موردی: عددِ وسط درصد است، پس بزرگ‌تر از حالت مبلغ می‌نشیند */
.donut .am-donut__center .am-u{font-size:.55em;}

/* رنگِ آیتمِ جدیدِ منو. theme.css که بقیهٔ am-h-* آن‌جاست به سقفِ ۱۶ کیلوبایت
   چسبیده، پس این‌جا تعریف می‌شود. هر دو قاعده لازم است: متغیرِ رنگ، و رنگِ
   روشن‌ترِ آیکون داخلِ سایدبارِ سرمه‌ای (الگوی خودِ theme.css). */
.am-h-monitor{--am-hue:#0ea5a5}
.sidebar-links .am-h-monitor .am-ic{color:#7fd6d6}

/* --- کارت‌های فیلترِ تراکنش‌ها -----------------------------------------
   همان پنج دستهٔ کشویی، ولی کلیک‌پذیر. کارتِ فعال سرمه‌ای می‌شود — همان
   نشانه‌ای که برای بازهٔ گزارش‌ها به کار رفت، تا «انتخاب‌شده» در کل پنل یک
   شکل داشته باشد. */
.fcard-row{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px;}
.fcard{display:flex;flex-direction:column;gap:6px;padding:12px 13px;text-decoration:none;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  transition:border-color .15s,background .15s;}
.fcard:hover{border-color:var(--border-strong);}
.fcard__l{font-size:11.5px;color:var(--text-secondary);line-height:1.5;}
.fcard__v{font-size:15px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;}
/* مبلغِ بدهیِ معوق باید قرمز دیده شود حتی وقتی کارت انتخاب نشده */
.fcard.is-bad .fcard__v{color:var(--danger);}
.fcard.is-on{background:var(--am-nav,#151d2b);border-color:var(--am-nav,#151d2b);}
.fcard.is-on .fcard__l{color:rgba(255,255,255,.72);}
.fcard.is-on .fcard__v{color:#fff;}
@media (max-width:1100px){.fcard-row{grid-template-columns:repeat(3,1fr);}}
@media (max-width:600px){.fcard-row{grid-template-columns:repeat(2,1fr);}}

/* --- مقدارِ تعیین‌نشده -------------------------------------------------
   «۰» که در واقع «هنوز ثبت نشده» است باید مثل عدد دیده نشود، وگرنه دروغ
   می‌گوید (سقف اعتباریِ صفر یعنی نماینده حق خرید ندارد — چیزِ کاملاً دیگری). */
.unset{color:var(--text-secondary);font-weight:400;}
