/*
 * artifact-ui.css — لایه‌ی یکپارچه‌سازیِ ظاهر با آرتیفکتِ طراحی
 * (مرجع: docs/mockups/clinic-pages.html · استخراج: docs/mockups/artifact-styles.css).
 *
 * هدف: سیستمِ کامپوننتِ آرتیفکت به‌صورتِ «قسمت‌به‌قسمت / کامپوننت‌محور» روی
 * کلاس‌های مشترکِ پلاگین اجرا شود تا همه‌ی صفحات یک‌دست با آرتیفکت شوند.
 *
 * قواعد رعایت‌شده:
 *  - فقط CSS؛ هیچ تغییرِ رفتاری/markup اینجا نیست.
 *  - هیچ مقدارِ ظاهریِ هاردکد در قواعدِ کامپوننت نیست؛ همه از توکن (قانون قرمز #۴).
 *    نام‌های آرتیفکت (--brand,--surface,…) در بلاکِ پلِ زیر به توکنِ clinic نگاشت شده‌اند.
 *  - اسکوپ: توکن‌ها و کلاس‌های عام فقط داخلِ ظرفِ پلاگین (clinic-wrap/dashboard/admin-ui)
 *    فعال‌اند تا به وردپرس/افزونه‌های دیگر نشت نکنند.
 *  - specificity پایین (بیشتر با :where) تا page-scoped CSS و custom.css برنده بمانند.
 *
 * ترتیبِ بارگذاری: آخرین حلقه‌ی زنجیره‌ی v2 (پس از badges/search-fields) و پیش از
 * custom.css؛ پس custom.css و CSSِ تم‌ساز همچنان برنده‌ی نهاییِ cascade می‌مانند.
 */

/* ===================== توکن‌های پل (نام آرتیفکت روی توکنِ clinic) ===================== */
.clinic-wrap,
.clinic-dashboard,
.clinic-admin-ui,
.clinic-skin{
  --brand:#4b2e83; --brand:var(--clinic-primary,#4b2e83);
  --brand-deep:var(--clinic-primary-deep,#3c2568);
  --brand-soft:var(--clinic-bg-light,#f3e8ff);
  --brand-ring:#e6d9fb;
  --bg:var(--clinic-bg-soft,#f6f4fb);
  --surface:var(--clinic-surface,#ffffff);
  --surface-2:#faf8fe;
  --surface-3:#f3eefb;
  --green:var(--clinic-brand-green,#1f9c68); --green-soft:#e3f5ec; --green-ink:#12724a;
  --coral:var(--clinic-brand-coral,#d16b6b); --coral-soft:#fbe9e9; --coral-ink:#b23838;
  --gold:var(--clinic-gold,#c98a12); --gold-soft:#fbf1da; --gold-ink:#8a5e00;
  --sky:#2f7bbd; --sky-soft:#e6f0f9; --sky-ink:#1f6099;
  --text:var(--clinic-text,#241c38); --text-2:#4a4361;
  --muted:var(--clinic-muted,#6b6483); --faint:#756e8e;
  --border:var(--clinic-border,#ece7f5); --border-2:#e2dcf0;
  --shadow-sm:0 1px 2px rgba(75,46,131,.06),0 1px 3px rgba(75,46,131,.05);
  --shadow-md:0 4px 14px rgba(75,46,131,.09);
  --shadow-lg:0 12px 34px rgba(75,46,131,.14);
  --radius:var(--clinic-radius-lg,14px); --radius-sm:var(--clinic-radius-sm,10px);
  --radius-pill:var(--clinic-radius-pill,999px);
}

/* اسکوپِ عام: :where(...) صفر-specificity برای هر سلکتورِ تک‌واژه‌ایِ آرتیفکت.
   برای فشرده‌ماندن، از یک لیستِ ظرف در ابتدای هر گروه استفاده می‌شود. */

/* ===================== سرصفحه‌ی صفحه (pagehead) ===================== */
.clinic-wrap .pagehead,.clinic-dashboard .pagehead,.clinic-admin-ui .pagehead{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 14px}
.pagehead__t{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.pagehead__t h1{margin:0;font-size:21px;font-weight:800;letter-spacing:-.01em;display:flex;align-items:center;gap:9px;color:var(--text)}
.pagehead__t h1 .hdot{width:6px;height:20px;border-radius:3px;background:var(--brand);flex:0 0 auto}
.pagehead__t .subcount{color:var(--muted);font-size:13px;font-weight:600}
.pagehead__acts{display:flex;gap:8px;flex-wrap:wrap}
.backlink{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text-2);font-size:12.5px;font-weight:600;border:1px solid var(--border-2)}
.backlink svg{width:15px;height:15px;stroke:currentColor}
.backlink:hover{color:var(--brand)}

/* عنوانِ یکپارچه‌ی صفحه (دات + زیرشمار) — کلاسِ مشترکِ پلاگین + پلِ سرِ لیست‌ها */
.clinic-wrap .clinic-title,.clinic-dashboard .clinic-title,.clinic-admin-ui .clinic-title,
.clinic-list-head__title,.patients-list__head h1{margin:0;font-size:21px;font-weight:800;letter-spacing:-.01em;display:flex;align-items:center;gap:9px;color:var(--text)}
.clinic-hdot{width:6px;height:20px;border-radius:3px;background:var(--brand);flex:0 0 auto;display:inline-block}
.clinic-subcount{color:var(--muted);font-size:13px;font-weight:600}
/* داتِ سراسریِ عنوانِ صفحه: روی هر عنوانی که span صریحِ .clinic-hdot ندارد،
   دات را با ::before می‌سازد ⇒ همه‌ی صفحات یکجا مثلِ .pagehead آرتیفکت. */
.clinic-wrap h1.clinic-title:not(:has(.clinic-hdot))::before,
.clinic-dashboard h1.clinic-title:not(:has(.clinic-hdot))::before,
.clinic-admin-ui h1.clinic-title:not(:has(.clinic-hdot))::before,
.clinic-list-head__title:not(:has(.clinic-hdot))::before{content:"";width:6px;height:20px;border-radius:3px;background:var(--brand);flex:0 0 auto;display:inline-block}

/* ===================== دکمه‌ها (btn) + پلِ clinic-btn ===================== */
.clinic-wrap .btn,.clinic-dashboard .btn,.clinic-admin-ui .btn,
.clinic-wrap .clinic-btn,.clinic-dashboard .clinic-btn,.clinic-admin-ui .clinic-btn{
  display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border-radius:var(--radius-pill);font-size:13.5px;font-weight:600;border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);transition:transform .12s,box-shadow .15s,background .15s;box-shadow:var(--shadow-sm);white-space:nowrap;text-decoration:none}
.clinic-wrap .btn svg,.clinic-wrap .clinic-btn svg,.clinic-dashboard .btn svg,.clinic-admin-ui .btn svg{width:17px;height:17px;stroke:currentColor}
.clinic-wrap .btn:hover,.clinic-dashboard .btn:hover,.clinic-admin-ui .btn:hover,
.clinic-wrap .clinic-btn:hover,.clinic-dashboard .clinic-btn:hover,.clinic-admin-ui .clinic-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);color:var(--text-2)}
.clinic-wrap .btn--primary,.clinic-dashboard .btn--primary,.clinic-admin-ui .btn--primary,
.clinic-wrap .clinic-btn--primary,.clinic-dashboard .clinic-btn--primary,.clinic-admin-ui .clinic-btn--primary{background:var(--brand);color:#fff;border-color:transparent}
.clinic-wrap .btn--primary:hover,.clinic-wrap .clinic-btn--primary:hover,.clinic-dashboard .clinic-btn--primary:hover,.clinic-admin-ui .clinic-btn--primary:hover{background:var(--brand-deep);color:#fff}
.clinic-wrap .btn--danger,.clinic-wrap .clinic-btn--danger,.clinic-dashboard .clinic-btn--danger,.clinic-admin-ui .clinic-btn--danger{background:var(--coral-soft);color:var(--coral-ink);border-color:transparent}
.clinic-wrap .btn--danger:hover,.clinic-wrap .clinic-btn--danger:hover{background:#f7dede;color:var(--coral-ink)}
.clinic-wrap .btn--sm,.clinic-wrap .clinic-btn--sm,.clinic-dashboard .clinic-btn--sm,.clinic-admin-ui .clinic-btn--sm{height:32px;padding:0 11px;font-size:12.5px}
.clinic-wrap .btn:disabled,.clinic-wrap .clinic-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:var(--shadow-sm)}

/* دکمه‌ی گِرد پین/ستاره‌دار */
.clinic-wrap .pin,.clinic-dashboard .pin,.clinic-admin-ui .pin{width:33px;height:33px;border-radius:50%;background:var(--brand);color:var(--gold);border:none;display:grid;place-items:center;box-shadow:var(--shadow-sm);flex:0 0 auto;transition:background .15s,transform .12s;cursor:pointer}
.clinic-wrap .pin:hover{background:var(--brand-deep);transform:translateY(-1px)}
.clinic-wrap .pin svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.clinic-wrap .pin.is-on svg{fill:currentColor}

/* ===================== کارت‌های آمار (stats / stat) ===================== */
.clinic-wrap .stats,.clinic-dashboard .stats,.clinic-admin-ui .stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:13px}
.clinic-wrap .stat,.clinic-dashboard .stat,.clinic-admin-ui .stat{display:flex;align-items:center;gap:11px;padding:11px 15px;border-inline-start:1px solid var(--border);min-width:0}
.clinic-wrap .stat:first-child,.clinic-dashboard .stat:first-child,.clinic-admin-ui .stat:first-child{border-inline-start:none}
.stat__ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--tsoft,var(--brand-soft));color:var(--tc,var(--brand));flex:0 0 auto}
.stat__ic svg{width:17px;height:17px;stroke:var(--tc,var(--brand))}
.stat__v{display:flex;flex-direction:column;line-height:1.22;min-width:0}
.stat__num{font-size:19px;font-weight:800;letter-spacing:-.01em;color:var(--text)}
.stat__lbl{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat--a{--tc:var(--brand);--tsoft:var(--brand-soft)}
.stat--b{--tc:var(--green);--tsoft:var(--green-soft)}
.stat--c{--tc:var(--sky);--tsoft:var(--sky-soft)}
.stat--d{--tc:var(--coral);--tsoft:var(--coral-soft)}

/* ===================== نوارِ ابزار / فیلترها (toolbar / search / select / chip) ===================== */
.clinic-wrap .toolbar,.clinic-dashboard .toolbar,.clinic-admin-ui .toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:9px 11px;box-shadow:var(--shadow-sm);margin-bottom:13px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.clinic-wrap .search,.clinic-dashboard .search,.clinic-admin-ui .search{position:relative;flex:1 1 220px;min-width:170px}
.clinic-wrap .search svg{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);width:17px;height:17px;stroke:var(--faint)}
.clinic-wrap .search input{display:block;margin:0;min-height:0;width:100%;height:38px;border:1px solid var(--border-2);background:var(--surface-2);border-radius:var(--radius-sm);padding:0 40px 0 12px;font-family:inherit;font-size:13.5px;color:var(--text)}
.clinic-wrap .search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);background:var(--surface)}
/* پلِ ورودی/سلکتِ مشترکِ پلاگین */
.clinic-wrap .select,.clinic-wrap .clinic-select,.clinic-dashboard .clinic-select,.clinic-admin-ui .clinic-select{height:38px;border:1px solid var(--border-2);background:var(--surface-2);border-radius:var(--radius-sm);padding:0 12px;font-family:inherit;font-size:13.5px;color:var(--text-2)}
.clinic-wrap .select:focus,.clinic-wrap .clinic-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}
.clinic-wrap .inp,.clinic-wrap .clinic-input,.clinic-dashboard .clinic-input,.clinic-admin-ui .clinic-input{min-height:0;height:38px;border:1px solid var(--border-2);background:var(--surface-2);border-radius:var(--radius-sm);padding:0 12px;font-family:inherit;font-size:13.5px;color:var(--text)}
.clinic-wrap .inp:focus,.clinic-wrap .clinic-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);background:var(--surface)}
.clinic-wrap textarea.inp,.clinic-wrap textarea.clinic-input{height:auto;padding:9px 12px;resize:vertical}
.clinic-wrap .clinic-input--search{padding:0 40px 0 12px}
.daterange{display:inline-flex;align-items:center;gap:6px}
.rangelbl{font-size:12.5px;color:var(--muted);font-weight:600}
.tsep{width:1px;align-self:stretch;background:var(--border-2);margin:3px 1px}
.checkfld{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-2);font-weight:600}
.checkfld input{width:16px;height:16px;accent-color:var(--brand)}
.chips,.chipwrap{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.chipwrap .lbl{font-size:12px;color:var(--muted);font-weight:600;margin-inline-end:2px}
.clinic-wrap .chip,.clinic-dashboard .chip,.clinic-admin-ui .chip,
.clinic-wrap .filter-chip,.clinic-dashboard .filter-chip,.clinic-admin-ui .filter-chip{height:34px;padding:0 12px;border-radius:var(--radius-pill);border:1px solid var(--border-2);background:var(--surface-2);color:var(--text-2);font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:5px;transition:.15s;text-decoration:none;cursor:pointer}
.clinic-wrap .chip:hover,.clinic-wrap .filter-chip:hover{border-color:var(--brand-ring);color:var(--brand)}
.clinic-wrap .chip.is-on,.clinic-wrap .chip.is-active,.clinic-wrap .filter-chip.is-on,.clinic-wrap .filter-chip.is-active,
.clinic-dashboard .chip.is-on,.clinic-admin-ui .chip.is-on{background:var(--brand);border-color:transparent;color:#fff}
.clinic-wrap .chip svg,.clinic-wrap .filter-chip svg{width:14px;height:14px;stroke:currentColor;flex:0 0 auto}
.clinic-wrap .chip .cnt,.clinic-wrap .filter-chip .cnt{font-size:11px;opacity:.7}
.perpage{display:flex;align-items:center;gap:4px}
.perpage span{font-size:12px;color:var(--muted)}
.clinic-wrap .pp{width:34px;height:32px;border-radius:8px;border:1px solid var(--border-2);background:var(--surface-2);font-size:12.5px;font-weight:600;color:var(--text-2)}
.clinic-wrap .pp.is-on{background:var(--brand-soft);border-color:var(--brand-ring);color:var(--brand)}

/* ===================== نوارِ سرِ لیستِ مشترکِ پلاگین (clinic-list-head) ===================== */
.clinic-list-head{margin:0 0 14px}
.clinic-list-head__bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.clinic-list-head__actions{display:flex;gap:8px;flex-wrap:wrap}
.clinic-list-head__toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:9px 11px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:9px;flex-wrap:wrap}

/* ===================== خلاصه‌ی مبالغ (sumbar) ===================== */
.sumbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:13px}
.sumtile{flex:1 1 150px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:11px 15px;display:flex;flex-direction:column;gap:2px}
.sumtile span{font-size:12px;color:var(--muted)}
.sumtile b{font-size:18px;font-weight:800}
.sumtile--amount b{color:var(--brand)} .sumtile--paid b{color:var(--green-ink)} .sumtile--debt b{color:var(--coral-ink)}

