/**
*
*	Name:			IRANYekanX Fonts
*	Version:			2.4
*	Author:			Moslem Ebrahimi (moslemebrahimi.com)
*	Created on:		Aug 02, 2022
*	Updated on:		Aug 02, 2022
*	Website:			http://fontiran.com
*	Copyright:		Commercial/Proprietary Software
--------------------------------------------------------------------------------------
فونت ایران یکان X  یک نرم افزار مالکیتی محسوب می شود. جهت آگاهی از قوانین استفاده از این فونت ها لطفا به وب سایت (فونت ایران دات کام) مراجعه نمایید
--------------------------------------------------------------------------------------
IRANYekanX fonts are considered a proprietary software. To gain information about the laws regarding the use of these fonts, please visit www.fontiran.com 
--------------------------------------------------------------------------------------
This set of fonts are used in this project under the license: (ZX5RZW)
------------------------------------------------------------------------------------- fonts/-
*	
**/


@font-face {
	font-family: "WOFF IRANYekanXFaNum-Thin";
	src: url("../fonts/woff/IRANYekanXFaNum-Thin.woff");
}

@font-face {
	font-family: "WOFF IRANYekanXFaNum-UltraLight";
	src: url("../fonts/woff/IRANYekanXFaNum-UltraLight.woff");
}

@font-face {
	font-family: "WOFF IRANYekanXFaNum-Light";
	src: url("../fonts/woff/IRANYekanXFaNum-Light.woff");
}

@font-face {
	font-family: "WOFF IRANYekanXFaNum-Regular";
	src: url("../fonts/woff/IRANYekanXFaNum-Regular.woff");
}

@font-face {
	font-family: "WOFF IRANYekanXFaNum-Medium";
	src: url("../fonts/woff/IRANYekanXFaNum-Medium.woff");
}

@font-face {
	font-family: "WOFF IRANYekanXFaNum-DemiBold";
	src: url("../fonts/woff/IRANYekanXFaNum-DemiBold.woff");
}

@font-face {
	font-family: "WOFF IRANYekanXFaNum-Bold";
	src: url("../fonts/woff/IRANYekanXFaNum-Bold.woff");
}

@font-face {
	font-family: "WOFF IRANYekanXFaNum-ExtraBold";
	src: url("../fonts/woff/IRANYekanXFaNum-ExtraBold.woff");
}

@font-face {
	font-family: "WOFF IRANYekanXFaNum-Black";
	src: url("../fonts/woff/IRANYekanXFaNum-Black.woff");
}

@font-face {
	font-family: "WOFF IRANYekanXFaNum-ExtraBlack";
	src: url("../fonts/woff/IRANYekanXFaNum-ExtraBlack.woff");
}

@font-face {
	font-family: "WOFF IRANYekanXFaNum-Heavy";
	src: url("../fonts/woff/IRANYekanXFaNum-Heavy.woff");
}

@font-face {
	font-family: "WOFF2 IRANYekanXFaNum-Thin";
	src: url("../fonts/woff2/IRANYekanXFaNum-Thin.woff2");
}

@font-face {
	font-family: "WOFF2 IRANYekanXFaNum-UltraLight";
	src: url("../fonts/woff2/IRANYekanXFaNum-UltraLight.woff2");
}

@font-face {
	font-family: "WOFF2 IRANYekanXFaNum-Light";
	src: url("../fonts/woff2/IRANYekanXFaNum-Light.woff2");
}

@font-face {
	font-family: "WOFF2 IRANYekanXFaNum-Regular";
	src: url("../fonts/woff2/IRANYekanXFaNum-Regular.woff2");
}

@font-face {
	font-family: "WOFF2 IRANYekanXFaNum-Medium";
	src: url("../fonts/woff2/IRANYekanXFaNum-Medium.woff2");
}

@font-face {
	font-family: "WOFF2 IRANYekanXFaNum-DemiBold";
	src: url("../fonts/woff2/IRANYekanXFaNum-DemiBold.woff2");
}

