
/**
Subject: Create Dynamic Styles
#029b9b;     Firouzeh

**/

:root {
    --GridHeaderBackColor: #029b9b4d;
    --GridHeaderColor: #ffffff;
    --GridHeaderFontSize: small;
    --GridBodyFontSize: small;
    --FilterIconColor: #15ffa8;
    
    --DetailTabColor: #ffffff;
    --DetailTabBackColor: #029b9b;
    --ProcessLinkColor: #ffffff;
    
    --FormsControlFontSize: 14px;
    
    --ActiveMenuColor: #ffffff;
    --ActiveMenuBackColor: #029b9b;
    
    --TooltipColor: #0ea3b9;
    
    --SwalTitleFontSize: 16px;
    --SwalTextFontSize: 12px;
    
    --GridRowOddColor: #ffffff;
    
    --GridRowEvenBackColor: #68878b00;
    --GridRowEvenColor: #ffffff;
    
    --DetailLinkColor: #ffffff;
    --DetailLinkBackColor: #029b9b4d;
    --DetailLinkHoverColor: #ffffff;
    --DetailLinkHoverBackColor: #df691ad4;
    
    --GridStandardIconColor: #ffffff; 
    
    --BadgeColor: #029b9b;
    
    --GridDetailInscriptionColor: #ffffff; 
    --GridDetailInscriptionBackColor: #029b9b; 
    }
    

/**
START +++++++++++++++++++++++++++++++++++
Code: 01
Date: 1400/06/07
Subject: IranSansX CSS
**/
@font-face {
	font-family: IRANSansX;
	font-style: normal;
	font-weight: 700;
	src: url('/styles/webfonts/fonts/woff/IRANSansX-Bold.woff') format('woff'),   
	url('/styles/webfonts/fonts/woff2/IRANSansX-Bold.woff2') format('woff2');	 
}

@font-face {
	font-family: IRANSansX;
	font-style: normal;
	font-weight: 400;
	src: url('/styles/webfonts/fonts/woff/IRANSansX-Regular.woff') format('woff'),   
	url('/styles/webfonts/fonts/woff2/IRANSansX-Regular.woff2') format('woff2');	
}

@font-face {
	font-family: IRANYekan;
	font-style: normal;
	font-weight: 700;
	src: url('/styles/webfonts/fonts/woff/IRANYekanWeb-Bold.woff') format('woff'),   
	url('/styles/webfonts/fonts/woff2/IRANYekanWeb-Bold.woff2') format('woff2');	 
}

@font-face {
	font-family: IRANYekan;
	font-style: normal;
	font-weight: 400;
	src: url('/styles/webfonts/fonts/woff/IRANYekanWeb.woff') format('woff'),   
	url('/styles/webfonts/fonts/woff2/IRANYekanWeb.woff2') format('woff2');	
}

@font-face {
	font-family: IRANYekan;
	font-style: normal;
	font-weight: 200;
	src: url('/styles/webfonts/fonts/woff/IRANYekanWeb-Light.woff') format('woff'),   
	url('/styles/webfonts/fonts/woff2/IRANYekanWeb-Light.woff2') format('woff2');	
}

@font-face {
	font-family: Peyda;
	font-style: normal;
	font-weight: 400;
	src: url('/styles/webfonts/fonts/woff/PeydaWeb-Bold.woff') format('woff'),   
	url('/styles/webfonts/fonts/woff2/PeydaWeb-Bold.woff2') format('woff2');	
}

@font-face {
	font-family: Peyda;
	font-style: normal;
	font-weight: 200;
	src: url('/styles/webfonts/fonts/woff/peydaWeb-light.woff') format('woff'),   
	url('/styles/webfonts/fonts/woff2/peydaWeb-light.woff2') format('woff2');	
}

@font-face {
	font-family: Peyda;
	font-style: normal;
	font-weight: 900;
	src: url('/styles/webfonts/fonts/woff/PeydaWeb-Black.woff') format('woff'),   
	url('/styles/webfonts/fonts/woff2/PeydaWeb-Black.woff2') format('woff2');	
}