/* ===================== نوارِ عملیاتِ دسته‌ای (bulkbar) ===================== */
.bulkbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:9px 13px;box-shadow:var(--shadow-sm);margin-bottom:12px}
.bulkbar__all{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--text-2);cursor:pointer;user-select:none}
.bulkbar__count{font-size:13px;color:var(--muted)}
.bulkbar__count b{color:var(--brand);font-weight:800}
.bulkbar__sp{flex:1}

/* ===================== کارتِ فرم (formcard / field / inp) ===================== */
.formcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 18px;margin-bottom:13px}
.formcard__h{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;margin:0 0 13px;color:var(--text)}
.formcard__h svg{width:18px;height:18px;stroke:var(--brand)}
.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field--full{grid-column:1/-1}
.field label{font-size:12.5px;color:var(--text-2);font-weight:600}
.field .req{color:var(--coral-ink)}
.field-hint{font-size:11.5px;color:var(--faint)}
.filebox{display:flex;align-items:center;gap:10px;height:38px;border:1px dashed var(--border-2);background:var(--surface-2);border-radius:var(--radius-sm);padding:0 12px;font-size:12.5px;color:var(--muted)}
.formcard__foot{margin-top:14px;display:flex;gap:8px}

/* ===================== کارتِ جدول (tablecard) ===================== */
.tablecard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:13px}
.tabletools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--border)}
.tabletools__l{display:flex;gap:8px;flex-wrap:wrap}
.tabletools__r{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sortbar{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);white-space:nowrap}
.sortbar svg{flex:0 0 auto;width:16px;height:16px;stroke:var(--muted)}
.tablewrap{overflow-x:auto}
.tablecard table{width:100%;border-collapse:collapse}
.tablecard thead th{position:sticky;top:0;background:var(--surface-3);color:var(--text-2);font-size:12.5px;font-weight:700;text-align:right;padding:11px 11px;border-bottom:1px solid var(--border-2);white-space:nowrap;letter-spacing:.01em}
.tablecard thead th a.sorth{color:inherit;display:inline-flex;align-items:center;gap:3px}
.tablecard thead th a.sorth.is-on{color:var(--brand)}
.tablecard tbody td{padding:10px 11px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:13.5px;color:var(--text)}
.tablecard tbody tr{transition:background .12s}
.tablecard tbody tr:hover{background:var(--surface-2)}
.tablecard tbody tr:last-child td{border-bottom:none}
.tablecard tbody tr.is-unread{background:var(--brand-soft)}

/* سلولِ بیمار (نام + آواتار) */
.pt{display:flex;align-items:center;gap:11px;min-width:0}
.av{width:38px;height:38px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-weight:800;font-size:14px;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)}
.pt__name{font-weight:700;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.cellname{font-weight:700;color:var(--text)}
.cellsub{color:var(--muted);font-size:12.5px}
.faint{color:var(--faint)}
a.tel{color:var(--text-2);font-weight:600;direction:ltr;display:inline-block}
a.tel:hover{color:var(--brand)}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-inline-end:6px;vertical-align:middle}
.en{direction:ltr;display:inline-block;font-weight:600}

/* چک‌باکسِ سفارشی */
.clinic-wrap .cb{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border-2);background:var(--surface);appearance:none;cursor:pointer;position:relative;flex:0 0 auto}
.clinic-wrap .cb:checked{background:var(--brand);border-color:var(--brand)}
.clinic-wrap .cb:checked::after{content:"";position:absolute;inset:0;background:no-repeat center/12px url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>")}

/* ===================== نشان‌ها (badge / paychip) + پلِ clinic-badge ===================== */
.badges{display:flex;gap:5px;flex-wrap:wrap}
.clinic-wrap .badge,.clinic-dashboard .badge,.clinic-admin-ui .badge{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.badge .d{width:6px;height:6px;border-radius:50%;background:currentColor}
.b-wait{background:var(--gold-soft);color:var(--gold-ink)}
.b-done{background:var(--green-soft);color:var(--green-ink)}
.b-cancel{background:var(--coral-soft);color:var(--coral-ink)}
.b-info{background:var(--sky-soft);color:var(--sky-ink)}
.b-brand{background:var(--brand-soft);color:var(--brand)}
.b-off{background:var(--surface-3);color:var(--muted);border:1px dashed var(--border-2)}
.b-guest{background:var(--gold-soft);color:var(--gold-ink)}
.paychip{font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border:1px solid transparent}
.paychip--unpaid{background:var(--coral-soft);color:var(--coral-ink)}
.paychip--paid{background:var(--green-soft);color:var(--green-ink)}
.paychip--partial{background:var(--gold-soft);color:var(--gold-ink)}
.srcbadge{font-size:11px;font-weight:700;padding:2px 9px;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text-2)}

/* ===================== دکمه‌های عملیاتِ سطر (act) ===================== */
.acts{display:flex;gap:3px;justify-content:flex-start;flex-wrap:nowrap;white-space:nowrap}
.clinic-wrap .act,.clinic-dashboard .act,.clinic-admin-ui .act{width:33px;height:33px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--muted);display:grid;place-items:center;transition:.13s;position:relative;cursor:pointer}
.clinic-wrap .act svg{width:16px;height:16px;stroke:currentColor}
.clinic-wrap .act:hover{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-ring)}
.clinic-wrap .act--go:hover{background:var(--green-soft);color:var(--green-ink);border-color:transparent}
.clinic-wrap .act--warn:hover{background:var(--gold-soft);color:var(--gold-ink);border-color:transparent}
.clinic-wrap .act--danger:hover{background:var(--coral-soft);color:var(--coral-ink);border-color:transparent}
.act-sep{width:1px;height:20px;background:var(--border-2);margin:0 3px;align-self:center}