@font-face {
	font-family: "WOFF2 IRANYekanXFaNum-Bold";
	src: url("../fonts/woff2/IRANYekanXFaNum-Bold.woff2");
}

@font-face {
	font-family: "WOFF2 IRANYekanXFaNum-ExtraBold";
	src: url("../fonts/woff2/IRANYekanXFaNum-ExtraBold.woff2");
}

@font-face {
	font-family: "WOFF2 IRANYekanXFaNum-Black";
	src: url("../fonts/woff2/IRANYekanXFaNum-Black.woff2");
}

@font-face {
	font-family: "WOFF2 IRANYekanXFaNum-ExtraBlack";
	src: url("../fonts/woff2/IRANYekanXFaNum-ExtraBlack.woff2");
}

@font-face {
	font-family: "WOFF2 IRANYekanXFaNum-Heavy";
	src: url("../fonts/woff2/IRANYekanXFaNum-Heavy.woff2");
}

@font-face {
	font-family: IRANYekanX;
	font-style: normal;
	font-weight: 100;
	src: url('../fonts/woff/IRANYekanX-Thin.woff') format('woff'),
		url('../fonts/woff2/IRANYekanX-Thin.woff2') format('woff2');
}

@font-face {
	font-family: IRANYekanX;
	font-style: normal;
	font-weight: 200;
	src: url('../fonts/woff/IRANYekanX-UltraLight.woff') format('woff'),
		url('../fonts/woff2/IRANYekanX-UltraLight.woff2') format('woff2');
}

@font-face {
	font-family: IRANYekanX;
	font-style: normal;
	font-weight: 300;
	src: url('../fonts/woff/IRANYekanX-Light.woff') format('woff'),
		url('../fonts/woff2/IRANYekanX-Light.woff2') format('woff2');
}

@font-face {
	font-family: IRANYekanX;
	font-style: normal;
	font-weight: 500;
	src: url('../fonts/woff/IRANYekanX-Medium.woff') format('woff'),
		url('../fonts/woff2/IRANYekanX-Medium.woff2') format('woff2');
}

@font-face {
	font-family: IRANYekanX;
	font-style: normal;
	font-weight: 600;
	src: url('../fonts/woff/IRANYekanX-DemiBold.woff') format('woff'),
		url('../fonts/woff2/IRANYekanX-DemiBold.woff2') format('woff2');
}

@font-face {
	font-family: IRANYekanX;
	font-style: normal;
	font-weight: 800;
	src: url('../fonts/woff/IRANYekanX-ExtraBold.woff') format('woff'),
		url('../fonts/woff2/IRANYekanX-ExtraBold.woff2') format('woff2');
}

@font-face {
	font-family: IRANYekanX;
	font-style: normal;
	font-weight: 900;
	src: url('../fonts/woff/IRANYekanX-Black.woff') format('woff'),
		url('../fonts/woff2/IRANYekanX-Black.woff2') format('woff2');
}

@font-face {
	font-family: IRANYekanX;
	font-style: normal;
	font-weight: 950;
	src: url('../fonts/woff/IRANYekanX-ExtraBlack.woff') format('woff'),
		url('../fonts/woff2/IRANYekanX-ExtraBlack.woff2') format('woff2');
}

@font-face {
	font-family: IRANYekanX;
	font-style: normal;
	font-weight: 1000;
	src: url('../fonts/woff/IRANYekanX-Heavy.woff') format('woff'),
		url('../fonts/woff2/IRANYekanX-Heavy.woff2') format('woff2');
}

@font-face {
	font-family: IRANYekanX;
	font-style: normal;
	font-weight: bold;
	src: url('../fonts/woff/IRANYekanX-Bold.woff') format('woff'),
		url('../fonts/woff2/IRANYekanX-Bold.woff2') format('woff2');
}

