/* =========================================================
   JAHESH PANEL - VAZIR FONT
   Font files: assets/fonts/vazir/
   ========================================================= */

@font-face {
    font-family: "Vazir";
    src:url("../fonts/vazir.ttf") format("truetype");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

:root {
    --jahesh-font: "Vazir", Tahoma, Arial, sans-serif;
}

html,
body,
body *,
.jahesh-panel-wrapper,
.jahesh-panel-wrapper *,
.jahesh-panel,
.jahesh-panel *,
.jahesh-content,
.jahesh-content *,
.jahesh-header,
.jahesh-header *,
.jahesh-sidebar,
.jahesh-sidebar *,
.jahesh-footer,
.jahesh-footer *,
.jahesh-dashboard,
.jahesh-dashboard *,
.jahesh-exams,
.jahesh-exams *,
.jahesh-exams-grid,
.jahesh-exams-grid *,
.exam-wrapper,
.exam-wrapper *,
.question-card,
.question-card *,
.jahesh-profile,
.jahesh-profile *,
.jahesh-datepicker,
.jahesh-datepicker * {
    font-family: var(--jahesh-font) !important;
}

:root {
    --jahesh-primary: #2563eb;
    --jahesh-primary-hover: #1d4ed8;
    --jahesh-bg-main: #f8fafc;
    --jahesh-bg-card: #ffffff;
    --jahesh-text-dark: #1e293b;
    --jahesh-text-muted: #64748b;
    --jahesh-border: #e2e8f0;
    --jahesh-sidebar-width: 260px;
    --jahesh-header-height: 70px;
    --jahesh-radius: 12px;
    --jahesh-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

body{
    margin:0;
    background:#f5f7fb;
}

.jahesh-header{
    height:70px;
    background:#fff;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 30px;
    box-shadow:0 2px 12px rgba(0,0,0,.08);
}

.jahesh-panel{
    display:flex;
    min-height:calc(100vh - 70px);
}

.jahesh-sidebar{
    width:260px;
    background:#1f2937;
}

.jahesh-menu{
    list-style:none;
    margin:0;
    padding:20px 0;
}

.jahesh-menu-item{
    margin-bottom:6px;
}

.jahesh-menu-link{
    display:flex;
    align-items:center;
    gap:12px;
    padding:15px 25px;
    color:#fff;
    text-decoration:none;
    transition:.3s;
}

.jahesh-menu-link:hover{
    background:#374151;
}

.jahesh-content{
    flex:1;
    padding:30px;
}

.jahesh-footer{
    background:#fff;
    padding:15px;
    text-align:center;
}

.jahesh-dashboard{
    display:flex;
    flex-direction:column;
    gap:30px;
}

.jahesh-welcome{
    background:#fff;
    padding:30px;
    border-radius:15px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.jahesh-welcome h2{
    margin:0 0 10px;
}

.jahesh-cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
    gap:25px;
}

.jahesh-card{
    background:#fff;
    border-radius:15px;
    padding:30px;
    text-align:center;
    transition:.3s;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.jahesh-card:hover{
    transform:translateY(-8px);
}

.jahesh-card i{
    font-size:45px;
    color:#2563eb;
    margin-bottom:15px;
}

.jahesh-card h3{
    margin:10px 0;
    font-size:34px;
}

.jahesh-card span{
    color:#777;
}

.jahesh-profile{
    background:#fff;
    padding:30px;
    border-radius:15px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.jahesh-form-group{
    display:flex;
    flex-direction:column;
    margin-bottom:20px;
}

.jahesh-form-group label{
    margin-bottom:8px;
    font-weight:bold;
}

.jahesh-form-group input{
    height:45px;
    padding:0 15px;
    border:1px solid #ddd;
    border-radius:8px;
}

.jahesh-profile button{
    height:45px;
    padding:0 30px;
    border:none;
    border-radius:8px;
    background:#2563eb;
    color:#fff;
    cursor:pointer;
}
.jahesh-alert{

    padding:15px;
    border-radius:10px;
    margin-bottom:20px;
    color:#fff;

}

.jahesh-alert.success{

    background:#16a34a;

}

.jahesh-alert.error{

    background:#dc2626;

}

#password_status{

    display:block;
    margin-top:8px;
    font-size:13px;

}

.jahesh-password{
    display:flex;
    align-items:center;
    gap:10px;
}

.jahesh-password input{
    flex:1;
}

.jahesh-password button{
    width:45px;
    height:45px;
    border:none;
    cursor:pointer;
    border-radius:8px;
    background:#eee;
}

.jahesh-login-options{
    margin:15px 0;
}

.jahesh-btn{
    width:100%;
    height:48px;
    border:none;
    border-radius:8px;
    background:#2563eb;
    color:#fff;
    cursor:pointer;
    font-size:16px;
}
.jahesh-avatar-box{

    text-align:center;

    margin-bottom:20px;

}

.jahesh-avatar{

    width:120px;

    height:120px;

    border-radius:50%;

    object-fit:cover;

    border:4px solid #2563eb;

}

/* ===========================
   Avatar
=========================== */

.jahesh-avatar{

    display:flex;

    justify-content:center;

    margin:30px 0;

}
.jahesh-avatar img{

    width:170px;

    height:170px;

    object-fit:cover;

    border-radius:50%;

    border:6px solid #2563eb;

    background:#fff;

    box-shadow:
        0 15px 40px rgba(0,0,0,.12);

    transition:.3s;

}
.jahesh-avatar img:hover{

    transform:scale(1.05);

    border-color:#1d4ed8;

}
input[type=file]{

    width:100%;

    padding:12px;

    border:2px dashed #2563eb;

    border-radius:12px;

    background:#f8fbff;

    cursor:pointer;

    margin-top:15px;

}

@media(max-width:768px){

    .jahesh-avatar img{

        width:120px;

        height:120px;

    }

}

.jahesh-title{
    margin-bottom:25px;
    font-size:26px;
    font-weight:bold;
}

.jahesh-exams{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
    gap:20px;
}

.jahesh-exam-card{
    background:#fff;
    border-radius:15px;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
    padding:20px;
    transition:.3s;
    border-top:5px solid #2E86DE;
}

.jahesh-exam-card:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 30px rgba(0,0,0,.12);
}

.exam-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}

.exam-header h3{
    margin:0;
    font-size:20px;
}

.exam-status{
    background:#27ae60;
    color:#fff;
    padding:5px 12px;
    border-radius:30px;
    font-size:12px;
}

.exam-body{
    display:flex;
    flex-direction:column;
    gap:12px;
    color:#555;
    margin-bottom:25px;
}

.exam-body strong{
    float:left;
    color:#000;
}

.exam-footer{
    text-align:center;
}

.start-btn{
    display:block;
    width:100%;
    background:#2E86DE;
    color:#fff;
    text-decoration:none;
    padding:12px;
    border-radius:10px;
    font-weight:bold;
    transition:.3s;
}

.start-btn:hover{
    background:#1B4F72;
    color:#fff;
}

.jahesh-empty{
    background:#fff;
    padding:60px;
    text-align:center;
    border-radius:15px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.jahesh-empty i{
    font-size:50px;
    color:#999;
    margin-bottom:15px;
}

.jahesh-page-title{
    font-size:28px;
    font-weight:bold;
    margin-bottom:25px;
}

.jahesh-exams-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
    gap:25px;
}

.exam-card{
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    transition:.3s;
    border:1px solid #eee;
}

.exam-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 40px rgba(0,0,0,.12);
}

.exam-card-header{
    background:#4f46e5;
    color:#fff;
    padding:18px 20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.exam-card-header h3{
    margin:0;
    font-size:18px;
    color:#fff;
}

.exam-badge{
    background:#22c55e;
    color:#fff;
    font-size:12px;
    padding:5px 12px;
    border-radius:20px;
}

.exam-card-body{
    padding:20px;
}

.exam-card-body p{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin:14px 0;
    padding-bottom:10px;
    border-bottom:1px solid #eee;
    font-size:15px;
}

.exam-card-body strong{
    color:#4f46e5;
    font-size:16px;
}

.exam-card-footer{
    padding:20px;
}

.exam-start-btn{
    display:block;
    width:100%;
    background:#4f46e5;
    color:#fff;
    text-align:center;
    text-decoration:none;
    padding:12px;
    border-radius:10px;
    font-weight:bold;
    transition:.3s;
}

.exam-start-btn:hover{
    background:#312e81;
    color:#fff;
}

.jahesh-empty{
    background:#fff;
    border-radius:15px;
    padding:60px;
    text-align:center;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.jahesh-empty h3{
    font-size:60px;
    margin-bottom:15px;
}

.jahesh-empty p{
    font-size:18px;
    color:#666;
}

.exam-report-card{

background:#fff;

border-radius:15px;

padding:25px;

box-shadow:0 5px 18px rgba(0,0,0,.08);

margin-top:20px;

}

.report-header{

text-align:center;

margin-bottom:25px;

}

.report-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(180px,1fr));

gap:15px;

margin-bottom:25px;

}

.report-item{

background:#f7f8fc;

padding:18px;

border-radius:10px;

text-align:center;

}

.report-item span{

display:block;

color:#777;

margin-bottom:8px;

}

.report-item strong{

font-size:26px;

color:#1f2937;

}

.report-status{

padding:18px;

border-radius:10px;

text-align:center;

font-weight:bold;

margin-bottom:20px;

}

.report-status.success{

background:#d1fae5;

color:#065f46;

}

.report-status.failed{

background:#fee2e2;

color:#991b1b;

}

.report-footer{

text-align:center;

}
.jahesh-table{

width:100%;

border-collapse:collapse;

margin-top:20px;

background:#fff;

border-radius:12px;

overflow:hidden;

box-shadow:0 4px 15px rgba(0,0,0,.08);

}

.jahesh-table th{

background:#2563eb;

color:#fff;

padding:15px;

text-align:center;

}

.jahesh-table td{

padding:15px;

text-align:center;

border-bottom:1px solid #eee;

}

.jahesh-table tr:hover{

background:#f8fafc;

}

.report-pass{

background:#16a34a;

color:#fff;

padding:5px 12px;

border-radius:20px;

font-size:13px;

}

.report-fail{

background:#dc2626;

color:#fff;

padding:5px 12px;

border-radius:20px;

font-size:13px;

}

.report-options{

list-style:none;

padding:0;

margin-top:15px;

}

.report-options li{

padding:12px;

margin-bottom:10px;

border-radius:8px;

background:#f4f4f4;

}

.correct-option{

background:#dcfce7!important;

border:1px solid #16a34a;

}

.selected-option{

font-weight:bold;

border:2px solid #2563eb;

}

#jahesh-timer{

position:sticky;

top:15px;

background:#d32f2f;

color:#fff;

padding:15px;

font-size:24px;

font-weight:bold;

text-align:center;

border-radius:10px;

margin-bottom:20px;

z-index:999;

}

.jahesh-header {
    position: -webkit-sticky; /* برای پشتیبانی از سافاری */
    position: sticky;
    top: 0;
    z-index: 999; /* برای اینکه روی بقیه المان‌ها قرار بگیرد */
    background-color: #ffffff; /* رنگ پس‌زمینه هدر (بسته به طرح خود تغییر دهید) */
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* یک سایه ملایم برای زیبایی */
    width: 100%;
}
/* ==========================================================================
   Jahesh User Panel Stylesheet (RTL)
   ========================================================================== */

/* 1. Reset & Variables
   ========================================================================== */


/* 2. Layout Structure
   ========================================================================== */
.jahesh-panel-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: var(--jahesh-bg-main);
    color: var(--jahesh-text-dark);
    font-family: inherit;
    direction: rtl;
    box-sizing: border-box;
}

.jahesh-panel-wrapper * {
    box-sizing: border-box;
}

.jahesh-panel-body {
    display: flex;
    flex: 1;
    position: relative;
}

/* 3. Header Component
   ========================================================================== */
.jahesh-header {
    height: var(--jahesh-header-height);
    background-color: var(--jahesh-bg-card);
    border-bottom: 1px solid var(--jahesh-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.03);
}

.jahesh-header .logo {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--jahesh-primary);
}

.jahesh-header .user {
    font-size: 0.95rem;
    color: var(--jahesh-text-dark);
    background-color: var(--jahesh-bg-main);
    padding: 8px 16px;
    border-radius: 20px;
    border: 1px solid var(--jahesh-border);
}

/* 4. Sidebar Component
   ========================================================================== */
.jahesh-sidebar {
    width: var(--jahesh-sidebar-width);
    background-color: var(--jahesh-bg-card);
    border-left: 1px solid var(--jahesh-border);
    padding: 24px 16px;
    flex-shrink: 0;
}

.jahesh-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.jahesh-menu-item {
    margin: 0;
}

.jahesh-menu-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    color: var(--jahesh-text-muted);
    text-decoration: none;
    border-radius: var(--jahesh-radius);
    font-size: 0.95rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.jahesh-menu-link:hover {
    background-color: var(--jahesh-bg-main);
    color: var(--jahesh-primary);
}

.jahesh-menu-link.active {
    background-color: var(--jahesh-primary);
    color: #ffffff;
}

.jahesh-menu-link i {
    font-size: 1.2rem;
    width: 20px;
    text-align: center;
}

/* 5. Main Content Area
   ========================================================================== */
.jahesh-content {
    flex: 1;
    padding: 32px;
    overflow-x: hidden;
}

/* 6. Footer Component
   ========================================================================== */
.jahesh-footer {
    background-color: var(--jahesh-bg-card);
    border-top: 1px solid var(--jahesh-border);
    padding: 16px 24px;
    text-align: center;
    font-size: 0.875rem;
    color: var(--jahesh-text-muted);
    margin-top: auto;
}

/* 7. Responsive Styles (Mobile & Tablet)
   ========================================================================== */
@media (max-width: 768px) {
    .jahesh-panel-body {
        flex-direction: column;
    }

    .jahesh-sidebar {
        width: 100%;
        border-left: none;
        border-bottom: 1px solid var(--jahesh-border);
        padding: 16px;
    }

    .jahesh-menu {
        flex-direction: row;
        overflow-x: auto;
        padding-bottom: 8px;
    }

    .jahesh-menu-link {
        white-space: nowrap;
    }

    .jahesh-content {
        padding: 20px 16px;
    }
}


/* ۱. صفر کردن مارجین و پدینگ پیش‌فرض body */
html, body {
    margin: 0 !important;
    padding: 0 !important;
}

/* ۲. تنظیم Sticky بودن هدر بدون فاصله از بالا */
.jahesh-header {
    height: var(--jahesh-header-height);
    background-color: var(--jahesh-bg-card);
    border-bottom: 1px solid var(--jahesh-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    
    /* تنظیم چسبیدن به بالا */
    position: sticky;
    top: 0;
    z-index: 999;
    
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.03);
}

/* ۳. سازگاری کامل با نوار مدیریت وردپرس (Admin Bar) */
body.admin-bar .jahesh-header {
    top: 32px; /* ارتفاع نوار وردپرس در دسکتاپ */
}

@media screen and (max-width: 782px) {
    body.admin-bar .jahesh-header {
        top: 46px; /* ارتفاع نوار وردپرس در موبایل */
    }
}

/* ==========================
   EXAM PAGE
========================== */

.exam-wrapper{

    max-width:900px;

    margin:40px auto;

}

.question-card{

    background:#fff;

    border-radius:18px;

    padding:30px;

    margin-bottom:30px;

    border:1px solid #ececec;

    box-shadow:0 10px 35px rgba(0,0,0,.08);

    transition:.3s;

    position:relative;

    overflow:hidden;

}