body {
	font-family: IRANSansX  !important;
	margin: 0;
	/* background: url('/images/BG.png') no-repeat center center fixed; */
    /* background-size: cover; */

}
h1, h2, h3, h4, h5, h6, input, div, textarea, .btn, #highcharts-root , #highcharts-strong {
	font-family: IRANSansX !important;
    font-feature-settings: "ss02";
}

h2 {
    font-family: 'Peyda' !important;
    text-shadow: #000000 0px 0 11px;
    font-size: 20px !important;
    color: #fff9f9 !important;
}

/**
Code: 01
END -------------------------------------
**/

/**
START +++++++++++++++++++++++++++++++++++
Code: 02
Date: 1400/06/07
Subject: Picture In Menu and Opacity in Logo
**/
.r-vbar-page .r-left {
    background-image: url('/images/menu.jpg');
	  background-size: cover;
}

.r-vbar-page .r-left [data-logo-cell][data-logo-cell] {
    opacity: 0.65;
}
/**
Code: 02
END -------------------------------------
**/
/**
Subject: Grid header Style
**/
[data-location] .r-ori-vert > [data-itemid]:not([data-hidden]):not([data-media-hidden])[data-itemtype="grid_field_label"] > .text-label {
    white-space: nowrap;
    text-decoration: none;
    flex: 1 1 auto;
    color: var(--GridHeaderColor);
    padding: 4px 4px 4px 4px;
    background-color: var(--GridHeaderBackColor);
    border-radius: 4px;
    font-size: var(--GridHeaderFontSize);
    text-align: center;
}
/* Delete Underline below Text */
[data-location] .r-ori-vert > [data-itemid]:not([data-hidden]):not([data-media-hidden])[data-itemtype="grid_field_label"]
{
    text-decoration: none;
}
/**
Subject: Grid Body Style
**/
[data-itemtype="grid_field"] {
    text-align: center;
    font-size: var(--GridBodyFontSize);
}

/* Grid Body Item in Table will be middle Vertically  */
.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td
{
    vertical-align: middle    
}

/**
Subject: Grid header Filter Icon
**/

[data-itemtype="grid_field_label"] > .dropdown > button {
    margin-right: 0px;
    background-color: #7fffd400;
    color: var(--FilterIconColor);
    position: relative;
    left: 4px;
}
/**
Subject: User profile Picture
**/
.r-user-image > img {
    height: 35px;
    margin: -10px 4px;
    border-radius: 50%;
}
.function-userinfo [data-itemtype="user_picture"] img {
    max-width: 400px;
    width: 200px;
    border-radius: 50%;
}

/**
Subject: Tabs In Details
**/
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
    color: var(--DetailTabColor);
    background-color: var(--DetailTabBackColor);
    border: 1px solid var(--DetailTabBackColor);
    /*border-bottom: 0px;
    border-bottom-color: #f39c12; */
    cursor: pointer;
    font-weight: 600;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}
table a:not(.btn), .table a:not(.btn) {
    text-decoration: none;
}
/* Color of Icon Detail Link Process (Icon Direct Link Page to another Page) */
.bs-proceed-icon.bs-proceed-icon {
    color: var(--ProcessLinkColor);
}
/* Detail Link */
.nav-tabs li.active a[data-toggle="tab"].bs-proceed-link {
    text-decoration: none;
}

/**
Subject: Detail Link
**/
[data-cellid="grid_cell_details"]
{
    text-align: left;
    background-color: var(--DetailLinkBackColor);
    color: var(--DetailLinkColor);
    /*border-radius: 4px; */
    transition: background-color 1s cubic-bezier(1, -0.25, 0.2, 1), color 1s cubic-bezier(0.18, 0.89, 0.32, 1.28);
    height: 45px;
}
[data-cellid="grid_cell_details"]:hover {
    background-color: var(--DetailLinkHoverBackColor); 
    color: var(--DetailLinkHoverColor); 

}
/**
Subject: Controls On Forms
**/
.form-control {
    font-size: var(--FormsControlFontSize);
	border-radius: 4px;
}
/* LOVs */
.chosen-container-multi .chosen-choices.chosen-choices {
    border-radius: 4px;
    font-size: var(--FormsControlFontSize);
}
.btn {
    font-size: var(--FormsControlFontSize);
    border-radius: 4px;
}

