/* clinic-fix-0929.css — دست‌نویس (0929themes). اصلاح‌های ممیزی «شیشه» (_agent_reports/0929-clinic-themes-audit.md بخش الف)
   و قطعه‌های تازه مشترک (سیلوئت، یادآوری عکس، انتخاب تم در تنظیمات). آخرین فایل پایه (lib/clinic/assets.server.ts).
   همه زیر .cl-root ؛ فقط توکن‌ها (بدون رنگ ثابت کنار توکن) مگر رنگ‌های تعیین‌شده ممیزی. */

/* #۱ نوار اطلاعات زیر هیرو: سطح صلب سفید، نه شیشه (شیشه فقط ریل/سربرگ/کارت رزرو/شیت) */
.cl-root .cl-facts .cl-ribbon.cl-x-solid{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:22px;box-shadow:0 18px 50px rgba(0,0,0,.12);padding:0;overflow:hidden}
.cl-root .cl-facts .cl-ribbon.cl-x-solid::before,.cl-root .cl-facts .cl-ribbon.cl-x-solid::after{display:none}
.cl-root .cl-facts .cl-ribbon.cl-x-solid .cl-f+.cl-f{border-inline-start:1px solid var(--paper2)}
@media (max-width:860px){
  .cl-root .cl-facts .cl-ribbon.cl-x-solid .cl-f:nth-child(3){border-inline-start:0}
  .cl-root .cl-facts .cl-ribbon.cl-x-solid .cl-f:nth-child(n+3){border-top:1px solid var(--paper2)}
}

/* #۲ کارت رزرو هیرو در موبایل: خدمت، درمانگر و روز ردیف افقی قابل کشیدن؛ نام کوتاه یک‌خطی؛ ساعت‌های کاری هیرو پنهان */
.cl-root .cl-th-pick button{white-space:nowrap}
@media (max-width:860px){
  .cl-root .cl-book{padding:18px 14px 14px;border-radius:24px}
  .cl-root .cl-book .cl-svc-pick{display:flex;overflow-x:auto;scrollbar-width:none;margin-inline:-14px;padding-inline:14px;gap:8px}
  .cl-root .cl-book .cl-svc-pick::-webkit-scrollbar,.cl-root .cl-book .cl-days::-webkit-scrollbar,.cl-root .cl-book .cl-th-pick::-webkit-scrollbar{display:none}
  .cl-root .cl-book .cl-svc-pick .cl-opt{flex:none;min-width:128px;flex-direction:column;align-items:flex-start;gap:0}
  .cl-root .cl-book .cl-th-pick{overflow-x:auto;scrollbar-width:none;margin-inline:-14px;padding-inline:14px}
  .cl-root .cl-book .cl-th-pick button{flex:0 0 76px;min-height:76px}
  .cl-root .cl-book .cl-days{overflow-x:auto;scrollbar-width:none;margin-inline:-14px;padding-inline:14px}
  .cl-root .cl-book .cl-days button{flex:none;min-width:62px}
  .cl-root .cl-hero .cl-hero-meta{display:none}
}

/* #۳ تقویم: حالت فشرده یک‌خطی برای ۳۰ دقیقه و کمتر؛ خط سوم متن وضعیت */
.cl-root .cl-blk.cl-x-cmp{display:flex;align-items:center;padding-block:0}
.cl-root .cl-blk.cl-x-cmp .cl-r{min-width:0;gap:6px;white-space:nowrap}
.cl-root .cl-blk .cl-x-cmpnm{display:inline;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;min-width:0}
.cl-root .cl-blk .cl-x-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.9}
.cl-root .cl-blk{z-index:2}