.question-card:hover{

    transform:translateY(-4px);

    box-shadow:0 18px 45px rgba(0,0,0,.12);

}

.question-card::before{

    content:"";

    position:absolute;

    right:0;

    top:0;

    width:6px;

    height:100%;

    background:linear-gradient(180deg,#2563eb,#06b6d4);

}



.question-card p{

    font-size:18px;

    line-height:2;

    color:#333;

    margin-bottom:20px;

    font-weight:600;

}

.question-card img{

    width:100%;

    border-radius:15px;

    margin-bottom:20px;

}

/* ==========================
   OPTIONS
========================== */

.question-card label{

    display:flex;

    align-items:center;

    gap:12px;

    padding:16px 18px;

    margin-bottom:15px;

    border:2px solid #ececec;

    border-radius:14px;

    cursor:pointer;

    transition:.25s;

    background:#fafafa;

    font-size:16px;

}

.question-card label:hover{

    background:#eef6ff;

    border-color:#2563eb;

}

.question-card input[type=radio]{

    accent-color:#2563eb;

    transform:scale(1.3);

}

/* گزینه انتخاب شده */

.question-card label:has(input:checked){

    background:#2563eb;

    color:#fff;

    border-color:#2563eb;

    box-shadow:0 10px 25px rgba(37,99,235,.25);

}

/* ==========================
   TIMER
========================== */

#jahesh-timer{

    position:sticky;

    top:15px;

    z-index:999;

    background:linear-gradient(135deg,#2563eb,#0ea5e9);

    color:#fff;

    padding:18px;

    border-radius:15px;

    margin-bottom:25px;

    text-align:center;

    font-size:22px;

    font-weight:700;

    box-shadow:0 10px 35px rgba(37,99,235,.35);

}

/* ==========================
   SUBMIT
========================== */

#finishExamBtn{

    width:100%;

    padding:18px;

    border:none;

    border-radius:15px;

    background:linear-gradient(135deg,#16a34a,#22c55e);

    color:#fff;

    font-size:20px;

    font-weight:bold;

    cursor:pointer;

    transition:.3s;

}

#finishExamBtn:hover{

    transform:translateY(-3px);

    box-shadow:0 15px 35px rgba(34,197,94,.35);

}

#finishExamBtn:disabled{

    opacity:.6;

    cursor:not-allowed;

}

/* ==========================
   MOBILE
========================== */

@media(max-width:768px){

    .question-card{

        padding:20px;

    }

    .question-card p{

        font-size:16px;

    }

    .question-card label{

        font-size:15px;

    }

    #jahesh-timer{

        font-size:18px;

    }

}

/*==========================
    Profile Inputs
==========================*/

.jahesh-form-group{

    margin-bottom:22px;

}

.jahesh-form-group label{

    display:block;

    margin-bottom:10px;

    font-size:15px;

    font-weight:700;

    color:#1f2937;

    padding-right:4px;

}

.jahesh-form-group input,
.jahesh-form-group select{

    width:100%;

    height:56px;

    border:2px solid #e5e7eb;

    border-radius:14px;

    background:#fff;

    padding:0 18px;

    font-size:15px;

    color:#374151;

    transition:.25s;

    outline:none;

}

.jahesh-form-group input::placeholder{

    color:#9ca3af;

}

.jahesh-form-group input:hover,
.jahesh-form-group select:hover{

    border-color:#93c5fd;

}

.jahesh-form-group input:focus,
.jahesh-form-group select:focus{

    border-color:#2563eb;

    box-shadow:0 0 0 4px rgba(37,99,235,.12);

}

.jahesh-form-group select{

    appearance:none;

    -webkit-appearance:none;

    -moz-appearance:none;

    cursor:pointer;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%23666' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 5l6.5 6 6.5-6'/%3E%3C/svg%3E");

    background-repeat:no-repeat;

    background-position:left 18px center;

    padding-left:50px;

}

.jahesh-form-group select option{

    font-size:15px;

    padding:10px;

}

/*==========================
    Save Button
==========================*/

button[name="jahesh_save_profile"]{

    width:100%;

    height:58px;

    border:none;

    border-radius:14px;

    background:linear-gradient(135deg,#2563eb,#0ea5e9);

    color:#fff;

    font-size:17px;

    font-weight:bold;

    cursor:pointer;

    transition:.3s;

}

button[name="jahesh_save_profile"]:hover{

    transform:translateY(-2px);

    box-shadow:0 12px 30px rgba(37,99,235,.25);

}

/*
|--------------------------------------------------------------------------
| Jahesh Exam Calendar
|--------------------------------------------------------------------------
*/

.jahesh-exam-calendar-section {
    margin-top: 30px;
    background: #ffffff;
    border-radius: 18px;
    padding: 25px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
}

.jahesh-calendar-title {
    margin-bottom: 25px;
}

.jahesh-calendar-title h2 {
    margin: 0 0 8px;
    font-size: 28px;
    color: #1f2937;
}

.jahesh-calendar-title p {
    margin: 0;
    color: #6b7280;
}


/*
|--------------------------------------------------------------------------
| Calendar
|--------------------------------------------------------------------------
*/

.jahesh-calendar {
    width: 100%;
    direction: rtl;
}

.jahesh-calendar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.jahesh-calendar-month {
    font-size: 24px;
    font-weight: 700;
    color: #1f2937;
}

.jahesh-calendar-nav {
    width: 42px;
    height: 42px;

    border: 1px solid #e5e7eb;

    background: #ffffff;

    border-radius: 10px;

    cursor: pointer;

    font-size: 18px;

    transition: 0.2s;
}

.jahesh-calendar-nav:hover {
    background: #f3f4f6;
}


/*
|--------------------------------------------------------------------------
| Weekdays
|--------------------------------------------------------------------------
*/

.jahesh-calendar-weekdays {
    display: grid;

    grid-template-columns:
        repeat(7, minmax(0, 1fr));

    gap: 8px;

    margin-bottom: 8px;
}

.jahesh-calendar-weekdays div {
    text-align: center;

    font-weight: 700;

    color: #6b7280;

    padding: 10px 5px;

    font-size: 14px;
}


/*
|--------------------------------------------------------------------------
| Days
|--------------------------------------------------------------------------
*/

.jahesh-calendar-days {
    display: grid;

    grid-template-columns:
        repeat(7, minmax(0, 1fr));

    gap: 8px;
}

.jahesh-calendar-day {
    min-height: 90px;

    border: 1px solid #eef0f3;

    border-radius: 12px;

    background: #ffffff;

    padding: 10px;

    position: relative;

    transition: 0.2s;

    box-sizing: border-box;
}

.jahesh-calendar-day.empty {
    background: #f9fafb;

    border-color: transparent;
}

.jahesh-calendar-day-number {
    font-size: 15px;

    font-weight: 700;

    color: #374151;
}


/*
|--------------------------------------------------------------------------
| Exam Day
|--------------------------------------------------------------------------
*/

.jahesh-calendar-day.has-exam {
    background: #f8fbff;

    border: 2px solid #2563eb;

    cursor: pointer;
}

.jahesh-calendar-day.has-exam:hover {
    transform: translateY(-2px);

    box-shadow:
        0 6px 18px
        rgba(37, 99, 235, 0.12);
}

.jahesh-calendar-exam {
    margin-top: 8px;

    padding: 6px 7px;

    background: #2563eb;

    color: #ffffff;

    border-radius: 7px;

    font-size: 11px;

    line-height: 1.5;

    overflow: hidden;
}


/*
|--------------------------------------------------------------------------
| Today
|--------------------------------------------------------------------------
*/

.jahesh-calendar-day.today {
    box-shadow:
        inset 0 0 0 2px #111827;
}


/*
|--------------------------------------------------------------------------
| Legend
|--------------------------------------------------------------------------
*/

.jahesh-calendar-legend {
    margin-top: 20px;

    display: flex;

    align-items: center;

    gap: 10px;
}

.jahesh-calendar-legend-item {
    display: flex;

    align-items: center;

    gap: 7px;

    color: #6b7280;

    font-size: 13px;
}

.jahesh-calendar-dot {
    width: 10px;

    height: 10px;

    border-radius: 50%;

    background: #2563eb;
}


/*
|--------------------------------------------------------------------------
| Responsive
|--------------------------------------------------------------------------
*/

@media (max-width: 768px) {

    .jahesh-exam-calendar-section {
        padding: 15px;
    }

    .jahesh-calendar-day {
        min-height: 65px;

        padding: 6px;
    }

    .jahesh-calendar-exam {
        font-size: 9px;

        padding: 4px;
    }

    .jahesh-calendar-weekdays div {
        font-size: 11px;
    }

    .jahesh-calendar-month {
        font-size: 19px;
    }

}

.jahesh-date-group {
    position: relative;
}

.jahesh-persian-date {
    cursor: pointer;
}

.jahesh-datepicker {
    position: absolute;
    top: 100%;
    right: 0;
    width: 320px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 14px;
    padding: 15px;
    z-index: 99999;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.12);
    direction: rtl;
}

.jahesh-datepicker[hidden] {
    display: none !important;
}

.jahesh-datepicker-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
}

.jahesh-datepicker-header button {
    border: 0;
    background: transparent;
    cursor: pointer;
    font-size: 22px;
}

.jahesh-date-title {
    font-size: 15px !important;
    font-weight: 700;
}

.jahesh-datepicker-weekdays,
.jahesh-datepicker-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
    text-align: center;
}

.jahesh-datepicker-weekdays span {
    font-size: 12px;
    font-weight: 700;
    padding: 6px 0;
}

.jahesh-date-day {
    border: 0;
    background: transparent;
    border-radius: 8px;
    padding: 9px 0;
    cursor: pointer;
    font-size: 13px;
}

.jahesh-date-day:hover {
    background: #f1f1f1;
}

.jahesh-date-day.today {
    font-weight: 700;
    border: 1px solid #ddd;
}

.jahesh-date-empty {
    min-height: 35px;
}

.jahesh-datepicker-footer {
    margin-top: 12px;
    text-align: center;
    border-top: 1px solid #eee;
    padding-top: 10px;
}

.jahesh-today-btn {
    border: 0;
    background: transparent;
    cursor: pointer;
    font-weight: 700;
}.jahesh-date-group {
    position: relative;
}

.jahesh-persian-date {
    cursor: pointer;
}

.jahesh-datepicker {
    position: absolute;
    top: 100%;
    right: 0;
    width: 320px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 14px;
    padding: 15px;
    z-index: 99999;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.12);
    direction: rtl;
}

.jahesh-datepicker[hidden] {
    display: none !important;
}

.jahesh-datepicker-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
}

.jahesh-datepicker-header button {
    border: 0;
    background: transparent;
    cursor: pointer;
    font-size: 22px;
}

.jahesh-date-title {
    font-size: 15px !important;
    font-weight: 700;
}

.jahesh-datepicker-weekdays,
.jahesh-datepicker-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
    text-align: center;
}

.jahesh-datepicker-weekdays span {
    font-size: 12px;
    font-weight: 700;
    padding: 6px 0;
}

.jahesh-date-day {
    border: 0;
    background: transparent;
    border-radius: 8px;
    padding: 9px 0;
    cursor: pointer;
    font-size: 13px;
}

.jahesh-date-day:hover {
    background: #f1f1f1;
}

.jahesh-date-day.today {
    font-weight: 700;
    border: 1px solid #ddd;
}

.jahesh-date-empty {
    min-height: 35px;
}

.jahesh-datepicker-footer {
    margin-top: 12px;
    text-align: center;
    border-top: 1px solid #eee;
    padding-top: 10px;
}

.jahesh-today-btn {
    border: 0;
    background: transparent;
    cursor: pointer;
    font-weight: 700;
}

/* =========================================================
   JAHESH PROFILE - PERSIAN DATEPICKER
   ========================================================= */

.jahesh-profile-card {
    position: relative;
    overflow: visible;
}

.jahesh-profile-card form {
    width: 100%;
    max-width: 100%;
}

.jahesh-form-group {
    position: relative;
    width: 100%;
    margin-bottom: 22px;
}

.jahesh-form-group label {
    display: block;
    margin-bottom: 9px;
    font-size: 14px;
    font-weight: 700;
    color: #1e293b;
}

.jahesh-form-group input,
.jahesh-form-group select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}


/* =========================================================
   DATE INPUT
   ========================================================= */

.jahesh-date-input-wrapper {
    position: relative;
    width: 100%;
}

.jahesh-persian-date {
    width: 100% !important;
    height: 54px;
    padding: 0 48px 0 16px !important;
    border: 1px solid #dbe1ea;
    border-radius: 14px;
    background: #fff;
    color: #1e293b;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    box-sizing: border-box;
    outline: none;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.jahesh-persian-date:hover {
    border-color: #3b82f6;
}

.jahesh-persian-date:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.08);
}

.jahesh-persian-date::placeholder {
    color: #94a3b8;
    font-weight: 500;
}

.jahesh-calendar-icon {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    color: #2563eb;
    font-size: 18px;
    pointer-events: none;
}


/* =========================================================
   DATEPICKER
   ========================================================= */

.jahesh-datepicker {
    position: absolute;
    z-index: 99999;
    top: calc(100% + 8px);
    right: 0;

    width: 100%;
    max-width: 360px;
    min-width: 280px;

    box-sizing: border-box;

    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;

    box-shadow:
        0 20px 50px rgba(15, 23, 42, 0.15),
        0 5px 15px rgba(15, 23, 42, 0.06);

    overflow: hidden;

    direction: rtl;
}

.jahesh-datepicker[hidden] {
    display: none !important;
}


/* =========================================================
   HEADER
   ========================================================= */

.jahesh-datepicker-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 14px 12px;

    background: linear-gradient(
        135deg,
        #2563eb,
        #0ea5e9
    );

    color: #fff;
}

.jahesh-date-prev,
.jahesh-date-next {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 10px;

    background: rgba(255, 255, 255, 0.14);
    color: #fff;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.jahesh-date-prev:hover,
.jahesh-date-next:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: scale(1.05);
}

.jahesh-date-title {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 5px;
}

.jahesh-month-title,
.jahesh-year-title {
    border: 0;
    background: transparent;
    color: #fff;

    font-size: 15px;
    font-weight: 800;

    padding: 7px 8px;
    border-radius: 8px;

    cursor: pointer;

    transition:
        background 0.2s ease;
}

.jahesh-month-title:hover,
.jahesh-year-title:hover {
    background: rgba(255, 255, 255, 0.15);
}


/* =========================================================
   MAIN CALENDAR
   ========================================================= */

.jahesh-calendar-main {
    padding: 14px;
}

.jahesh-datepicker-weekdays {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 4px;

    margin-bottom: 8px;
}

.jahesh-datepicker-weekdays span {
    height: 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #64748b;

    font-size: 12px;
    font-weight: 700;
}

.jahesh-datepicker-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 5px;
}

.jahesh-day {
    width: 100%;
    aspect-ratio: 1 / 1;

    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid transparent;
    border-radius: 10px;

    background: #fff;
    color: #334155;

    font-size: 13px;
    font-weight: 600;

    cursor: pointer;

    transition:
        background 0.15s ease,
        color 0.15s ease,
        border-color 0.15s ease,
        transform 0.15s ease;
}

.jahesh-day:hover {
    background: #eff6ff;
    color: #2563eb;
    border-color: #bfdbfe;
}