/* ===================== صفحه‌بندی (pager) + پلِ clinic-pagination ===================== */
.pager,.clinic-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:13px 15px;border-top:1px solid var(--border-2);background:var(--surface-2)}
.pager__info{font-size:13px;color:var(--muted)}
.pages{display:flex;gap:6px;align-items:center}
.clinic-wrap .page,.clinic-dashboard .page,.clinic-admin-ui .page{min-width:36px;height:36px;padding:0 10px;border-radius:9px;border:1px solid var(--border-2);background:var(--surface);font-size:13.5px;font-weight:600;color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;transition:.13s;text-decoration:none}
.clinic-wrap .page:hover{border-color:var(--brand-ring);color:var(--brand)}
.clinic-wrap .page.is-on,.clinic-wrap .page.is-active{background:var(--brand);border-color:transparent;color:#fff}
.emptyrow{padding:34px 16px;text-align:center;color:var(--faint);font-size:13.5px}

/* ===================== تب‌های پرونده (tabs) ===================== */
.tabs__nav{display:flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:5px;margin-bottom:12px;overflow-x:auto}
.clinic-wrap .tab,.clinic-dashboard .tab,.clinic-admin-ui .tab{height:36px;padding:0 15px;border:none;background:transparent;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;color:var(--text-2);white-space:nowrap;flex:0 0 auto;cursor:pointer}
.clinic-wrap .tab.is-on,.clinic-wrap .tab.is-active{background:var(--brand-soft);color:var(--brand)}

/* ===================== اعلان (notice) ===================== */
.clinic-wrap .notice.clinic-notice,.notice--success,.notice--error,.notice--warn,.notice--info{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:var(--radius-sm);border:1px solid;font-size:13.5px;font-weight:600}
.notice--success{background:var(--green-soft);border-color:#bfe6d2;color:var(--green-ink)}
.notice--error{background:var(--coral-soft);border-color:#f2cfcf;color:var(--coral-ink)}
.notice--warn{background:var(--gold-soft);border-color:#eeddb3;color:var(--gold-ink)}
.notice--info{background:var(--sky-soft);border-color:#cfe0f0;color:var(--sky-ink)}

/* ===================== وضعیتِ خالی (empty) ===================== */
.empty{text-align:center;padding:34px 20px;background:var(--surface);border:1px dashed var(--border-2);border-radius:var(--radius)}
.empty__ic{width:56px;height:56px;border-radius:50%;background:var(--surface-3);display:grid;place-items:center;margin:0 auto 12px}
.empty__ic svg{width:26px;height:26px;stroke:var(--faint)}
.empty h4{margin:0 0 5px;font-size:15px;font-weight:800;color:var(--text)}
.empty p{margin:0 0 14px;font-size:13px;color:var(--muted)}

/* ===================== کارت‌ها/نمودارهای داشبورد (chartcard / today / meter / stars) ===================== */
.chartcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:15px 18px}
.chartcard h3{margin:0 0 12px;font-size:14px;font-weight:800;display:flex;align-items:center;gap:8px;color:var(--text)}
.chartcard h3 svg{width:16px;height:16px;stroke:var(--brand)}
.today-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:13px}
/* STEP 360: :not(td) — persian-datepicker روی خانه‌ی «امروز» کلاسِ td.today می‌گذارد؛ این قاعده‌ی کارت
   بی‌قید روی آن هم می‌نشست (flex/padding/border/سایه) و خانه‌ی امروزِ تقویم به‌هم می‌ریخت. */
.today:not(td){flex:1 1 130px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:11px 15px;display:flex;align-items:center;gap:11px}
.today__ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--tsoft,var(--brand-soft));color:var(--tc,var(--brand));flex:0 0 auto}
.today__ic svg{width:17px;height:17px;stroke:var(--tc,var(--brand))}
.today:not(td) b{display:block;font-size:18px;font-weight:800;line-height:1.2;color:var(--text)}
.today:not(td) span{font-size:11.5px;color:var(--muted)}
.stars{color:var(--gold);font-size:14px;letter-spacing:1px;white-space:nowrap}
.stars .off{color:var(--border-2)}
.meter{height:8px;border-radius:5px;background:var(--surface-3);overflow:hidden;min-width:70px}
.meter span{display:block;height:100%;border-radius:5px;background:var(--brand)}
.trend-up{color:var(--green-ink);font-weight:700} .trend-down{color:var(--coral-ink);font-weight:700}

/* ===================== موبایل: نوارِ آمار ۲ ستونه ===================== */
@media (max-width:860px){
  .clinic-wrap .stats,.clinic-dashboard .stats,.clinic-admin-ui .stats{grid-template-columns:1fr 1fr}
  .clinic-wrap .stat:nth-child(odd),.clinic-dashboard .stat:nth-child(odd),.clinic-admin-ui .stat:nth-child(odd){border-inline-start:none}
  .clinic-wrap .stat:nth-child(n+3),.clinic-dashboard .stat:nth-child(n+3),.clinic-admin-ui .stat:nth-child(n+3){border-top:1px solid var(--border)}
}
@media (max-width:640px){
  .clinic-wrap .pagehead__acts .btn,.clinic-wrap .pagehead__acts .clinic-btn{flex:1 1 auto;justify-content:center}
  .sumtile{flex:1 1 45%}
}

/* ===================== فرم‌های بزرگ/ویزارد (bigform) ===================== */
.bigform{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:13px}
.bigform__sec{padding:16px 18px;border-bottom:1px solid var(--border)}
.bigform__sec:last-child{border-bottom:none}
.bigform__h{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;margin:0 0 14px;color:var(--text)}
.bigform__h svg{width:16px;height:16px;stroke:var(--brand);flex:0 0 auto}
.bigform__h .muted{color:var(--muted);font-weight:600;font-size:12px;margin-inline-start:auto}
.bigform__foot,.wizfoot{display:flex;gap:8px;padding:14px 18px;background:var(--surface-2);border-top:1px solid var(--border);flex-wrap:wrap}
.wizfoot{justify-content:space-between}
.formpatient{display:flex;align-items:center;gap:11px;background:var(--brand-soft);border-radius:var(--radius-sm);padding:10px 13px;flex-wrap:wrap}
.formpatient__meta{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--brand);align-items:center}

/* ردیف‌های تکرارشونده + جمع‌ها */
.itemrows{display:flex;flex-direction:column;gap:8px}
.itemrow{display:grid;gap:8px;align-items:end;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}
.clinic-wrap .itemrow__rm{width:34px;height:34px;border-radius:9px;border:1px solid var(--border-2);background:var(--surface);color:var(--coral-ink);display:grid;place-items:center;cursor:pointer;flex:0 0 auto}
.clinic-wrap .itemrow__rm svg{width:16px;height:16px;stroke:currentColor}
.clinic-wrap .itemrow__rm:hover{background:var(--coral-soft)}
.totals{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 15px;margin-top:12px;max-width:340px;margin-inline-start:auto}
.totals__row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:13.5px;color:var(--text-2)}
.totals__row--grand{border-top:1px solid var(--border);margin-top:2px;padding-top:9px;font-size:15px;font-weight:800;color:var(--text)}
.totals__row--grand b{color:var(--brand)}

/* پیل‌های رادیویی + سوییچ */
.radiopills{display:flex;gap:8px;flex-wrap:wrap}
.clinic-wrap .radiopill{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--border-2);background:var(--surface-2);font-size:13.5px;font-weight:600;color:var(--text-2);cursor:pointer}
.clinic-wrap .radiopill input{accent-color:var(--brand)}
.clinic-wrap .radiopill:has(input:checked){background:var(--brand-soft);border-color:var(--brand-ring);color:var(--brand)}
.clinic-wrap .switch{position:relative;display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:13px;font-weight:600;color:var(--text-2)}
.clinic-wrap .switch input{position:absolute;opacity:0;width:0;height:0}
.clinic-wrap .switch__t{width:38px;height:22px;border-radius:999px;background:var(--border-2);position:relative;transition:background .15s;flex:0 0 auto}
.clinic-wrap .switch__t::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 .15s}
.clinic-wrap .switch input:checked+.switch__t{background:var(--brand)}
.clinic-wrap .switch input:checked+.switch__t::after{inset-inline-start:18px}

/* استپر (مراحل) */
.stepper{display:flex;align-items:flex-start;overflow-x:auto}
.clinic-wrap .step{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:7px;position:relative;min-width:76px}
.clinic-wrap .step::before{content:"";position:absolute;top:15px;inset-inline-end:50%;width:100%;height:2px;background:var(--border-2)}
.clinic-wrap .step:first-child::before{display:none}
.clinic-wrap .step.done::before,.clinic-wrap .step.active::before{background:var(--brand)}
.clinic-wrap .step__n{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;background:var(--surface);border:2px solid var(--border-2);color:var(--muted);position:relative;z-index:1}
.clinic-wrap .step.done .step__n{background:var(--brand);border-color:var(--brand);color:#fff}
.clinic-wrap .step.active .step__n{border-color:var(--brand);color:var(--brand)}
.clinic-wrap .step__l{font-size:12px;color:var(--muted);text-align:center}
.clinic-wrap .step.active .step__l,.clinic-wrap .step.done .step__l{color:var(--text);font-weight:600}

/* زیرناوبریِ مالی (finnav) + قطعه‌ای (seg) */
.finnav{display:flex;gap:5px;overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:6px;margin-bottom:13px}
.finnav button,.finnav a{flex:0 0 auto;height:32px;padding:0 13px;border:none;background:transparent;border-radius:var(--radius-sm);font-size:12.5px;font-weight:600;color:var(--text-2);white-space:nowrap;display:inline-flex;align-items:center;text-decoration:none}
.finnav button:hover,.finnav a:hover{background:var(--surface-2);color:var(--brand)}
.finnav button.is-on,.finnav a.is-on{background:var(--brand);color:#fff}
.seg{display:inline-flex;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-pill);padding:3px;box-shadow:var(--shadow-sm)}
.clinic-wrap .seg button{height:32px;padding:0 16px;border:none;background:transparent;border-radius:var(--radius-pill);font-size:13px;font-weight:600;color:var(--text-2);cursor:pointer}
.clinic-wrap .seg button.is-on{background:var(--brand);color:#fff}

/* ===================== صفحهٔ پرونده (record) ===================== */
.rec-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 18px;margin-bottom:13px}
.rec-hero__id{display:flex;align-items:center;gap:14px;min-width:0}
.rec-hero__av{width:54px;height:54px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:21px;flex:0 0 auto;box-shadow:inset 0 0 0 3px rgba(255,255,255,.25)}
.rec-hero h1{margin:0;font-size:20px;font-weight:800;color:var(--text)}
.rec-hero__meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px;font-size:12.5px;color:var(--muted);align-items:center}
.rec-hero__meta b{color:var(--text-2);font-weight:700}
.rec-hero__acts{display:flex;gap:8px;flex-wrap:wrap}
.rec-layout{display:grid;grid-template-columns:1fr 320px;gap:14px;align-items:start}
.rec-main{display:flex;flex-direction:column;gap:13px;min-width:0}
.rec-aside{display:flex;flex-direction:column;gap:13px;min-width:0}
.rec-mini{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 16px}
.rec-mini h4{margin:0 0 11px;font-size:13px;font-weight:800;color:var(--text-2);display:flex;align-items:center;gap:7px}
.rec-mini h4 svg{width:15px;height:15px;stroke:var(--brand)}
.rec-counts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.rec-count{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 6px;text-align:center}
.rec-count b{display:block;font-size:18px;font-weight:800;color:var(--brand)}
.rec-count span{font-size:11px;color:var(--muted)}
.reccard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:15px 18px;margin-bottom:12px}
.reccard h3{margin:0 0 10px;font-size:14.5px;font-weight:800;display:flex;align-items:center;gap:8px;color:var(--text)}
.reccard h3 svg{width:17px;height:17px;stroke:var(--brand)}
.reccard p{margin:0;color:var(--text-2);font-size:13.5px}
.dxtag{display:inline-flex;align-items:center;gap:6px;background:var(--brand-soft);color:var(--brand);border-radius:var(--radius-pill);padding:3px 11px;font-size:12.5px;font-weight:700}
.allergy{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--coral-ink)}
.allergy svg{width:16px;height:16px;stroke:var(--coral)}
.atag{background:var(--coral-soft);color:var(--coral-ink);border-radius:var(--radius-pill);padding:3px 11px;font-size:12.5px;font-weight:700}
.vital{display:inline-flex;flex-direction:column;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;min-width:70px}
.vital span{font-size:11px;color:var(--muted)} .vital b{font-size:14px;color:var(--text)}
.vchips{display:flex;gap:7px;flex-wrap:wrap}
.vchip{display:inline-flex;flex-direction:column;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px}
.vchip span{font-size:11px;color:var(--muted)} .vchip b{font-size:13.5px;color:var(--text)}
.vlist{display:flex;flex-direction:column}
.vlist__row{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:7px 0;border-bottom:1px solid var(--border)}
.vlist__row:last-child{border:none}
.vlist__row span{color:var(--muted)}
.scount{background:var(--surface-3);border-radius:var(--radius-sm);padding:7px 13px;text-align:center;min-width:60px}
.scount b{display:block;font-size:17px;font-weight:800;color:var(--brand)}
.scount span{font-size:11px;color:var(--muted)}
@media (max-width:960px){.rec-layout{grid-template-columns:1fr}}