/* #۴ خط «اکنون»: زیر کارت‌ها، برچسب در ستون ساعت، رنگ #C62F37 (کنتراست ۵٫۴۴ با متن سفید) */
.cl-root .cl-nowline{z-index:1;background:#C62F37}
.cl-root .cl-nowline::before{background:#C62F37;z-index:3}
.cl-root .cl-nowline::after{background:#C62F37}

/* #۶ چیپ stx: آیکون وضعیت کنار نقطه رنگی */
.cl-root .cl-stx svg.cl-i{width:14px;height:14px;flex:none;color:var(--c,currentColor);stroke-width:2}

/* #۷ رنگ ثابت آبی‌سبز ریل و نوار پایین ⇒ از توکن پالت */
.cl-root .cl-nav-it,.cl-root[data-cl-pal] .cl-nav-it{color:color-mix(in srgb,var(--og) 88%,transparent)}
.cl-root .cl-nav-it:hover{color:#fff}
.cl-root .cl-nav-it[aria-current="page"]{color:var(--p-ink)}
.cl-root .cl-bnav a,.cl-root .cl-bnav button{color:color-mix(in srgb,var(--og) 88%,transparent)}

/* #۸ کارت «من» سربرگ: نشان نقش خط دوم، نام بریده نمی‌رود روی نشان */
.cl-root .cl-me .cl-t{display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:200px}
.cl-root .cl-me .cl-t>*{max-width:100%}
.cl-root .cl-me .cl-t small{display:block;margin-top:2px}
.cl-root .cl-me .cl-t{overflow:hidden;text-overflow:ellipsis}

/* #۱۰ کاشی KPI تازه: عدد + واحد در یک خط، نوار انباشته/اشغال/اسپارک، یک خط توضیح، پدینگ ۲۰ */
.cl-root .cl-kpi.cl-x-kpi{display:flex;flex-direction:column;gap:8px;padding:20px 22px}
.cl-root .cl-x-kpi .cl-x-kl{margin:0;font-size:13px;color:var(--on-glass-mut)}
.cl-root .cl-x-kpi .cl-x-kv{display:flex;align-items:baseline;gap:8px}
.cl-root .cl-x-kpi .cl-x-kv b{font-size:38px;font-weight:800;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums}
.cl-root .cl-kpi.cl-x-kpi:first-child .cl-x-kv b{font-size:38px}
.cl-root .cl-x-kpi .cl-x-kv>span{font-size:13px;color:var(--on-glass-mut)}
.cl-root .cl-x-kpi .cl-x-kf{margin:0;font-size:12.5px;color:var(--on-glass-mut)}
.cl-root .cl-x-kpi .cl-x-stack{display:flex;height:10px;border-radius:5px;overflow:hidden;gap:2px}
.cl-root .cl-x-kpi .cl-x-stack i{display:block;min-width:4px}
.cl-root .cl-x-kpi .cl-x-bar{height:8px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden;margin:0}
.cl-root .cl-x-kpi .cl-x-bar i{display:block;height:100%;width:0;background:#fff;border-radius:4px;transition:width 1.2s var(--e-out)}
.cl-root .cl-x-kpi .cl-spark{width:100%;height:36px}
@media (max-width:860px){
  .cl-root .cl-kpi.cl-x-kpi{padding:14px}
  .cl-root .cl-x-kpi .cl-x-kv b,.cl-root .cl-kpi.cl-x-kpi:first-child .cl-x-kv b{font-size:26px}
}

/* #۱۱ تیتر ستون ثبت سریع یک‌خطی؛ توضیح بلوک جدا زیر آن */
.cl-root .cl-x-qfh{flex-direction:column;align-items:flex-start;gap:2px}
.cl-root .cl-x-qfh h2{white-space:nowrap}
.cl-root .cl-x-qfh p{display:block;margin:0}

/* #۱۲ نشان عددی ریل: جمع ⇒ گوشه آیکون با حاشیه؛ باز ⇒ انتهای ردیف */
.cl-root .cl-rail .cl-nav-it .cl-cnt{top:4px;inset-inline-start:30px;box-shadow:0 0 0 2px var(--d1)}
.cl-root .cl-rail:hover .cl-nav-it .cl-cnt,.cl-root .cl-rail:focus-within .cl-nav-it .cl-cnt,.cl-root .cl-rail.cl-pinned .cl-nav-it .cl-cnt{position:static;margin-inline-start:auto;box-shadow:none}

/* #۱۴ حاشیه منطقی تیتر سربرگ موبایل */
.cl-root .cl-m-hdr h1{margin:0;margin-inline-start:8px}

/* #۱۷ تا ساخت جست‌وجو، جای خالی آن در سربرگ جمع است (نوبت تازه و زنگ کنار هم) */
.cl-root .cl-p-hdr .cl-right{gap:8px;flex-wrap:nowrap}

/* #۵ هیرو پروفایل درمانگر (تم ۱ موکاپ ۰۹-۲۹): عکس گرد، پروانه، سابقه، هزینه و کارت رزرو همان‌جا */
.cl-root .cl-phero.cl-x-prohero{min-height:720px;align-items:center}
.cl-root .cl-x-prohero .cl-x-pro-g{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:48px;align-items:center;padding:120px 0 64px}
.cl-root .cl-x-pro-id{display:flex;align-items:center;gap:22px;margin:22px 0}
.cl-root .cl-x-pro-pf{width:132px;height:132px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.5);box-shadow:0 20px 40px rgba(0,0,0,.3);flex:none}
.cl-root .cl-x-prohero h1{font-size:clamp(34px,4.4vw,56px);margin:0 0 6px;line-height:1.3;max-width:none}
.cl-root .cl-x-prohero .cl-lead{font-size:16px;margin:0}
.cl-root .cl-x-pro-facts{display:grid;grid-template-columns:repeat(4,auto);gap:10px 34px;margin:26px 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.28);justify-content:start}
.cl-root .cl-x-pro-facts dt{font-size:12.5px;color:var(--og);opacity:.85}
.cl-root .cl-x-pro-facts dd{margin:0;font-size:16px;font-weight:800;color:#fff}
@media (max-width:1100px){.cl-root .cl-x-prohero .cl-x-pro-g{grid-template-columns:1fr 400px;gap:28px}}
@media (max-width:860px){
  .cl-root .cl-phero.cl-x-prohero{min-height:0}
  .cl-root .cl-x-prohero .cl-x-pro-g{grid-template-columns:1fr;padding:96px 0 32px;gap:24px}
  .cl-root .cl-x-pro-id{gap:14px}
  .cl-root .cl-x-pro-pf{width:84px;height:84px}
  .cl-root .cl-x-pro-facts{grid-template-columns:1fr 1fr;gap:10px 20px}
}

/* سیلوئت خنثی درمانگر بی‌عکس (تصمیم مالک؛ هرگز حرف اول) */
.cl-root .cl-sil{display:inline-grid;place-items:end center;overflow:hidden;vertical-align:middle;
  background:linear-gradient(180deg,color-mix(in srgb,var(--paper2) 86%,var(--p) 14%),var(--paper2));color:color-mix(in srgb,var(--ink) 30%,var(--paper2))}
.cl-root .cl-sil svg{width:78%;height:auto;max-height:92%;display:block}
.cl-root .cl-sil .sil-b{fill:currentColor;opacity:.9}
.cl-root .cl-sil .sil-h{fill:currentColor}

/* یادآوری عکس درمانگران در داشبورد «شیشه» (پنل تیره) */
.cl-root .cl-x-photo{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 18px;margin-bottom:16px;border-radius:16px;
  background:var(--st-pending-b);border:1px solid var(--st-pending-e);color:var(--st-pending-t)}
.cl-root .cl-x-photo>svg.cl-i{width:22px;height:22px;flex:none}
.cl-root .cl-x-photo>div{flex:1;min-width:200px}
.cl-root .cl-x-photo b{display:block;font-size:14.5px;color:var(--ink)}
.cl-root .cl-x-photo small{font-size:12.5px}
.cl-root .cl-x-photo .cl-x-faces{display:flex}
.cl-root .cl-x-photo .cl-x-faces .cl-sil{width:34px;height:34px;border-radius:50%;box-shadow:0 0 0 2px #fff;margin-inline-start:-8px}
.cl-root .cl-x-photo select{min-height:44px;border-radius:12px;border:1px solid var(--st-pending-e);background:#fff;color:var(--ink);padding:0 10px}
.cl-root .cl-x-photo a{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;font-size:13.5px}
.cl-root .cl-x-photo a[aria-disabled="true"]{opacity:.6;pointer-events:none}

/* تنظیمات: انتخاب تم ساختاری با پیش‌نمایش کوچک (روی پنل تیره شیشه یا بوم تیره دفتر) */
.cl-root .cl-x-lays{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:6px}
.cl-root .cl-x-lay{position:relative;display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:14px;text-align:start;min-height:44px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);color:inherit;transition:border-color .2s,background .2s}
.cl-root .cl-x-lay:hover:not(:disabled){background:rgba(255,255,255,.09)}
.cl-root .cl-x-lay.cl-on{border-color:#fff;background:rgba(255,255,255,.12)}
.cl-root .cl-x-lay:disabled{opacity:.55;cursor:not-allowed}
.cl-root .cl-x-lthumb{display:block;width:100%;height:auto;border-radius:9px;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.cl-root .cl-x-lay-t b{display:block;font-size:14px}
.cl-root .cl-x-lay-t small{display:block;font-size:12px;line-height:1.7;color:var(--on-glass-mut)}
.cl-root .cl-x-lay .cl-x-a-check{position:absolute;top:14px;inset-inline-start:14px;width:22px;height:22px;color:#fff;background:var(--p);border-radius:50%}
.cl-root .cl-x-lay-note{font-size:12.5px;line-height:1.9;color:var(--on-glass-mut);margin:10px 2px 0}

/* 0929d — نگهبان ستون‌های شبکه (ریشه ایراد بریدگی موبایل هیرو/پروفایل در اسموک 0929c).
   ستون «1fr» کمینه‌اش auto است = min-content فرزند. نوار روزهای کارت رزرو (۶ دکمه ۶۲ پیکسلی، اسکرولر افقی)
   min-content کارت را ۴۳۲ می‌کرد و ستون تنها در قاب ۳۵۸ پیکسلی ۴۳۲ می‌شد ⇒ محتوا از چپ ۵۷ پیکسل بیرون و بریده.
   اسکرولر فقط کمینه خودکار «آیتم شبکه» را صفر می‌کند نه min-content نیاکانش؛ پس درمان در سطح آیتم شبکه است.
   min-width:0 روی فرزندان مستقیم همه شبکه‌های دارای ستون fr (فهرست ماشینی از clinic.css، site-b/c، panel-a/d و همین فایل).
   specificity (0,1,0): هر min-width صریح موکاپ برنده می‌ماند؛ فقط کمینه خودکار را صفر می‌کند.
   در حالت بدون سرریز خروجی پیکسلی با موکاپ یکی است (fr بدون فشار محتوا همان اندازه را می‌دهد). */
.cl-root :where(.cl-hero .cl-wrap, .cl-svc-pick, .cl-tst, .cl-foot .cl-cols, .cl-dash-grid, .cl-tl, .cl-rec-grid, .cl-my-grid, .cl-set-grid, .cl-sform, .cl-kpis, .cl-tlist .cl-row, .cl-kanban, .cl-closed .cl-rows, .cl-cal-head, .cl-cal-grid, .cl-roles-help, .cl-facts .cl-ribbon, .cl-sh, .cl-thx, .cl-svc-c, .cl-svc-c.cl-w4, .cl-cmp, .cl-tstx, .cl-blog-g, .cl-ar.cl-row, .cl-locx, .cl-faqx, .cl-cta .cl-wrap, .cl-svd, .cl-svd .cl-bd, .cl-svd ol li, .cl-prof, .cl-prof .cl-idcard, .cl-rvs, .cl-feat-ar, .cl-art, .cl-story, .cl-val, .cl-gallery, .cl-cform, .cl-contact-g, .cl-fcat-g, .cl-tcard.cl-wide, .cl-runner, .cl-clc, .cl-palc .cl-sw, .cl-th-row, .cl-svc-grid, .cl-steps, .cl-ar-grid, .cl-vals, .cl-val:nth-child(even), .cl-team, .cl-lic, .cl-tests, .cl-pals, .cl-svc-cat, .cl-svd.cl-flip, .cl-facts .cl-ribbon.cl-x-b-n1, .cl-facts .cl-ribbon.cl-x-b-n2, .cl-facts .cl-ribbon.cl-x-b-n3, #related.cl-ar-grid, .cl-x-a-sw, .cl-x-a-skelgrid, .cl-x-prohero .cl-x-pro-g, .cl-x-pro-facts) > *{min-width:0}

/* 0929d — /booking و /classes/[id] در کلینیک (components/clinic/site/ClinicChromeFrame.tsx): سربرگ و فوتر در دو ریشه جدا
   و محتوای Tailwind بیرون از .cl-root. کمینه ارتفاع تمام‌صفحه ریشه (از body موکاپ) این دو تکه را نباید بلند کند. */
.cl-root.cl-x-chrome-top,.cl-root.cl-x-chrome-bot{min-height:0}
/* نشان نام بزرگ فوتر «شیشه» با کلاس cl-in از ClinicFx بالا می‌آید؛ ClinicFx فقط ریشه اول را می‌بیند ⇒ در ریشه فوتر از ابتدا در جای خود */
.cl-root.cl-x-chrome-bot .cl-foot .cl-wm span{transform:none}

/* ══ 0929f — پنل مراجع (/account) در پوسته کلینیک: ریشه .cl-x-acct (components/clinic/site/ClinicAccountFrame.tsx) ══
   بیرون از .cl-root است (قاعده‌های عنصری clinic.css فرم‌های Tailwind را می‌شکنند)؛ پس پالت کلینیک با نام‌های --ca-*
   این‌جا دوباره تعریف و به توکن‌های Tailwind (--primary/--ink/--sand/--accent سه‌تایی rgb) و پنل (--bk-*) نگاشت می‌شود.
   پیش‌فرض‌های زیر = «شیشه»؛ دفتر/ایوان/قاب فقط توکن‌ها و چند امضا را در scripts/clinic-css/extras-<id>.css عوض می‌کنند.
   فقط کلینیک این فایل را می‌گیرد و .cl-x-acct فقط در کلینیک رندر می‌شود ⇒ تنانت تراپیست صفر اثر. */
.cl-x-acct:is([data-cl-pal="a"],:not([data-cl-pal])){--ca-p:#0B5F66;--ca-ph:#084B51;--ca-ps:#E3F1F2;--ca-pi:#063C41;--ca-d0:#041A1E;--ca-d1:#06262B;--ca-d2:#0A3A40;--ca-d3:#0F5259;--ca-b1:#1C7C84;--ca-paper:#F3F6F5;--ca-paper2:#E7EEEC;--ca-tint:#DDEDEC;--ca-ink:#0F1F27;--ca-ink2:#2E3E48;--ca-mut:#52626B;--ca-acc:#C9A36B;--ca-acci:#7A5A28;
  --primary:11 95 102;--primary-d:8 75 81;--primary-l:28 124 132;--sand:243 246 245;--ink:15 31 39;--accent:201 163 107;--accent-soft:221 237 236;--muted:82 98 107}
.cl-x-acct[data-cl-pal="b"]{--ca-p:#1F3A60;--ca-ph:#172D4B;--ca-ps:#E6ECF4;--ca-pi:#13253F;--ca-d0:#080F1C;--ca-d1:#0C1626;--ca-d2:#142543;--ca-d3:#1E3761;--ca-b1:#2E5A90;--ca-paper:#F4F4F1;--ca-paper2:#E9EAE4;--ca-tint:#E2E8F1;--ca-ink:#1A2130;--ca-ink2:#343C4B;--ca-mut:#565E6B;--ca-acc:#C4A06A;--ca-acci:#7A5A28;
  --primary:31 58 96;--primary-d:23 45 75;--primary-l:46 90 144;--sand:244 244 241;--ink:26 33 48;--accent:196 160 106;--accent-soft:226 232 241;--muted:86 94 107}
.cl-x-acct[data-cl-pal="c"]{--ca-p:#1E5B45;--ca-ph:#174835;--ca-ps:#E3EFE7;--ca-pi:#0F3526;--ca-d0:#06140F;--ca-d1:#0A1F17;--ca-d2:#123325;--ca-d3:#1B4A36;--ca-b1:#2F7A58;--ca-paper:#F3F5F0;--ca-paper2:#E6EBE1;--ca-tint:#DDEADF;--ca-ink:#13201A;--ca-ink2:#314036;--ca-mut:#55635A;--ca-acc:#C9A36B;--ca-acci:#6E5224;
  --primary:30 91 69;--primary-d:23 72 53;--primary-l:47 122 88;--sand:243 245 240;--ink:19 32 26;--accent:201 163 107;--accent-soft:221 234 223;--muted:85 99 90}
.cl-x-acct[data-cl-pal="d"]{--ca-p:#7A2E3E;--ca-ph:#62242F;--ca-ps:#F5E8EA;--ca-pi:#4A1824;--ca-d0:#190A0E;--ca-d1:#231015;--ca-d2:#381A22;--ca-d3:#532632;--ca-b1:#8E3B4E;--ca-paper:#F7F3F1;--ca-paper2:#EEE5E1;--ca-tint:#F1E3E4;--ca-ink:#24191B;--ca-ink2:#443639;--ca-mut:#675A5D;--ca-acc:#D2A77A;--ca-acci:#7C4E22;
  --primary:122 46 62;--primary-d:98 36 47;--primary-l:142 59 78;--sand:247 243 241;--ink:36 25 27;--accent:210 167 122;--accent-soft:241 227 228;--muted:103 90 93}
.cl-x-acct[data-cl-pal="e"]{--ca-p:#8F4326;--ca-ph:#76361E;--ca-ps:#F6EAE1;--ca-pi:#552512;--ca-d0:#1A0F0A;--ca-d1:#26170F;--ca-d2:#3C2518;--ca-d3:#573522;--ca-b1:#A65A34;--ca-paper:#F7F2EA;--ca-paper2:#EEE4D5;--ca-tint:#F2E4D6;--ca-ink:#281D15;--ca-ink2:#48382C;--ca-mut:#67574A;--ca-acc:#D8B88A;--ca-acci:#6F4A1E;
  --primary:143 67 38;--primary-d:118 54 30;--primary-l:166 90 52;--sand:247 242 234;--ink:40 29 21;--accent:216 184 138;--accent-soft:242 228 214;--muted:103 87 74}
.cl-x-acct[data-cl-pal="f"]{--ca-p:#564A6E;--ca-ph:#453B59;--ca-ps:#EEEAF3;--ca-pi:#2E2640;--ca-d0:#100E16;--ca-d1:#1A1622;--ca-d2:#2A2336;--ca-d3:#3D3350;--ca-b1:#6B5C8A;--ca-paper:#F5F4F6;--ca-paper2:#E9E6EC;--ca-tint:#E9E4EF;--ca-ink:#1D1A23;--ca-ink2:#3C3745;--ca-mut:#5F5968;--ca-acc:#CDB28C;--ca-acci:#6C5330;
  --primary:86 74 110;--primary-d:69 59 89;--primary-l:107 92 138;--sand:245 244 246;--ink:29 26 35;--accent:205 178 140;--accent-soft:233 228 239;--muted:95 89 104}
.cl-x-acct{--ca-ff:var(--font-vazirmatn);--card:255 255 255;--border:var(--ink);--muted:var(--ink);
  --ca-bg:var(--ca-paper);--ca-surf:#fff;--ca-bd:1px solid color-mix(in srgb,var(--ca-ink) 7%,transparent);--ca-bd-top:var(--ca-bd);
  --ca-r-card:22px;--ca-r-in:14px;--ca-r-btn:999px;--ca-r-hero:28px;--ca-r-tab:16px;
  --ca-sh:0 18px 50px -26px rgba(0,0,0,.22);--ca-hero-sh:0 30px 60px -32px color-mix(in srgb,var(--ca-d1) 80%,transparent);
  --ca-btn-bg:var(--ca-p);--ca-btn-fg:#fff;--ca-btn-sh:0 10px 24px -12px color-mix(in srgb,var(--ca-p) 60%,transparent);
  --ca-rule:linear-gradient(90deg,var(--ca-acc),var(--ca-p));--ca-h:var(--ca-ink);
  --ca-tab-on-bg:var(--ca-ps);--ca-tab-on-fg:var(--ca-pi);--ca-tab-bar:var(--ca-p);
  --bk-r-card:var(--ca-r-card);--bk-r-in:var(--ca-r-in);--bk-r-btn:var(--ca-r-btn);--bk-shadow:var(--ca-sh);
  --bk-hero-bg:linear-gradient(150deg,var(--ca-d1),var(--ca-d3) 55%,var(--ca-b1));
  --bk-ha-primary-fg:var(--ca-pi);
  background:var(--ca-bg);color:rgb(var(--ink));font-family:var(--ca-ff);padding-block:clamp(4px,2vw,24px) 48px;overflow-x:clip}
.cl-x-acct[data-cl-font="sahel"]{--ca-ff:var(--font-sahel)}
.cl-x-acct[data-cl-font="samim"]{--ca-ff:var(--font-samim)}
.cl-x-acct[data-cl-font="shabnam"]{--ca-ff:var(--font-shabnam)}
.cl-x-acct>main{min-width:0}
.cl-x-acct :is(.luxe-glass,.bkc-section,.bkc2-head,.bkc2-tabs,.bkc-topbar,.bkw-root,.bkw-form){background:var(--ca-surf);border:var(--ca-bd);border-top:var(--ca-bd-top);border-radius:var(--ca-r-card)!important;box-shadow:var(--ca-sh);-webkit-backdrop-filter:none;backdrop-filter:none;transform:none}
/* کارت تو در تو (رزرو داخل بخش آکاردئونی) دوباره قاب نمی‌گیرد */
.cl-x-acct .bkc-section .luxe-glass{background:transparent;border:0;box-shadow:none;padding:0}
.cl-x-acct .bkc-hero{background:var(--bk-hero-bg);border-radius:var(--ca-r-hero)!important;box-shadow:var(--ca-hero-sh)}
.cl-x-acct :is(.bkc-cd-box){border-radius:var(--ca-r-in)}
.cl-x-acct :is(.btn-luxe,.bkc-btn){background:var(--ca-btn-bg);color:var(--ca-btn-fg);border-radius:var(--ca-r-btn);box-shadow:var(--ca-btn-sh)}
.cl-x-acct .btn-luxe::after{display:none}
.cl-x-acct .rounded-luxe{border-radius:var(--ca-r-card)}
.cl-x-acct .rounded-luxe-sm{border-radius:var(--ca-r-btn)}
.cl-x-acct .input-luxe{border-radius:var(--ca-r-in)}
.cl-x-acct .gold-line,.cl-x-acct .bkc-sec-title h2::before{background:var(--ca-rule)}
.cl-x-acct :is(.bkc-sec-title h2,.bkc2-head-who b,.bkc-empty h3){color:var(--ca-h)}
.cl-x-acct .bkc2-tab{border-radius:var(--ca-r-tab)}
.cl-x-acct .bkc2-tab-on{background:var(--ca-tab-on-bg);color:var(--ca-tab-on-fg)}
.cl-x-acct .bkc2-tab-on::after{background:var(--ca-tab-bar)}
.cl-x-acct .bkc2-tab-on .bkc2-badge{box-shadow:0 0 0 2px var(--ca-surf)}
@media (prefers-reduced-motion:reduce){.cl-x-acct *{scroll-behavior:auto}}
/* 0929f — کارت «شخصی‌سازی سایت» در تنظیمات کلینیک (ClinicSiteCustomize.tsx)؛ همان سطر cl-setrow با بندانگشتی و دو دکمه */
.cl-root .cl-x-cz .cl-setrow{align-items:center}
.cl-root .cl-x-cz .cl-setrow>.cl-btn{flex:none}
.cl-root .cl-x-cz-thumb{flex:none;width:64px;height:48px;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:var(--on-glass-mut)}
.cl-root .cl-x-cz-thumb.cl-x-cz-logo{width:48px}
.cl-root .cl-x-cz-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cl-root .cl-x-cz-thumb.cl-x-cz-logo img{object-fit:contain;padding:4px;background:#fff}
.cl-root .cl-x-cz-thumb .cl-i{width:20px;height:20px}
.cl-root .cl-x-cz-act{flex:none;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.cl-root .cl-x-cz .cl-tx{min-width:0}
@media (max-width:560px){
  .cl-root .cl-x-cz .cl-setrow{flex-wrap:wrap;gap:12px}
  .cl-root .cl-x-cz .cl-setrow .cl-tx{flex:1 1 calc(100% - 80px)}
  .cl-root .cl-x-cz-act{width:100%;justify-content:flex-start}
}

/* ═══════════════════════════════════════════════════════════════════════════
   0929g — پنل کلینیک: چیدمان متقارن در لپ‌تاپ + بنر نصب اپ بدون پوشاندن سربرگ
   (فقط پنل کلینیک؛ تراپیست این فایل را لینک نمی‌کند؛ سایت کلینیک با data-clinic-site جداست)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ۱) شیشه: بدنه پنل در عرض‌های بزرگ وسط صفحه می‌نشیند (پیش‌تر به ریل راست می‌چسبید و نیمه چپ خالی می‌ماند).
   حاشیه سمت ریل هرگز کمتر از ریل + ۱۲ نمی‌شود؛ تا ۱۶۸۰ پیکسل رفتار قبلی عینا حفظ است. */
@media (min-width:861px){
  .cl-root[data-cl-area="panel"] .cl-p-main{
    margin-inline-start:max(calc(var(--rail) + 12px), calc((100% - 1560px) / 2));
    margin-inline-end:auto;
  }
}

/* ۲) تنظیمات کلینیک: دو ستون متوازن + نوار ذخیره تمام‌عرض (همه تم‌های پنل).
   حداقل عرض ستون ۵۲۰ و حداکثر دو ستون؛ کمتر از آن خودکار یک‌ستونی (بدون media query، مستقل از سایدبار هر تم). */
.cl-root .cl-x-setg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(520px,calc((100% - 20px) / 2))),1fr));gap:20px;align-items:start}
.cl-root .cl-x-setg>*{min-width:0}
.cl-root .cl-x-setg>.cl-savebar{grid-column:1/-1;margin-top:0}
/* تم‌های سایت/پنل: ۴ تا در یک ردیف، یا ۲×۲ وقتی ستون باریک است (هرگز ۳+۱ یتیم) */
.cl-root .cl-x-setg .cl-x-lays{grid-template-columns:repeat(auto-fit,minmax(min(calc(50% - 5px),max(calc(25% - 7.5px),calc((570px - 100%) * 999))),1fr))}
/* متن‌های راهنمای مستقیم کارت (مالک هم درمانگر، پیش‌نمایش منو) هم‌تراز ردیف‌ها، نه چسبیده به لبه کارت */
.cl-root .cl-x-setg .cl-card>p{margin-inline:24px!important}

/* ۳) بنر نصب اپ (components/pwa/InstallPrompt) در پنل کلینیک: به‌جای نوار ثابت بالای صفحه که سربرگ، ریل
   و دکمه‌ها را می‌پوشاند، کارت کوچک گوشه پایین چپ (سمت پایان در RTL؛ ریل و سایدبار سمت راست‌اند).
   موبایل: بالای نوار پایین + safe-area. صفحه‌هایی که نوار ذخیره چسبان دارند ⇒ بالاتر از آن.
   بدنه دیگر به‌اندازه بنر پایین نمی‌رود (فقط فاصله بنر دمو می‌ماند، همان مقدار پیش‌فرض layout). */
html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"]){padding-top:var(--demo-banner-h,0px)!important;--clpw-bg:#06262B;--clpw-p:#0B5F66;--clpw-b:88px}
html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"][data-cl-pal="b"]){--clpw-bg:#0C1626;--clpw-p:#1F3A60}
html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"][data-cl-pal="c"]){--clpw-bg:#0A1F17;--clpw-p:#1E5B45}
html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"][data-cl-pal="d"]){--clpw-bg:#231015;--clpw-p:#7A2E3E}
html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"][data-cl-pal="e"]){--clpw-bg:#26170F;--clpw-p:#8F4326}
html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"][data-cl-pal="f"]){--clpw-bg:#1A1622;--clpw-p:#564A6E}
html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"]) [data-pwa-install="banner"]{
  top:auto!important;right:auto!important;left:20px!important;bottom:20px!important;
  width:min(440px,calc(100vw - 40px))!important;
  border-radius:18px;overflow:hidden;
  background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.02)),var(--clpw-bg)!important;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 44px -14px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.12)!important;
  animation:clpw-in .45s cubic-bezier(.2,.8,.2,1) both;
}
html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"]) [data-pwa-install="banner"]>div{max-width:none!important;padding:12px 14px 12px 12px!important;align-items:center}
html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"]) [data-pwa-install="banner"] button:not([aria-label]){color:var(--clpw-bg)!important;border-radius:999px!important;padding:.45rem 1rem!important}
html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"]) [data-pwa-install="fab"]{
  right:auto!important;left:20px!important;bottom:20px!important;background:var(--clpw-p)!important;
  box-shadow:0 10px 26px -8px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.18)!important;
}
/* نوار ذخیره چسبان (تنظیمات) ⇒ بنر و دکمه نصب بالاتر از آن تا دکمه «ذخیره» پوشیده نشود */
html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"] .cl-savebar) [data-pwa-install="banner"],
html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"] .cl-savebar) [data-pwa-install="fab"]{bottom:var(--clpw-b)!important}
@media (max-width:860px){
  html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"]){--clpw-b:164px}
  html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"]) [data-pwa-install="banner"]{
    left:12px!important;width:calc(100vw - 24px)!important;bottom:calc(92px + env(safe-area-inset-bottom))!important;
  }
  html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"]) [data-pwa-install="fab"]{left:14px!important;bottom:calc(92px + env(safe-area-inset-bottom))!important}
  html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"] .cl-savebar) [data-pwa-install="banner"],
  html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"] .cl-savebar) [data-pwa-install="fab"]{bottom:calc(var(--clpw-b) + env(safe-area-inset-bottom))!important}
}
@keyframes clpw-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){html[data-clinic] [data-pwa-install="banner"]{animation:none!important}}
/* 0929g-b — تم قاب: ستون بازرس (.cx-q-insp، ۳۴۰ پیکسل سمت چپ از ۱۲۸۱ به بالا) دکمه‌های پایینش را دارد ⇒ کارت نصب و دکمه نصب کنار آن، نه رویش */
@media (min-width:1281px){
  html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"][data-cl-layout="qab"] .cx-q-insp) [data-pwa-install="banner"],
  html[data-clinic]:not([data-clinic-site]) body:has(.cl-root[data-cl-area="panel"][data-cl-layout="qab"] .cx-q-insp) [data-pwa-install="fab"]{left:360px!important}
}