.jahesh-day.today {
    border-color: #60a5fa;
    color: #2563eb;
    font-weight: 800;
}

.jahesh-day.selected {
    background: linear-gradient(
        135deg,
        #2563eb,
        #0ea5e9
    );

    color: #fff;

    box-shadow:
        0 5px 12px rgba(37, 99, 235, 0.25);
}

.jahesh-day.selected:hover {
    color: #fff;
    background: linear-gradient(
        135deg,
        #1d4ed8,
        #0284c7
    );
}

.jahesh-day.empty {
    cursor: default;
    pointer-events: none;
    background: transparent;
    border: 0;
}


/* =========================================================
   MONTH PICKER
   ========================================================= */

.jahesh-month-picker {
    padding: 16px;
}

.jahesh-month-picker[hidden],
.jahesh-year-picker[hidden],
.jahesh-calendar-main[hidden] {
    display: none !important;
}

.jahesh-month-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.jahesh-month-item {
    min-height: 48px;

    border: 1px solid #e2e8f0;
    border-radius: 11px;

    background: #fff;
    color: #334155;

    font-family: inherit;
    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.jahesh-month-item:hover {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #2563eb;
}

.jahesh-month-item.active {
    border-color: #2563eb;
    background: #2563eb;
    color: #fff;
}


/* =========================================================
   YEAR PICKER
   ========================================================= */

.jahesh-year-picker {
    padding: 14px;
}

.jahesh-year-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 12px;
}

.jahesh-year-header button {
    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 9px;

    background: #f1f5f9;
    color: #334155;

    cursor: pointer;
}

.jahesh-year-header button:hover {
    background: #dbeafe;
    color: #2563eb;
}

.jahesh-year-range {
    font-size: 13px;
    font-weight: 800;
    color: #334155;
}

.jahesh-year-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.jahesh-year-item {
    min-height: 44px;

    border: 1px solid #e2e8f0;
    border-radius: 10px;

    background: #fff;
    color: #334155;

    font-family: inherit;
    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.jahesh-year-item:hover {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #2563eb;
}

.jahesh-year-item.active {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}


/* =========================================================
   FOOTER
   ========================================================= */

.jahesh-datepicker-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 12px 14px;

    border-top: 1px solid #eef2f7;

    background: #f8fafc;
}

.jahesh-today-btn,
.jahesh-date-close {
    border: 0;
    border-radius: 9px;

    padding: 9px 14px;

    font-family: inherit;
    font-size: 12px;
    font-weight: 700;

    cursor: pointer;
}

.jahesh-today-btn {
    background: #eff6ff;
    color: #2563eb;
}

.jahesh-today-btn:hover {
    background: #dbeafe;
}

.jahesh-date-close {
    background: #e2e8f0;
    color: #475569;
}

.jahesh-date-close:hover {
    background: #cbd5e1;
}


/* =========================================================
   PROFILE BUTTON
   ========================================================= */

.jahesh-profile-save {
    width: 100%;
    min-height: 58px;

    border: 0;
    border-radius: 14px;

    background: linear-gradient(
        135deg,
        #2563eb,
        #0ea5e9
    );

    color: #fff;

    font-family: inherit;
    font-size: 16px;
    font-weight: 800;

    cursor: pointer;

    box-shadow:
        0 8px 20px rgba(37, 99, 235, 0.18);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.jahesh-profile-save:hover {
    transform: translateY(-1px);

    box-shadow:
        0 12px 25px rgba(37, 99, 235, 0.25);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 600px) {

    .jahesh-datepicker {
        position: absolute;

        right: 0;
        left: auto;

        width: 100%;
        max-width: 100%;

        min-width: 0;

        border-radius: 15px;
    }

    .jahesh-datepicker-header {
        padding: 10px;
    }

    .jahesh-calendar-main {
        padding: 10px;
    }

    .jahesh-month-picker {
        padding: 12px;
    }

    .jahesh-year-picker {
        padding: 12px;
    }

    .jahesh-day {
        font-size: 12px;
        border-radius: 8px;
    }

    .jahesh-month-item {
        min-height: 44px;
        font-size: 12px;
    }

    .jahesh-year-item {
        min-height: 42px;
        font-size: 12px;
    }

}

/* ================================
   Persian Datepicker - Fix
================================ */

.jahesh-date-group {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.jahesh-date-group .jahesh-persian-date {
    width: 100%;
    height: 62px;
    box-sizing: border-box;

    direction: rtl;
    text-align: right;

    padding: 0 20px 0 65px !important;

    border: 2px solid #e1e5eb;
    border-radius: 16px;

    background: #fff;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;

    outline: none;
    cursor: pointer;
    transition: all .2s ease;
}

.jahesh-date-group .jahesh-persian-date:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .12);
}

/* اگر datepicker آیکون را به صورت trigger می‌سازد */
.jahesh-date-group .datepicker-icon,
.jahesh-date-group .date-picker-icon,
.jahesh-date-group .jahesh-date-icon,
.jahesh-date-group button[data-toggle="datepicker"],
.jahesh-date-group .jahesh-datepicker-trigger {
    position: absolute !important;

    left: 14px !important;
    right: auto !important;

    top: 50%;
    transform: translateY(-50%);

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    z-index: 5;

    cursor: pointer;
}

/* خود تقویم */
.jahesh-datepicker {
    position: absolute;

    top: calc(100% + 10px);
    right: auto;
    left: 0;

    width: min(390px, calc(100vw - 30px));

    max-width: 100%;

    box-sizing: border-box;

    z-index: 9999;

    background: #fff;
    border-radius: 20px;

    box-shadow: 0 15px 45px rgba(0, 0, 0, .15);

    overflow: hidden;
}

/* جلوگیری از بیرون زدن تقویم */
.jahesh-profile-card,
.jahesh-profile-card form,
.jahesh-date-group {
    overflow: visible !important;
}

/* هدر تقویم */
.jahesh-datepicker-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    min-height: 70px;

    padding: 10px 14px;

    background: linear-gradient(
        135deg,
        #2563eb,
        #0ea5e9
    );

    box-sizing: border-box;
}

.jahesh-datepicker-header button {
    border: 0;
    background: transparent;

    cursor: pointer;

    font-family: inherit;
}

.jahesh-date-title {
    color: #fff !important;
    font-size: 20px;
    font-weight: 800;

    flex: 1;
    text-align: center;
}

.jahesh-date-prev,
.jahesh-date-next {
    width: 40px;
    height: 40px;

    color: #fff;

    font-size: 32px;
    line-height: 1;

    border-radius: 10px;
}

.jahesh-date-prev:hover,
.jahesh-date-next:hover {
    background: rgba(255,255,255,.15);
}

/* روزهای هفته */
.jahesh-datepicker-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);

    padding: 18px 12px 8px;

    text-align: center;

    font-weight: 700;
    font-size: 13px;
}

/* روزها */
.jahesh-datepicker-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);

    gap: 5px;

    padding: 8px 12px 18px;
}

.jahesh-datepicker-days button {
    width: 100%;
    aspect-ratio: 1;

    border: 0;
    border-radius: 10px;

    background: transparent;

    font-family: inherit;
    font-size: 14px;
    font-weight: 600;

    cursor: pointer;

    transition: .15s ease;
}

.jahesh-datepicker-days button:hover {
    background: #eef4ff;
}

.jahesh-datepicker-days button.active {
    background: linear-gradient(
        135deg,
        #2563eb,
        #0ea5e9
    );

    color: #fff;

    box-shadow: 0 5px 15px rgba(37, 99, 235, .25);
}

/* فوتر تقویم */
.jahesh-datepicker-footer {
    display: flex;
    justify-content: space-between;

    padding: 12px 15px;

    background: #f8fafc;

    border-top: 1px solid #edf0f5;
}

.jahesh-datepicker-footer button {
    border: 0;

    padding: 10px 18px;

    border-radius: 10px;

    font-family: inherit;
    font-weight: 700;

    cursor: pointer;
}

.jahesh-today-btn {
    color: #2563eb;
    background: #eef4ff;
}

/* موبایل */
@media (max-width: 600px) {

    .jahesh-datepicker {
        left: 50%;
        right: auto;

        transform: translateX(-50%);

        width: calc(100vw - 30px);
    }

    .jahesh-datepicker-days {
        gap: 3px;
        padding-left: 8px;
        padding-right: 8px;
    }

    .jahesh-datepicker-days button {
        font-size: 13px;
    }

}

.jahesh-date-group .date-icon,
.jahesh-date-group .calendar-icon,
.jahesh-date-group .jahesh-calendar-icon,
.jahesh-date-group .bi-calendar,
.jahesh-date-group .bi-calendar3 {
    left: 14px !important;
    right: auto !important;
}

.jahesh-date-group::before {
    left: 14px !important;
    right: auto !important;
}

/* =========================================================
   صفحه عضویت بنیاد جهش
========================================================= */

.membership-card {
    padding: 32px;
    border-radius: 20px;
}


/* عنوان */

.membership-card > h2 {
    margin: 0 0 10px;
    font-size: 26px;
    font-weight: 800;
}


/* توضیحات */

.membership-desc {
    margin: 0;
    color: #64748b;
    line-height: 1.9;
    font-size: 14px;
}


/* خط جداکننده */

.membership-card hr {
    margin: 24px 0;
    border: 0;
    border-top: 1px solid #e5e7eb;
}


/* =========================================================
   وضعیت خدمات
========================================================= */

.membership-status {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 16px 18px;
}

.membership-status > strong {
    display: block;
    margin-bottom: 10px;
    color: #334155;
    font-size: 14px;
}

.membership-active-services {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}


/* وضعیت فعال */

.status-active {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    color: #15803d;
    font-size: 13px;
    font-weight: 700;
}


/* وضعیت غیرفعال */

.status-pending {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #c2410c;
    font-size: 13px;
    font-weight: 700;
}


/* =========================================================
   شبکه کارت‌ها
========================================================= */

.membership-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 24px;
}


/* =========================================================
   کارت هر خدمت
========================================================= */

.membership-service-card {
    position: relative;
    display: flex;
    flex-direction: column;

    min-height: 330px;

    padding: 26px;

    background: #ffffff;

    border: 1px solid #e5e7eb;
    border-radius: 20px;

    box-shadow:
        0 4px 18px rgba(15, 23, 42, 0.05);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}


/* Hover */

.membership-service-card:hover {
    transform: translateY(-4px);

    border-color: #cbd5e1;

    box-shadow:
        0 12px 30px rgba(15, 23, 42, 0.09);
}


/* =========================================================
   آیکون
========================================================= */

.service-icon {
    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 18px;

    border-radius: 15px;

    background: #f1f5f9;

    font-size: 25px;
}


/* =========================================================
   عنوان کارت
========================================================= */

.membership-service-card h3 {
    margin: 0 0 10px;

    color: #0f172a;

    font-size: 18px;
    font-weight: 800;
}


/* توضیحات کارت */

.membership-service-card p {
    margin: 0;

    color: #64748b;

    font-size: 13px;
    line-height: 1.9;
}


/* =========================================================
   قیمت
========================================================= */

.membership-service-price {
    margin-top: auto;
    padding-top: 24px;
    margin-bottom: 18px;

    color: #0f172a;

    font-size: 21px;
    font-weight: 900;
}

.membership-service-price::after {
    content: "";
}


/* =========================================================
   دکمه
========================================================= */

.membership-service-btn {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;

    box-sizing: border-box;

    border-radius: 12px;

    text-decoration: none;

    font-size: 14px;
    font-weight: 700;

    transition:
        transform 0.2s ease,
        opacity 0.2s ease;
}

.membership-service-btn:hover {
    transform: translateY(-1px);
    opacity: 0.92;
}


/* =========================================================
   وضعیت فعال داخل کارت
========================================================= */

.service-active {
    width: 100%;
    box-sizing: border-box;

    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;

    border-radius: 12px;

    background: #ecfdf5;
    border: 1px solid #bbf7d0;

    color: #15803d;

    font-size: 13px;
    font-weight: 800;
}


/* =========================================================
   کارت پک
========================================================= */

.membership-bundle-card {
    border: 2px solid #e2e8f0;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f8fafc 100%
        );
}


/* آیکون پک */

.membership-bundle-card .service-icon {
    background: #fef3c7;
}


/* =========================================================
   موبایل
========================================================= */

@media (max-width: 900px) {

    .membership-services-grid {
        grid-template-columns: 1fr 1fr;
    }

}


@media (max-width: 600px) {

    .membership-card {
        padding: 20px;
        border-radius: 16px;
    }

    .membership-card > h2 {
        font-size: 22px;
    }

    .membership-services-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .membership-service-card {
        min-height: auto;
        padding: 22px;
    }

}

/* =========================================================
   JAHESH - Payments Page
   ========================================================= */

.payments-card {
    width: 100%;
    box-sizing: border-box;
    padding: 28px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #e9edf3;
    box-shadow: 0 8px 30px rgba(20, 30, 50, 0.05);
}


/* =========================================================
   Header
   ========================================================= */

.payments-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.payments-header h2 {
    margin: 0 0 7px;
    font-size: 23px;
    font-weight: 800;
    color: #172033;
}

.payments-description {
    margin: 0;
    color: #7a8496;
    font-size: 14px;
    line-height: 1.8;
}


/* =========================================================
   Consultation Active Box
   ========================================================= */

.consultation-active-box {
    display: flex;
    align-items: center;
    gap: 16px;

    margin: 20px 0 28px;
    padding: 18px 20px;

    border: 1px solid #dcefe4;
    border-radius: 15px;

    background: #f6fbf8;
}

.consultation-active-icon {
    width: 48px;
    height: 48px;

    flex: 0 0 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 13px;
    background: #e5f6eb;

    font-size: 23px;
}

.consultation-active-box h3 {
    margin: 0 0 5px;

    font-size: 16px;
    font-weight: 800;

    color: #217346;
}

.consultation-active-box p {
    margin: 0;

    font-size: 13px;
    line-height: 1.8;

    color: #687586;
}

.consultation-active-box strong {
    color: #172033;
}


/* =========================================================
   Consultation Renewal
   ========================================================= */

.consultation-renewal-box {
    display: flex;
    align-items: center;
    gap: 18px;

    margin: 20px 0 30px;
    padding: 22px;

    border-radius: 16px;

    border: 1px solid #f0d9bd;
    background: #fffaf4;

    position: relative;
    overflow: hidden;
}

.consultation-renewal-box::before {
    content: "";

    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;

    width: 4px;

    background: #e6a04b;
}

.consultation-renewal-icon {
    width: 54px;
    height: 54px;

    flex: 0 0 54px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 15px;

    background: #fff0dc;

    font-size: 25px;
}

.consultation-renewal-content {
    flex: 1;
}

.consultation-renewal-content h3 {
    margin: 0 0 7px;

    font-size: 17px;
    font-weight: 800;

    color: #9a5b16;
}

.consultation-renewal-content p {
    margin: 0 0 16px;

    color: #746b61;

    font-size: 13px;
    line-height: 2;
}

.consultation-renew-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    min-height: 42px;
    padding: 0 20px;

    border-radius: 10px;

    font-size: 13px;
    font-weight: 700;

    text-decoration: none;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        opacity .2s ease;
}

.consultation-renew-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 7px 18px rgba(0, 0, 0, 0.08);
}


/* =========================================================
   Payment History Header
   ========================================================= */

.payments-history-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin: 30px 0 15px;
    padding-bottom: 14px;

    border-bottom: 1px solid #edf0f4;
}

