/**
 * استایل داشبورد جامع «سامانه مطب».
 *
 * همه‌ی رنگ‌ها و فاصله‌ها از متغیرهای CSS سیستم طراحی (admin.css) می‌آیند؛ هیچ
 * مقدار ظاهری هاردکد نیست. شامل کارت‌ها، نمودارها، جداول، سایدبار، رسپانسیو،
 * انیمیشن، اسکلتون و حالت شب.
 *
 * @package Clinic_Manager
 */

.clinic-dashboard {
	max-width: 99% !important;
}

/* بردکرامب */
.clinic-breadcrumb {
	display: flex;
	gap: var( --clinic-space-4 );
	color: var(--clinic-muted);
	font-size: 13px;
	margin: var( --clinic-space-3 ) 0 var(--clinic-spacing-md);
}

/* هدر */
.clinic-dashboard-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--clinic-spacing-md);
	background: linear-gradient( 135deg, var(--clinic-primary), #6a44b8 );
	color: var( --clinic-text-inverse );
	border-radius: var(--clinic-border-radius);
	padding: var(--clinic-spacing-lg);
	margin-bottom: var(--clinic-spacing-lg);
	box-shadow: var(--clinic-shadow);
}

.clinic-header-greeting .clinic-title {
	color: var( --clinic-text-inverse );
	margin: 0 0 var( --clinic-space-2 );
}

.clinic-header-date {
	margin: 0;
	opacity: 0.9;
	font-size: 13px;
}

.clinic-header-status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var( --clinic-space-5 );
}

.clinic-status-badge {
	background: rgba(255, 255, 255, 0.18);
	border-radius: var(--clinic-radius-pill, 999px);
	padding: var( --clinic-space-2 ) var( --clinic-space-7 );
	font-size: 13px;
	white-space: nowrap;
}

.clinic-status-backup {
	font-size: 12px;
	opacity: 0.85;
}

.clinic-header-status .clinic-icon-btn {
	background: rgba(255, 255, 255, 0.18);
	border-color: transparent;
	color: var( --clinic-text-inverse );
	padding: var( --clinic-space-3 ) var( --clinic-space-6 );
}

/* نوار ابزار / فیلترها */
.clinic-dashboard-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--clinic-spacing-md);
	background: var(--clinic-bg);
	border: 1px solid var(--clinic-border);
	border-radius: var(--clinic-border-radius);
	padding: var(--clinic-spacing-md);
	margin-bottom: var(--clinic-spacing-md);
}

.clinic-toolbar-field {
	display: flex;
	flex-direction: column;
	gap: var( --clinic-space-2 );
	font-size: 13px;
	color: var(--clinic-muted);
}

.clinic-toolbar-field .clinic-select {
	margin-bottom: 0;
	max-width: 200px;
}

.clinic-toolbar-hint {
	margin-inline-start: auto;
	color: var(--clinic-muted);
	font-size: 13px;
}

/* چیدمان دو‌ستونه (محتوا + سایدبار) — STEP 46 */
.clinic-dashboard-layout {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: var( --clinic-space-10 );
	align-items: start;
	direction: rtl;
}

.clinic-dashboard-main {
	min-width: 0;
}

.clinic-dash-section {
	margin-bottom: var(--clinic-spacing-lg);
}

.clinic-section-title {
	color: var(--clinic-primary);
	font-size: 17px;
	margin: 0 0 var(--clinic-spacing-md);
}

/* کارت‌های کلیدی */
.clinic-cards-grid {
	display: grid;
	gap: var(--clinic-spacing-md);
}

.clinic-cards--8 {
	grid-template-columns: repeat(4, 1fr);
}

/* کارت KPI — چینش وسط‌چینِ یکدست با نوار رنگی بالا و آیکونِ چیپ (STEP 46) */
.clinic-card--metric {
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	text-align: center;
	gap: var( --clinic-space-4 );
	min-height: 150px;
	position: relative;
	overflow: hidden;
	padding-top: var( --clinic-space-12 );
	animation: clinic-fade-up 0.4s ease both;
}

/* نوار رنگی بالای کارت */
.clinic-card--metric::before {
	content: '';
	position: absolute;
	top: 0;
	inset-inline: 0;
	height: 4px;
	background: var(--clinic-primary);
}