/* سومین واریانتِ sumtile (بستانکار) برای صفحاتِ مالیِ بیمار */
.sumtile--credit b{color:var(--green-ink)}

/* ===================== کارت‌های KPIِ داشبوردِ اصلی (clinic-suite) ===================== */
/* ری‌اسکینِ کارتِ ویجت به کارتِ فشرده‌ی افقیِ آرتیفکت (مثلِ .today): آیکونِ تینتِ
   معنایی + عددِ تیره + برچسبِ کم‌رنگ + لینکِ «مشاهده». همه از توکن؛ هیچ عنصری حذف نشد. */
.clinic-wrap .clinic-card--metric,.clinic-dashboard .clinic-card--metric,.clinic-admin-ui .clinic-card--metric{
  flex-direction:row;align-items:center;justify-content:flex-start;text-align:start;gap:11px;
  min-height:0;padding:13px 15px;overflow:visible}
.clinic-wrap .clinic-card--metric::before,.clinic-dashboard .clinic-card--metric::before,.clinic-admin-ui .clinic-card--metric::before{display:none}
.clinic-wrap .clinic-card--metric .clinic-card-icon,.clinic-dashboard .clinic-card--metric .clinic-card-icon{width:34px;height:34px;border-radius:9px;background:var(--brand-soft);color:var(--brand);font-size:0}
.clinic-wrap .clinic-card--metric .clinic-card-icon svg,.clinic-dashboard .clinic-card--metric .clinic-card-icon svg{width:18px;height:18px;stroke:currentColor}
.clinic-wrap .clinic-card--success .clinic-card-icon,.clinic-dashboard .clinic-card--success .clinic-card-icon{background:var(--green-soft);color:var(--green)}
.clinic-wrap .clinic-card--warning .clinic-card-icon,.clinic-dashboard .clinic-card--warning .clinic-card-icon{background:var(--gold-soft);color:var(--gold-ink)}
.clinic-wrap .clinic-card--metric .clinic-card-content,.clinic-dashboard .clinic-card--metric .clinic-card-content{display:flex;flex-direction:column;line-height:1.22}
.clinic-wrap .clinic-card--metric .clinic-card-value,.clinic-dashboard .clinic-card--metric .clinic-card-value,.clinic-admin-ui .clinic-card--metric .clinic-card-value{margin:0;font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.01em;order:1}
.clinic-wrap .clinic-card--success .clinic-card-value,.clinic-wrap .clinic-card--warning .clinic-card-value,.clinic-dashboard .clinic-card--success .clinic-card-value,.clinic-dashboard .clinic-card--warning .clinic-card-value{color:var(--text)}
.clinic-wrap .clinic-card--metric .clinic-card-title,.clinic-dashboard .clinic-card--metric .clinic-card-title{order:2;font-size:12px;color:var(--muted);font-weight:600}
.clinic-wrap .clinic-card--metric .clinic-card-unit,.clinic-dashboard .clinic-card--metric .clinic-card-unit{font-size:11px;color:var(--muted);font-weight:600}
.clinic-wrap .clinic-card--metric .clinic-card-footer,.clinic-dashboard .clinic-card--metric .clinic-card-footer{flex-basis:auto;margin-inline-start:auto;margin-top:0;align-self:center}
.clinic-wrap .clinic-card--metric .clinic-card-link,.clinic-dashboard .clinic-card--metric .clinic-card-link{color:var(--brand);font-size:12px;font-weight:700;white-space:nowrap}

/* =====================================================================
 * STEP 360 — داشبوردِ سامانه، عیناً مطابقِ آرتیفکت (pDashboard).
 * ساختار: .dashhead ← .toolbar ← .atabs ← .dashgrid (اصلی + کناریِ ۳۰۰px).
 * همه‌ی مقادیر از توکن‌های پلِ بالای همین فایل.
 * ===================================================================== */
.clinic-wrap,.clinic-dashboard,.clinic-admin-ui,.clinic-skin{--av-5:#7a4fb0;--av-6:#0f8f8f}
.clinic-wrap button{font-family:inherit}
.num{font-variant-numeric:tabular-nums;letter-spacing:.01em}
.mono{font-variant-numeric:tabular-nums}
body .clinic-wrap.clinic-dashboard{max-width:100%!important;width:100%;font-size:15px;line-height:1.6;color:var(--text)}

/* سرِ داشبورد */
.dashhead{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:13px}
.clinic-wrap .dashhead__hi{font-size:20px;font-weight:800;margin:0;letter-spacing:0;line-height:1.6;display:flex;align-items:center;gap:9px;color:var(--text)}
.clinic-wrap .dashhead__hi .clinic-nav-pin{width:30px;height:30px;flex:0 0 auto}
.clinic-wrap .dashhead__hi::before{content:none!important;display:none!important}
.dashhead__sub{font-size:12.5px;color:var(--muted);margin-top:4px}
.dashhead__r{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dashhead__bk{font-size:11.5px;color:var(--muted)}
.svcok{display:inline-flex;align-items:center;gap:6px;background:var(--green-soft);color:var(--green-ink);border-radius:var(--radius-pill);padding:4px 12px;font-size:12px;font-weight:700;line-height:1.6}
.svcok svg{width:14px;height:14px;stroke:var(--green)}

/* نوارِ ابزار: جستجو (فرم) + بازه/پزشک (فرم با display:contents) + بازخوانی */
.clinic-wrap form.search{margin:0}
.clinic-wrap .search--dash{max-width:300px}
.clinic-wrap .search .search__go{position:absolute;inset-inline-start:7px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;background:transparent;padding:0;margin:0;display:grid;place-items:center;cursor:pointer;color:var(--faint);box-shadow:none}
.clinic-wrap .search .search__go svg{position:static;inset:auto;transform:none;width:17px;height:17px;stroke:currentColor}
.clinic-wrap .search .search__go:hover{color:var(--brand)}
.toolbar__form{display:contents}
.clinic-wrap .select,.clinic-wrap .clinic-select{-webkit-appearance:auto;appearance:auto;min-height:0;max-width:100%;line-height:normal}
body.js .clinic-nojs-only{display:none!important}

/* تب‌های پیل */
.atabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;overflow-x:auto}
.clinic-wrap .atab{display:inline-flex;align-items:center;gap:6px;height:auto;min-height:0;padding:8px 16px;margin:0;border-radius:var(--radius-pill);border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);font-size:13px;font-weight:600;line-height:normal;white-space:nowrap;cursor:pointer;box-shadow:none}
.clinic-wrap .atab:hover{color:var(--brand)}
.clinic-wrap .atab.is-on,.clinic-wrap .atab.active{background:var(--brand);color:#fff;border-color:transparent}

/* چیدمانِ دوستونه */
.dashgrid{display:grid;grid-template-columns:1fr 300px;gap:14px;align-items:start}
.dashgrid>*{min-width:0}

/* کاشیِ آمار به‌صورتِ لینک (کلِ کاشی قابلِ کلیک؛ جایگزینِ «مشاهده ←») */
a.stat{text-decoration:none;color:inherit;transition:background .12s}
a.stat:hover{background:var(--surface-2);color:inherit}
.clinic-wrap a.stat:focus-visible{outline:2px solid var(--brand);outline-offset:-3px}
.stat__num{color:var(--text)}

/* کارتِ نما (شاخص‌های کلیدی) */
.viewcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 18px;margin-bottom:13px}
.clinic-wrap .viewcard>h3{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;margin:0 0 13px;color:var(--text)}
.viewcard>h3 svg{width:17px;height:17px;stroke:var(--brand)}
.kpirow{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.kpirow__sat{font-weight:600;font-size:13px}
.kpirow__rt{font-size:13px;color:var(--text-2)}
.wbars{display:flex;flex-direction:column;gap:10px}
.wbar{display:grid;grid-template-columns:130px 1fr auto;gap:11px;align-items:center}
.wbar__lbl{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wbar__track{height:10px;border-radius:999px;background:var(--surface-3);overflow:hidden}
.wbar__fill{display:block;height:100%;background:var(--brand);border-radius:999px}
.wbar__val{font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums}

/* ردیفِ نمودارها */
.dashrow{display:flex;gap:13px;flex-wrap:wrap;margin-bottom:13px}
.dashrow>*{min-width:0}
.chartcard--wide{flex:2 1 340px}
.chartcard--half{flex:1 1 300px}
.chartcard--full{flex:1 1 100%}
.donutcard{flex:1 1 320px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;padding:16px 18px}
.donutcard--sm{flex:1 1 240px}
.donutcard--md{flex:1 1 260px}
.clinic-wrap .donutcard h3,.clinic-wrap .chartcard h3{color:var(--text)}
.clinic-wrap .donutcard h3{margin:0 0 12px;font-size:14px;font-weight:800}
.donutwrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.donut{width:120px;height:120px;flex:0 0 auto;display:block}
.legrows{display:flex;flex-direction:column;gap:7px;flex:1 1 auto;min-width:0}
.legrow{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--text-2)}
.legrow .k{display:inline-flex;align-items:center;gap:6px}
.legrow .k .d{width:9px;height:9px;border-radius:3px;flex:0 0 auto}
.legrow b{font-weight:700;font-variant-numeric:tabular-nums}
.barchart{display:flex;align-items:flex-end;gap:10px;height:158px;padding:18px 0 0}
.barchart__col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;height:100%}
.barchart__bar{width:100%;max-width:46px;border-radius:6px 6px 0 0;margin-top:auto;position:relative;min-height:4px;background:var(--brand)}
.barchart__v{position:absolute;top:-16px;inset-inline-start:50%;transform:translateX(50%);font-size:10.5px;font-weight:700;color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.6}
.barchart__l{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center;line-height:1.6}
.chartcard .clinic-chart--line{--clinic-chart-h:150px}
.clinic-wrap .chartcard .emptyrow,.clinic-wrap .donutcard .emptyrow{padding:26px 10px}