.payments-history-header h2 {
    margin: 0;

    font-size: 17px;
    font-weight: 800;

    color: #202a3b;
}

.payments-history-header span {
    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #f3f5f8;

    font-size: 17px;
}


/* =========================================================
   Empty State
   ========================================================= */

.payments-empty {
    text-align: center;

    padding: 45px 25px;

    border: 1px dashed #dce1e8;
    border-radius: 15px;

    background: #fafbfc;
}

.payments-empty-icon {
    width: 58px;
    height: 58px;

    margin: 0 auto 15px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 16px;

    background: #f0f3f7;

    font-size: 25px;
}

.payments-empty h3 {
    margin: 0 0 8px;

    font-size: 16px;
    font-weight: 800;

    color: #283244;
}

.payments-empty p {
    max-width: 480px;

    margin: 0 auto 20px;

    color: #7b8492;

    font-size: 13px;
    line-height: 2;
}


/* =========================================================
   Payments List
   ========================================================= */

.payments-list {
    display: flex;
    flex-direction: column;
    gap: 11px;
}


/* =========================================================
   Payment Item
   ========================================================= */

.payment-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;

    padding: 17px 18px;

    border: 1px solid #edf0f4;
    border-radius: 14px;

    background: #fff;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.payment-item:hover {
    border-color: #dfe4eb;

    box-shadow: 0 6px 20px rgba(25, 35, 55, 0.045);

    transform: translateY(-1px);
}


/* =========================================================
   Payment Icon
   ========================================================= */

.payment-item-icon {
    width: 43px;
    height: 43px;

    flex: 0 0 43px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: #f4f6f8;

    font-size: 19px;
}


/* =========================================================
   Payment Content
   ========================================================= */

.payment-item-content {
    flex: 1;
    min-width: 0;
}

.payment-item-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    margin-bottom: 13px;
}

.payment-item-top h3 {
    margin: 0;

    font-size: 15px;
    font-weight: 800;

    color: #202a3b;
}


/* =========================================================
   Payment Status
   ========================================================= */

.payment-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 28px;
    padding: 0 10px;

    border-radius: 8px;

    font-size: 11px;
    font-weight: 700;

    white-space: nowrap;
}

.payment-status-paid {
    color: #247344;
    background: #eaf7ef;
}

.payment-status-pending {
    color: #9a681f;
    background: #fff5df;
}

.payment-status-cancel,
.payment-status-failed {
    color: #a33e3e;
    background: #fff0f0;
}


/* =========================================================
   Payment Details
   ========================================================= */

.payment-item-details {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px 30px;
}

.payment-detail {
    display: flex;
    align-items: center;
    gap: 7px;
}

.payment-detail span {
    color: #8992a0;
    font-size: 11px;
}

.payment-detail strong {
    color: #3b4555;

    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   Monthly Consultation Info
   ========================================================= */

.payment-monthly-info {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    margin-top: 13px;
    padding: 8px 11px;

    border-radius: 8px;

    background: #f5f7fa;

    color: #687384;

    font-size: 11px;
    line-height: 1.7;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 700px) {

    .payments-card {
        padding: 18px;
        border-radius: 15px;
    }

    .payments-header h2 {
        font-size: 20px;
    }

    .consultation-renewal-box {
        align-items: flex-start;

        padding: 17px;

        gap: 13px;
    }

    .consultation-renewal-icon {
        width: 45px;
        height: 45px;
        flex-basis: 45px;

        font-size: 21px;
    }

    .consultation-renewal-content h3 {
        font-size: 15px;
    }

    .payment-item {
        padding: 14px;
    }

    .payment-item-top {
        align-items: flex-start;
        flex-direction: column;

        gap: 8px;
    }

    .payment-item-details {
        flex-direction: column;
        align-items: flex-start;

        gap: 8px;
    }

    .payment-monthly-info {
        width: 100%;
        box-sizing: border-box;
    }

}

@media (max-width: 430px) {

    .consultation-renewal-box {
        flex-direction: column;
    }

    .consultation-renew-icon {
        margin-bottom: 2px;
    }

    .consultation-renew-btn {
        width: 100%;
        box-sizing: border-box;
    }

    .payment-item {
        gap: 11px;
    }

    .payment-item-icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;

        font-size: 17px;
    }

}


/* =========================================================
   CONSULTATION / ADVISOR PANEL
   طراحی مدرن بخش مشاور دانش‌آموز
========================================================= */

.jahesh-consultation-page {
    direction: rtl;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 10px 0 40px;
}


/* =========================================================
   HEADER
========================================================= */

.jahesh-consultation-page .jahesh-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 28px;
}

.jahesh-consultation-page .jahesh-page-header h2 {
    margin: 0 0 8px;
    font-size: 28px;
    font-weight: 800;
    color: #172033;
    letter-spacing: -0.5px;
}

.jahesh-consultation-page .jahesh-page-header p {
    margin: 0;
    color: #718096;
    font-size: 14px;
    line-height: 1.9;
}


/* =========================================================
   CARD BASE
========================================================= */

.jahesh-consultation-page .jahesh-card {
    background: #ffffff;
    border: 1px solid #e9edf5;
    border-radius: 24px;
    box-shadow:
        0 10px 35px rgba(25, 45, 80, 0.07);
}


/* =========================================================
   SELECTED ADVISOR
========================================================= */

.student-selected-advisor {
    overflow: hidden;
    position: relative;
}


/* نوار بالای کارت */

.student-selected-advisor::before {
    content: "";
    display: block;
    height: 5px;
    width: 100%;
    background: linear-gradient(
        90deg,
        #2563eb,
        #4f46e5,
        #7c3aed
    );
}


/* =========================================================
   SELECTED ADVISOR HEADER
========================================================= */

.selected-advisor-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 28px 32px 18px;
}

.advisor-section-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 7px;
    font-size: 12px;
    font-weight: 700;
    color: #2563eb;
}

.advisor-section-label::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #2563eb;
    box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.09);
}

.selected-advisor-header h3 {
    margin: 0;
    font-size: 21px;
    font-weight: 800;
    color: #172033;
}


/* وضعیت فعال */

.advisor-active-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 15px;
    border-radius: 999px;
    background: #ecfdf3;
    color: #16803c;
    border: 1px solid #c9f0d8;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}


/* =========================================================
   ADVISOR INFO
========================================================= */

.selected-advisor-content {
    display: flex;
    align-items: center;
    gap: 28px;
    padding: 18px 32px 30px;
}


/* عکس */

.advisor-avatar-wrapper {
    flex: 0 0 auto;
    position: relative;
}

.advisor-avatar {
    display: block;
    width: 145px;
    height: 145px;
    object-fit: cover;
    border-radius: 50%;
    border: 5px solid #ffffff;
    box-shadow:
        0 10px 28px rgba(37, 99, 235, 0.17),
        0 0 0 1px #e6ebf5;
}


/* حلقه کوچک وضعیت */

.advisor-avatar-wrapper::after {
    content: "";
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #22c55e;
    border: 4px solid #ffffff;
}


/* اطلاعات */

.selected-advisor-info {
    flex: 1;
    min-width: 0;
}

.selected-advisor-info h2 {
    margin: 0 0 12px;
    font-size: 30px;
    line-height: 1.4;
    font-weight: 900;
    color: #172033;
}

.advisor-bio {
    color: #667085;
    font-size: 14px;
    line-height: 2;
    max-width: 700px;
}

.advisor-contact {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 14px;
    padding: 8px 13px;
    border-radius: 10px;
    background: #f7f9fc;
    color: #344054;
    font-size: 13px;
    font-weight: 600;
}


/* =========================================================
   ADVISOR DASHBOARD SECTION
========================================================= */

.advisor-dashboard-section {
    margin: 0 32px 32px;
    padding-top: 25px;
    border-top: 1px solid #edf0f5;
}

.advisor-dashboard-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.advisor-dashboard-title span {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    color: #7a8499;
    font-weight: 600;
}

.advisor-dashboard-title h3 {
    margin: 0;
    font-size: 21px;
    color: #172033;
    font-weight: 800;
}


/* =========================================================
   DASHBOARD GRID
========================================================= */

.advisor-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 17px;
}


/* =========================================================
   DASHBOARD CARD
========================================================= */

.advisor-dashboard-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 205px;
    padding: 23px;
    overflow: hidden;
    text-decoration: none !important;
    border-radius: 20px;
    border: 1px solid #e8edf5;
    background: #ffffff;

    box-shadow:
        0 7px 22px rgba(30, 50, 90, 0.055);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}


/* افکت نور */

.advisor-dashboard-card::before {
    content: "";
    position: absolute;
    width: 120px;
    height: 120px;
    top: -60px;
    left: -50px;
    border-radius: 50%;
    background: rgba(37, 99, 235, 0.055);
    pointer-events: none;
}

.advisor-dashboard-card:hover {
    transform: translateY(-5px);
    box-shadow:
        0 16px 35px rgba(30, 50, 90, 0.12);
    border-color: #d7e0f0;
}


/* =========================================================
   ICON
========================================================= */

.advisor-dashboard-icon {
    position: relative;
    z-index: 1;

    width: 57px;
    height: 57px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 16px;

    font-size: 27px;

    margin-bottom: 18px;

    background: #f1f5ff;
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.06);
}


/* =========================================================
   CARD CONTENT
========================================================= */

.advisor-dashboard-card-content {
    position: relative;
    z-index: 1;
    flex: 1;
}

.advisor-dashboard-card-content h3 {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 800;
    color: #172033;
}

.advisor-dashboard-card-content p {
    margin: 0;
    font-size: 13px;
    line-height: 1.9;
    color: #7a8499;
}


/* =========================================================
   ARROW
========================================================= */

.advisor-dashboard-arrow {
    position: absolute;
    left: 20px;
    bottom: 18px;

    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #f5f7fb;
    color: #667085;

    font-size: 17px;

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        color 0.25s ease;
}

.advisor-dashboard-card:hover .advisor-dashboard-arrow {
    transform: translateX(-4px);
    background: #2563eb;
    color: #ffffff;
}


/* =========================================================
   CARD TYPE - REPORT
========================================================= */

.advisor-report-card .advisor-dashboard-icon {
    background: #eff6ff;
}

.advisor-report-card:hover {
    border-color: #bfdbfe;
}


/* =========================================================
   CARD TYPE - EXAM
========================================================= */

.advisor-exam-card .advisor-dashboard-icon {
    background: #f5f3ff;
}

.advisor-exam-card:hover {
    border-color: #ddd6fe;
}


/* =========================================================
   CARD TYPE - CHAT
========================================================= */

.advisor-chat-card .advisor-dashboard-icon {
    background: #ecfdf3;
}

.advisor-chat-card:hover {
    border-color: #bbf7d0;
}


/* =========================================================
   ADVISOR SELECTION INTRO
========================================================= */

.advisor-selection-intro {
    position: relative;
    display: flex;
    align-items: center;
    gap: 20px;

    margin-bottom: 25px;
    padding: 25px 28px;

    border-radius: 22px;

    background:
        linear-gradient(
            135deg,
            #f5f8ff 0%,
            #ffffff 65%
        );

    border: 1px solid #e3eaf7;

    box-shadow:
        0 8px 28px rgba(30, 50, 90, 0.05);
}

.advisor-selection-icon {
    flex: 0 0 auto;

    width: 62px;
    height: 62px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 18px;

    background: #ffffff;

    font-size: 30px;

    box-shadow:
        0 7px 20px rgba(37, 99, 235, 0.10);
}

.advisor-selection-intro h2 {
    margin: 0 0 6px;
    color: #172033;
    font-size: 20px;
    font-weight: 800;
}

.advisor-selection-intro p {
    margin: 0;
    color: #718096;
    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   ADVISOR GRID
========================================================= */

.advisor-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}


/* =========================================================
   ADVISOR CARD
========================================================= */

.advisor-card {
    position: relative;
    overflow: hidden;

    display: flex;
    flex-direction: column;

    background: #ffffff;

    border: 1px solid #e7ebf2;
    border-radius: 22px;

    box-shadow:
        0 8px 25px rgba(30, 50, 90, 0.055);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.advisor-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 18px 40px rgba(30, 50, 90, 0.12);

    border-color: #d4ddec;
}


/* نوار بالای کارت */

.advisor-card::before {
    content: "";
    display: block;

    height: 4px;

    background: linear-gradient(
        90deg,
        #2563eb,
        #6366f1
    );
}


/* =========================================================
   CARD TOP
========================================================= */

.advisor-card-top {
    display: flex;
    flex-direction: column;
    align-items: center;

    padding: 25px 20px 12px;
}

.advisor-card-avatar {
    width: 112px;
    height: 112px;

    object-fit: cover;

    border-radius: 50%;

    border: 4px solid #ffffff;

    box-shadow:
        0 8px 25px rgba(30, 50, 90, 0.12),
        0 0 0 1px #e5eaf2;
}


/* وضعیت */

.advisor-card-status {
    display: inline-flex;
    align-items: center;

    margin-top: 13px;
    padding: 6px 11px;

    border-radius: 999px;

    background: #ecfdf3;
    color: #16803c;

    font-size: 11px;
    font-weight: 700;
}


/* =========================================================
   CARD BODY
========================================================= */

.advisor-card-body {
    padding: 8px 23px 22px;
    text-align: center;
    flex: 1;
}

.advisor-card-body h3 {
    margin: 0 0 11px;

    font-size: 19px;
    font-weight: 800;

    color: #172033;
}

.advisor-card-bio {
    min-height: 50px;

    color: #758096;

    font-size: 13px;
    line-height: 1.9;
}

.advisor-card-phone {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    margin-top: 13px;

    padding: 7px 12px;

    border-radius: 10px;

    background: #f7f9fc;

    color: #475467;

    font-size: 12px;
    font-weight: 600;
}


/* =========================================================
   CARD FOOTER
========================================================= */

.advisor-card-footer {
    padding: 0 20px 20px;
}

.advisor-select-form {
    width: 100%;
}

.advisor-select-btn {
    width: 100%;

    min-height: 45px;

    border: 0 !important;
    border-radius: 12px !important;

    font-size: 13px !important;
    font-weight: 700 !important;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.advisor-select-btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 8px 18px rgba(37, 99, 235, 0.18);
}


/* =========================================================
   EMPTY / ALERT
========================================================= */

.jahesh-consultation-page .alert {
    border-radius: 16px;
    padding: 18px 20px;
    font-size: 13px;
    line-height: 1.9;
}


/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media (max-width: 900px) {

    .advisor-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .advisor-dashboard-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .selected-advisor-content {
        align-items: flex-start;
    }

}


/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media (max-width: 650px) {

    .jahesh-consultation-page {
        padding: 5px 10px 30px;
    }


    .jahesh-consultation-page .jahesh-page-header {
        align-items: flex-start;
        margin-bottom: 20px;
    }


    .jahesh-consultation-page .jahesh-page-header h2 {
        font-size: 23px;
    }


    .advisor-selection-intro {
        align-items: flex-start;
        padding: 20px;
    }


    .advisor-grid {
        grid-template-columns: 1fr;
    }


    .advisor-dashboard-grid {
        grid-template-columns: 1fr;
    }


    .selected-advisor-header {
        align-items: flex-start;
        padding: 22px 20px 15px;
    }


    .selected-advisor-header h3 {
        font-size: 18px;
    }


    .selected-advisor-content {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 15px 20px 25px;
    }


    .selected-advisor-info {
        width: 100%;
    }


    .selected-advisor-info h2 {
        font-size: 25px;
    }


    .advisor-bio {
        max-width: 100%;
    }


    .advisor-dashboard-section {
        margin: 0 18px 22px;
        padding-top: 22px;
    }


    .advisor-dashboard-card {
        min-height: 175px;
    }

}