.clinic-card--success::before {
	background: var(--clinic-success);
}

.clinic-card--warning::before {
	background: var(--clinic-warning);
}

.clinic-card--metric:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(75, 46, 131, 0.12);
}

.clinic-card-icon {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var( --clinic-radius-md );
	background: var(--clinic-bg-light);
	font-size: 24px;
	line-height: 1;
	flex: 0 0 auto;
}

.clinic-card-content {
	flex: 1 1 auto;
	min-width: 0;
}

.clinic-card-title {
	margin: 0;
	font-size: 12px;
	color: var(--clinic-muted);
	font-weight: 600;
	line-height: 1.4;
}

.clinic-card-value {
	margin: var( --clinic-space-2 ) 0 0;
	font-size: 26px;
	font-weight: 700;
	color: var(--clinic-primary);
	line-height: 1.2;
}

.clinic-card-unit {
	font-size: 12px;
	color: var(--clinic-muted);
	font-weight: 400;
}

.clinic-card-footer {
	flex-basis: 100%;
	margin-top: auto;
}

.clinic-card-link {
	font-size: 12px;
	color: var(--clinic-primary);
	text-decoration: none;
}

.clinic-card--success .clinic-card-value {
	color: var(--clinic-success);
}

.clinic-card--warning .clinic-card-value {
	color: var(--clinic-warning);
}

/* شاخص‌های کلیدی */
.clinic-kpi-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--clinic-spacing-md);
	background: var(--clinic-bg);
	border: 1px solid var(--clinic-border);
	border-radius: var(--clinic-border-radius);
	padding: var(--clinic-spacing-lg);
}

.clinic-kpi-item label {
	display: block;
	color: var(--clinic-muted);
	font-size: 13px;
	margin-bottom: var( --clinic-space-3 );
}

.clinic-stars {
	font-size: 18px;
	letter-spacing: 2px;
}

.clinic-kpi-value {
	font-weight: 700;
	color: var(--clinic-primary);
}

.clinic-kpi-value--lg {
	font-size: 18px;
}

/* STEP 223-B — نقش داده: شعاع کوچک، هرگز pill (قرارداد نقش STEP 221). */
.clinic-progress {
	height: 10px;
	background: var(--clinic-bg-light);
	border-radius: var(--clinic-radius-data-bar, 4px);
	overflow: hidden;
	margin: var( --clinic-space-3 ) 0;
}

.clinic-progress-bar {
	display: block;
	height: 100%;
	background: var(--clinic-success);
	border-radius: var(--clinic-radius-data-bar, 4px);
	transition: width 0.6s ease;
}

/* نمودارها */
.clinic-charts-grid {
	display: grid;
	gap: var(--clinic-spacing-md);
}

.clinic-charts--2col {
	grid-template-columns: 1fr 1fr;
}

.clinic-chart-container {
	background: var(--clinic-bg);
	border: 1px solid var(--clinic-border);
	border-radius: var(--clinic-border-radius);
	padding: var(--clinic-spacing-lg);
	min-height: 280px;
	box-shadow: var(--clinic-shadow);
}

.clinic-chart-title {
	margin: 0 0 var(--clinic-spacing-md);
	color: var(--clinic-primary);
	font-size: 15px;
}

.clinic-chart-empty {
	color: var(--clinic-muted);
	text-align: center;
	padding: var( --clinic-space-20 ) 0;
}

/* جداول */
.clinic-table-container {
	background: var(--clinic-bg);
	border: 1px solid var(--clinic-border);
	border-radius: var(--clinic-border-radius);
	padding: var(--clinic-spacing-lg);
	margin-bottom: var(--clinic-spacing-md);
	box-shadow: var(--clinic-shadow);
	overflow-x: auto;
}

.clinic-table-container h3 {
	margin: 0 0 var(--clinic-spacing-md);
	color: var(--clinic-primary);
	font-size: 15px;
}

.clinic-tables-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--clinic-spacing-md);
}

.clinic-table--striped tbody tr:nth-child(even) {
	background: rgba(243, 232, 255, 0.4);
}