/* سلول‌های جدولِ داشبورد */
.celltime{color:var(--brand);font-variant-numeric:tabular-nums;font-weight:600}
/* جدول‌های داشبورد تمام‌عرضِ کارت (min-width:1120pxِ سراسریِ آرتیفکت در کارتِ ۱۰۹۴px اسکرولِ بی‌معنی می‌سازد). */
.dashmain .tablecard table{min-width:0}
.av--0{background:var(--brand)}.av--1{background:var(--green)}.av--2{background:var(--sky)}.av--3{background:var(--gold)}.av--4{background:var(--coral)}.av--5{background:var(--av-5)}.av--6{background:var(--av-6)}

/* ستونِ کناری */
.sidecard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:13px 15px;margin-bottom:12px}
.clinic-wrap .sidecard__h{font-size:13px;font-weight:800;margin:0 0 9px;display:flex;align-items:center;gap:7px;color:var(--text);line-height:1.6}
.sidecard__h svg{width:15px;height:15px;stroke:var(--brand)}
.clinic-wrap .sidecard__empty{font-size:12.5px;color:var(--muted);margin:0}
.sidecard__acts{display:flex;flex-wrap:wrap;gap:7px}
.clinic-wrap .btn--block{width:100%;justify-content:center}
.remind{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:12.5px}
.remind:last-child{border-bottom:none}
.remind__n{min-width:26px;height:22px;padding:0 7px;border-radius:999px;display:grid;place-items:center;font-weight:800;font-size:12px;font-variant-numeric:tabular-nums;flex:0 0 auto}
.remind__n--warn{background:var(--coral-soft);color:var(--coral-ink)}
.remind__n--info{background:var(--sky-soft);color:var(--sky-ink)}
.remind__n--ok{background:var(--green-soft);color:var(--green-ink)}
.remind__t{font-weight:800;color:var(--brand);font-variant-numeric:tabular-nums;flex:0 0 auto}
.newsitem{padding:8px 0;border-bottom:1px solid var(--border);font-size:12.5px}
.newsitem:last-child{border-bottom:none}
.newsitem b{font-weight:700}
.newsitem span{display:block;color:var(--muted);font-size:11px;margin-top:2px;font-variant-numeric:tabular-nums}
.clinic-wrap .modstat{font-size:12.5px;color:var(--text-2);margin:0 0 10px}
.modstat b{color:var(--brand);font-variant-numeric:tabular-nums}
.sidelink{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:var(--radius-sm);font-size:13px;color:var(--text-2);font-weight:600;text-decoration:none}
.sidelink:hover{background:var(--surface-2);color:var(--brand)}
.sidelink svg{width:15px;height:15px;stroke:var(--muted);flex:0 0 auto}
/* کارت‌هایی که ماژول‌ها از هوکِ clinic_dashboard_sidebar می‌افزایند (محبوب‌ها/اخیر) ⇒ همان ظاهرِ sidecard */
.dashside .clinic-side-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:13px 15px;margin-bottom:12px}
.clinic-wrap .dashside .clinic-side-card h3{font-size:13px;font-weight:800;margin:0 0 9px;display:flex;align-items:center;gap:7px;color:var(--text);line-height:1.6}
.dashside .clinic-side-card h3 svg{width:15px;height:15px;stroke:var(--brand)}
.dashside .clinic-reminders-list{list-style:none;margin:0;padding:0}
.dashside .clinic-reminders-list li{margin:0}
.dashside .clinic-reminders-list a{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:var(--radius-sm);font-size:13px;color:var(--text-2);font-weight:600;text-decoration:none}
.dashside .clinic-reminders-list a:hover{background:var(--surface-2);color:var(--brand)}
.clinic-wrap .dashside .clinic-side-empty{font-size:12.5px;color:var(--muted);margin:0}

@media (max-width:860px){
  .dashgrid{grid-template-columns:1fr}
}