/* 0930a — نوارهای ثابت بالای صفحه (نوار نمونه/فقط‌خواندنی DemoModeGuard، نوار «سایت نمونه» ShowcaseNotice، بنر نصب InstallPrompt)
   روی سربرگ و دکمه‌های آن می‌افتادند چون --tb (ارتفاع نوار ابزار موکاپ) در CSS تولیدی ۰ ثابت بود.
   --tb = مجموع ارتفاع نوارهای بالا (متغیرهایی که خود نوارها روی <html> می‌نویسند). بدون نوار ⇒ ۰ ⇒ بدون هیچ تغییر.
   specificity (0,1,1) عمداً بالاتر از .cl-root و :where(.cl-root)[data-cl-lx] (هر دو 0,1,0) تا ترتیب لود فایل‌ها مهم نباشد.
   پنل: بنر نصب به گوشه پایین منتقل شده (بخش ۳ بالا) ⇒ فقط نوار نمونه.
   فاصله درون‌جریان (padding/margin بر پایه --tb) را بدنه با padding-top خودش می‌دهد ⇒ آن قاعده‌ها صفر می‌شوند (همان رفتار امروز). */
html .cl-root{--tb:calc(var(--demo-banner-h, 0px) + var(--pwa-banner-h, 0px))}
html .cl-root[data-cl-area="panel"]{--tb:var(--demo-banner-h, 0px)}
.cl-root .cl-app{padding-top:0}
.cl-root .cl-faqx .cl-side,.cl-root .cl-prof .cl-left,.cl-root .cl-toc,.cl-root .cl-fcats{top:calc(var(--tb) + 110px)}