/**
Subject: Menu Bar Active Menu Background Color
**/
.r-left .r-menu li.active.active.active > [data-menu-link] {
    background: var(--ActiveMenuBackColor);
    color: var(--ActiveMenuColor);
}
.r-vbar-page .r-left [data-itemtype="filter_panel"] .panel .panel-heading {
    background-color: var(--ActiveMenuBackColor);
    color: var(--ActiveMenuColor);
    font-size: 14px;
}

/**
Subject: Tooltips
**/
table .text-muted, .table .text-muted {
    color: var(--TooltipColor);
}

/**
Subject: SweetAlart
**/

.swal-title {
    font-size: var(--SwalTitleFontSize);
    text-align: center;
}
.swal-text {
    font-size: var(--SwalTextFontSize);
    text-align: center;
}


/**
Subject: Grid Background and Fore Color Rows -- Odd and even Rows
**/

table[data-location="grid"].table-striped[data-body-height="2"] > tbody > tr:nth-child( 4n + 2)
{
    color: var(--GridRowOddColor);
}
table[data-location="grid"].table-striped[data-body-height="1"] > tbody > tr:nth-child( 2n + 1)
{
    background: var(--GridRowEvenBackColor);
    color: var(--GridRowEvenColor);
}

/**
Subject: Welcome items in Menu Page
**/
.bs-welcome-item.bs-welcome-item {
    border-radius: 12px;
}

.bs-welcome-item .bs-welcome-header {
    border: solid #d8d8d8 0px;
}

/**
Subject: Badge (Number Of records show in Detail Links)
**/
.badge {

    font-family: "Orbitron";
    font-size: 10px;
    text-align: center;
    border-radius: 4px;
    background-color: var(--BadgeColor) !important;
    height: 16px;
    width: 33px;
    padding-top: 3px;
    padding-left: 5px;
    vertical-align: top;
}

/**
Subject: Standard Icons for Edit, View, Copy, Detail Link , ... in Grid First Coloumn
**/
table a:not(.btn), .table a:not(.btn) {
    color: var(--GridStandardIconColor);
    text-decoration: none !important;
}

/**
Subject: Inscription above detail forms
**/
.panel-primary > .panel-heading
{
    color: var(--GridDetailInscriptionColor);
    background-color: var(--GridDetailInscriptionBackColor);
}


/**
Subject: General Items
**/

/* That the filters do not move to the next line in the list and are on a line next to the checkboxes */
.filterPanelContainer .filter-values > *:first-child, .filterPanelContainer .filter-show-more > *:first-child, .filterPanelContainer .filter-multiselect > *:first-child, .filterPanelContainer .filter-btn-apply > *:first-child {
    padding: 5px 5px;
    display: unset;
    flex: 1 1 auto;
}

/* In the grid header titles, a line is placed below the titles, which has been removed. */
.table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td
{
    border: 0px solid #4f5966;
}

/* Admin Area Copy permission */
.groupCopyLink {
    font-size: 15px;
    line-height: 20px;
    text-decoration: none;
    display: block;
    color: #cfccc9;
}

/* Go To Master Table Link that Create box For better visibility  */
[data-itemtype="master_info"] > .panel > .panel-heading .btn-link {
    color: inherit;
    background-color: #029b9b;
    font-size: smaller;
}

/* Scm Logo Place in Pages  */
.r-vbar-page .r-left [data-logo-cell][data-logo-cell]
{
    background-color: #3d587100;
}



/**
START +++++++++++++++++++++++++++++++++++
Code: 06
Date: 1400/06/18
Subject: Login Page
**/
.r-pretty-login-page > .r-controls {
    /** background: #4accca !important; **/
        background: #939395 !important; 

}
/**
Code: 06
END -------------------------------------
**/

/*  ّفلش در منوی سمت راست */

.fa-angle-left:before {
    content: "\f0aa";
}
/*  جهت فلش‌ها در زمان فعال بودن منوی سمت راست */