/* =========================================================
   RESPONSIVE - SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .advisor-avatar {
        width: 125px;
        height: 125px;
    }


    .advisor-card-avatar {
        width: 100px;
        height: 100px;
    }


    .advisor-selection-intro {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }


    .advisor-selection-intro h2 {
        font-size: 18px;
    }

}

/* ==========================================================================
   Consultation Page
   ========================================================================== */

.jahesh-consultation-page {
    max-width: 100%;
    overflow: hidden;
}


/* ==========================================================================
   SweetAlert2
   ========================================================================== */

.jahesh-swal-popup {
    direction: rtl;
    font-family: inherit;
    border-radius: 24px !important;
    padding: 30px !important;
}

.jahesh-swal-popup .swal2-title {
    font-size: 22px;
    font-weight: 800;
}

.jahesh-swal-popup .swal2-html-container {
    font-size: 15px;
    line-height: 2;
}

.jahesh-swal-popup .swal2-html-container strong {
    font-weight: 800;
}

.jahesh-swal-confirm {
    border: none !important;
    border-radius: 12px !important;
    padding: 11px 25px !important;
    font-weight: 700 !important;
}

.jahesh-swal-cancel {
    border: none !important;
    border-radius: 12px !important;
    padding: 11px 25px !important;
    font-weight: 700 !important;
}


/* ==========================================================================
   حالت خالی مشاور
   ========================================================================== */

.advisor-empty-state {
    text-align: center;
    padding: 50px 25px;
}

.advisor-empty-icon {
    width: 75px;
    height: 75px;
    margin: 0 auto 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 34px;
    border-radius: 22px;
}

.advisor-empty-state h3 {
    margin: 0 0 10px;
    font-size: 19px;
    font-weight: 800;
}

.advisor-empty-state p {
    margin: 0;
    opacity: .7;
}


/* ==========================================================================
   SweetAlert موبایل
   ========================================================================== */

@media (max-width: 600px) {

    .jahesh-swal-popup {
        width: calc(100% - 30px) !important;
        padding: 25px 18px !important;
    }

    .jahesh-swal-popup .swal2-actions {
        width: 100%;
        gap: 8px;
    }

    .jahesh-swal-confirm,
    .jahesh-swal-cancel {
        flex: 1;
        margin: 0 !important;
    }

}

/* =========================================================
   New Consultation Page
========================================================= */

.jahesh-new-consultation-page {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 10px 0 40px;
    direction: rtl;
}


/* =========================================================
   Header
========================================================= */

.consultation-new-header {
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 28px 30px;
    margin-bottom: 22px;
    border-radius: 24px;
    background: linear-gradient(
        135deg,
        #111827 0%,
        #1e293b 55%,
        #312e81 100%
    );
    color: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16);
    position: relative;
    overflow: hidden;
}


.consultation-new-header::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    left: -60px;
    top: -80px;
    border-radius: 50%;
    background: rgba(255,255,255,0.06);
}


.consultation-new-icon {
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.16);
    backdrop-filter: blur(10px);
}


.consultation-new-icon span {
    font-size: 32px;
}


.consultation-new-header-content {
    position: relative;
    z-index: 2;
}


.consultation-new-eyebrow {
    display: block;
    font-size: 13px;
    color: rgba(255,255,255,0.65);
    margin-bottom: 6px;
}


.consultation-new-header h2 {
    margin: 0 0 8px;
    font-size: 26px;
    font-weight: 800;
    color: #fff;
}


.consultation-new-header p {
    margin: 0;
    font-size: 14px;
    color: rgba(255,255,255,0.78);
}


/* =========================================================
   Error
========================================================= */

.consultation-form-error {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 20px;
    margin-bottom: 20px;
    border-radius: 18px;
    background: #fff7f7;
    border: 1px solid #fecaca;
    color: #991b1b;
}


.consultation-form-error-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #fee2e2;
    font-size: 19px;
}


.consultation-form-error strong {
    display: block;
    margin-bottom: 4px;
}


.consultation-form-error p {
    margin: 0;
    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   Main Card
========================================================= */

.consultation-form-card {
    background: #fff;
    border: 1px solid #e8eaf0;
    border-radius: 24px;
    padding: 30px;
    box-shadow: 0 12px 35px rgba(15, 23, 42, 0.07);
}


.consultation-form-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 22px;
    margin-bottom: 25px;
    border-bottom: 1px solid #eef0f4;
}


.consultation-form-card-header span {
    font-size: 12px;
    color: #6366f1;
    font-weight: 700;
}


.consultation-form-card-header h3 {
    margin: 5px 0 0;
    font-size: 20px;
    color: #172033;
    font-weight: 800;
}


.consultation-form-badge {
    padding: 7px 13px;
    border-radius: 999px;
    background: #eef2ff;
    color: #4f46e5 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}


/* =========================================================
   Fields
========================================================= */

.consultation-field {
    margin-bottom: 24px;
}


.consultation-field label {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 800;
    color: #202938;
}


.consultation-label-icon {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #f1f3ff;
    color: #4f46e5;
    font-size: 13px;
}


.consultation-required {
    color: #ef4444;
    font-size: 16px;
}


.consultation-input,
.consultation-textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #dfe3eb;
    background: #fafbfc;
    border-radius: 15px;
    color: #172033;
    font-family: inherit;
    font-size: 14px;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease,
        transform .2s ease;
}


.consultation-input {
    height: 54px;
    padding: 0 17px;
}


.consultation-textarea {
    min-height: 190px;
    padding: 16px 17px;
    line-height: 2;
    resize: vertical;
}


.consultation-input::placeholder,
.consultation-textarea::placeholder {
    color: #a1a8b5;
}


.consultation-input:hover,
.consultation-textarea:hover {
    border-color: #c8cdd8;
    background: #fff;
}


.consultation-input:focus,
.consultation-textarea:focus {
    outline: none;
    border-color: #6366f1;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(99,102,241,0.10);
}


.consultation-field > small {
    display: block;
    margin-top: 8px;
    color: #8a92a2;
    font-size: 11px;
    line-height: 1.8;
}


/* =========================================================
   Textarea Footer
========================================================= */

.consultation-textarea-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}


.consultation-textarea-footer small {
    color: #8a92a2;
    font-size: 11px;
    line-height: 1.8;
}


#consultation-message-count {
    flex-shrink: 0;
    color: #6366f1;
    font-size: 11px;
    font-weight: 700;
}


/* =========================================================
   Actions
========================================================= */

.consultation-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding-top: 8px;
}


.consultation-cancel-btn {
    height: 52px;
    padding: 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #f5f6f8;
    border: 1px solid #e5e7eb;
    color: #4b5563;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    transition: all .2s ease;
}


.consultation-cancel-btn:hover {
    background: #eef0f3;
    color: #111827;
    transform: translateY(-2px);
}


.consultation-submit-btn {
    min-width: 220px;
    height: 52px;
    padding: 0 22px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(
        135deg,
        #4f46e5,
        #6366f1
    );
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(79,70,229,0.22);
    transition: all .2s ease;
}


.consultation-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(79,70,229,0.30);
}


.consultation-submit-btn:active {
    transform: translateY(0);
}


.consultation-submit-icon {
    font-size: 17px;
}


/* =========================================================
   Help
========================================================= */

.consultation-form-help {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-top: 18px;
    padding: 18px 20px;
    border-radius: 18px;
    background: #f8faff;
    border: 1px solid #e5e9ff;
}


.consultation-help-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #eef2ff;
    font-size: 18px;
}


.consultation-form-help strong {
    display: block;
    margin-bottom: 4px;
    color: #29324a;
    font-size: 13px;
}


.consultation-form-help p {
    margin: 0;
    color: #747d8f;
    font-size: 12px;
    line-height: 2;
}


/* =========================================================
   Responsive
========================================================= */

@media (max-width: 700px) {

    .jahesh-new-consultation-page {
        padding: 5px 0 25px;
    }


    .consultation-new-header {
        padding: 22px;
        gap: 15px;
        border-radius: 20px;
    }


    .consultation-new-icon {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
        border-radius: 17px;
    }


    .consultation-new-icon span {
        font-size: 26px;
    }


    .consultation-new-header h2 {
        font-size: 21px;
    }


    .consultation-new-header p {
        font-size: 12px;
        line-height: 1.8;
    }


    .consultation-form-card {
        padding: 20px;
        border-radius: 20px;
    }


    .consultation-form-card-header {
        align-items: flex-start;
    }


    .consultation-form-card-header h3 {
        font-size: 17px;
    }


    .consultation-textarea-footer {
        align-items: flex-start;
        flex-direction: column;
    }


    .consultation-form-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }


    .consultation-submit-btn,
    .consultation-cancel-btn {
        width: 100%;
    }


    .consultation-form-help {
        padding: 15px;
    }

}

/* =========================================================
   CONSULTATION LIST
   بنیاد جهش
========================================================= */

.jahesh-consultation-page {
    direction: rtl;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 10px 0 50px;
    box-sizing: border-box;
}


/* =========================================================
   PAGE HEADER
========================================================= */

.jahesh-consultation-page .jahesh-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    padding: 28px 30px;
    margin-bottom: 24px;

    border-radius: 24px;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(99, 102, 241, .12),
            transparent 35%
        ),
        radial-gradient(
            circle at 0% 100%,
            rgba(14, 165, 233, .10),
            transparent 35%
        ),
        #ffffff;

    border: 1px solid rgba(15, 23, 42, .07);

    box-shadow:
        0 12px 35px rgba(15, 23, 42, .06);
}


.consultation-page-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    margin-bottom: 7px;

    font-size: 12px;
    font-weight: 800;

    color: #6366f1;

    letter-spacing: -.2px;
}


.consultation-page-eyebrow::before {
    content: "";
    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #6366f1;

    box-shadow:
        0 0 0 5px rgba(99, 102, 241, .10);
}


.jahesh-consultation-page .jahesh-page-header h2 {
    margin: 0 0 8px;

    font-size: 27px;
    line-height: 1.5;
    font-weight: 900;

    color: #111827;
}


.jahesh-consultation-page .jahesh-page-header p {
    margin: 0;

    font-size: 14px;
    line-height: 1.9;

    color: #64748b;
}


/* =========================================================
   NEW MESSAGE BUTTON
========================================================= */

.consultation-new-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    min-width: 175px;
    padding: 13px 18px;

    border-radius: 14px;

    color: #ffffff !important;
    text-decoration: none !important;

    font-size: 13px;
    font-weight: 800;

    background: linear-gradient(
        135deg,
        #6366f1,
        #4f46e5
    );

    box-shadow:
        0 10px 25px rgba(79, 70, 229, .22);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.consultation-new-btn:hover {
    transform: translateY(-2px);

    color: #ffffff !important;

    box-shadow:
        0 15px 30px rgba(79, 70, 229, .28);
}


.consultation-new-btn-icon {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 25px;
    height: 25px;

    border-radius: 8px;

    background: rgba(255,255,255,.17);

    font-size: 19px;
    line-height: 1;
}


/* =========================================================
   NEW CONSULTATION HERO CARD
========================================================= */

.consultation-new-card {
    position: relative;

    display: flex;
    align-items: center;

    gap: 20px;

    padding: 23px 25px;

    margin-bottom: 35px;

    overflow: hidden;

    border-radius: 22px;

    text-decoration: none !important;

    background:
        linear-gradient(
            135deg,
            #eef2ff 0%,
            #f8fafc 52%,
            #ecfeff 100%
        );

    border: 1px solid rgba(99,102,241,.13);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}


.consultation-new-card::before {
    content: "";

    position: absolute;

    width: 170px;
    height: 170px;

    left: -70px;
    top: -90px;

    border-radius: 50%;

    background: rgba(99,102,241,.08);
}


.consultation-new-card:hover {
    transform: translateY(-3px);

    border-color: rgba(99,102,241,.25);

    box-shadow:
        0 16px 35px rgba(15,23,42,.08);
}


.consultation-new-card-icon {
    position: relative;
    z-index: 1;

    flex: 0 0 58px;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 18px;

    background: #ffffff;

    font-size: 27px;

    box-shadow:
        0 8px 20px rgba(15,23,42,.08);
}


.consultation-new-card-content {
    position: relative;
    z-index: 1;

    flex: 1;
}


.consultation-new-card-label {
    display: block;

    margin-bottom: 3px;

    font-size: 11px;
    font-weight: 800;

    color: #6366f1;
}


.consultation-new-card-content h3 {
    margin: 0 0 5px;

    font-size: 17px;
    font-weight: 900;

    color: #172033;
}


.consultation-new-card-content p {
    margin: 0;

    font-size: 12px;
    line-height: 1.8;

    color: #64748b;
}


.consultation-new-card-arrow {
    position: relative;
    z-index: 1;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 43px;
    height: 43px;

    border-radius: 13px;

    background: rgba(255,255,255,.8);

    color: #4f46e5;

    font-size: 21px;
    font-weight: 900;

    transition:
        transform .2s ease,
        background .2s ease;
}


.consultation-new-card:hover .consultation-new-card-arrow {
    transform: translateX(-5px);

    background: #ffffff;
}


/* =========================================================
   LIST HEADER
========================================================= */

.consultations-list-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    margin-bottom: 16px;
    padding: 0 4px;
}


.consultations-list-header > div:first-child > span {
    display: block;

    margin-bottom: 4px;

    font-size: 11px;
    font-weight: 800;

    color: #94a3b8;
}


.consultations-list-header h3 {
    margin: 0;

    font-size: 20px;
    font-weight: 900;

    color: #172033;
}


.consultations-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 75px;
    padding: 7px 12px;

    border-radius: 10px;

    background: #f1f5f9;

    color: #475569;

    font-size: 11px;
    font-weight: 800;
}


/* =========================================================
   CONSULTATION LIST
========================================================= */

.consultations-list {
    display: flex;
    flex-direction: column;

    gap: 12px;
}


/* =========================================================
   CONSULTATION CARD
========================================================= */

.consultation-list-card {
    display: flex;
    align-items: center;

    gap: 17px;

    min-height: 94px;

    padding: 17px 19px;

    border-radius: 19px;

    background: #ffffff;

    border: 1px solid #edf0f5;

    box-shadow:
        0 5px 20px rgba(15,23,42,.035);

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}


.consultation-list-card:hover {
    transform: translateY(-2px);

    border-color: rgba(99,102,241,.18);

    box-shadow:
        0 12px 28px rgba(15,23,42,.07);
}


/* =========================================================
   CARD ICON
========================================================= */

.consultation-list-icon {
    flex: 0 0 52px;

    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 16px;

    background: linear-gradient(
        145deg,
        #f1f5ff,
        #eef2ff
    );

    font-size: 21px;

    border: 1px solid rgba(99,102,241,.08);
}


/* =========================================================
   CONTENT
========================================================= */

.consultation-list-content {
    flex: 1;

    min-width: 0;
}


.consultation-list-top {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 8px;
}


.consultation-list-top h3 {
    margin: 0;

    min-width: 0;

    overflow: hidden;

    white-space: nowrap;
    text-overflow: ellipsis;

    font-size: 15px;
    font-weight: 850;

    color: #172033;
}