/* 0930a-V5 — رفع اندازه/سرریز/هم‌پوشانی بعد از ممیزی 0930a (_agent_reports/0930a-V5.md). رنگ، فونت و هویت بصری دست نخورده است. */
/* E1 — تقویم پنل: نام درمانگر در سرستون تا دو خط می‌شکند (نه دو حرف و سه‌نقطه)؛ با شش ستون یا بیشتر عکس بالای نام می‌نشیند تا عرض متن دوبرابر شود */
@media (min-width:861px){
  .cl-root .cl-cal-head .cl-th b{white-space:normal;overflow-wrap:break-word;text-overflow:clip;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
  .cl-root .cl-cal-head:has(> .cl-th:nth-child(7)) .cl-th{flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:6px;padding:10px 6px}
  .cl-root .cl-cal-head:has(> .cl-th:nth-child(7)) .cl-th > div{width:100%}
  .cl-root .cl-cal-head:has(> .cl-th:nth-child(7)) .cl-th img,
  .cl-root .cl-cal-head:has(> .cl-th:nth-child(7)) .cl-th .cl-x-d-sil-36{width:30px;height:30px;flex:none}
  .cl-root .cl-cal-head:has(> .cl-th:nth-child(7)) .cl-th b{font-size:13px}
}
/* E2 — نوار ناوبری پایین موبایل: فاصله پایین محتوا = ارتفاع نوار + ناحیه امن گوشی؛ نوار ذخیره و خود نوار بالاتر از ناحیه امن */
@media (max-width:860px){
  .cl-root .cl-p-main{padding-bottom:calc(var(--bnav) + 34px + env(safe-area-inset-bottom))}
  .cl-root .cl-bnav{bottom:calc(10px + env(safe-area-inset-bottom))}
  .cl-root .cl-savebar{bottom:calc(var(--bnav) + 20px + env(safe-area-inset-bottom))}
  html:has(.cl-root[data-cl-area="panel"]){scroll-padding-bottom:calc(var(--bnav, 68px) + 28px + env(safe-area-inset-bottom))}
}
/* E3 — دکمه «ثابت کردن منو» در منوی جمع‌شده از عرض منو بیرون نمی‌زند (نیمه نامرئی‌اش کلیک نمی‌گرفت) */
.cl-root .cl-rail .cl-pin-btn{max-width:100%;overflow:hidden}
/* E5 — دکمه‌های آیکونی کوچک پنل (۳۰ پیکسل) ⇒ ۴۰ پیکسل برای لمس؛ آیکون همان اندازه */
.cl-root .cl-x-d-more,.cl-root .cl-mini .cl-x-d-mini-undo{width:40px;height:40px}
/* D10 — ناحیه لمس پیوندهای کوچک (مسیر صفحه، زبانه‌های زیرناوبری، نام کلینیک در سربرگ) بدون تغییر ظاهر بزرگ‌تر می‌شود */
.cl-root .cl-crumb a,.cl-root .cl-subnav a{position:relative}
.cl-root .cl-crumb a::after{content:"";position:absolute;inset:-9px -8px}
.cl-root .cl-subnav a::after{content:"";position:absolute;inset:0 -10px}
.cl-root .cl-s-hdr a.cl-brand{min-height:40px;display:inline-flex;align-items:center}
/* خط کوچک زیر کارت درمانگر (۱۰٫۸ پیکسل در موبایل) */
.cl-root .cl-frame .cl-glasscap small{font-size:11.5px}
/* D2 — ردیف خدمت‌ها در کارت رزرو موبایل: لبه چپ محو می‌شود تا معلوم باشد ادامه دارد (بریدگی بی‌نشانه نبود) */
@media (max-width:560px){
  .cl-root .cl-book .cl-svc-pick,.cl-root .cl-book .cl-th-pick{-webkit-mask-image:linear-gradient(to left,transparent 0,#000 28px);mask-image:linear-gradient(to left,transparent 0,#000 28px)}
}
/* C6 — نشانی طولانی (https://…) در پاسخ پرسش‌ها از پاراگراف بیرون نمی‌زند */
.cl-root .cl-qa .cl-ans p,.cl-root .cl-ans p,.cl-root .cl-art-body p{overflow-wrap:anywhere}
/* B2 — جای عکس درمانگر بی‌عکس: کاشی خنثی و کم‌رنگ از توکن‌های پالت (نه آدمک پررنگ خاکستری)؛ هرگز حرف اول نام (تصمیم مالک) */
.cl-root .cl-sil{place-items:center;background:color-mix(in srgb,var(--paper2) 90%,var(--p) 10%);color:color-mix(in srgb,var(--p) 26%,var(--paper2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--p) 14%,transparent)}
.cl-root .cl-sil svg{width:58%;max-height:66%}
.cl-root .cl-sil .sil-b{opacity:.75}
/* E1 (ادامه) — تقویم با شش ستون یا بیشتر: بلوک نوبت فشرده‌تر؛ ساعت و نام یک‌خطی با سه‌نقطه (نه شکستن «۹:۰۰ تا ۹:۵۰» در دو خط و بریدن نام) */
@media (min-width:861px){
  .cl-root .cl-cal-grid:has(> .cl-cal-col:nth-child(7)) .cl-blk{inset-inline:4px;padding:5px 7px}
  .cl-root .cl-cal-grid:has(> .cl-cal-col:nth-child(7)) .cl-blk .cl-r{white-space:nowrap;min-width:0}
  .cl-root .cl-cal-grid:has(> .cl-cal-col:nth-child(7)) .cl-blk .cl-r svg.cl-i{display:none}
  .cl-root .cl-cal-grid:has(> .cl-cal-col:nth-child(7)) .cl-blk .cl-r .cl-num{overflow:hidden;text-overflow:ellipsis}
  .cl-root .cl-cal-grid:has(> .cl-cal-col:nth-child(7)) .cl-blk b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
/* C4 (شیشه) — نوار ثابت پایین موبایل «اولین وقت خالی / رزرو» خط آخر فوتر («ساخته‌شده با…») را می‌پوشاند:
   قاعده فوتر v2 در clinic.css (padding پایین ۳۴) قاعده موبایل ۱۱۰ را خنثی می‌کرد ⇒ فاصله پایین = نوار + ناحیه امن */
@media (max-width:860px){
  .cl-root:has(.cl-m-cta) .cl-foot{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .cl-root .cl-m-cta{bottom:calc(12px + env(safe-area-inset-bottom))}
}