.r-vbar-page [data-menu-top][data-menu-v][data-menu-inline].r-menu-opened .r-menu-expand-icon, .r-vbar-page [data-menu-v][data-menu-inline][data-menu-inline].r-menu-opened .r-menu-expand-icon {
    transform: rotate( 
		0.5turn
		);
    color: #999ca6;
}
.r-vbar-page [data-menu-top][data-menu-v][data-menu-inline] .r-menu-expand-icon, .r-vbar-page [data-menu-v][data-menu-inline][data-menu-inline] .r-menu-expand-icon {
    font-size: 18px;
    /* font-weight: bold; */
}

/* Tooltips */
table .text-muted, .table .text-muted {
    color: #0ea3b9;
}
/* LOVs */
.chosen-container-multi .chosen-choices.chosen-choices {
    border-radius: 4px;
    font-size: 13px;
}
/* SweetAlart */
.swal-title {
    font-size: 24px;
    text-align: center;
}
.swal-text {
    font-size: 12px;
    text-align: center;
}

/* فونت پیدا برای منوها فقط */
.r-vbar-page [data-menu-top][data-menu-v] > :not( .r-menu-collapsed ) > .r-menu-title, .r-vbar-page [data-menu-v][data-menu-inline] > :not( .r-menu-collapsed ) > .r-menu-title {
    flex: 1 1 auto;
    font-family: 'Peyda';
}

/**
START +++++++++++++++++++++++++++++++++++
Code: 08
Date: 1400/06/18
Subject: ScrollBar in Browser
**/
/* width */
::-webkit-scrollbar {
  width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
  background: #2b3e50; 
}
 
/* Handle */
::-webkit-scrollbar-thumb {
  background: #029b9b; 
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #f0ad4e; 
}
/**
Code: 08
END -------------------------------------
**/




/**
START +++++++++++++++++++++++++++++++++++
Code: 16
Date: 1401/10/08
Subject: علامت ضربدر در کمبو باکس برای حذف محتویات کمبو باکس انتخاب شده
**/
.bs-list-lookup:hover > input:not([data-required]) {
    background-position: left 10px center !important;
}
/**
Code: 16
END -------------------------------------
**/


/**
START +++++++++++++++++++++++++++++++++++
Code: 19
Date: 1401/10/19
Subject: Filter Bar Font
**/
.r-vbar-page .r-left [data-itemtype="filter_panel"] .panel ul > li a {
    color: inherit;
    font-size: 9pt;
}
/**
Code: 18
END -------------------------------------
**/

/**
START +++++++++++++++++++++++++++++++++++
Code: 19
Date: 1401/10/19
Subject: Search Saving Dialoge Box (TextBox)
**/
input[name="searchName"] {
    padding: 8px 16px;
    font-size: 14px;
    border-radius: 4px;
    width: 70%;
}

.rnr-saved-searches a {
    color: #d9534f !important;
    padding-right: 3px;
    font-size: 11px;
    text-decoration: unset;
}
/**
Code: 19
END -------------------------------------
**/

/**
START +++++++++++++++++++++++++++++++++++
Code: 20
Date: 1401/12/03
Subject: Notification Badge
**/
[data-itemtype="notifications"] > .btn .badge {
    font-size: 12px;
    font-weight: 300;
    padding: 6px 4px;
    position: relative;
    top: -5px;
    width: 24px;
    height: 24px;
    text-align: center;
    background-color: #d9534f;
    color: white;
    border-radius: 17px;
    left: 10px;

}
/**
Code: 20
END -------------------------------------
**/

/**
START +++++++++++++++++++++++++++++++++++
Code: 21
Date: 1401/12/03
Subject: Body pannel Color in Card Base View in List 
**/
.panel-body {
    padding: 15px;
}
/**
Code: 20
END -------------------------------------
**/

/**
START +++++++++++++++++++++++++++++++++++
Code: 21
Date: 1402/01/08
Subject: New Feature Without Paging for Next Page Link
**/
[data-itemtype="next_page"] {
    background-color: #029b9b;
    border-color: transparent;
    padding: 8px 16px;
}

[data-function="nextpage"]{
    text-decoration: none !important;
    color: #EBEBEB;
}
/**
Code: 21
END -------------------------------------
**/

/**
START +++++++++++++++++++++++++++++++++++
Code: 22
Date: 1402/01/08
Subject: Notifiy Window Header
**/
[data-itemtype="notifications"] .r-noti-header {
    background-color: #2b3e50;
}
/**
Code: 22
END -------------------------------------
**/