/* =========================================================
   STATUS
========================================================= */

.consultation-status {
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;

    padding: 5px 9px;

    border-radius: 8px;

    font-size: 10px;
    font-weight: 800;
}


.consultation-status-open {
    color: #047857;

    background: #ecfdf5;
}


.consultation-status-answered {
    color: #2563eb;

    background: #eff6ff;
}


.consultation-status-closed {
    color: #64748b;

    background: #f1f5f9;
}


.consultation-status-pending {
    color: #b45309;

    background: #fffbeb;
}


/* =========================================================
   META
========================================================= */

.consultation-list-meta {
    display: flex;
    align-items: center;

    flex-wrap: wrap;

    gap: 15px;

    color: #94a3b8;

    font-size: 11px;
}


.consultation-list-meta span {
    display: inline-flex;
    align-items: center;

    gap: 5px;
}


/* =========================================================
   ACTION
========================================================= */

.consultation-list-action {
    flex: 0 0 auto;
}


.consultation-open-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    min-width: 108px;

    padding: 10px 13px;

    border-radius: 11px;

    background: #f8fafc;

    border: 1px solid #e8edf3;

    color: #334155 !important;

    text-decoration: none !important;

    font-size: 11px;
    font-weight: 800;

    transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}


.consultation-open-btn span {
    color: #6366f1;

    font-size: 16px;

    transition:
        transform .2s ease;
}


.consultation-open-btn:hover {
    background: #eef2ff;

    border-color: #c7d2fe;

    color: #4f46e5 !important;
}


.consultation-open-btn:hover span {
    transform: translateX(-3px);
}


/* =========================================================
   EMPTY STATE
========================================================= */

.consultations-empty-card {
    padding: 55px 25px;

    text-align: center;

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f8fafc
        );

    border: 1px dashed #dbe2ea;

    box-shadow:
        0 8px 25px rgba(15,23,42,.035);
}


.consultations-empty-icon {
    width: 72px;
    height: 72px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 17px;

    border-radius: 22px;

    background: #eef2ff;

    font-size: 31px;
}


.consultations-empty-card h3 {
    margin: 0 0 7px;

    font-size: 17px;
    font-weight: 900;

    color: #172033;
}


.consultations-empty-card p {
    max-width: 450px;

    margin: 0 auto 22px;

    font-size: 12px;
    line-height: 1.9;

    color: #64748b;
}


.consultation-empty-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 11px 18px;

    border-radius: 12px;

    background: #4f46e5;

    color: #ffffff !important;

    text-decoration: none !important;

    font-size: 12px;
    font-weight: 800;

    box-shadow:
        0 8px 18px rgba(79,70,229,.18);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.consultation-empty-btn:hover {
    color: #ffffff !important;

    transform: translateY(-2px);

    box-shadow:
        0 12px 24px rgba(79,70,229,.25);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 768px) {

    .jahesh-consultation-page {
        padding: 5px 0 35px;
    }


    .jahesh-consultation-page .jahesh-page-header {
        align-items: stretch;
        flex-direction: column;

        padding: 22px 19px;

        border-radius: 19px;
    }


    .jahesh-consultation-page .jahesh-page-header h2 {
        font-size: 22px;
    }


    .consultation-new-btn {
        width: 100%;
    }


    .consultation-new-card {
        padding: 18px;

        gap: 13px;
    }


    .consultation-new-card-icon {
        flex-basis: 48px;

        width: 48px;
        height: 48px;

        border-radius: 14px;

        font-size: 23px;
    }


    .consultation-new-card-content h3 {
        font-size: 14px;
    }


    .consultation-new-card-content p {
        font-size: 11px;
    }


    .consultation-new-card-arrow {
        display: none;
    }


    .consultations-list-header {
        align-items: center;
    }


    .consultations-list-header h3 {
        font-size: 18px;
    }


    .consultation-list-card {
        align-items: flex-start;

        padding: 15px;

        gap: 12px;
    }


    .consultation-list-icon {
        flex-basis: 43px;

        width: 43px;
        height: 43px;

        border-radius: 13px;

        font-size: 18px;
    }


    .consultation-list-top {
        align-items: flex-start;
        flex-direction: column;

        gap: 6px;
    }


    .consultation-list-top h3 {
        font-size: 13px;

        white-space: normal;
    }


    .consultation-list-meta {
        font-size: 10px;

        gap: 8px;
    }


    .consultation-list-action {
        align-self: center;
    }


    .consultation-open-btn {
        min-width: auto;

        padding: 9px 10px;

        font-size: 10px;
    }


    .consultation-open-btn span {
        display: none;
    }

}


@media (max-width: 480px) {

    .consultation-list-card {
        display: grid;

        grid-template-columns: 43px 1fr;
    }


    .consultation-list-action {
        grid-column: 1 / -1;

        width: 100%;
    }


    .consultation-open-btn {
        width: 100%;
    }


    .consultations-empty-card {
        padding: 40px 18px;
    }

}

/* =========================================================
   JAHESH - CONSULTATION CHAT
   Modern / Premium / RTL
========================================================= */

.jahesh-consultation-chat-page {
    direction: rtl;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 20px 0 50px;
    color: #172033;
}


/* =========================================================
   Header
========================================================= */

.consultation-chat-page-header {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 22px;
}

.consultation-chat-back {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 17px;
    border-radius: 13px;
    background: #ffffff;
    border: 1px solid #e7ebf3;
    color: #475569;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    transition: all .25s ease;
    box-shadow: 0 5px 18px rgba(15, 23, 42, .04);
}

.consultation-chat-back span {
    font-size: 18px;
    transition: transform .25s ease;
}

.consultation-chat-back:hover {
    color: #2563eb;
    border-color: #bfdbfe;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(37, 99, 235, .10);
}

.consultation-chat-back:hover span {
    transform: translateX(4px);
}


.consultation-chat-title-area {
    flex: 1;
}

.consultation-chat-eyebrow {
    display: inline-block;
    margin-bottom: 5px;
    color: #2563eb;
    font-size: 12px;
    font-weight: 800;
}

.consultation-chat-title-area h2 {
    margin: 0;
    font-size: 27px;
    font-weight: 900;
    color: #111827;
    line-height: 1.5;
}


/* =========================================================
   Advisor Card
========================================================= */

.consultation-chat-advisor-card {
    position: relative;
    overflow: hidden;
    padding: 22px 24px;
    margin-bottom: 18px;
    border-radius: 22px;
    background:
        linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid #e4eaf3;
    box-shadow:
        0 12px 35px rgba(15, 23, 42, .06),
        0 2px 7px rgba(15, 23, 42, .03);
}

.consultation-chat-advisor-card::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(
        to bottom,
        #2563eb,
        #7c3aed
    );
}

.consultation-chat-advisor-main {
    display: flex;
    align-items: center;
    gap: 17px;
}

.consultation-chat-advisor-avatar {
    flex: 0 0 68px;
    width: 68px;
    height: 68px;
    padding: 3px;
    border-radius: 20px;
    background: linear-gradient(
        135deg,
        #2563eb,
        #7c3aed
    );
    box-shadow: 0 8px 20px rgba(37, 99, 235, .18);
}

.consultation-chat-advisor-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 17px;
    background: #fff;
}

.consultation-chat-advisor-info {
    min-width: 0;
    flex: 1;
}

.consultation-chat-advisor-info > span {
    display: block;
    margin-bottom: 3px;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}

.consultation-chat-advisor-info h3 {
    margin: 0;
    color: #111827;
    font-size: 19px;
    font-weight: 900;
}

.consultation-chat-advisor-info p {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   Status
========================================================= */

.consultation-chat-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    padding: 9px 14px;
    border-radius: 50px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #475569;
    font-size: 12px;
    font-weight: 800;
}

.consultation-status-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    display: inline-block;
}

.consultation-status-dot.open {
    background: #f59e0b;
    box-shadow: 0 0 0 4px rgba(245, 158, 11, .12);
}

.consultation-status-dot.answered {
    background: #10b981;
    box-shadow: 0 0 0 4px rgba(16, 185, 129, .12);
}

.consultation-status-dot.closed {
    background: #64748b;
    box-shadow: 0 0 0 4px rgba(100, 116, 139, .12);
}


/* =========================================================
   Meta
========================================================= */

.consultation-chat-meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 18px;
}

.consultation-chat-meta-item {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    padding: 15px;
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 16px;
    transition: all .22s ease;
}

.consultation-chat-meta-item:hover {
    transform: translateY(-2px);
    border-color: #dbeafe;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .05);
}

.consultation-chat-meta-item .meta-icon {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    border-radius: 12px;
    background: #eff6ff;
    font-size: 16px;
}

.consultation-chat-meta-item small {
    display: block;
    margin-bottom: 3px;
    color: #94a3b8;
    font-size: 10px;
    font-weight: 700;
}

.consultation-chat-meta-item strong {
    display: block;
    overflow: hidden;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* =========================================================
   Chat Container
========================================================= */

.consultation-chat-container {
    position: relative;
    height: 500px;
    overflow-y: auto;
    padding: 28px 24px;
    border-radius: 24px;
    background:
        linear-gradient(
            180deg,
            #f8fafc 0%,
            #f1f5f9 100%
        );
    border: 1px solid #e2e8f0;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.8),
        0 15px 35px rgba(15, 23, 42, .06);

    scroll-behavior: smooth;
}

.consultation-chat-container::-webkit-scrollbar {
    width: 7px;
}

.consultation-chat-container::-webkit-scrollbar-track {
    background: transparent;
}

.consultation-chat-container::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 20px;
}

.consultation-chat-container::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

.consultation-chat-messages {
    display: flex;
    flex-direction: column;
    gap: 20px;
}


/* =========================================================
   Empty Chat
========================================================= */

.consultation-empty-chat {
    min-height: 390px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 30px;
}

.consultation-empty-chat-icon {
    width: 76px;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid #e2e8f0;
    font-size: 32px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}

.consultation-empty-chat h3 {
    margin: 0 0 8px;
    color: #1e293b;
    font-size: 18px;
    font-weight: 900;
}

.consultation-empty-chat p {
    max-width: 420px;
    margin: 0;
    color: #64748b;
    font-size: 13px;
    line-height: 2;
}


/* =========================================================
   Message Row
========================================================= */

.consultation-message-row {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    max-width: 78%;
}

.consultation-message-row.message-me {
    align-self: flex-start;
    flex-direction: row-reverse;
}

.consultation-message-row.message-advisor {
    align-self: flex-end;
}


.consultation-message-avatar {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    padding: 2px;
    border-radius: 13px;
    background: #fff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 5px 15px rgba(15, 23, 42, .06);
}

.consultation-message-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 10px;
}


/* =========================================================
   Message Content
========================================================= */

.consultation-message-content {
    min-width: 0;
}

.consultation-message-header {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 6px;
}

.consultation-message-header strong {
    color: #334155;
    font-size: 11px;
    font-weight: 900;
}

.consultation-message-header span {
    color: #94a3b8;
    font-size: 10px;
}


/* =========================================================
   Message Bubble
========================================================= */

.consultation-message-bubble {
    padding: 13px 16px;
    border-radius: 18px;
    color: #334155;
    font-size: 13px;
    line-height: 2;
    box-shadow: 0 5px 15px rgba(15, 23, 42, .04);
}

.consultation-message-bubble p {
    margin: 0 0 7px;
}

.consultation-message-bubble p:last-child {
    margin-bottom: 0;
}


/* Student */

.message-me .consultation-message-bubble {
    background: linear-gradient(
        135deg,
        #2563eb,
        #3b82f6
    );
    color: #fff;
    border-bottom-right-radius: 5px;
    box-shadow: 0 9px 22px rgba(37, 99, 235, .18);
}

.message-me .consultation-message-header {
    justify-content: flex-start;
}

.message-me .consultation-message-header strong {
    color: #2563eb;
}


/* Advisor */

.message-advisor .consultation-message-bubble {
    background: #fff;
    border: 1px solid #e5eaf1;
    border-bottom-left-radius: 5px;
}

.message-advisor .consultation-message-header strong {
    color: #7c3aed;
}


/* =========================================================
   Compose Box
========================================================= */

.consultation-chat-compose {
    margin-top: 16px;
    padding: 16px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid #e4e9f1;
    box-shadow: 0 12px 35px rgba(15, 23, 42, .06);
}

.consultation-chat-form {
    margin: 0;
}

.consultation-chat-input-wrapper {
    overflow: hidden;
    border-radius: 17px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    transition: all .25s ease;
}

.consultation-chat-input-wrapper:focus-within {
    background: #fff;
    border-color: #93c5fd;
    box-shadow:
        0 0 0 4px rgba(37, 99, 235, .08);
}

.consultation-chat-input {
    display: block;
    width: 100%;
    min-height: 85px;
    resize: vertical;
    padding: 15px 17px;
    border: 0 !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #1e293b;
    font-family: inherit;
    font-size: 13px;
    line-height: 2;
}

.consultation-chat-input::placeholder {
    color: #94a3b8;
}

.consultation-chat-input-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 10px 12px;
    border-top: 1px solid #e9eef5;
}

.consultation-chat-input-footer > span {
    color: #94a3b8;
    font-size: 10px;
}


/* =========================================================
   Send Button
========================================================= */

.consultation-chat-send-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 125px;
    padding: 10px 17px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(
        135deg,
        #2563eb,
        #4f46e5
    );
    color: #fff;
    font-family: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 7px 18px rgba(37, 99, 235, .20);
    transition: all .25s ease;
}

.consultation-chat-send-btn b {
    font-size: 15px;
    transition: transform .25s ease;
}

.consultation-chat-send-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 11px 25px rgba(37, 99, 235, .28);
}

.consultation-chat-send-btn:hover b {
    transform: translateX(-3px);
}

.consultation-chat-send-btn:active {
    transform: translateY(0);
}


/* =========================================================
   Inline Error
========================================================= */

.consultation-chat-inline-error {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;
    padding: 11px 14px;
    border-radius: 13px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #c2410c;
    font-size: 12px;
    font-weight: 700;
}

.consultation-chat-inline-error span {
    font-size: 16px;
}


/* =========================================================
   Closed Chat
========================================================= */

.consultation-chat-closed {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 16px;
    padding: 19px;
    border-radius: 19px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.consultation-chat-closed-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    border-radius: 15px;
    background: #e2e8f0;
    font-size: 21px;
}

.consultation-chat-closed strong {
    display: block;
    margin-bottom: 3px;
    color: #334155;
    font-size: 14px;
    font-weight: 900;
}

.consultation-chat-closed p {
    margin: 0;
    color: #64748b;
    font-size: 11px;
    line-height: 1.8;
}

.consultation-new-chat-btn {
    margin-right: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border-radius: 11px;
    background: #2563eb;
    color: #fff;
    text-decoration: none;
    font-size: 11px;
    font-weight: 800;
    transition: all .2s ease;
}

.consultation-new-chat-btn:hover {
    background: #1d4ed8;
    color: #fff;
    transform: translateY(-2px);
}


/* =========================================================
   Error Cards
========================================================= */

.consultation-chat-error-card {
    max-width: 620px;
    margin: 60px auto;
    padding: 40px 30px;
    text-align: center;
    background: #fff;
    border: 1px solid #e5eaf1;
    border-radius: 25px;
    box-shadow: 0 15px 40px rgba(15, 23, 42, .07);
}

.consultation-chat-error-icon {
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    border-radius: 22px;
    background: #eff6ff;
    font-size: 30px;
}