.clinic-table-empty {
	text-align: center;
	color: var(--clinic-muted);
	padding: var(--clinic-spacing-lg);
}

/* سایدبار */
.clinic-dashboard-sidebar {
	display: flex;
	flex-direction: column;
	gap: var(--clinic-spacing-md);
}

.clinic-side-card {
	background: var(--clinic-bg);
	border: 1px solid var(--clinic-border);
	border-radius: var(--clinic-border-radius);
	padding: var(--clinic-spacing-md);
	box-shadow: var(--clinic-shadow);
}

.clinic-side-card h3 {
	margin: 0 0 var(--clinic-spacing-sm);
	color: var(--clinic-primary);
	font-size: 14px;
}

.clinic-side-empty {
	color: var(--clinic-muted);
	font-size: 13px;
	margin: 0;
}

.clinic-quick-actions-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var( --clinic-space-4 );
}

.clinic-quick-actions-grid .clinic-btn--pill {
	text-align: center;
	font-size: 13px;
	padding: var( --clinic-space-4 ) var( --clinic-space-3 );
	/* STEP 126 (CSS سفارشی): پیلِ بنفشِ برند با متنِ خودکار (سفید روی بنفش ۸٫۶:۱). */
	border-radius: var(--clinic-radius-pill, 999px);
	background: var(--clinic-btn-primary-bg, var(--clinic-primary, #4B2E83));
	color: var(--clinic-btn-primary-text, #fff);
	/* STEP 223-B — سایه حذف شد (نقشِ کنش). توجه: `custom.css` قاعده‌ی هم‌سلکتوری
	 * دارد که **آخر** بار می‌شود و همین سایه را برمی‌گرداند؛ آن فایل لایه‌ی
	 * سفارشیِ کارفرماست و در این اجرا صریحا دست‌نخورده می‌مانَد، پس این تک نقض
	 * به‌عنوانِ استثنای مستند در گارد ثبت شده است. با حذفِ سایه از این‌جا،
	 * custom.css تنها منبعِ باقی‌مانده است و استثنا دقیق و قابلِ‌رفع می‌شود. */
	box-shadow: none;
}

.clinic-reminders-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.clinic-reminders-list li {
	display: flex;
	align-items: center;
	gap: var( --clinic-space-4 );
	padding: var( --clinic-space-4 ) 0;
	border-bottom: 1px solid var(--clinic-border);
	font-size: 13px;
}

.clinic-reminders-list li:last-child {
	border-bottom: none;
}

.clinic-upcoming-item {
	display: flex;
	align-items: center;
	gap: var( --clinic-space-5 );
	padding: var( --clinic-space-4 ) 0;
	border-bottom: 1px solid var(--clinic-border);
	font-size: 13px;
}

.clinic-upcoming-item:last-child {
	border-bottom: none;
}

.clinic-upcoming-item time {
	font-weight: 700;
	color: var(--clinic-primary);
	flex: 0 0 auto;
}

.clinic-news-item {
	padding: var( --clinic-space-4 ) 0;
	border-bottom: 1px solid var(--clinic-border);
}

.clinic-news-item:last-child {
	border-bottom: none;
}

.clinic-news-item p {
	margin: 0 0 var( --clinic-space-1 );
	font-size: 13px;
}

.clinic-news-item small {
	color: var(--clinic-muted);
}

/* انیمیشن */
@keyframes clinic-fade-up {
	from {
		opacity: 0;
		transform: translateY(10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* اسکلتون لودر */
.clinic-dashboard.is-loading .clinic-dashboard-main {
	opacity: 0.5;
	pointer-events: none;
}

/* ====================================================================
 * رسپانسیو
 * ==================================================================== */
@media (max-width: 1100px) {
	.clinic-dashboard-layout {
		grid-template-columns: 1fr;
	}

	/* سایدبار وقتی زیرِ محتوا می‌آید، کارت‌هایش به‌صورت گرید واکنش‌گرا پخش شوند. */
	.clinic-dashboard-sidebar {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
		gap: var( --clinic-space-8 );
	}

	.clinic-cards--8 {
		grid-template-columns: repeat(2, 1fr);
	}

	.clinic-charts--2col,
	.clinic-tables-row {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.clinic-cards--8 {
		grid-template-columns: 1fr;
	}

	.clinic-dashboard-header {
		flex-direction: column;
		align-items: flex-start;
	}

	.clinic-toolbar-hint {
		margin-inline-start: 0;
	}
}



/* ====================================================================
 * چاپ
 * ==================================================================== */
@media print {
	.clinic-dashboard-header {
		background: none !important;
		color: #000 !important;
		border: 1px solid var( --clinic-line );
	}

	.clinic-header-greeting .clinic-title,
	.clinic-header-status {
		color: #000 !important;
	}

	.clinic-dashboard-layout {
		grid-template-columns: 1fr;
	}

	.clinic-chart-container,
	.clinic-table-container,
	.clinic-side-card {
		break-inside: avoid;
	}
}

/* نسخه ۱.۲.۱: تأکید بر مرکزچینی مقدار کارت‌های متریک */
.clinic-card--metric .clinic-card-value {
	line-height: 1.25;
}

/* ====================================================================
 * نسخه ۱.۴.۷ — تب‌بندی داشبورد + کلاس‌های چیدمان یکدست
 * ==================================================================== */

/* نوار تب‌ها */
.clinic-tab-nav {
	display: flex;
	gap: 0;
	border-bottom: 2px solid var(--clinic-border, #eee);
	margin-bottom: var(--clinic-spacing-lg, 24px);
	overflow-x: auto;
}

.clinic-tab-btn {
	padding: var( --clinic-space-6 ) var( --clinic-space-12 );
	border: none;
	background: transparent;
	/* HOTFIX فونت: صریح به‌جای inherit تا حتی خارج از کانتینرِ var هم فونتِ تم را بگیرد
	 * (دکمه‌ها به‌صورتِ پیش‌فرض فونتِ سیستم را می‌گیرند). بدونِ تغییرِ ظاهر در حالتِ وزیرمتن. */
	font-family: var(--clinic-font-family, 'Vazirmatn', 'IRANSans', Tahoma, sans-serif);
	font-size: 14px;
	font-weight: 600;
	color: var(--clinic-muted, #666);
	cursor: pointer;
	border-bottom: 3px solid transparent;
	transition: color 0.2s, border-color 0.2s;
	white-space: nowrap;
}

.clinic-tab-btn:hover {
	color: var(--clinic-primary, #4B2E83);
}

.clinic-tab-btn.active {
	color: var(--clinic-primary, #4B2E83);
	border-bottom-color: var(--clinic-primary, #4B2E83);
}

.clinic-tab-content {
	display: none;
	animation: clinic-fade-up 0.3s ease both;
}

.clinic-tab-content.active {
	display: block;
}

/* ردیف کارت‌های KPI (چیدمان واکنش‌گرا) — STEP 46: minmax 240 */
.clinic-kpi-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: var(--clinic-spacing-md, 16px);
	margin-bottom: var(--clinic-spacing-lg, 24px);
}

.clinic-kpi-card {
	background: var(--clinic-bg, #fff);
	border-radius: var(--clinic-border-radius, 12px);
	padding: var( --clinic-space-10 );
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	text-align: center;
	transition: transform 0.2s, box-shadow 0.2s;
}

.clinic-kpi-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(75, 46, 131, 0.1);
}

/* ردیف نمودارها (۲ ستونه با شکست در موبایل) */
.clinic-chart-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--clinic-spacing-lg, 20px);
	margin-bottom: var(--clinic-spacing-lg, 24px);
}

.clinic-chart-row > .clinic-chart-container:only-child {
	grid-column: 1 / -1;
}

.clinic-chart-card {
	background: var(--clinic-bg, #fff);
	border-radius: var(--clinic-border-radius, 12px);
	padding: var( --clinic-space-10 );
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* ویجت یکدست */
.clinic-widget {
	background: var(--clinic-bg, #fff);
	border-radius: var(--clinic-border-radius, 12px);
	padding: var( --clinic-space-10 );
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	margin-bottom: var(--clinic-spacing-md, 20px);
}

.clinic-widget h3 {
	font-size: 15px;
	color: var(--clinic-primary, #4B2E83);
	margin-bottom: var(--clinic-spacing-md, 16px);
	padding-bottom: var( --clinic-space-5 );
	border-bottom: 1px solid var(--clinic-border, #f0f0f0);
}

/* جدول داشبورد */
.clinic-dash-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}

.clinic-dash-table thead th {
	background: var(--clinic-bg-light, #F3E8FF);
	padding: var( --clinic-space-5 ) var( --clinic-space-7 );
	font-size: 13px;
	font-weight: 600;
	color: var(--clinic-primary, #4B2E83);
	text-align: right;
	position: sticky;
	top: 0;
}

.clinic-dash-table tbody td {
	padding: var( --clinic-space-5 ) var( --clinic-space-7 );
	border-bottom: 1px solid var(--clinic-border, #f5f5f5);
	font-size: 13px;
	vertical-align: middle;
}

.clinic-dash-table tbody tr:hover td {
	background: rgba(243, 232, 255, 0.2);
}

.clinic-dash-table tbody tr:last-child td {
	border-bottom: none;
}

/* رسپانسیو تب‌ها و KPIها */
@media (max-width: 768px) {
	.clinic-kpi-row {
		grid-template-columns: repeat(2, 1fr);
	}

	.clinic-chart-row {
		grid-template-columns: 1fr;
	}

	.clinic-tab-btn {
		padding: var( --clinic-space-5 ) var( --clinic-space-8 );
		font-size: 13px;
	}
}

@media (max-width: 480px) {
	.clinic-kpi-row {
		grid-template-columns: 1fr;
	}
}



/* چاپ: همه‌ی تب‌ها نمایش داده شوند و نوار تب پنهان شود */
@media print {
	.clinic-tab-nav {
		display: none !important;
	}

	.clinic-tab-content {
		display: block !important;
		animation: none;
	}
}

/* ====================================================================
 * STEP 46 — عنوان کارت نمودار، بخش آماری (نمودار + KPIهای کوچک)، فونت
 * ==================================================================== */

/* عنوان داخل کارت نمودار (هم برای .clinic-chart-card و هم .clinic-chart-container) */
.clinic-chart-card h3,
.clinic-chart-container .clinic-chart-title {
	font-size: 15px;
	font-weight: 600;
	color: var(--clinic-primary, #4B2E83);
	margin: 0 0 var( --clinic-space-8 );
	padding-bottom: var( --clinic-space-6 );
	border-bottom: 1px solid var(--clinic-border, #f0f0f0);
}

/* نمودارِ تمام‌عرض در ردیفِ نمودارها */
.clinic-chart-card.full-width,
.clinic-chart-row > .full-width {
	grid-column: 1 / -1;
}

/* بخش آماری: نمودار + ستونِ کارت‌های کوچک (برای ماژول‌های تحلیلی) */
.clinic-stat-section {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: var( --clinic-space-10 );
	margin-bottom: var( --clinic-space-12 );
}

.clinic-stat-sidebar {
	display: flex;
	flex-direction: column;
	gap: var( --clinic-space-6 );
}

.clinic-stat-mini-card {
	background: var(--clinic-bg, #fff);
	border-radius: var(--clinic-border-radius, 12px);
	padding: var( --clinic-space-8 );
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	text-align: center;
}

.clinic-stat-mini-card .value {
	font-size: 22px;
	font-weight: 700;
	color: var(--clinic-primary, #4B2E83);
}

.clinic-stat-mini-card .label {
	font-size: 12px;
	color: var(--clinic-muted, #888);
	margin-top: var( --clinic-space-2 );
}

@media (max-width: 768px) {
	.clinic-stat-section {
		grid-template-columns: 1fr;
	}
}


/* فونتِ رابط در سراسر داشبورد — STEP 64: از متغیرِ تم تا فونتِ سفارشی هم اعمال شود. */
.clinic-dashboard,
.clinic-dashboard * {
	font-family: var(--clinic-font-family, 'Vazirmatn', 'IRANSans', Tahoma, sans-serif);
}

/* اعداد فارسیِ وزیرمتن در مقادیر کلیدی (در صورت پشتیبانی فونت) */
.clinic-card-value,
.clinic-kpi-value,
.clinic-stat-mini-card .value {
	font-feature-settings: 'ss02';
}

/* ====================================================================
 * STEP 48 — ردیف‌های گریدِ تب «تیم و تحلیل»
 * ==================================================================== */
.clinic-dash-row {
	display: grid;
	gap: var( --clinic-space-8 );
	margin-bottom: var( --clinic-space-10 );
	align-items: start;
}

.clinic-dash-row--4col {
	grid-template-columns: repeat(4, 1fr);
}

.clinic-dash-row--2col {
	grid-template-columns: 1fr 1fr;
}

.clinic-dash-row--full {
	grid-template-columns: 1fr;
}

.clinic-stat-mini-card .icon {
	font-size: 28px;
	margin-bottom: var( --clinic-space-4 );
}

@media (max-width: 768px) {
	.clinic-dash-row--4col {
		grid-template-columns: repeat(2, 1fr);
	}

	.clinic-dash-row--2col {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.clinic-dash-row--4col {
		grid-template-columns: 1fr;
	}
}

/* ====================================================================
 * STEP 53 — viewِ اختصاصیِ تب «تیم و تحلیل» (چینشِ ثابت و منظم)
 * به‌جای CSS روی HTMLِ ناهماهنگِ ماژول‌ها، tab-team.php داده را مستقیم می‌خواند و
 * در ساختارِ زیر رندر می‌کند. کارت‌ها سفیدِ ساده با سایه‌ی نرم.
 * ==================================================================== */

/* ردیفِ KPI خلاصه */
.team-kpi-row {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: var( --clinic-space-8 );
	margin-bottom: var( --clinic-space-12 );
}

.team-kpi-card {
	background: var(--clinic-bg, #fff);
	border-radius: var(--clinic-border-radius, 12px);
	padding: var( --clinic-space-10 ) var( --clinic-space-6 );
	text-align: center;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var( --clinic-space-3 );
}

.team-kpi-icon {
	font-size: 28px;
	line-height: 1;
}

.team-kpi-value {
	font-size: 24px;
	font-weight: 700;
	color: var(--clinic-primary, #4B2E83);
}

.team-kpi-label {
	font-size: 12px;
	color: var(--clinic-muted, #888);
}

/* ردیفِ نمودارها (۵۰-۵۰) */
.team-chart-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var( --clinic-space-10 );
	margin-bottom: var( --clinic-space-12 );
}

.team-chart-card,
.team-full-card {
	background: var(--clinic-bg, #fff);
	border-radius: var(--clinic-border-radius, 12px);
	padding: var( --clinic-space-10 );
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.team-chart-card h3,
.team-full-card h3 {
	font-size: 14px;
	font-weight: 600;
	color: var(--clinic-primary, #4B2E83);
	margin: 0 0 var( --clinic-space-8 );
	padding-bottom: var( --clinic-space-4 );
	border-bottom: 1px solid var(--clinic-border, #f0f0f0);
}

.team-chart-body {
	min-height: 180px;
}

.team-chart-body svg,
.team-full-card svg {
	max-height: 200px;
	margin: 0 auto;
	display: block;
}

/* ردیفِ کارت‌های اطلاعاتی (۳ ستونه) */
.team-info-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var( --clinic-space-8 );
	margin-bottom: var( --clinic-space-12 );
}

.team-info-card {
	background: var(--clinic-bg, #fff);
	border-radius: var(--clinic-border-radius, 12px);
	padding: var( --clinic-space-10 );
	text-align: center;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var( --clinic-space-4 );
}

.team-info-icon {
	font-size: 32px;
	line-height: 1;
}

.team-info-value {
	font-size: 28px;
	font-weight: 700;
	color: var(--clinic-primary, #4B2E83);
}

.team-info-label {
	font-size: 13px;
	color: var(--clinic-muted, #666);
}

/* ردیفِ تمام‌عرض */
.team-full-row {
	margin-bottom: var( --clinic-space-12 );
}

/* فهرستِ داروهای پرتوصیه */
.team-drugs-list {
	display: flex;
	flex-wrap: wrap;
	gap: var( --clinic-space-4 );
}

.team-drug-chip {
	background: var(--clinic-bg-light, #F3E8FF);
	color: var(--clinic-primary, #4B2E83);
	border-radius: var(--clinic-radius-pill, 999px);
	padding: var( --clinic-space-3 ) var( --clinic-space-7 );
	font-size: 13px;
}

/* رسپانسیو */
@media (max-width: 900px) {
	.team-kpi-row {
		grid-template-columns: repeat(3, 1fr);
	}

	.team-chart-row,
	.team-info-row {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.team-kpi-row {
		grid-template-columns: repeat(2, 1fr);
	}
}


/* ════════════════════════════════════════════════════════════════════════════
 * STEP 155 — لایه‌بندیِ بُعدیِ ۵ داشبوردِ نقش‌محور.
 * همان مقیاسِ عمقِ مرکزی ⇒ کارتِ KPIِ این صفحه دقیقاً هم‌عمقِ کارتِ هر ماژولِ دیگر.
 * ──────────────────────────────────────────────────────────────────────────── */
:root { --clinic-tr-elev: box-shadow .28s cubic-bezier(.4,0,.2,1), transform .28s cubic-bezier(.4,0,.2,1), border-color .28s ease; }

/* کارت‌ها — سطحِ rest + بالاآمدنِ hover (یکدست با clinic-card) */
.clinic-kpi-card,
.clinic-stat-mini-card,
.clinic-chart-card,
.clinic-chart-container,
.clinic-widget,
.clinic-table-container,
.team-kpi-card,
.team-info-card,
.team-chart-card,
.team-full-card {
	box-shadow: var(--clinic-elev-rest, var(--clinic-shadow-sm));
	transition: var(--clinic-tr-elev);
}
.clinic-kpi-card:hover,
.clinic-stat-mini-card:hover,
.clinic-chart-card:hover,
.clinic-widget:hover,
.team-kpi-card:hover,
.team-info-card:hover {
	box-shadow: var(--clinic-elev-hover, var(--clinic-shadow-lg));
	transform: translateY(var(--clinic-lift-sm, -2px));
}
/* کارتِ metric: هاورِ بُعدیِ هم‌خانواده (جایگزینِ سایه‌ی خامِ قبلی) */
.clinic-card--metric:hover {
	transform: translateY(var(--clinic-lift-sm, -2px));
	box-shadow: var(--clinic-elev-hover, var(--clinic-shadow-lg));
}

/* آیکون‌باکس‌ها (عمقِ flat) */
.clinic-card-icon,
.team-kpi-icon,
.team-info-icon,
.clinic-stat-mini-card .icon {
	box-shadow: var(--clinic-elev-flat, var(--clinic-shadow-xs));
}

/* STEP 223-B — عمقِ نوارِ پیشرفت حذف شد: نقشِ داده سایه ندارد، نه inset و نه
 * بیرونی. تفکیکِ تراک از پُرشدن با **رنگ** است (یاسیِ روشن در برابرِ سبز)، که
 * از قبل هم بود و کنتراستِ کافی دارد. */
.clinic-progress,
.clinic-progress-bar {
	box-shadow: none;
}

/* تب‌های داشبورد: نوارِ ناوبریِ برجسته + تبِ فعالِ بالاآمده */
.clinic-tab-nav {
	box-shadow: var(--clinic-elev-flat, var(--clinic-shadow-xs));
}
.clinic-tab-btn.active {
	box-shadow: var(--clinic-elev-rest, var(--clinic-shadow-sm));
	position: relative;
	z-index: var(--clinic-z-raised, 10);
}

/* چیپِ دارو (تیمِ تحلیل) — عمقِ flat + hover */
.team-drug-chip {
	box-shadow: var(--clinic-elev-flat, var(--clinic-shadow-xs));
	transition: var(--clinic-tr-elev);
}
.team-drug-chip:hover {
	box-shadow: var(--clinic-elev-rest, var(--clinic-shadow-md));
	transform: translateY(var(--clinic-lift-sm, -2px));
}

/* آیتم‌های فهرستِ کناری — بازخوردِ hover (سطحِ روشن) */
.clinic-upcoming-item:hover,
.clinic-news-item:hover {
	background: var(--clinic-bg-light, #F3E8FF);
	border-radius: var(--radius-md, 8px);
}

@media (prefers-reduced-motion: reduce) {
	.clinic-kpi-card:hover, .clinic-stat-mini-card:hover, .clinic-chart-card:hover, .clinic-widget:hover,
	.team-kpi-card:hover, .team-info-card:hover, .clinic-card--metric:hover, .team-drug-chip:hover {
		transform: none !important;
	}
}


/* ===================================================================
 * STEP G2 — ادغامِ dashboard-v2.css در همین فایل (لایه‌ی «پالایش»).
 * پیش‌تر dashboard-v2.css جداگانه و **بعد از** این فایل بار می‌شد و قواعدِ زیر
 * را override می‌کرد؛ با افزودن به انتهای dashboard.css همان ترتیبِ آبشاری
 * (v1 سپس v2) حفظ می‌شود ⇒ نتیجه‌ی بصری بیت‌به‌بیت یکسان. — منبعِ واحد.
 * =================================================================== */
/**
 * Design System v2 — Dashboard polish (نسخه 1.3.0)
 *
 * لایه‌ی پالایش روی کلاس‌های موجود داشبورد (dashboard.css دست‌نخورده می‌ماند و
 * چیدمان/رنگ‌بندی کارت‌ها را همان مدیریت می‌کند). اینجا فقط جلوه‌های ظریف و
 * هماهنگ‌سازی با توکن‌های v2 اضافه می‌شود.
 *
 * @package Clinic_Manager
 */

/* نوار بالای کارت‌های metric: خط لهجه‌ی گرادیانی */
.clinic-card--metric {
	position: relative;
	overflow: hidden;
}
.clinic-card--metric::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 3px;
	background: var(--clinic-primary-gradient);
	opacity: 0.9;
}
.clinic-card--success.clinic-card--metric::before {
	background: var(--clinic-success-gradient);
}
.clinic-card--warning.clinic-card--metric::before {
	background: var(--clinic-warning-gradient);
}

/* کارت‌های جانبی */
.clinic-side-card {
	border-radius: var(--radius-lg, 12px);
	box-shadow: var(--clinic-elev-rest, var(--clinic-shadow-sm)); /* STEP 155 — هم‌عمق با clinic-card */
	transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1), transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
.clinic-side-card:hover {
	box-shadow: var(--clinic-elev-hover, var(--clinic-shadow-md));
	transform: translateY(var(--clinic-lift-sm, -2px));
}
@media (prefers-reduced-motion: reduce) {
	.clinic-side-card:hover { transform: none !important; }
}
.clinic-side-card h3 {
	display: flex;
	align-items: center;
	gap: var(--spacing-2, 8px);
	font-size: var(--fs-lg, 18px);
	font-weight: var(--fw-semibold, 600);
}

/* اقدام سریع — دکمه‌های هماهنگ */
.clinic-quick-actions-grid {
	display: grid;
	gap: var(--spacing-2, 8px);
}

/* فهرست فعالیت/ماژول */
.clinic-modules-list .clinic-module-item,
.clinic-activity-list .clinic-activity-item {
	display: flex;
	align-items: center;
	gap: var(--spacing-2, 8px);
	padding: var(--spacing-2, 8px) 0;
	border-bottom: 1px solid var(--clinic-border-light);
	font-size: var(--fs-sm, 14px);
}
.clinic-modules-list .clinic-module-item:last-child,
.clinic-activity-list .clinic-activity-item:last-child {
	border-bottom: none;
}
.clinic-module-name,
.clinic-activity-text {
	flex: 1;
	min-width: 0;
}
.clinic-module-status {
	color: var(--clinic-success);
	font-weight: var(--fw-bold, 700);
}
.clinic-module-item:not(.active) .clinic-module-status {
	color: var(--clinic-text-tertiary);
}
.clinic-activity-time {
	color: var(--clinic-text-tertiary);
	font-size: var(--fs-xs, 12px);
}

/* هدر داشبورد — فاصله و تراز */
.clinic-dashboard-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-4, 16px);
}

/* رِوال هنگام اسکرول برای بخش‌ها */
.clinic-dash-section {
	scroll-margin-top: 80px;
}

@media (max-width: 1024px) {
	.clinic-cards--8 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.clinic-cards--8 { grid-template-columns: 1fr; }
}