/**
START +++++++++++++++++++++++++++++++++++
Subject: Space First Detail Panel From Main Table
**/
.panel.with-tabs > .panel-heading {
    padding: 5px 0px 0 5px;
    border-bottom: none;
}


/**
START +++++++++++++++++++++++++++++++++++
Subject: برای چت و گفتگوهای کاربر
**/

.ch-container {
    max-width: 1000px;
    min-width: 500px;
    margin: 0px auto;
    padding: 20px;
    background-color: white;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    border-radius: 10px;
}

.ch-message-wrapper {
    display: flex;
    align-items: flex-start;
    margin: 15px 0;
    width: 100%;
}

.ch-message-wrapper + .ch-message-wrapper:not([class$="same-user"]) {
    margin-top: 30px;
}

.ch-avatar {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background-color: #ddd;
    margin: 0 10px;
    overflow: hidden;
    flex-shrink: 0;
}

.ch-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ch-message-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.ch-right .ch-message-content {
    align-items: flex-end;
}

.ch-left .ch-message-content {
    align-items: flex-start;
}

.ch-message {
    position: relative;
    padding: 12px 15px;
    border-radius: 15px;
    max-width: 70%;
    line-height: 1.4;
    font-size: 14px;
}

.ch-message-info {
    font-size: 12px;
    margin-bottom: 5px;
    color: #666;
    width: 100%;
}

.ch-right .ch-message-info {
    text-align: left;
    left: 30px;
    position: relative;
}

.ch-left .ch-message-info {
    text-align: right;
    right: 30px;
    position: relative;
}

.ch-sender {
    background-color: #7878d3;
    margin-left: 20px;
}

.ch-sender.has-new-badge {
    position: relative;
}

.ch-sender.has-new-badge::before {
    content: 'جدید';
    position: absolute;
    top: -8px;
    left: -8px;
    background-color: #ef4444;
    color: white;
    font-size: 10px;
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 12px;
    z-index: 1;
    animation: badge-pulse 2s infinite;
}

.ch-sender:after {
    content: '';
    position: absolute;
    left: -9px;
    top: 15px;
    border: 5px solid transparent;
    border-right-color: #7878d3;
}

.ch-receiver {
    background-color: #029b9b;
    color: white;
    margin-right: 20px;
    position: relative; /* برای استفاده از ::after */

}

.ch-receiver.has-new-badge {
    position: relative;
}

.ch-receiver.has-new-badge::before {
    content: 'جدید';
    position: absolute;
    top: -8px;
    left: -8px;
    background-color: #ef4444;
    color: white;
    font-size: 10px;
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 12px;
    z-index: 1;
    animation: badge-pulse 2s infinite;
}

.ch-receiver:after {
    content: '';
    position: absolute;
    right: -9px;
    top: 15px;
    border: 5px solid transparent;
    border-left-color: #029b9b;
}


.ch-right {
    flex-direction: row-reverse;
}

.ch-left {
    flex-direction: row;
}

.ch-username {
    font-weight: bold;
    color: #333;
}

.ch-time {
    color: #999;
    margin-right: 5px;
}

.ch-attachment {
    margin-top: 8px;
    background: rgb(221 221 221 / 90%);
    border-radius: 8px;
    padding: 8px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    transition: all 0.3s cubic-bezier(0.18, 0.89, 0.32, 1.28);
    width: 210px;
    max-width: 300px;
}

.ch-attachment:hover {
    background: rgba(255, 255, 255, 1);
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.ch-file-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.ch-file-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ch-file-icon {
    font-size: 24px;
    color: #e74c3c;
}

.ch-file-details {
    display: flex;
    flex-direction: column;
}

.ch-file-name {
    font-size: 14px;
    color: #2c3e50;
    margin-bottom: 2px;
}

.ch-file-size {
    font-size: 12px;
    color: #7f8c8d;
}

.ch-receiver.has-Withdrawal::before {
    content: 'انصراف از شکایت';
    position: absolute;
    top: -9px;
    left: 36px;
    background-color: #dfd91a;
    color: #4c4823;
    font-size: 10px;
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 12px;
    z-index: 1;
}

.ch-receiver.has-Appeal::before {
    content: 'درخواست تجدید نظر';
    position: absolute;
    top: -9px;
    left: 36px;
    background-color: #000000;
    color: #fff;
    font-size: 10px;
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 12px;
    z-index: 1;
}
/**
START +++++++++++++++++++++++++++++++++++
Subject: گرافیک شهر و نام فرستنده و گیرنده.
**/
.route-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    direction: rtl;
    padding: 20px;
    gap: 20px;
    color: #080808;
}