.consultation-chat-error-card h2 {
    margin: 0 0 8px;
    color: #1e293b;
    font-size: 21px;
    font-weight: 900;
}

.consultation-chat-error-card p {
    margin: 0 0 22px;
    color: #64748b;
    font-size: 13px;
}

.consultation-chat-back-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 18px;
    border-radius: 12px;
    background: #2563eb;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 800;
    transition: all .2s ease;
}

.consultation-chat-back-btn:hover {
    color: #fff;
    background: #1d4ed8;
    transform: translateY(-2px);
}


/* =========================================================
   SweetAlert
========================================================= */

.swal2-popup {
    direction: rtl !important;
    font-family: inherit !important;
    border-radius: 22px !important;
}

.swal2-title {
    font-size: 21px !important;
    font-weight: 900 !important;
}

.swal2-html-container {
    font-size: 13px !important;
    line-height: 2 !important;
}

.swal2-confirm {
    border-radius: 11px !important;
    font-family: inherit !important;
    font-weight: 800 !important;
}


/* =========================================================
   Responsive
========================================================= */

@media (max-width: 900px) {

    .jahesh-consultation-chat-page {
        padding: 15px 12px 40px;
    }

    .consultation-chat-meta {
        grid-template-columns: 1fr;
    }

    .consultation-message-row {
        max-width: 88%;
    }

}


@media (max-width: 650px) {

    .consultation-chat-page-header {
        align-items: flex-start;
        flex-direction: column-reverse;
        gap: 12px;
    }

    .consultation-chat-title-area h2 {
        font-size: 22px;
    }

    .consultation-chat-back {
        width: 100%;
        justify-content: center;
    }

    .consultation-chat-advisor-card {
        padding: 17px;
    }

    .consultation-chat-advisor-main {
        align-items: flex-start;
    }

    .consultation-chat-advisor-avatar {
        width: 56px;
        height: 56px;
        flex-basis: 56px;
    }

    .consultation-chat-status {
        position: absolute;
        left: 14px;
        top: 14px;
        padding: 7px 10px;
        font-size: 10px;
    }

    .consultation-chat-advisor-info {
        padding-left: 65px;
    }

    .consultation-chat-container {
        height: 440px;
        padding: 20px 13px;
        border-radius: 19px;
    }

    .consultation-message-row {
        max-width: 94%;
        gap: 7px;
    }

    .consultation-message-avatar {
        width: 31px;
        height: 31px;
        flex-basis: 31px;
    }

    .consultation-message-bubble {
        padding: 11px 13px;
        font-size: 12px;
    }

    .consultation-message-header {
        margin-bottom: 4px;
    }

    .consultation-chat-compose {
        padding: 10px;
        border-radius: 17px;
    }

    .consultation-chat-input-footer {
        align-items: flex-end;
        flex-direction: column;
    }

    .consultation-chat-input-footer > span {
        width: 100%;
    }

    .consultation-chat-send-btn {
        width: 100%;
    }

    .consultation-chat-closed {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .consultation-new-chat-btn {
        width: 100%;
        margin-right: 0;
    }

}


@media (max-width: 420px) {

    .consultation-chat-advisor-info {
        padding-left: 0;
    }

    .consultation-chat-status {
        position: static;
        margin-top: 12px;
    }

    .consultation-chat-advisor-main {
        flex-wrap: wrap;
    }

    .consultation-chat-advisor-info {
        flex: 1 1 calc(100% - 75px);
    }

}

/* =========================================================
   Jahesh - Daily Report
   ========================================================= */

.jahesh-daily-report-page {
    direction: rtl;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 25px 20px 50px;
    box-sizing: border-box;
}


/* =========================================================
   Page Header
   ========================================================= */

.jahesh-daily-report-page .jahesh-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 25px;
    padding: 25px 28px;
    border-radius: 22px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid #e7edf5;
    box-shadow: 0 8px 30px rgba(30, 50, 80, 0.06);
}

.jahesh-daily-report-page .jahesh-page-header h2 {
    margin: 0 0 8px;
    color: #172033;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.5;
}

.jahesh-daily-report-page .jahesh-page-header p {
    margin: 0;
    color: #788397;
    font-size: 14px;
    line-height: 1.9;
}


/* =========================================================
   Main Card
   ========================================================= */

.jahesh-daily-report-page .jahesh-card {
    background: #ffffff;
    border: 1px solid #e8edf4;
    border-radius: 24px;
    padding: 30px;
    box-shadow: 0 10px 35px rgba(30, 50, 80, 0.07);
    box-sizing: border-box;
}


/* =========================================================
   Date Box
   ========================================================= */

.jahesh-daily-report-page .daily-report-date {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    margin-bottom: 30px;
    padding: 18px 22px;

    border-radius: 17px;

    background: linear-gradient(
        135deg,
        #f4f8ff 0%,
        #eef5ff 100%
    );

    border: 1px solid #dce8fa;
}

.jahesh-daily-report-page .daily-report-date strong {
    display: flex;
    align-items: center;
    gap: 9px;

    color: #1e3a68;
    font-size: 17px;
    font-weight: 800;
}

.jahesh-daily-report-page .daily-report-date strong::before {
    content: "📅";
    font-size: 20px;
}

.jahesh-daily-report-page .daily-report-date span {
    direction: ltr;
    color: #315b91;
    font-size: 16px;
    font-weight: 700;
    background: #ffffff;
    border: 1px solid #dbe6f5;
    border-radius: 10px;
    padding: 8px 13px;
}


/* =========================================================
   Form
   ========================================================= */

.jahesh-daily-report-page .jahesh-daily-report-form {
    display: flex;
    flex-direction: column;
    gap: 22px;
}


/* =========================================================
   Fields
   ========================================================= */

.jahesh-daily-report-page .daily-report-field {
    width: 100%;
}

.jahesh-daily-report-page .daily-report-field > label {
    display: block;

    margin-bottom: 9px;

    color: #273247;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.8;
}


/* =========================================================
   Inputs / Textareas
   ========================================================= */

.jahesh-daily-report-page .daily-report-field input[type="number"],
.jahesh-daily-report-page .daily-report-field textarea {
    width: 100%;
    box-sizing: border-box;

    border: 1px solid #dfe5ed;
    border-radius: 14px;

    background: #fbfcfe;

    color: #202b3c;

    font-family: inherit;
    font-size: 14px;

    outline: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease,
        transform 0.2s ease;
}


/* Number input */

.jahesh-daily-report-page .daily-report-field input[type="number"] {
    min-height: 52px;
    padding: 0 16px;
}


/* Textarea */

.jahesh-daily-report-page .daily-report-field textarea {
    min-height: 120px;
    padding: 14px 16px;

    resize: vertical;

    line-height: 2;
}


/* Focus */

.jahesh-daily-report-page .daily-report-field input[type="number"]:focus,
.jahesh-daily-report-page .daily-report-field textarea:focus {
    background: #ffffff;

    border-color: #5b8def;

    box-shadow:
        0 0 0 4px rgba(91, 141, 239, 0.10);

    transform: translateY(-1px);
}


/* Placeholder */

.jahesh-daily-report-page .daily-report-field input::placeholder,
.jahesh-daily-report-page .daily-report-field textarea::placeholder {
    color: #aab3c0;
}


/* =========================================================
   Study Hours
   ========================================================= */

.jahesh-daily-report-page
.daily-report-field:first-of-type {
    background: #f9fbff;
    border: 1px solid #e5ecf7;
    border-radius: 18px;
    padding: 18px;
}

.jahesh-daily-report-page
.daily-report-field:first-of-type
input[type="number"] {
    background: #ffffff;
}


/* =========================================================
   Satisfaction Options
   ========================================================= */

.jahesh-daily-report-page .daily-report-options {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 12px;

    margin-top: 10px;
}


.jahesh-daily-report-page
.daily-report-options
label {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 52px;

    padding: 0 12px;

    box-sizing: border-box;

    border: 1px solid #e1e6ee;
    border-radius: 14px;

    background: #fbfcfe;

    color: #4d586b;

    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

    transition:
        all 0.2s ease;
}


.jahesh-daily-report-page
.daily-report-options
label:hover {
    border-color: #9bb7e6;
    background: #f5f8fd;
    transform: translateY(-2px);
}


/* Hide radio */

.jahesh-daily-report-page
.daily-report-options
input[type="radio"] {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


/* Selected */

.jahesh-daily-report-page
.daily-report-options
label:has(input[type="radio"]:checked) {
    background: #edf4ff;
    border-color: #5b8def;
    color: #285da9;

    box-shadow:
        0 5px 15px rgba(91, 141, 239, 0.12);
}


/* =========================================================
   Textarea Individual Sizes
   ========================================================= */

.jahesh-daily-report-page
.daily-report-field:nth-of-type(2)
textarea {
    min-height: 105px;
}

.jahesh-daily-report-page
.daily-report-field:nth-of-type(3)
textarea {
    min-height: 135px;
}

.jahesh-daily-report-page
.daily-report-field:nth-of-type(6)
textarea,
.jahesh-daily-report-page
.daily-report-field:nth-of-type(7)
textarea {
    min-height: 110px;
}


/* =========================================================
   Submit Button
   ========================================================= */

.jahesh-daily-report-page
.jahesh-daily-report-form
.exam-start-btn {
    width: 100%;

    min-height: 56px;

    margin-top: 8px;

    border: 0;
    border-radius: 15px;

    background: linear-gradient(
        135deg,
        #3d7eea 0%,
        #5d96f2 100%
    );

    color: #ffffff;

    font-family: inherit;
    font-size: 15px;
    font-weight: 800;

    cursor: pointer;

    box-shadow:
        0 8px 20px rgba(61, 126, 234, 0.22);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        filter 0.2s ease;
}


.jahesh-daily-report-page
.jahesh-daily-report-form
.exam-start-btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 12px 25px rgba(61, 126, 234, 0.28);

    filter: brightness(1.03);
}


.jahesh-daily-report-page
.jahesh-daily-report-form
.exam-start-btn:active {
    transform: translateY(0);
}


/* =========================================================
   Form Separator Feel
   ========================================================= */

.jahesh-daily-report-page
.daily-report-field:nth-of-type(2),
.jahesh-daily-report-page
.daily-report-field:nth-of-type(4),
.jahesh-daily-report-page
.daily-report-field:nth-of-type(6) {
    padding-top: 5px;
}


/* =========================================================
   Responsive - Tablet
   ========================================================= */

@media (max-width: 768px) {

    .jahesh-daily-report-page {
        padding: 18px 14px 35px;
    }


    .jahesh-daily-report-page
    .jahesh-page-header {
        padding: 20px;

        border-radius: 18px;

        margin-bottom: 18px;
    }


    .jahesh-daily-report-page
    .jahesh-page-header h2 {
        font-size: 22px;
    }


    .jahesh-daily-report-page
    .jahesh-card {
        padding: 20px;

        border-radius: 19px;
    }


    .jahesh-daily-report-page
    .daily-report-date {
        padding: 15px 16px;

        border-radius: 14px;
    }


    .jahesh-daily-report-page
    .daily-report-options {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   Responsive - Mobile
   ========================================================= */

@media (max-width: 480px) {

    .jahesh-daily-report-page {
        padding: 12px 10px 30px;
    }


    .jahesh-daily-report-page
    .jahesh-page-header {
        display: block;

        padding: 18px;

        border-radius: 16px;
    }


    .jahesh-daily-report-page
    .jahesh-page-header h2 {
        font-size: 20px;
    }


    .jahesh-daily-report-page
    .jahesh-page-header p {
        font-size: 13px;
    }


    .jahesh-daily-report-page
    .jahesh-card {
        padding: 15px;

        border-radius: 17px;
    }


    .jahesh-daily-report-page
    .daily-report-date {
        flex-direction: column;

        align-items: stretch;

        gap: 10px;

        padding: 14px;
    }


    .jahesh-daily-report-page
    .daily-report-date strong {
        justify-content: center;
    }


    .jahesh-daily-report-page
    .daily-report-date span {
        text-align: center;
    }


    .jahesh-daily-report-page
    .daily-report-options {
        grid-template-columns: 1fr 1fr;

        gap: 8px;
    }


    .jahesh-daily-report-page
    .daily-report-options
    label {
        min-height: 48px;

        font-size: 12px;
    }


    .jahesh-daily-report-page
    .daily-report-field
    input[type="number"] {
        min-height: 50px;
    }


    .jahesh-daily-report-page
    .daily-report-field
    textarea {
        font-size: 13px;

        min-height: 105px;
    }


    .jahesh-daily-report-page
    .jahesh-daily-report-form {
        gap: 18px;
    }


    .jahesh-daily-report-page
    .jahesh-daily-report-form
    .exam-start-btn {
        min-height: 53px;

        font-size: 14px;
    }

}


/* =========================================================
   Very Small Screens
   ========================================================= */

@media (max-width: 360px) {

    .jahesh-daily-report-page
    .daily-report-options {
        grid-template-columns: 1fr;
    }



}


/* =========================================================
   Jahesh Daily Report
   صفحه گزارش کار روزانه
========================================================= */

.jahesh-daily-report-page {
    direction: rtl;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 24px;
    box-sizing: border-box;
    color: #1f2937;
    font-family: inherit;
}

.jahesh-daily-report-page *,
.jahesh-daily-report-page *::before,
.jahesh-daily-report-page *::after {
    box-sizing: border-box;
}


/* =========================================================
   Header
========================================================= */

.jahesh-daily-report-page .jahesh-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.jahesh-daily-report-page .jahesh-page-header h2 {
    margin: 0 0 8px;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.5;
    color: #111827;
}

.jahesh-daily-report-page .jahesh-page-header p {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.8;
}


/* =========================================================
   Card
========================================================= */

.jahesh-daily-report-page .jahesh-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    box-shadow: 0 8px 30px rgba(15, 23, 42, 0.06);
}


/* =========================================================
   Alert
========================================================= */

.daily-report-alert {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    margin-bottom: 20px;
    border-radius: 14px;
    border: 1px solid transparent;
    font-size: 14px;
    line-height: 1.8;
}

.daily-report-alert-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-weight: 800;
}

.daily-report-alert-success {
    background: #ecfdf5;
    border-color: #a7f3d0;
    color: #065f46;
}

.daily-report-alert-success .daily-report-alert-icon {
    background: #10b981;
    color: #ffffff;
}

.daily-report-alert-error {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}

.daily-report-alert-error .daily-report-alert-icon {
    background: #ef4444;
    color: #ffffff;
}


/* =========================================================
   Today Completed
========================================================= */