@font-face {
	font-family: IRANYekanX;
	font-style: normal;
	font-weight: normal;
	src: url('../fonts/woff/IRANYekanX-Regular.woff') format('woff'),
		url('../fonts/woff2/IRANYekanX-Regular.woff2') format('woff2');
}

@font-face {
	font-family: IRANYekanXNum;
	font-style: normal;
	font-weight: normal;
	src: url('../fonts/woff/IRANYekanXFaNum-Regular.woff') format('woff'),
		url('../fonts/woff2/IRANYekanXFaNum-Regular.woff2') format('woff2');
}

html,
body {
	margin: 0;
	padding: 0;
	height: 100%;
	font-family: IRANYekanXNum !important;
	color: #4d4d4d !important;
	font-size: 13px !important;
	background-color: #fff !important;
	direction: rtl !important;
}

.rs-text {
	font-family: IRANYekanXNum !important;
}

.rs-tree-node-label {
	font-size: 12px !important;
}

.text-right {
	text-align: right !important;
	direction: rtl !important;
}


/* #region Table  */

.rs-table-header-row-wrapper {
	font-size: 13px !important;
}

.Popup {
	overflow: unset !important;
}

/* #endregion */

/* #region Size */

.h100vh {
	height: 100vh !important;
}

.w-80 {
	width: 80% !important;
}

.text-left {
	text-align: left !important;
}

.Hand {
	cursor: pointer !important;
}

/* #endregion */

/* #region Controls */
.font-weight-bold {
	font-weight: bold;
}

.HandCursor {
	cursor: pointer;
}

.ContentDiv {
	line-height: 30px !important;
}

.FullScreen {
	height: 100vh;
}

/* #endregion */

/* #region App frame
   ---------------------------------------------------------------------------
   ستون راست دو بخش دارد: نوار عنوان که ثابت می ماند و محتوا که اسکرول
   می خورد. min-height: 0 روی هر دو لازم است، چون یک فرزند flex به صورت
   پیش فرض کوچکتر از محتوایش نمی شود و بدون آن اسکرول اصلا اتفاق نمی افتد.
   --------------------------------------------------------------------------- */
.AppMain {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
}

/* rs-container خودش flex: 1 1 auto دارد؛ اگر فقط flex-shrink را صفر کنیم
   flex-grow سر جایش می ماند و نوار عنوان تا نصف صفحه کش می آید. */
.AppTitleBar {
	flex: 0 0 auto;
}

.AppScroll {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
}

/* rs-row حاشیه منفی پنج پیکسل دارد و rs-col با padding جبرانش می کند؛
   نتیجه این است که خود ردیف پنج پیکسل از عرض والدش بیرون می زند و روی
   صفحه باریک اسکرول افقی می سازد. داخل قاب برنامه خنثی می شود. */
.AppContent .rs-row {
	margin-left: 0;
	margin-right: 0;
}

.AppContent .rs-col {
	padding-left: 4px;
	padding-right: 4px;
}

/* حاشیه داخلی پنل های rsuite بیست پیکسل است. فقط داخل قاب برنامه کم
   می شود تا جای دیگری خراب نشود - روی موبایل بیشتر، روی وب کمتر. */
.AppContent .rs-panel-body {
	padding: 12px;
}

.AppContent.is-mobile .rs-panel-body {
	padding: 8px;
}

.AppContent.is-mobile .rs-container {
	padding: 0;
}

/* #endregion */

/* #region Persian date picker popup
   ---------------------------------------------------------------------------
   تقویم react-datepicker2 با react-tether در انتهای body رندر می شود، ولی
   استایل خود tether همراه پکیج نمی آید. تنها قاعده ای که پکیج تزریق می کند
   z-index است، آن هم فقط برای یک ترکیب خاص از کلاس ها - و هیچ position ای
   برای .tether-element تعریف نشده.

   نتیجه: تقویم واقعا رندر می شود (به همین دلیل هیچ خطایی هم در کنسول نیست)
   ولی چون position ندارد، به جای نشستن زیر فیلد، می افتد ته صفحه و عملا
   دیده نمی شود. این دو خط همان چیزی است که tether.css خودش می دهد.
   --------------------------------------------------------------------------- */