/* ===================== جدول ← کارت در موبایل (آرتیفکت، محدود به .tablecard) ===================== */
@media (max-width:860px){
  .tablecard table{min-width:0}
  .tablecard thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .tablecard .tablewrap{overflow:visible}
  .tablecard tbody{display:flex;flex-direction:column;gap:12px;padding:12px}
  .tablecard tbody tr{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;column-gap:16px;row-gap:0;position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:13px 14px;box-shadow:var(--shadow-sm)}
  .tablecard tbody tr:hover{background:var(--surface)}
  .tablecard tbody td{padding:0;border:none;min-width:0;display:none}
  .tablecard td.c-empty{display:block;grid-column:1 / -1}
  .tablecard tbody tr:has(td.c-empty){padding:0;border:0;box-shadow:none;background:transparent}
  .tablecard td.c-sel{display:block;position:absolute;top:14px;inset-inline-start:14px}
  .tablecard td.c-primary{display:block;grid-column:1 / 3;grid-row:1;font-size:15px;font-weight:700;min-width:0}
  .tablecard tbody tr:has(td.c-sel) td.c-primary{padding-inline-start:30px}
  .tablecard tbody tr:not(:has(td.c-status)) td.c-primary{grid-column:1 / -1}
  .tablecard td.c-primary .pt__name{white-space:normal}
  .tablecard td.c-primary .av{width:34px;height:34px}
  .tablecard td.c-status{display:block;grid-column:3;grid-row:1;justify-self:end;align-self:center;text-align:end;min-width:0;overflow:hidden}
  .tablecard td.c-m1,.tablecard td.c-m2,.tablecard td.c-m3{grid-row:2;font-size:12.5px;padding-top:10px;margin-top:10px;border-top:1px solid var(--border);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tablecard td.c-m1{display:block;grid-column:1;justify-self:start;text-align:start}
  .tablecard td.c-m2{display:block;grid-column:2;justify-self:center;text-align:center}
  .tablecard td.c-m3{display:block;grid-column:3;justify-self:end;text-align:end}
  .tablecard td.c-full{display:block;grid-column:1 / -1;font-size:12.5px;color:var(--muted);padding-top:9px;margin-top:9px;border-top:1px solid var(--border);white-space:normal;line-height:1.6}
  .tablecard td.c-acts{display:flex;grid-column:1 / -1;margin-top:11px;padding-top:11px;border-top:1px dashed var(--border-2);gap:5px;flex-wrap:wrap;justify-content:flex-start}
}

/* ===================== تبلت/موبایل — عیناً قواعدِ ≤۸۶۰ و ≤۶۴۰ آرتیفکت ===================== */
@media (max-width:860px){
  .clinic-wrap .clinic-title:not(.dashhead__hi),.clinic-wrap .pagehead__t h1{font-size:19px}
}
@media (max-width:640px){
  .clinic-wrap .toolbar{flex-direction:column;align-items:stretch;gap:10px;padding:12px}
  .clinic-wrap .toolbar .tsep{display:none}
  .clinic-wrap .toolbar .search{flex:none;width:100%}
  .clinic-wrap .toolbar .select,.clinic-wrap .toolbar .clinic-select{width:100%}
  .clinic-wrap .daterange{width:100%}
  .clinic-wrap .dateinput{flex:1 1 auto}
  .clinic-wrap .dateinput input{width:100%}
  .clinic-wrap .chips,.clinic-wrap .chipwrap{width:100%}
  .clinic-wrap .chips .chip{flex:1 0 auto;justify-content:center;height:36px}
  .clinic-wrap .perpage{width:100%;justify-content:flex-start;gap:6px;padding-top:11px;border-top:1px solid var(--border)}
  .clinic-wrap .perpage span{margin-inline-end:auto}
  .clinic-wrap .pagehead__acts{width:100%}
  .clinic-wrap .bulkbar__count{margin-inline-start:auto}
  .clinic-wrap .bulkbar__sp{flex:none;width:100%;height:0}
  .clinic-wrap .bulkbar .select{flex:1 1 auto;min-width:0}
}

/* ===================== اعلان‌های هسته‌ی وردپرس داخلِ صفحاتِ پلاگین ===================== */
/* STEP 360: .notice هم کلاسِ اعلانِ وردپرس است و هم کامپوننتِ آرتیفکت. کیت روی اعلانِ وردپرس
   border:1px solidِ بی‌رنگ (currentColor) می‌نشاند و لبه‌ی رنگیِ نوع را برمی‌دارد ⇒ نوعِ وردپرس
   به همان واریانتِ آرتیفکت نگاشت می‌شود. اعلان‌های آرتیفکتی (notice--*) دست نمی‌خورند. */
.clinic-wrap .notice:not([class*="notice--"]){flex-direction:column;align-items:stretch;gap:4px;margin:0 0 14px;padding:11px 14px;border-width:1px;box-shadow:none;background:var(--surface);color:var(--text);border-color:var(--border)}
.clinic-wrap .notice.is-dismissible:not([class*="notice--"]){padding-inline-end:38px}
.clinic-wrap .notice:not([class*="notice--"]) > p{margin:0;padding:0;font-size:inherit;line-height:1.7}
.clinic-wrap .notice:is(.notice-success,.updated):not([class*="notice--"]){background:var(--green-soft);color:var(--green-ink)}
.clinic-wrap .notice:is(.notice-error,.error):not([class*="notice--"]){background:var(--coral-soft);color:var(--coral-ink)}
.clinic-wrap .notice.notice-warning:not([class*="notice--"]){background:var(--gold-soft);color:var(--gold-ink)}
.clinic-wrap .notice.notice-info:not([class*="notice--"]){background:var(--sky-soft);color:var(--sky-ink)}
.clinic-wrap .notice:is(.notice-success,.updated,.notice-error,.error,.notice-warning,.notice-info):not([class*="notice--"]){border-color:color-mix(in srgb,currentColor 24%,transparent)}
/* نشانگرِ .wp-header-end را پوسته بعد از بلوکِ هدر می‌گذارد؛ فقط لنگرِ جابه‌جاییِ اعلان است. */
.clinic-wrap .wp-header-end{display:none}
/* اعلانِ آرتیفکتیِ داخلِ جریانِ صفحه (notice--x inline؛ inline جلوی جابه‌جاییِ وردپرس را می‌گیرد):
   ردیفِ آیکن+متن و فاصله‌ی ریتمِ صفحه، به‌جای حاشیه‌ی 5px 0 15pxِ `.wrap .notice`ِ وردپرس. */
.clinic-wrap .notice.inline{display:flex;margin:0 0 13px}

/* ===================== اعلانِ قدیمیِ پلاگین (.clinic-notice) با ظاهرِ آرتیفکت ===================== */
/* STEP 360: هنوز حدودِ ۳۰ view اعلانِ `.clinic-notice(--success|--error|--warning|--info)` می‌سازند
   (نوارِ ۴pxِ کناری روی یاسی). تک‌منبع همان جعبه‌ی .notice آرتیفکت می‌شوند: ردیف، کادرِ ۱px، گوشه‌ی
   کوچک، رنگِ نوع از جفتِ soft/ink (کنتراست ≥ ۴٫۵). اعلانِ بی‌نوع خنثی. */
.clinic-wrap .clinic-notice{display:flex;align-items:flex-start;gap:10px;margin:0 0 13px;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:13.5px;font-weight:600;box-shadow:none}
.clinic-wrap .clinic-notice svg{width:18px;height:18px;flex:0 0 auto;margin-top:1px;stroke:currentColor}
.clinic-wrap .clinic-notice--success{background:var(--green-soft);color:var(--green-ink);border-color:color-mix(in srgb,currentColor 24%,transparent)}
.clinic-wrap .clinic-notice--error{background:var(--coral-soft);color:var(--coral-ink);border-color:color-mix(in srgb,currentColor 24%,transparent)}
.clinic-wrap .clinic-notice--warning{background:var(--gold-soft);color:var(--gold-ink);border-color:color-mix(in srgb,currentColor 24%,transparent)}
.clinic-wrap .clinic-notice--info{background:var(--sky-soft);color:var(--sky-ink);border-color:color-mix(in srgb,currentColor 24%,transparent)}

/* ===================== رنگِ متنِ کامپوننت‌های آرتیفکت روی <a> ===================== */
/* STEP 360 (گزارشِ کارفرما: دکمه‌های اصلیِ بی‌متن): قاعده‌ی `.clinic-wrap a:not(.clinic-btn)` در
   typography-v2 (ویژگی ۰،۲،۱ / hover ۰،۳،۱) رنگِ هر <a>ی جز .clinic-btn را برند می‌کند. روی دکمه‌ی
   آرتیفکت که <a> است (.btn--primary، چیپ/صفحه/تبِ فعال) متن بنفش روی زمینه‌ی بنفش ⇒ نامرئی، و روی
   دکمه/چیپ/تب/لینکِ زیرناوبریِ عادی بنفش به‌جای خاکستری‌تیره. رنگِ خودِ هر کامپوننت (مقدارِ آرتیفکت)
   با ویژگیِ برابر و ترتیبِ بعدتر در هر سه حالت برمی‌گردد؛ متنِ روی برند از توکنِ کنتراستِ خودکار. */
.clinic-wrap a.btn,.clinic-wrap a.btn:hover,.clinic-wrap a.btn:focus,
.clinic-wrap a.chip,.clinic-wrap a.page,.clinic-wrap a.pp,.clinic-wrap a.atab,.clinic-wrap a.backlink,
.clinic-wrap .finnav a{color:var(--text-2)}
.clinic-wrap a.act{color:var(--muted)}
.clinic-wrap a.chip:hover,.clinic-wrap a.chip:focus,.clinic-wrap a.page:hover,.clinic-wrap a.page:focus,
.clinic-wrap a.atab:hover,.clinic-wrap a.atab:focus,.clinic-wrap a.backlink:hover,.clinic-wrap a.backlink:focus,
.clinic-wrap a.act:hover,.clinic-wrap a.act:focus,.clinic-wrap .finnav a:hover,.clinic-wrap .finnav a:focus,
.clinic-wrap a.pp.is-on{color:var(--brand)}
.clinic-wrap a.btn--primary,.clinic-wrap a.btn--primary:hover,.clinic-wrap a.btn--primary:focus,
.clinic-wrap a.chip.is-on,.clinic-wrap a.chip.is-on:hover,.clinic-wrap a.chip.is-on:focus,
.clinic-wrap a.page.is-on,.clinic-wrap a.page.is-on:hover,.clinic-wrap a.page.is-on:focus,
.clinic-wrap a.atab.is-on,.clinic-wrap a.atab.is-on:hover,.clinic-wrap a.atab.is-on:focus,
.clinic-wrap .finnav a.is-on,.clinic-wrap .finnav a.is-on:hover,.clinic-wrap .finnav a.is-on:focus{color:var(--clinic-on-primary,#fff)}
.clinic-wrap a.btn--danger,.clinic-wrap a.btn--danger:hover,.clinic-wrap a.btn--danger:focus{color:var(--coral-ink)}

/* زیرناوبریِ مالی: ۱۹ مورد در عرضِ محتوا جا نمی‌شود؛ به‌جای اسکرولِ افقی با نوارِ اسکرولِ ضخیمِ ویندوز و
   بریده‌شدنِ آخرین تب، به خطِ بعد می‌شکند تا همه‌ی صفحه‌ها یک‌جا دیده شوند. */
.finnav{flex-wrap:wrap;overflow-x:visible}

/* ===================== سایه و گوشه‌ی کارت‌های قدیمی = آرتیفکت ===================== */
/* STEP 360 (بازخوردِ کارفرما: «سایه‌ی باکس‌ها و سکشن‌ها هنوز قدیمی است»): کارت/بخشِ قدیمی سایه‌اش را از
   توکن‌های ارتفاعِ پلاگین می‌گیرد (مثلا --clinic-elev-rest = 0 4px 14px …/.12، درشت و پخش). همان توکن‌ها
   داخلِ ظرف‌های پلاگین به سایه‌ی آرتیفکت نگاشت می‌شوند: کارتِ آرام ⇒ --shadow-sm، hover/برجسته ⇒
   --shadow-md؛ لایه‌های شناور (منو/مودال: float/overlay/modal و lg به بالا) دست‌نخورده. گوشه‌ی کارت ⇒ --radius. */
.clinic-wrap,.clinic-dashboard,.clinic-admin-ui,.clinic-skin{
  --clinic-elev-flat:var(--shadow-sm);--clinic-elev-rest:var(--shadow-sm);--clinic-elev-1:var(--shadow-sm);--clinic-elev-2:var(--shadow-sm);
  --clinic-shadow-xs:var(--shadow-sm);--clinic-shadow-sm:var(--shadow-sm);--clinic-shadow:var(--shadow-sm);
  --clinic-shadow-md:var(--shadow-md);--clinic-elev-hover:var(--shadow-md);--clinic-elev-raised:var(--shadow-md);--clinic-elev-3:var(--shadow-md);
  --clinic-card-radius:var(--radius)}

/* ===================== فاصله‌ی دکمه‌ها: حداقل ۵px و نچسبیدن ===================== */
/* خواسته‌ی کارفرما. ظرف‌های آرتیفکت که خودشان gap دارند استثنا هستند تا فاصله دوبرابر نشود؛ هر جای دیگر
   (سلولِ جدول، پاراگراف، پاورقیِ کارت، خودِ صفحه) دکمه/فرمِ دکمه‌ایِ پشتِ سرِ هم ۵px فاصله می‌گیرد. */
.clinic-wrap .setfoot{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.clinic-wrap :not(.acts,.pagehead__acts,.comp-row,.chips,.chipwrap,.toolbar,.tabletools__l,.tabletools__r,.bulkbar,.papertoolbar,.modal__foot,.atabs,.seg,.radiopills,.qactions,.finnav,.phero2__acts,.formcard__foot,.bigform__foot,.wizfoot,.setfoot,.search,.pages,.dashhead__r,.clinic-navgroup,.clinic-navgroup__items,.clinic-cal__slotgrid,.clinic-cal__slots)>:is(.btn,.clinic-btn,.clinic-inline-form)+:is(.btn,.clinic-btn,.clinic-inline-form),
.clinic-wrap :is(input,select,textarea):not([type=hidden])+:is(.btn,.clinic-btn){margin-inline-start:5px}
.clinic-wrap .chips+:is(.toolbar,.tablecard,.formcard,.helpgrid,.viewcard,.search){margin-top:14px}

/* ===================== مرکز آموزش: سه ستون (دسکتاپ) / یک ستون (موبایل) ===================== */
.clinic-wrap .helpgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:860px){.clinic-wrap .helpgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.clinic-wrap .helpgrid{grid-template-columns:minmax(0,1fr)}}

/* ===================== جدولِ نوبت‌ها: عملیات در یک ردیف ===================== */
/* خواسته‌ی کارفرما: دکمه‌های عملیات دو ردیفی نشوند ⇒ پدِ افقیِ سلول‌ها کمتر و ردیفِ عملیات بدونِ شکستن؛
   دکمه‌ی «⋯»ِ گروهِ دسترسیِ سریع در دسکتاپ لازم نیست (همه‌ی آیتم‌ها دیده می‌شوند). موبایل (کارت) دست‌نخورده. */
@media (min-width:861px){
  .clinic-wrap table[data-clinic-table="appointments"] th,.clinic-wrap table[data-clinic-table="appointments"] td{padding-inline:8px}
  .clinic-wrap table[data-clinic-table="appointments"] td.c-acts{white-space:nowrap}
  .clinic-wrap table[data-clinic-table="appointments"] td.c-acts .acts,
  .clinic-wrap table[data-clinic-table="appointments"] .clinic-navgroup,
  .clinic-wrap table[data-clinic-table="appointments"] .clinic-navgroup__items{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:4px}
  .clinic-wrap table[data-clinic-table="appointments"] .clinic-navgroup__more{display:none}
}

/* ===================== سایدبارِ پرونده‌ی جامع (چیدمانِ «سایدبار») ===================== */
.clinic-wrap .pcrm-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:9px}
.clinic-wrap .pcrm-sidenav{gap:1px}
.clinic-wrap .pcrm-sidenav .clinic-navitem{width:100%}
.clinic-wrap .pcrm-sidenav .btn{width:100%;justify-content:center;margin-top:10px}
@media (max-width:900px){.clinic-wrap .pcrm-sidebar{border:0;border-radius:0;box-shadow:var(--shadow-lg)}}

/* ===================== ناوبریِ کناری: زیرصفحه‌ها کشویی زیرِ والد ===================== */
.clinic-side .clinic-navgrp{position:relative}
.clinic-side .clinic-navgrp>.clinic-navitem{padding-inline-end:40px}
.clinic-side .clinic-navitem.has-on{color:var(--brand)}
.clinic-side .clinic-navitem__tog{position:absolute;top:8px;inset-inline-end:6px;width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:background .13s,color .13s}
.clinic-side .clinic-navitem__tog:hover,.clinic-side .clinic-navitem__tog:focus-visible{background:var(--surface-3);color:var(--brand)}
.clinic-side .clinic-navitem__tog svg{width:16px;height:16px;transition:transform .15s}
.clinic-side .clinic-navgrp.is-open>.clinic-navitem__tog svg{transform:rotate(-90deg)}
.clinic-side .clinic-navsub{margin:1px 0 4px;padding-inline-start:12px}
.clinic-side .clinic-navitem--sub{padding-block:5px;font-size:12.5px}
.clinic-side .clinic-navitem--sub .clinic-navitem__ic{width:24px;height:24px}
.clinic-side .clinic-navitem--sub .clinic-navitem__ic svg{width:14px;height:14px}
@media (prefers-reduced-motion:reduce){.clinic-side .clinic-navitem__tog svg{transition:none}}

/* ===================== نسخه‌نویسی: ردیف‌های دارو (.itemrow) ===================== */
/* ستون‌ها عیناً ردیفِ داروی pPrescribe (2fr 1fr 1fr 1fr 2fr auto)؛ موبایل دو ستون، نامِ دارو و دستورِ مصرف تمام‌عرض. */
.clinic-wrap .clinic-rx-row{grid-template-columns:2fr 1fr 1fr 1fr 2fr auto}
.clinic-wrap .clinic-rx-row .field{margin:0;min-width:0}
.clinic-wrap .clinic-rx-row .cellname{display:block;padding:8px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:640px){
  .clinic-wrap .clinic-rx-row{grid-template-columns:1fr 1fr}
  .clinic-wrap .clinic-rx-row .field:first-child,.clinic-wrap .clinic-rx-row .field:nth-child(5){grid-column:1 / -1}
}

/* ===================== فرمِ پویا (Clinic_Form_Schema) با فیلدِ آرتیفکت ===================== */
/* گریدِ .clinic-fb-grid همچنان با اصلاح‌کننده‌های clinic-field--half/--third/--full ستون می‌گیرد. */
.clinic-wrap .clinic-fb-grid>.field{min-width:0;margin:0}
.clinic-wrap .clinic-fb .stepdots{margin-bottom:16px}
.clinic-wrap .clinic-fb-display .bigform__h{margin:4px 0 0}
.clinic-wrap .field.clinic-field--invalid>label{color:var(--coral-ink)}

/* ===================== تقویمِ نوبت‌ها (agenda.js) با اجزای آرتیفکت ===================== */
/* روزانه: هر ستونِ پزشک .slotlist؛ کارتِ .slot با الگوی «کارت با لینکِ اصلی» (STEP 276): .slot__open کلِ کارت
   را می‌پوشانَد و اجزای دیگر رویش می‌نشینند. هفتگی/ماهانه: .weekgrid/.monthgrid (موبایل همان فهرستِ کارتی). */
.clinic-wrap .agenda-day{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,1fr);gap:12px;align-items:start;overflow-x:auto}
.clinic-wrap .agenda-day--single{display:block}
.clinic-wrap .agenda-col{background:none;border:0;box-shadow:none;padding:0;margin:0;min-width:0}
.clinic-wrap .agenda-col__head{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);font-size:13px;font-weight:800;color:var(--text)}
.clinic-wrap .agenda-col.is-mine .agenda-col__head{border-color:var(--brand-ring);color:var(--brand)}
.clinic-wrap .agenda-col__avatar{width:26px;height:26px;border-radius:50%;object-fit:cover}
.clinic-wrap .slot{position:relative}
.clinic-wrap .slot__open{position:absolute;inset:0;z-index:0;margin:0;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}
.clinic-wrap .slot__open:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.clinic-wrap .slot>:not(.slot__open){position:relative;z-index:1}
.clinic-wrap a.slot__name{color:var(--text)}
.clinic-wrap a.slot__name:hover,.clinic-wrap a.slot__name:focus{color:var(--brand)}
.clinic-wrap .slot__who .badge,.clinic-wrap .slot__who .cellsub{flex:0 0 auto}
/* STEP 369 — بازخوردِ کارفرما («صفِ روزانه»/تقویمِ نوبت‌دهیِ روزانه هنوز خرابه): این دو قاعده بدونِ
   media query بودند و روی هر عرضی (از جمله موبایل) `.clinic-navgroup__items` را `display:inline-flex`
   همیشگی و `.clinic-navgroup__more` را `display:none` همیشگی می‌کردند. با specificity برابرِ قاعده‌ی
   موبایلِ STEP 364 (`components-v2.css`، `.clinic-navgroup--row .clinic-navgroup__items`)، این فایل
   (artifact-ui.css) دیرتر enqueue می‌شود و برای `display` برنده بود — یعنی پنلِ دسترسیِ سریع همیشه
   `display:inline-flex` می‌ماند (هرگز `none`)، در حالی که `position:absolute` (که این قاعده لمسش
   نمی‌کند) از components-v2.css همچنان اعمال بود. نتیجه: پنلِ **هر** ردیف همیشه — بدونِ کلیک — باز و
   absolute بود و رویِ ردیف‌های بعدی می‌افتاد (دقیقاً همان انبوهِ پنل‌هایِ روی‌همِ اسکرین‌شاتِ کارفرما؛
   دکمه‌ی «⋯» هم چون همیشه `display:none` بود، حتی امکانِ بستن با کلیک هم نبود). این رفتارِ inline
   برایِ دسکتاپ درست است (تبلت ۸۲۰px را هم بی‌تغییر نگه می‌دارد)؛ فقط باید به همان آستانه‌ی موبایلِ
   ۷۶۸px که STEP 364 استفاده می‌کند محدود شود. */