.location-box {
    flex: 1;
}

.sender-info, .receiver-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.city-tag {
    display: flex;
    align-items: center;
    background-color: #f0f0f0;
    padding: 2px 7px;
    border-radius: 8px;
    gap: 8px;
}

.person-info {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #ffffff;
}

.route-path {
    flex: 2;
    display: flex;
    justify-content: center;
}

.curved-arrow {
    width: 100%;
    height: 60px;
}

.curved-arrow svg {
    width: 100%;
    height: 100%;
}

.tag-icon i, .person-info i {
    font-size: 1.2rem;
    color: #029b9b;
}


/**
START +++++++++++++++++++++++++++++++++++
Subject: Custom Buutons In List Page (Circle Buttons)
**/

/* ===== لایه‌بندی و کانتینر ===== */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
}

.button-section {
    background: white;
    padding: 2rem;
    border-radius: 8px;
    margin-bottom: 2rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.button-row {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

/* ===== استایل‌های اصلی دکمه ===== */
.custom-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    height: var(--button-height, 40px);
    padding: 0 20px;
    background-color: var(--button-bg, #029b9b);
    color: var(--button-color, #ffffff);
    border: none;
    border-radius: var(--button-radius, 6px);
    font-family: inherit;
    font-size: var(--button-font-size, 14px);
    font-weight: 500;
    transition: all 0.3s ease;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* ===== آیکون دکمه ===== */
.custom-button .button-icon {
    display: inline-flex;
    align-items: center;
    margin-left: var(--icon-margin, 8px);
    margin-right: 0;
    transition: transform 0.3s ease;
    font-size: var(--icon-size, 20px);
    transform-origin: center;
}

/* ===== هاور دکمه ===== */
.custom-button:hover {
    background-color: var(--button-hover-bg, #018181);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.custom-button:hover .button-icon {
    transform: scale(1.2);
}

/* ===== دکمه‌های دایره‌ای ===== */

.custom-button.circle {
    min-width: unset;
    width: var(--button-size, 32px);
    height: var(--button-size, 32px);
    padding: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}


.custom-button.circle .button-icon {
    margin: 0;
}

/* ===== اندازه‌های مختلف دکمه ===== */
.custom-button.small {
    --button-height: 32px;
    --button-font-size: 12px;
    --icon-size: 16px;
    min-width: 90px;
}

.custom-button.large {
    --button-height: 48px;
    --button-font-size: 16px;
    --icon-size: 24px;
    min-width: 150px;
}

/* ===== رنگ‌های مختلف دکمه ===== */
.custom-button.success-button {
    --button-bg: #10b981;
    --button-hover-bg: #059669;
}

.custom-button.danger-button {
    --button-bg: #ef4444;
    --button-hover-bg: #dc2626;
}

.custom-button.warning-button {
    --button-bg: #f59e0b;
    --button-hover-bg: #d97706;
}

.custom-button.purple-button {
    --button-bg: #8b5cf6;
    --button-hover-bg: #7c3aed;
}

/* ===== دکمه‌های گرد شده ===== */
.custom-button.rounded-button {
    --button-radius: 50px;
}

/* ===== تولتیپ ===== */
.button-tooltip {
    position: absolute;
    top: -40px;
    right: 50%;
    transform: translateX(50%);
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 1000;
    pointer-events: none;
}

.button-tooltip::after {
    content: '';
    position: absolute;
    bottom: -5px;
    right: 50%;
    transform: translateX(50%);
    border-width: 5px;
    border-style: solid;
    border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent;
}

.custom-button:hover .button-tooltip {
    opacity: 1;
    visibility: visible;
    top: -45px;
}

/* ===== دکمه غیرفعال ===== */
.custom-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

/* ===== دکمه‌های کناری ===== */
.button-group {
    display: inline-flex;
}

.button-group .custom-button:not(:last-child) {
    border-top-right-radius: var(--button-radius, 6px);
    border-bottom-right-radius: var(--button-radius, 6px);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.button-group .custom-button:not(:first-child) {
    border-top-left-radius: var(--button-radius, 6px);
    border-bottom-left-radius: var(--button-radius, 6px);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    margin-right: 1px;
}

/* ===== انیمیشن لودینگ ===== */
.custom-button.loading {
    position: relative;
    pointer-events: none;
}

.custom-button.loading::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    border-top-color: transparent;
    animation: button-loading-spinner 1s linear infinite;
}

@keyframes button-loading-spinner {
    from {
        transform: rotate(0turn);
    }
    to {
        transform: rotate(1turn);
    }
}

/* ===== استایل لیبل جدید ===== */
.custom-button.has-new-badge {
    position: relative;
}

.custom-button.has-new-badge::before {
    content: 'جدید';
    position: absolute;
    top: -8px;
    left: -8px;
    background-color: #ef4444;
    color: white;
    font-size: 10px;
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 12px;
    z-index: 1;
    animation: badge-pulse 2s infinite;
}

@keyframes badge-pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
    }
    70% {
        transform: scale(1.05);
        box-shadow: 0 0 0 6px rgba(239, 68, 68, 0);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
    }
}


/**
START +++++++++++++++++++++++++++++++++++
Subject: برای بج‌ها
**/

/* کانتینر اصلی برای گرید موقعیت‌ها */
.locations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 1rem;
    padding: 1rem;
}

/* استایل اصلی بج موقعیت */
.location-badge {
    position: relative;
    display: flex;
    align-items: center;
    font-size: 12px;
    padding: 8px 12px;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    cursor: pointer;
    max-width: 100%;
    min-width: 120px;
    height: 27px;
}

/* کانتینر آیکون */
.location-badge .icon-container {
    flex: 0 0 30%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 8px;
    border-left: 1px solid rgba(0, 0, 0, 0.1);
}

/* آیکون */
.location-badge .icon {
    font-size: 16px;
    color: inherit;
}

/* متن */
.location-badge .text {
    flex: 0 0 70%;
    padding-right: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: right;
}

/* تولتیپ */
.location-badge .tooltip {
    position: absolute;
    bottom: 100%;
    right: 50%;
    transform: translateX(50%);
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 11px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    white-space: nowrap;
    z-index: 10;
}

/* نمایش تولتیپ */
.location-badge:hover .tooltip {
    opacity: 1;
    visibility: visible;
    bottom: calc(100% + 5px);
}

/* انیمیشن هاور */
.location-badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* رنگ‌های مختلف */
.location-badge.blue {
    background: #e3f2fd;
    color: #1976d2;
}

.location-badge.green {
    background: #e8f5e9;
    color: #2e7d32;
}

.location-badge.purple {
    background: #f3e5f5;
    color: #7b1fa2;
}

.location-badge.orange {
    background: #fff3e0;
    color: #ef6c00;
}

.location-badge.red {
    background: #ffebee;
    color: #c62828;
}

.location-badge.teal {
    background: #e0f2f1;
    color: #00796b;
}

.location-badge.brown {
    background: #efebe9;
    color: #4e342e;
}

/**
START +++++++++++++++++++++++++++++++++++
Subject: swal
**/
.my-swal {
    font-family: vazir, tahoma, arial !important;
}

.swal2-popup textarea.form-control {
    min-height: 100px;
    margin-bottom: 10px;
    text-align: right;
}

.swal2-popup .text-muted {
    font-size: 12px;
}

.swal2-popup {
    display: none;
    position: relative;
    box-sizing: border-box;
    grid-template-columns: minmax(0, 100%);
    width: 32em;
    max-width: 100%;
    padding: 0 0 1.25em;
    border: none;
    border-radius: 5px;
    background: #b1b1b1 !important;
    color: #545454;
    font-family: inherit;
    font-size: 14px !important;

}
/* Login Form Captcha */
img#captchaImage {
    border-radius: 8px;
    border: 2px solid #ccc;
}

/* Print Page Header */
.function-print.function-print.function-print .table > * > tr > th, .function-rprint.function-rprint.function-rprint .table > * > tr > th {
    border: solid #ddd 1px;
    color: black !important;
}

.bs-welcome-item .bs-welcome-header a
{
    font-family: iransansx;
}

/**
START +++++++++++++++++++++++++++++++++++
Subject: Loading ...
**/

/* styles.css */
.loader-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.loader {
    width: 50px;
    height: 50px;
    border: 5px solid #f3f3f3;
    border-top: 5px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/**
START +++++++++++++++++++++++++++++++++++
Subject: Custom Tooltip
**/

/* کانتینر اصلی تولتیپ */
.custom-tooltip-container {
    position: relative;
    display: inline-block;
}

/* متن یا المانی که با هاور روی آن تولتیپ نمایش داده می‌شود */
.custom-tooltip-trigger {
    color: #2563eb;
    cursor: pointer;
    border-bottom: 1px dashed #2563eb;
    padding-bottom: 2px;
}

/* باکس اصلی تولتیپ */
.custom-tooltip-box {
    visibility: hidden;
    position: absolute;
    bottom: 125%;
    right: 50%;
    transform: translateX(50%);
    background-color: white;
    color: #333;
    padding: 15px;
    border-radius: 8px;
    min-width: 200px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 
                0 2px 4px -1px rgba(0, 0, 0, 0.06);
    border: 1px solid #e5e7eb;
    opacity: 0;
    transition: opacity 0.3s, visibility 0.3s;
    z-index: 1000;
}

/* فلش پایین تولتیپ */
.custom-tooltip-box::after {
    content: "";
    position: absolute;
    top: 100%;
    right: 50%;
    transform: translateX(50%);
    border-width: 8px;
    border-style: solid;
    border-color: white transparent transparent transparent;
}

/* نمایش تولتیپ با هاور */
.custom-tooltip-container:hover .custom-tooltip-box {
    visibility: visible;
    opacity: 1;
}

/* عنوان داخل تولتیپ */
.custom-tooltip-title {
    font-weight: bold;
    margin-bottom: 8px;
    color: #1f2937;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 5px;
}

/* محتوای اصلی تولتیپ */
.custom-tooltip-content {
    font-size: 0.9em;
    line-height: 1.5;
}

/* بخش اطلاعات اضافی */
.custom-tooltip-info {
    display: flex;
    gap: 10px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #e5e7eb;
}

/* هر آیتم در بخش اطلاعات */
.custom-tooltip-info-item {
    display: flex;
    flex-direction: column;
    font-size: 0.8em;
}

/* برچسب در بخش اطلاعات */
.custom-tooltip-info-label {
    color: #6b7280;
}

/* مقدار در بخش اطلاعات */
.custom-tooltip-info-value {
    font-weight: 500;
    color: #1f2937;
}


/**
START +++++++++++++++++++++++++++++++++++
Subject: Q&A Css
**/

.qa-wrapper {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}

.qa-title {
    text-align: center;
    margin-bottom: 30px;
    font-family: 'peyda' !important;
}

.qa-categories {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 30px;
}

.qa-category-btn {
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    background-color: #f0f0f0;
    color: #535353;
    font-family: 'Peyda';
}

.qa-category-btn.qa-active {
    background-color: var(--ActiveMenuBackColor);
    color: white;
}

.qa-section {
    display: block;
}

.qa-hidden {
    display: none;
}

.qa-item {
    margin-bottom: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
}

.qa-question {
    padding: 15px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #f8f9fa;
}

.qa-question-text {
    margin: 0;
    font-family: peyda !important;
    color: var(--ActiveMenuBackColor);
}

.qa-arrow {
    width: 10px;
    height: 10px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: rotate(45deg);
    transition: transform 0.3s;
}

.qa-question.qa-open .qa-arrow {
    transform: rotate(-135deg);
}

.qa-answer {
    padding: 0 15px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    font-size: 14px;
}

.qa-answer p {
    margin: 15px 0;
}

.nav-pills > li > a {
    color: #EBEBEB;
    border-color: #df691a;
    border-style: solid;
    border-width: thin;
    border-radius: 10px;
}