.tether-element {
	position: absolute;
	z-index: 2000;
}

.tether-element.tether-enabled {
	display: block;
}

/* #endregion */

/* #region Dashboard
   ---------------------------------------------------------------------------
   فونت ایران‌یکان از قبل در همین پروژه لایسنس و بارگذاری شده بود ولی هیچ جا
   به کار نمی رفت؛ اینجا به صورت یک خانواده با وزن های واقعی تعریف می شود تا
   سلسله مراتب از وزن حروف بیاید نه از کادر و رنگ.

   دامنه این استایل ها عمدا فقط داشبورد است (.Dsh)، چون تغییر فونت سراسری
   روی همه صفحه ها اثر می گذارد و درخواست فقط درباره داشبورد بود.
   --------------------------------------------------------------------------- */
@font-face {
	font-family: "IRANYekanX";
	src: url("../fonts/woff2/IRANYekanXFaNum-Light.woff2") format("woff2"),
	     url("../fonts/woff/IRANYekanXFaNum-Light.woff") format("woff");
	font-weight: 300;
	font-display: swap;
}

@font-face {
	font-family: "IRANYekanX";
	src: url("../fonts/woff2/IRANYekanXFaNum-Regular.woff2") format("woff2"),
	     url("../fonts/woff/IRANYekanXFaNum-Regular.woff") format("woff");
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "IRANYekanX";
	src: url("../fonts/woff2/IRANYekanXFaNum-Medium.woff2") format("woff2"),
	     url("../fonts/woff/IRANYekanXFaNum-Medium.woff") format("woff");
	font-weight: 500;
	font-display: swap;
}

@font-face {
	font-family: "IRANYekanX";
	src: url("../fonts/woff2/IRANYekanXFaNum-DemiBold.woff2") format("woff2"),
	     url("../fonts/woff/IRANYekanXFaNum-DemiBold.woff") format("woff");
	font-weight: 600;
	font-display: swap;
}

@font-face {
	font-family: "IRANYekanX";
	src: url("../fonts/woff2/IRANYekanXFaNum-Bold.woff2") format("woff2"),
	     url("../fonts/woff/IRANYekanXFaNum-Bold.woff") format("woff");
	font-weight: 700;
	font-display: swap;
}

.Dsh {
	--ink: #0f1419;
	--ink-2: #5b6672;
	--ink-3: #8c97a3;
	--line: #e6e9ed;
	--surface: #ffffff;
	--canvas: #f4f6f8;
	--accent: #2a78d6;
	--accent-2: #eb6834;
	--alert: #d03b3b;

	font-family: "IRANYekanX", system-ui, sans-serif;
	background: var(--canvas);
	color: var(--ink);
	margin: -1rem;
	padding: 1.25rem;
	min-height: 100%;
}

/* بند - هر بخش داشبورد یک بند است و فاصله بین بندها از خود بند می آید */
.Dsh-band {
	margin-bottom: 28px;
}

/* عنوان بند: یک برچسب ریز و کم رنگ، و زیرش خط مو */
.Dsh-eyebrow {
	display: flex;
	align-items: baseline;
	gap: 10px;
	border-bottom: 1px solid var(--line);
	padding-bottom: 8px;
	margin-bottom: 14px;
}

.Dsh-eyebrow h4 {
	font-size: 15px;
	font-weight: 600;
	margin: 0;
	color: var(--ink);
}

.Dsh-eyebrow span {
	font-size: 12px;
	font-weight: 300;
	color: var(--ink-3);
}

.Dsh-card {
	background: var(--surface);
	box-shadow: 0 1px 2px rgba(15, 20, 25, 0.04), 0 2px 10px rgba(15, 20, 25, 0.05);
	border-radius: 10px;
	padding: 16px;
	height: 100%;
}