@media (min-width:769px){
  .clinic-wrap .slot__icons .clinic-navgroup,.clinic-wrap .slot__icons .clinic-navgroup__items{display:inline-flex;align-items:center;gap:2px}
  .clinic-wrap .slot__icons .clinic-navgroup__more{display:none}
}
/*
 * STEP 372 — بازخوردِ کارفرما: ۱) با تستِ زنده‌ی خودش در DevTools تاییدِ نهاییِ ظاهرِ ردیفِ آیکن‌ها
 * را داد (بدونِ باکس/سایه/حاشیه‌ی باقیمانده از منویِ بازشو، وسط‌چین). ۲) خواستِ تازه: وضعیتِ پرداخت
 * هم به‌جایِ ردیفِ سومِ جدا، همان ردیف را ادامه بدهد. چون هیچ‌کدامِ `.slot__icons`/`.slot__pay`
 * به‌تنهایی نمی‌تواند «این ردیف مالِ من است» را با دیگری هماهنگ کند (حدسِ عرضِ محتوا شکننده است)،
 * `agenda.js` هر دو را در یک ظرفِ مشترک `.slot__foot` می‌گذارد؛ این‌جا فقط خودِ ظرف ردیفِ مستقل
 * می‌شود، نه هرکدام جدا.
 */
.clinic-wrap .slot__foot{display:flex;align-items:center;gap:12px}
@media (max-width:640px){
  /* STEP 370 — بازخوردِ کارفرما: «یه ردیف بالای وضعیت پرداخت بساز و تمام آیکون‌دکمه‌ها اونجا باشه».
     `width:100%` طبقِ همان الگویِ قدیمیِ `.slot__pay{width:100%;order:5}`ِ artifact-kit.css یک
     ردیفِ مستقل می‌سازد؛ `order:4` بینِ آیتم‌هایِ پیش‌فرضِ ۰ و همین `.slot__pay`ِ ۵ می‌نشیند. */
  .clinic-wrap .slot__foot{width:100%;order:4;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;padding-top:8px;border-top:1px dashed var(--border-2,var(--border))}
  /* STEP 372 — دیگر نیازی به ردیفِ مستقلِ خودش ندارد؛ `.slot__foot` این نقش را گرفت. */
  .clinic-wrap .slot__foot .slot__pay{width:auto;order:0}
  /*
   * STEP 369/370/372 — رفتارِ منویِ بازشویِ موبایلِ `components-v2.css`
   * (`.clinic-navgroup--row .clinic-navgroup__items`) برایِ همین کارت اصلاً خواسته نشده؛ باید
   * همیشه بازِ کامل باشد، دقیقاً مثلِ دسکتاپ. سلکتورهایِ سه‌کلاسیِ زیر (specificity ۰,۳,۰) از
   * قاعده‌ی موبایلِ آن‌جا (۰,۲,۰) بالاترند ⇒ بدونِ `!important` و مستقل از ترتیبِ enqueue برنده‌اند.
   * پاک‌سازیِ ظاهرِ باقیمانده‌ی «پنل» (پدینگ/حاشیه/سایه/پس‌زمینه) طبقِ تاییدِ زنده‌ی کارفرما.
   */
  .clinic-wrap .slot__icons .clinic-navgroup,
  .clinic-wrap .slot__icons .clinic-navgroup__items{position:static;display:inline-flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;min-width:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
  .clinic-wrap .slot__icons .clinic-navgroup__more{display:none}
}
.clinic-wrap .slot__pay{display:inline-flex;align-items:center;gap:6px;color:var(--green-ink)}
.clinic-wrap .slot__pay>svg{width:15px;height:15px;fill:none;stroke:currentColor}
.clinic-wrap .slot--cancelled,.clinic-wrap .slot--expired{opacity:.65}
.clinic-wrap button.slot{width:100%;font:inherit;text-align:start}
.clinic-wrap .slot--free{cursor:pointer}
.clinic-wrap .slot--free:disabled{cursor:default;opacity:.6}
.clinic-wrap .slot__cap{align-self:flex-start}
.clinic-wrap button.weekcol__h{width:100%;margin:0;border:0;border-bottom:1px solid var(--border);font:inherit;font-size:12px;font-weight:700;color:var(--text);cursor:pointer}
.clinic-wrap .weekcol.is-holiday .weekcol__b{background:var(--surface-2)}
.clinic-wrap button.wappt{width:100%;margin:0;border-top:0;border-bottom:0;border-inline-end:0;font:inherit;font-size:11px;cursor:pointer;justify-content:space-between;text-align:start}
.clinic-wrap .weekcol__b .agenda-statnums,.clinic-wrap .weekcol__b .agenda-typenums{display:flex;flex-wrap:wrap;gap:4px}
.clinic-wrap .mday:not(.mday--out){cursor:pointer}
.clinic-wrap .mday.is-holiday{background:var(--surface-2)}
.clinic-wrap .mday__types{display:flex;flex-wrap:wrap;gap:3px}
/* چیپِ نوع: متنِ تیره روی رنگِ روشن‌شده‌ی خودِ نوع + نقطه‌ی رنگی (رنگ فقط کمکی، کنتراستِ متن ≥ ۴٫۵). */
.clinic-wrap .mchip{display:inline-flex;align-items:center;gap:3px;background:color-mix(in srgb,var(--tc,var(--brand)) 14%,var(--surface));color:var(--text)}
.clinic-wrap .mchip__d{width:6px;height:6px;border-radius:50%;flex:0 0 auto;background:var(--tc,var(--brand))}
.clinic-wrap .mchip--more{background:var(--surface-3);color:var(--muted)}
.clinic-wrap .mday__docs{display:flex;flex-direction:column;gap:1px}
.clinic-wrap .mday__doc{display:flex;justify-content:space-between;gap:4px;font-size:10.5px;color:var(--text-2)}
.clinic-wrap .mday__doc-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clinic-wrap .mday__hol{font-size:10.5px;font-weight:700;color:var(--coral-ink)}
.clinic-wrap .agenda-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}

/* ===================== زیرناوبریِ مالی: قلمِ سامانه ===================== */
/* دکمه‌ی سرگروه (<button disabled>) قلم را از والد به ارث نمی‌برد و با قلمِ پیش‌فرضِ سیستم دیده می‌شد. */
.finnav,.finnav button,.finnav a{font-family:var(--clinic-font-family,inherit)}