.daily-report-today-completed {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 28px;
    margin-bottom: 24px;
    background: linear-gradient(135deg, #f0fdf4, #ffffff);
    border-color: #bbf7d0;
}

.daily-report-completed-icon {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #16a34a;
    color: #ffffff;
    font-size: 30px;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(22, 163, 74, 0.2);
}

.daily-report-completed-content h3 {
    margin: 0 0 8px;
    color: #166534;
    font-size: 20px;
    font-weight: 800;
}

.daily-report-completed-content p {
    margin: 5px 0;
    color: #4b5563;
    font-size: 14px;
    line-height: 1.9;
}

.daily-report-completed-date {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    padding: 8px 12px;
    border-radius: 10px;
    background: #dcfce7;
    color: #166534;
    font-size: 13px;
}

.daily-report-completed-date strong {
    font-weight: 800;
}


/* =========================================================
   Main Report Card
========================================================= */

.daily-report-card {
    overflow: hidden;
    margin-bottom: 28px;
}


/* =========================================================
   Date Box
========================================================= */

.daily-report-date-box {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 24px 28px;
    background: linear-gradient(135deg, #f8fafc, #eef2ff);
    border-bottom: 1px solid #e5e7eb;
}

.daily-report-date-icon {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    font-size: 27px;
    box-shadow: 0 5px 15px rgba(15, 23, 42, 0.06);
}

.daily-report-date-content {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.daily-report-date-label {
    color: #6b7280;
    font-size: 13px;
}

.daily-report-date-jalali {
    color: #111827;
    font-size: 24px;
    font-weight: 900;
    letter-spacing: 0.3px;
}

.daily-report-date-content small {
    color: #9ca3af;
    font-size: 12px;
}

.daily-report-today-badge {
    margin-right: auto;
    padding: 7px 14px;
    border-radius: 999px;
    background: #111827;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   Intro
========================================================= */

.daily-report-intro {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 24px 28px 0;
    padding: 17px 18px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
}

.daily-report-intro-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #ffffff;
    font-size: 20px;
}

.daily-report-intro strong {
    display: block;
    margin-bottom: 4px;
    color: #1f2937;
    font-size: 15px;
}

.daily-report-intro p {
    margin: 0;
    color: #6b7280;
    font-size: 13px;
    line-height: 1.9;
}


/* =========================================================
   Form
========================================================= */

.jahesh-daily-report-form {
    padding: 8px 28px 30px;
}

.daily-report-section {
    padding: 28px 0;
    border-bottom: 1px solid #eef0f3;
}

.daily-report-section:last-of-type {
    border-bottom: 0;
}

.daily-report-section-title {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-bottom: 20px;
}

.daily-report-section-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #f3f4f6;
    font-size: 19px;
}

.daily-report-section-title h3 {
    margin: 0 0 3px;
    color: #111827;
    font-size: 17px;
    font-weight: 800;
}

.daily-report-section-title p {
    margin: 0;
    color: #9ca3af;
    font-size: 12px;
    line-height: 1.7;
}

.daily-report-field {
    width: 100%;
}

.daily-report-field > label {
    display: block;
    margin-bottom: 8px;
    color: #374151;
    font-size: 13px;
    font-weight: 700;
}

.daily-report-field > label span {
    color: #ef4444;
}


/* =========================================================
   Inputs
========================================================= */

.daily-report-field input[type="text"],
.daily-report-field input[type="number"],
.daily-report-field textarea,
.daily-report-field select {
    width: 100%;
    border: 1px solid #d1d5db;
    border-radius: 11px;
    background: #ffffff;
    color: #111827;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.8;
    outline: none;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.daily-report-field input[type="text"],
.daily-report-field input[type="number"],
.daily-report-field select {
    min-height: 48px;
    padding: 10px 13px;
}

.daily-report-field textarea {
    min-height: 110px;
    padding: 12px 14px;
    resize: vertical;
}

.daily-report-field input:focus,
.daily-report-field textarea:focus,
.daily-report-field select:focus {
    border-color: #6366f1;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1);
}

.daily-report-field input::placeholder,
.daily-report-field textarea::placeholder {
    color: #b0b5bd;
}

.daily-report-input-with-unit {
    position: relative;
    display: flex;
    align-items: center;
}

.daily-report-input-with-unit input {
    padding-left: 90px !important;
}

.daily-report-input-with-unit > span {
    position: absolute;
    left: 14px;
    color: #6b7280;
    font-size: 12px;
    font-weight: 600;
    pointer-events: none;
}

.daily-report-field-help {
    display: block;
    margin-top: 7px;
    color: #9ca3af;
    font-size: 11px;
    line-height: 1.7;
}


/* =========================================================
   Satisfaction Options
========================================================= */

.daily-report-options {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.daily-report-option {
    position: relative;
    cursor: pointer;
}

.daily-report-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.daily-report-option-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 78px;
    padding: 12px 8px;
    text-align: center;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #ffffff;
    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.daily-report-option-content strong {
    color: #374151;
    font-size: 14px;
    font-weight: 800;
}

.daily-report-option-content small {
    margin-top: 3px;
    color: #9ca3af;
    font-size: 11px;
}

.daily-report-option:hover .daily-report-option-content {
    border-color: #c7d2fe;
    background: #f8faff;
    transform: translateY(-1px);
}

.daily-report-option input:checked + .daily-report-option-content {
    border-color: #6366f1;
    background: #eef2ff;
    box-shadow: 0 4px 14px rgba(99, 102, 241, 0.12);
}

.daily-report-option input:checked + .daily-report-option-content strong {
    color: #4338ca;
}


/* =========================================================
   Submit Area
========================================================= */

.daily-report-submit-area {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 10px;
    padding-top: 25px;
}

.daily-report-submit-info {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    padding: 12px 14px;
    border-radius: 11px;
    background: #f9fafb;
    border: 1px solid #eef0f2;
}

.daily-report-submit-info > span {
    font-size: 18px;
}

.daily-report-submit-info p {
    margin: 0;
    color: #6b7280;
    font-size: 11px;
    line-height: 1.8;
}

.daily-report-submit-btn {
    min-width: 210px;
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 22px;
    border: 0;
    border-radius: 11px;
    background: #111827;
    color: #ffffff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        opacity 0.2s ease;
}

.daily-report-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(17, 24, 39, 0.18);
}

.daily-report-submit-btn:active {
    transform: translateY(0);
}

.daily-report-submit-btn:disabled {
    cursor: not-allowed;
    opacity: 0.7;
    transform: none;
    box-shadow: none;
}

.daily-report-submit-icon {
    font-size: 17px;
}

.daily-report-submit-btn.is-loading .daily-report-submit-icon {
    animation: dailyReportPulse 1s infinite;
}

@keyframes dailyReportPulse {
    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.35;
    }
}


/* =========================================================
   History
========================================================= */

.daily-report-history-card {
    overflow: hidden;
}

.daily-report-history-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 28px;
    border-bottom: 1px solid #eef0f3;
}

.daily-report-history-header h2 {
    margin: 0 0 5px;
    color: #111827;
    font-size: 19px;
    font-weight: 800;
}

.daily-report-history-header p {
    margin: 0;
    color: #9ca3af;
    font-size: 12px;
}

.daily-report-history-count {
    padding: 8px 13px;
    border-radius: 999px;
    background: #f3f4f6;
    color: #4b5563;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.daily-report-history-list {
    padding: 18px 28px 28px;
}

.daily-report-history-item {
    padding: 22px 0;
    border-bottom: 1px solid #eef0f3;
}

.daily-report-history-item:last-child {
    border-bottom: 0;
}

.daily-report-history-item.is-today {
    margin: 0 -12px;
    padding: 22px 12px;
    border-radius: 13px;
    background: #fafafa;
}

.daily-report-history-item-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 18px;
}

.daily-report-history-date {
    display: flex;
    align-items: center;
    gap: 8px;
}

.daily-report-history-date strong {
    color: #1f2937;
    font-size: 15px;
    font-weight: 800;
}

.daily-report-history-today {
    padding: 4px 9px;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: 10px;
    font-weight: 800;
}

.daily-report-history-study {
    padding: 7px 11px;
    border-radius: 9px;
    background: #f3f4f6;
    color: #4b5563;
    font-size: 12px;
    font-weight: 700;
}

.daily-report-history-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.daily-report-history-field {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    padding: 13px;
    border: 1px solid #eef0f3;
    border-radius: 11px;
    background: #ffffff;
}

.daily-report-history-field > span {
    font-size: 16px;
}

.daily-report-history-field small {
    display: block;
    margin-bottom: 3px;
    color: #9ca3af;
    font-size: 10px;
}

.daily-report-history-field p {
    margin: 0;
    color: #374151;
    font-size: 12px;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

.daily-report-history-text {
    margin-top: 13px;
    padding: 14px 16px;
    border-radius: 11px;
    background: #f9fafb;
    border: 1px solid #eef0f3;
}

.daily-report-history-text strong {
    display: block;
    margin-bottom: 6px;
    color: #374151;
    font-size: 12px;
}

.daily-report-history-text p {
    margin: 0;
    color: #6b7280;
    font-size: 12px;
    line-height: 2;
}

.daily-report-history-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 14px;
    color: #9ca3af;
    font-size: 10px;
}

.daily-report-history-status {
    color: #16a34a;
    font-weight: 700;
}


/* =========================================================
   Empty History
========================================================= */

.daily-report-history-empty {
    padding: 55px 20px;
    text-align: center;
}

.daily-report-history-empty > div {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: #f3f4f6;
    font-size: 25px;
}

.daily-report-history-empty h3 {
    margin: 0 0 7px;
    color: #374151;
    font-size: 16px;
}

.daily-report-history-empty p {
    margin: 0;
    color: #9ca3af;
    font-size: 12px;
}


/* =========================================================
   Responsive
========================================================= */

@media (max-width: 900px) {

    .jahesh-daily-report-page {
        padding: 18px;
    }

    .daily-report-options {
        grid-template-columns: repeat(2, 1fr);
    }

    .daily-report-history-summary {
        grid-template-columns: 1fr;
    }

    .daily-report-submit-area {
        flex-direction: column;
        align-items: stretch;
    }

    .daily-report-submit-btn {
        width: 100%;
    }

}


@media (max-width: 600px) {

    .jahesh-daily-report-page {
        padding: 10px;
    }

    .jahesh-daily-report-page .jahesh-page-header {
        margin-bottom: 16px;
    }

    .jahesh-daily-report-page .jahesh-page-header h2 {
        font-size: 22px;
    }

    .daily-report-date-box {
        align-items: flex-start;
        padding: 18px;
        gap: 12px;
    }

    .daily-report-date-icon {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
        font-size: 21px;
    }

    .daily-report-date-jalali {
        font-size: 19px;
    }

    .daily-report-today-badge {
        display: none;
    }

    .daily-report-intro {
        margin: 18px 16px 0;
    }

    .jahesh-daily-report-form {
        padding: 4px 16px 22px;
    }

    .daily-report-section {
        padding: 22px 0;
    }

    .daily-report-section-title h3 {
        font-size: 15px;
    }

    .daily-report-options {
        grid-template-columns: 1fr 1fr;
    }

    .daily-report-history-header {
        align-items: flex-start;
        flex-direction: column;
        padding: 20px 16px;
    }

    .daily-report-history-list {
        padding: 12px 16px 20px;
    }

    .daily-report-history-item.is-today {
        margin: 0 -6px;
        padding: 18px 6px;
    }

    .daily-report-history-item-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .daily-report-history-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .daily-report-today-completed {
        align-items: flex-start;
        padding: 20px;
        gap: 15px;
    }

    .daily-report-completed-icon {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
        font-size: 24px;
    }

}


@media (max-width: 400px) {

    .daily-report-options {
        grid-template-columns: 1fr;
    }

    .daily-report-date-content small {
        display: none;
    }

}



.jahesh-question-image {
    width: 100%;
    margin: 20px 0;
    text-align: center;
}

.jahesh-question-image img {
    display: inline-block;
    max-width: 100%;
    width: auto;
    height: auto;
    max-height: 600px;
    object-fit: contain;
    border-radius: 14px;
}

/* Ensure form controls and interactive elements use Vazir */
button,
input,
select,
textarea,
option {
    font-family: var(--jahesh-font) !important;
}


/* =========================================================
   JAHESH PANEL - GLOBAL VAZIR FONT
   ========================================================= */

@font-face {
    font-family: "Vazir";

    src:
        url("../assets/fonts/vazir.woff2") format("woff2"),
        url("../assets/fonts/vazir.woff") format("woff"),
        url("../assets/fonts/vazir.ttf") format("truetype");

    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

/* اگر مسیر بالا با محل panel.css متفاوت است،
   فقط مسیر فایل فونت را متناسب با ساختار قالب تغییر بده. */

:root {
    --jahesh-font: "Vazir", Tahoma, Arial, sans-serif;
}


/* =========================================================
   GLOBAL FONT
   ========================================================= */

html,
body {
    font-family: var(--jahesh-font) !important;
}


/* کل پنل */
.jahesh-panel-wrapper,
.jahesh-panel-wrapper *,
.jahesh-panel-wrapper *::before,
.jahesh-panel-wrapper *::after,

.jahesh-panel,
.jahesh-panel *,
.jahesh-panel *::before,
.jahesh-panel *::after,

.jahesh-content,
.jahesh-content *,

.jahesh-header,
.jahesh-header *,

.jahesh-sidebar,
.jahesh-sidebar *,

.jahesh-footer,
.jahesh-footer *,

.jahesh-dashboard,
.jahesh-dashboard *,

.jahesh-profile,
.jahesh-profile *,

.jahesh-exams,
.jahesh-exams *,

.jahesh-exams-grid,
.jahesh-exams-grid *,

.exam-wrapper,
.exam-wrapper *,

.question-card,
.question-card *,

.jahesh-datepicker,
.jahesh-datepicker *,

.jahesh-calendar,
.jahesh-calendar *,

.jahesh-daily-report-page,
.jahesh-daily-report-page *,

.consultation-chat,
.consultation-chat *,

.swal2-popup,
.swal2-popup *,

button,
input,
select,
textarea,
option {
    font-family: var(--jahesh-font) !important;
}


/* =========================================================
   FORM ELEMENTS
   ========================================================= */

input,
input::placeholder,
textarea,
textarea::placeholder,
select,
option,
button {
    font-family: var(--jahesh-font) !important;
}


/* =========================================================
   FONT WEIGHT
   ========================================================= */

body {
    font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--jahesh-font) !important;
    font-weight: 700;
}

button,
.jahesh-btn,
.jahesh-profile-save,
.exam-start-btn,
.exam-start-btn,
.start-btn {
    font-family: var(--jahesh-font) !important;
}


/* =========================================================
   SWEETALERT
   ========================================================= */

.swal2-popup,
.swal2-popup *,
.swal2-title,
.swal2-html-container,
.swal2-confirm,
.swal2-cancel {
    font-family: var(--jahesh-font) !important;
}


/* =========================================================
   ICONS
   ========================================================= */

/*
   اگر Font Awesome / Bootstrap Icons داری،
   روی خود آیکون‌ها فونت Vazir اعمال نمی‌کنیم.
   چون باعث خراب شدن آیکون‌ها می‌شود.
*/

i[class*="fa-"],
[class*="fa-"]::before,
[class*="fa-"]::after,
i[class*="bi-"],
[class*="bi-"]::before,
[class*="bi-"]::after {
    font-family: inherit;
}


/* =========================================================
   FINAL OVERRIDE
   ========================================================= */

html body .jahesh-panel-wrapper,
html body .jahesh-panel-wrapper *,
html body .jahesh-panel-wrapper input,
html body .jahesh-panel-wrapper textarea,
html body .jahesh-panel-wrapper select,
html body .jahesh-panel-wrapper button {
    font-family: var(--jahesh-font) !important;
}


/* برای حذف کامل فاصله از بالا */
html, body {
    margin: 0 !important;
    padding: 0 !important;
}

/* این بخش هدر را به بالاترین نقطه می‌چسباند */
.jahesh-header {
    position: fixed; /* یا absolute */
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999; /* مطمئن شو روی همه چیز قرار می‌گیرد */
    height: 70px;
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 30px;
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
}

/* برای اینکه محتوای زیر هدر، پشت آن نرود */
.jahesh-panel {
    margin-top: 70px; /* به اندازه ارتفاع هدر فاصله بده */
}