/* صف های روی میز مدیر - همان دو چیزی که فقط او می تواند بازشان کند */
.Dsh-queue {
	background: var(--surface);
	box-shadow: 0 1px 2px rgba(15, 20, 25, 0.04), 0 2px 10px rgba(15, 20, 25, 0.05);
	border-radius: 10px;
	padding: 16px;
	height: 100%;
}

.Dsh-queue-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 12px;
}

.Dsh-queue-title {
	font-size: 13px;
	font-weight: 500;
	color: var(--ink-2);
}

.Dsh-queue-count {
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	color: var(--ink);
}

.Dsh-queue-count.is-alert {
	color: var(--alert);
}

/* یک سطر از صف */
.Dsh-item {
	border-top: 1px solid var(--line);
	padding: 9px 0;
}

.Dsh-item:first-child {
	border-top: 0;
}

.Dsh-item-title {
	font-size: 13px;
	font-weight: 500;
	color: var(--ink);
}

.Dsh-item-meta {
	font-size: 11px;
	font-weight: 300;
	color: var(--ink-3);
	margin-top: 2px;
}

/* امضای این صفحه: نوار رکود.
   طولش یعنی چند روز است که هیچ اتفاقی برای این کار نیفتاده، و بعد از یک
   هفته قرمز می شود. داشبورد را درباره «کجا گیر کرده» می کند نه «چندتاست». */
.Dsh-stall {
	height: 3px;
	border-radius: 2px;
	background: var(--line);
	margin-top: 6px;
	overflow: hidden;
}

.Dsh-stall > i {
	display: block;
	height: 100%;
	background: var(--accent);
	border-radius: 2px;
}

.Dsh-stall.is-alert > i {
	background: var(--alert);
}

/* ردیف کارشناس */
.Dsh-agent {
	background: var(--surface);
	box-shadow: 0 1px 2px rgba(15, 20, 25, 0.04), 0 2px 10px rgba(15, 20, 25, 0.05);
	border-radius: 10px;
	padding: 14px 16px;
	margin-bottom: 10px;
}

.Dsh-agent-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
}

.Dsh-agent-name {
	font-size: 14px;
	font-weight: 600;
}

.Dsh-agent-stats {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	font-size: 12px;
	font-weight: 300;
	color: var(--ink-3);
}

.Dsh-agent-stats b {
	font-weight: 600;
	color: var(--ink-2);
}

.Dsh-empty {
	padding: 18px 0;
	font-size: 12px;
	font-weight: 300;
	color: var(--ink-3);
}

/* #endregion */

/* #region Card list (mobile) */
/* دکمه های عملیات کارت: در یک ردیف می نشینند، هنگام کم آمدن جا
   می شکنند، و فاصله شان از gap می آید نه از حاشیه دستی هر دکمه.
   حاشیه های ms-2 داخل کارت عمدا خنثی می شوند تا فاصله ها یکسان بماند. */
.CardActions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.CardActions > .rs-btn {
	margin: 0 !important;
	flex: 1 1 auto;
	min-width: 92px;
}

/* #endregion */

/* #region Ticket message body */
/* متن پیام تیکت به صورت HTML رندر می شود، پس محتوای پهن باید مهار شود
   وگرنه یک عکس یا جدول بزرگ، مخصوصا روی موبایل، کل صفحه را کج می کند */
.TicketMsgBody {
	line-height: 30px;
	overflow-wrap: break-word;
	word-break: break-word;
}

.TicketMsgBody img,
.TicketMsgBody video,
.TicketMsgBody iframe {
	max-width: 100%;
	height: auto;
}

.TicketMsgBody table {
	max-width: 100%;
	display: block;
	overflow-x: auto;
}

.TicketMsgBody pre {
	white-space: pre-wrap;
	word-break: break-word;
}

/* #endregion */