/* ===================== ناوبریِ کناری: «جمع کردن فهرست» (مثلِ وردپرس) ===================== */
.clinic-side__collapse{display:none}
@media (min-width:1201px){
  .clinic-side__collapse{display:flex;align-items:center;gap:10px;width:100%;margin-top:6px;padding:8px 10px;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;color:var(--muted);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;text-align:start}
  .clinic-side__collapse:hover,.clinic-side__collapse:focus-visible{color:var(--brand)}
  .clinic-side__collapse .clinic-navitem__ic{background:transparent}
  .clinic-side__collapse .clinic-navitem__ic svg{transition:transform .15s}
  body.clinic-side-collapsed .clinic-side{width:56px;padding:6px}
  body.clinic-side-collapsed .clinic-side .clinic-navitem__t,body.clinic-side-collapsed .clinic-side .clinic-navitem__badge{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  body.clinic-side-collapsed .clinic-side .clinic-side__grp{font-size:0;padding:0;margin:6px 4px;border-top:1px solid var(--border)}
  body.clinic-side-collapsed .clinic-side .clinic-navitem{justify-content:center;gap:0;padding:7px 0}
  body.clinic-side-collapsed .clinic-side .clinic-navgrp>.clinic-navitem{padding-inline-end:0}
  body.clinic-side-collapsed .clinic-side .clinic-navitem__tog,body.clinic-side-collapsed .clinic-side .clinic-navsub{display:none}
  body.clinic-side-collapsed .clinic-side .clinic-side__collapse{justify-content:center;gap:0;padding:8px 0}
  body.clinic-side-collapsed .clinic-side .clinic-side__collapse .clinic-navitem__ic svg{transform:rotate(180deg)}
  /* ۸۰ = ۸ (تا منوی وردپرس) + ۵۶ (ناوبریِ جمع‌شده) + ۱۶ (تا محتوا) */
  body.clinic-side-collapsed.clinic-shell #wpbody-content,body.clinic-side-collapsed.clinic-shell #wpfooter{padding-right:80px}
}
.clinic-side-tip{position:fixed;z-index:100000;transform:translateY(-50%);max-width:260px;background:var(--clinic-text,#2b2240);color:var(--clinic-on-primary,#fff);font:600 12px/1.6 var(--clinic-font-family,Tahoma,sans-serif);padding:4px 9px;border-radius:6px;box-shadow:0 6px 18px rgba(31,21,53,.18);pointer-events:none;white-space:nowrap}
@media (prefers-reduced-motion:reduce){.clinic-side__collapse .clinic-navitem__ic svg{transition:none}}

/* STEP 360: per-patient tracked visit fields (medical record visit form) */
.clinic-wrap .clinic-visit-track__hist{margin:6px 0 0;font-size:12px;line-height:1.7;color:var(--muted)}
.clinic-wrap .clinic-visit-track__date{color:var(--faint)}
.clinic-wrap .clinic-visit-track__stop{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:var(--muted);cursor:pointer}
.clinic-wrap .clinic-visit-custom__row.clinic-visit-track__new{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto}
@media (max-width:640px){.clinic-wrap .clinic-visit-custom__row.clinic-visit-track__new{grid-template-columns:1fr 1fr}}

/* STEP 360: CRM sidebar sticks below the sticky clinic top bar (.ctb), never under it;
   section jumps stop below it too. --clinic-stick-top is set by the shell script. */
@media (min-width:901px){
  body.clinic-shell .clinic-wrap .pcrm-sidebar{top:var(--clinic-stick-top,calc(var(--wp-admin--admin-bar--height,32px) + 66px));max-height:calc(100vh - var(--clinic-stick-top,calc(var(--wp-admin--admin-bar--height,32px) + 66px)) - 16px);overflow:auto}
  body.clinic-shell .clinic-wrap .pcrm-sec{scroll-margin-top:calc(var(--clinic-stick-top,calc(var(--wp-admin--admin-bar--height,32px) + 66px)) + 4px)}
}

/* STEP 360: day-cap disclosure card (appointment settings + appointments page) in .formcard style */
.clinic-wrap details.clinic-daycap{padding:0}
.clinic-wrap .clinic-daycap__sum{list-style:none;display:flex;align-items:center;gap:8px;margin:0;padding:14px 18px;cursor:pointer;font-size:15px;font-weight:800;color:var(--text);border-radius:var(--radius);user-select:none}
.clinic-wrap .clinic-daycap__sum::-webkit-details-marker{display:none}
.clinic-wrap .clinic-daycap__sum::marker{content:}
.clinic-wrap .clinic-daycap__sum > svg{width:18px;height:18px;stroke:var(--brand);flex:0 0 auto}
.clinic-wrap .clinic-daycap__chev{margin-inline-start:auto;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--surface-3);color:var(--text-2);border:1px solid var(--border-2);transition:transform .15s,background .15s,color .15s}
.clinic-wrap .clinic-daycap__chev svg{width:16px;height:16px;stroke:currentColor}
.clinic-wrap .clinic-daycap__sum:hover .clinic-daycap__chev{background:var(--brand-soft);color:var(--brand)}
.clinic-wrap details.clinic-daycap[open] .clinic-daycap__chev{transform:rotate(180deg)}
.clinic-wrap .clinic-daycap__sum:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.clinic-wrap .clinic-daycap__body{padding:0 18px 16px;border-top:1px solid var(--border);padding-top:14px}
.clinic-wrap .clinic-daycap__body > .field-hint{margin:0 0 12px}
.clinic-wrap .clinic-daycap__body > .notice{margin:0 0 12px}
.clinic-wrap .clinic-daycap__form{align-items:flex-end;margin:0 0 12px}
.clinic-wrap .clinic-daycap__num .inp{max-width:120px}
@media (prefers-reduced-motion:reduce){.clinic-wrap .clinic-daycap__chev{transition:none}}

/* STEP 360: per-patient tracked indicators (CRM card, appointment form, patient edit, list tooltip) */
.clinic-wrap .clinic-trk h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.clinic-wrap .clinic-trk h3 > svg{width:18px;height:18px;stroke:var(--brand)}
.clinic-wrap .clinic-trk__acts{display:flex;gap:6px;flex-wrap:wrap;margin-inline-start:auto}
.clinic-wrap .clinic-trk__list{display:flex;flex-wrap:wrap;gap:8px}
.clinic-wrap .clinic-trk__item{display:flex;flex-direction:column;gap:2px;min-width:132px;padding:9px 13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-3)}
.clinic-wrap .clinic-trk__lbl{font-size:12px;font-weight:700;color:var(--text-2)}
.clinic-wrap .clinic-trk__lbl small{font-size:11px;font-weight:600;color:var(--muted)}
.clinic-wrap .clinic-trk__val{font-size:19px;font-weight:800;line-height:1.35;color:var(--brand)}
.clinic-wrap .clinic-trk__val.is-empty{font-size:13px;font-weight:600;color:var(--muted)}
.clinic-wrap .clinic-trk__meta{font-size:11.5px;color:var(--muted)}
.clinic-wrap .clinic-trk__empty{margin:0}
.clinic-wrap .clinic-trk--appt{margin:12px 0 0;box-shadow:none;background:var(--surface-3);padding:12px 14px}
.clinic-wrap .clinic-trk--appt .clinic-trk__item{background:var(--surface)}
.clinic-wrap .clinic-trk-edit__list{display:flex;flex-direction:column;gap:6px;margin:0 0 12px}
.clinic-wrap .clinic-trk-edit__row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-3)}
.clinic-wrap .clinic-trk-edit__name{font-weight:800;color:var(--text)}
.clinic-wrap .clinic-trk-edit__last{font-size:12px;color:var(--muted)}
.clinic-wrap .clinic-trk-edit__stop{margin-inline-start:auto;font-size:12.5px}
.clinic-wrap .clinic-trk-edit__newrow{margin-bottom:8px}
/* STEP 360: بخشِ شاخص‌ها داخلِ «ویرایش پرونده»ی پرونده‌ی جامع. */
.clinic-wrap .clinic-trk-edit--modal{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.clinic-wrap .clinic-trk-edit__h{display:flex;align-items:center;gap:7px;margin:0 0 4px;font-size:14px;font-weight:800;color:var(--text)}
.clinic-wrap .clinic-trk-edit__h svg{width:16px;height:16px;stroke:var(--brand)}
.clinic-wrap .clinic-trk-edit--modal > .field-hint{margin:0 0 10px}
.clinic-wrap .clinic-trk-edit__prev{font-size:12px;color:var(--muted)}
/* STEP 360: مغایرتِ مشخصاتِ فرمِ سایت (جزئیاتِ نوبت). */
.clinic-wrap .clinic-idm{border-color:var(--gold-ink)}
.clinic-wrap .clinic-idm > h3 svg{stroke:var(--gold-ink)}
.clinic-wrap .clinic-idm .infotable{margin:10px 0 12px}
.clinic-wrap .clinic-idm .infotable a{color:var(--brand);font-weight:700}
.clinic-wrap .pt .badge.b-wait{margin-inline-start:6px;white-space:nowrap}
/* STEP 360 (کارفرما): فرمِ رزروِ سایت — ردیفِ دوستونه: بیمه‌ی رادیوییِ عمودی | مبلغِ ویزیت. */
.clinic-wrap .insrow--split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:13px 18px}
.clinic-wrap .insrow--split > .field,.clinic-wrap .insrow--split > .bw-chooser{margin:0;min-width:0}
.clinic-wrap .insrow--split .setlabel{margin-top:0}
.clinic-wrap .insrow__price{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0}
.clinic-wrap .insrow__price > .quote{margin:0;max-width:none;align-self:stretch}
.clinic-wrap .radiopills--col{flex-direction:column;flex-wrap:nowrap;align-items:stretch}
.clinic-wrap .radiopills--col .radiopill{box-sizing:border-box;height:auto;min-height:40px;padding:8px 14px;line-height:1.5}
.clinic-wrap .radiopill:has(input:focus-visible){box-shadow:0 0 0 3px var(--brand-ring)}
@media (max-width:720px){.clinic-wrap .insrow--split{grid-template-columns:minmax(0,1fr)}}
.clinic-wrap .pt__trk{display:inline-grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:7px;background:var(--brand-soft);color:var(--brand);cursor:help}
.clinic-wrap .pt__trk svg{width:13px;height:13px;stroke:currentColor}
.clinic-wrap .pt__trk:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.clinic-trk-pop{position:fixed;z-index:100050;max-width:300px;min-width:180px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md);padding:10px 12px;font-size:12.5px;line-height:1.8;pointer-events:none;font-family:var(--clinic-font-family,inherit);direction:rtl;text-align:right}
.clinic-trk-pop[hidden]{display:none}
.clinic-trk-pop__h{display:block;margin-bottom:4px;font-size:12px;font-weight:800;color:var(--brand)}
.clinic-trk-pop__row{display:flex;align-items:baseline;gap:10px}
.clinic-trk-pop__row > span{flex:1 1 auto;color:var(--text-2)}
.clinic-trk-pop__row b{font-weight:800;color:var(--text)}
.clinic-trk-pop__row i{font-style:normal;font-size:11px;color:var(--muted)}

/* STEP 360: 5px below every button (client request) so buttons that wrap to a new line never touch.
   Exempt: bottom-aligned inline form rows (the button must stay level with its inputs) and compact
   in-table action groups (row height); both are already spaced by flex gap. */
:is(.clinic-wrap,.clinic-dashboard,.clinic-admin-ui,.clinic-skin) :is(.btn,.clinic-btn,.button){margin-bottom:5px}
:is(.clinic-wrap,.clinic-dashboard,.clinic-admin-ui,.clinic-skin) :is(.addrow,.field--btn,.acts,.clinic-navgroup,.clinic-cal__slotgrid,.clinic-cal__slots,td) :is(.btn,.clinic-btn,.button){margin-bottom:0}
