/* ===========================================
   ERP V2
   Components
=========================================== */

/* ---------- Card ---------- */

.card{

    background:var(--glass-bg);

    -webkit-backdrop-filter:blur(var(--glass-blur));

    backdrop-filter:blur(var(--glass-blur));

    border-radius:var(--radius);

    border:1px solid var(--glass-border);

    box-shadow:var(--shadow);

    padding:24px;

}

.card:has(table.table){

    overflow-x:auto;

}

/* ---------- Table ---------- */

.table{

    width:100%;

    border-collapse:collapse;

}

.table thead{

    background:var(--surface-alt);

}

.table th{

    padding:16px;

    text-align:right;

    font-size:14px;

    font-weight:700;

    border-bottom:1px solid var(--border);

}

.table td{

    padding:16px;

    border-bottom:1px solid var(--border);

    vertical-align:middle;

}

.table tbody tr{

    transition:.2s;

}

.table tbody tr:hover{

    background:var(--surface-alt);

}

/* ---------- Form ---------- */

.form-group{

    margin-bottom:20px;

}

.form-group label{

    display:block;

    margin-bottom:8px;

    font-size:13.5px;

    font-weight:700;

    color:var(--text-light);

}

.form-row{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

}

.form-row > *{

    min-width:0;

}

/* ---------- Search ---------- */

.search-box{

    position:relative;

    width:300px;

}

.search-box input{

    width:100%;

    height:44px;

    border:1px solid var(--border);

    border-radius:10px;

    padding:0 15px;

}

/* ---------- Modal ---------- */

.modal{

    position:fixed;

    inset:0;

    background:rgba(15,23,42,.55);
    backdrop-filter:blur(2px);

    display:none;

    align-items:center;

    justify-content:center;

    z-index:9999;

    padding:20px;

    animation:modal-backdrop-in .2s ease;

}

@keyframes modal-backdrop-in{
    from{ background:rgba(15,23,42,0); }
    to{ background:rgba(15,23,42,.55); }
}

.modal.show{

    display:flex;

}

.modal-box{

    width:650px;

    max-width:95%;
    max-height:90vh;

    background:var(--glass-bg-strong);

    -webkit-backdrop-filter:blur(var(--glass-blur));
    backdrop-filter:blur(var(--glass-blur));

    border:1px solid var(--glass-border);

    border-radius:22px;

    box-shadow:0 30px 70px rgba(0,0,0,.3), 0 1px 0 rgba(255,255,255,.06) inset;

    animation:popup .3s cubic-bezier(.34,1.56,.64,1);

    display:flex;
    flex-direction:column;
    overflow:hidden;

}

.modal-box::before{

    content:"";
    display:block;
    height:4px;
    flex-shrink:0;
    background:linear-gradient(90deg, var(--primary), var(--accent));

}

@keyframes popup{

    from{

        transform:translateY(20px);

        opacity:0;

    }

    to{

        transform:translateY(0);

        opacity:1;

    }

}

.modal-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:20px 26px;
    background:linear-gradient(180deg, rgba(124,58,237,.07), rgba(124,58,237,0) 70%);
    border-bottom:1px solid var(--glass-border);
    flex-shrink:0;

}

.modal-title{

    font-size:18px;

    font-weight:800;

    display:flex;
    align-items:center;
    gap:10px;

}

.modal-title::before{

    content:"";
    display:block;
    width:8px;
    height:8px;
    border-radius:50%;
    flex-shrink:0;
    background:linear-gradient(135deg, var(--primary), var(--accent));
    box-shadow:0 0 0 4px rgba(124,58,237,.15);

}

[data-modal-close]{

    width:32px;
    height:32px;
    flex-shrink:0;
    border:none;
    border-radius:50%;
    background:var(--surface-alt);
    color:var(--text-light);
    font-size:14px;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 2px 6px rgba(0,0,0,.06);
    transition:background .15s ease, color .15s ease, transform .15s ease;

}

[data-modal-close]:hover{

    background:var(--danger);
    color:#fff;
    transform:rotate(90deg);

}

.modal-box > form,
.modal-box > #detailsContent,
.modal-box > #answersContainer,
.modal-box > #letterModalBody,
.modal-box > .modal-scroll-body{

    padding:24px 30px 30px;
    overflow-y:auto;
    flex:1;
    min-height:0;

}

/* شبکه‌ی ایمنِ عمومی: هر مودالی که محتوایش را داخلِ یکی از رَپِرهای بالا
   نگذاشته (مستقیماً چندتا form-group/div به‌عنوانِ فرزندِ مستقیمِ
   modal-box) هم باز فاصله‌ی مناسب از لبه‌ها بگیرد، بدون این‌که رفتارِ
   اسکرولِ تکی‌ای که رپرهایِ بالا دارند را بهم بزند (چون این‌ها معمولاً
   خودِ modal-box اسکرول می‌شود). */
.modal-box > *:not(.modal-header){

    padding-left:30px;
    padding-right:30px;

}

.modal-box > .modal-header + *{

    padding-top:22px;

}

.modal-box > *:last-child{

    padding-bottom:28px;

}

.modal-actions{

    display:flex;

    justify-content:flex-end;

    gap:12px;

    margin-top:25px;

}

/* ---------- Report View (read-only, form-style) ---------- */

.view-row{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

    margin-bottom:20px;

}

.view-field{

    margin-bottom:20px;

}

.view-field label{

    display:block;

    margin-bottom:8px;

    font-size:14px;

    font-weight:600;

}

.view-value{

    min-height:46px;

    display:flex;

    align-items:center;

    border:1px solid var(--border);

    border-radius:10px;

    padding:0 14px;

    background:var(--surface-alt);

    color:var(--text);

    font-size:14px;

}

.view-content{

    border:1px solid var(--border);

    border-radius:10px;

    padding:16px;

    background:var(--surface-alt);

    line-height:2;

    white-space:pre-wrap;

}

@media(max-width:768px){

    .view-row{

        grid-template-columns:1fr;

    }

}

/* ---------- Dropdown ---------- */

.dropdown{

    position:relative;

}

.dropdown-menu{

    position:absolute;

    top:110%;

    left:0;

    min-width:180px;

    background:var(--glass-bg-strong);

    -webkit-backdrop-filter:blur(var(--glass-blur));

    backdrop-filter:blur(var(--glass-blur));

    border-radius:var(--radius-sm);

    box-shadow:var(--shadow-lg);

    border:1px solid var(--glass-border);

    display:none;

    overflow:hidden;

}

.dropdown.open .dropdown-menu{

    display:block;

}

.dropdown-menu a{

    display:block;

    padding:12px 16px;

    transition:.2s;

}

.dropdown-menu a:hover{

    background:var(--surface-alt);

}

/* ---------- Statistic Cards ---------- */

.stats{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

}

.stats > *{

    min-width:0;

}

.stat-card{

    background:var(--glass-bg);

    -webkit-backdrop-filter:blur(var(--glass-blur));

    backdrop-filter:blur(var(--glass-blur));

    border-radius:var(--radius);

    padding:24px;

    box-shadow:var(--shadow);

    border:1px solid var(--glass-border);

    border-top:3px solid var(--primary);

}

.stat-card:nth-of-type(even){

    border-top-color:var(--accent);

}

.stat-title{

    color:var(--text-light);

    font-size:14px;

}

.stat-value{

    margin-top:12px;

    font-size:32px;

    font-weight:800;

}

.stat-footer{

    margin-top:10px;

    color:var(--success);

    font-size:13px;

}

/* ---------- Alert ---------- */

.alert{

    padding:15px 18px;

    border-radius:10px;

    margin-bottom:20px;

}

.alert-success{

    background:#dcfce7;

    color:#166534;

}

.alert-warning{

    background:#fef3c7;

    color:#92400e;

}

.alert-danger{

    background:#fee2e2;

    color:#991b1b;

}

/* ---------- Toast ---------- */

.toast-container{

    position:fixed;

    left:20px;

    bottom:20px;

    z-index:99999;

    display:flex;
    flex-direction:column;
    align-items:flex-start;

}

.toast{

    min-width:280px;
    max-width:380px;

    display:flex;
    align-items:flex-start;
    gap:10px;

    background:#fff;

    color:#1e293b;

    padding:14px 16px;

    border-radius:12px;

    margin-top:10px;

    box-shadow:0 14px 34px rgba(0,0,0,.18);

    border-right:4px solid #16a34a;

    animation:toastIn .35s cubic-bezier(.34,1.56,.64,1);

    font-size:13px;
    line-height:1.7;

}

.toast::before{

    content:"✓";
    flex-shrink:0;
    width:22px;
    height:22px;
    border-radius:50%;
    background:#16a34a;
    color:#fff;
    font-size:12px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:1px;

}

.toast.toast-danger{ border-right-color:#dc2626; }
.toast.toast-danger::before{ content:"✕"; background:#dc2626; }

.toast.toast-warning{ border-right-color:#d97706; }
.toast.toast-warning::before{ content:"!"; background:#d97706; }

html[data-theme="dark"] .toast{

    background:#1e293b;
    color:#e5e7eb;

}

@keyframes toastIn{

    from{

        transform:translateY(16px) scale(.95);

        opacity:0;

    }

    to{

        transform:translateY(0) scale(1);

        opacity:1;

    }

}

@keyframes toastOut{

    from{ transform:translateY(0) scale(1); opacity:1; }
    to{ transform:translateY(10px) scale(.95); opacity:0; }

}

/* ---------- Loader ---------- */

.loader{

    width:42px;

    height:42px;

    border:4px solid #e5e7eb;

    border-top-color:var(--primary);

    border-radius:50%;

    animation:spin .8s linear infinite;

    margin:auto;

}

@keyframes spin{

    to{

        transform:rotate(360deg);

    }

}

/* ---------- Empty State ---------- */

.empty{

    text-align:center;

    padding:60px 20px;

}

.empty h3{

    margin-top:20px;

}

.empty p{

    margin-top:10px;

}

/* ---------- Pagination ---------- */

.pagination{

    display:flex;

    justify-content:center;

    gap:8px;

    margin-top:25px;

}

.pagination button{

    width:40px;

    height:40px;

    border:1px solid var(--border);

    border-radius:10px;

    background:var(--surface);

}

.pagination button.active{

    background:var(--primary);

    color:white;

}

/* ---------- Responsive ---------- */

@media(max-width:992px){

    .stats{

        grid-template-columns:repeat(2,1fr);

    }

    .form-row{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    .stats{

        grid-template-columns:1fr;

    }

    .search-box{

        width:100%;

    }

    .table{

        display:block;

        overflow-x:auto;

        white-space:nowrap;

    }

    /* ---------- جدول‌های کارتی (mobile) ----------
       جدول‌هایی که علاوه بر .table کلاسِ .table-cards هم دارند، به‌جایِ
       اسکرولِ افقی، هر ردیف را به یک کارتِ عمودی تبدیل می‌کنند - با
       data-label رویِ هر <td> که عنوانِ همان ستون را نگه می‌دارد. */

    .table.table-cards{

        display:block;

        overflow-x:visible;

        white-space:normal;

    }

    .table-cards thead{

        display:none;

    }

    .table-cards tbody,
    .table-cards tr,
    .table-cards td{

        display:block;

        width:100%;

    }

    .table-cards tr{

        margin-bottom:8px;

        border:1px solid var(--border);

        border-radius:10px;

        padding:2px 12px;

        background:var(--surface);

        box-shadow:var(--shadow);

        font-size:12.5px;

    }

    .table-cards td{

        display:flex;

        align-items:center;

        justify-content:space-between;

        gap:10px;

        padding:6px 0;

        border-bottom:1px dashed var(--border);

        text-align:left;

    }

    .table-cards td:last-child{

        border-bottom:none;

    }

    .table-cards td[data-label]::before{

        content:attr(data-label);

        font-weight:700;

        font-size:11px;

        color:var(--text-light);

        flex:none;

    }

    .table-cards td:not([data-label]),
    .table-cards td[data-label=""]{

        justify-content:center;

    }

    .table-cards td[data-label="#"]{

        display:none;

    }

    .table-cards .btn{

        padding:6px 12px;

        font-size:12px;

    }

}

/* ===========================================
   Broadcast Popup (پیام آنی مدیر کل)
=========================================== */

.broadcast-popup{

    position:fixed;
    top:22px;
    left:50%;
    z-index:20000;
    display:flex;
    align-items:flex-start;
    gap:12px;
    min-width:320px;
    max-width:min(480px, 92vw);
    background:#fff;
    border-radius:14px;
    padding:16px 18px;
    box-shadow:0 20px 45px rgba(0,0,0,.28);
    border-right:6px solid var(--bcolor, #dc2626);
    opacity:0;
    pointer-events:none;
    visibility:hidden;
    transform:translateX(-50%) translateY(-30px) scale(.92);
    transition:opacity .3s ease, transform .35s cubic-bezier(.34,1.56,.64,1), visibility 0s linear .3s;

}

.broadcast-popup.show{

    opacity:1;
    pointer-events:auto;
    visibility:visible;
    transform:translateX(-50%) translateY(0) scale(1);
    transition:opacity .3s ease, transform .35s cubic-bezier(.34,1.56,.64,1);

}

.broadcast-popup.show.color-red{ animation:broadcast-pulse-red 1.8s ease-in-out infinite; }
.broadcast-popup.show.color-yellow{ animation:broadcast-pulse-yellow 1.8s ease-in-out infinite; }
.broadcast-popup.show.color-green{ animation:broadcast-pulse-green 1.8s ease-in-out infinite; }
.broadcast-popup.show.color-blue{ animation:broadcast-pulse-blue 1.8s ease-in-out infinite; }
.broadcast-popup.show.color-purple{ animation:broadcast-pulse-purple 1.8s ease-in-out infinite; }

.broadcast-popup .broadcast-icon{

    font-size:26px;
    line-height:1;
    flex-shrink:0;
    animation:broadcast-icon-wiggle 1.2s ease-in-out infinite;

}

.broadcast-popup .broadcast-body{

    flex:1;
    font-size:14px;
    font-weight:600;
    color:#1e293b;
    line-height:1.6;

}

.broadcast-popup .broadcast-close{

    background:none;
    border:none;
    cursor:pointer;
    font-size:15px;
    color:#94a3b8;
    flex-shrink:0;
    padding:2px;

}

.broadcast-popup.color-red{ --bcolor:#dc2626; }
.broadcast-popup.color-yellow{ --bcolor:#f59e0b; }
.broadcast-popup.color-green{ --bcolor:#16a34a; }
.broadcast-popup.color-blue{ --bcolor:#2563eb; }
.broadcast-popup.color-purple{ --bcolor:#9333ea; }

@keyframes broadcast-pulse-red{
    0%{ box-shadow:0 20px 45px rgba(0,0,0,.28), 0 0 0 0 rgba(220,38,38,.5); }
    60%,100%{ box-shadow:0 20px 45px rgba(0,0,0,.28), 0 0 0 12px rgba(220,38,38,0); }
}

@keyframes broadcast-pulse-yellow{
    0%{ box-shadow:0 20px 45px rgba(0,0,0,.28), 0 0 0 0 rgba(245,158,11,.5); }
    60%,100%{ box-shadow:0 20px 45px rgba(0,0,0,.28), 0 0 0 12px rgba(245,158,11,0); }
}

@keyframes broadcast-pulse-green{
    0%{ box-shadow:0 20px 45px rgba(0,0,0,.28), 0 0 0 0 rgba(22,163,74,.5); }
    60%,100%{ box-shadow:0 20px 45px rgba(0,0,0,.28), 0 0 0 12px rgba(22,163,74,0); }
}

@keyframes broadcast-pulse-blue{
    0%{ box-shadow:0 20px 45px rgba(0,0,0,.28), 0 0 0 0 rgba(37,99,235,.5); }
    60%,100%{ box-shadow:0 20px 45px rgba(0,0,0,.28), 0 0 0 12px rgba(37,99,235,0); }
}

@keyframes broadcast-pulse-purple{
    0%{ box-shadow:0 20px 45px rgba(0,0,0,.28), 0 0 0 0 rgba(147,51,234,.5); }
    60%,100%{ box-shadow:0 20px 45px rgba(0,0,0,.28), 0 0 0 12px rgba(147,51,234,0); }
}

@keyframes broadcast-icon-wiggle{

    0%, 100%{ transform:rotate(0deg); }
    25%{ transform:rotate(-12deg); }
    75%{ transform:rotate(12deg); }

}

@media(max-width:600px){

    .broadcast-popup{

        top:10px;
        min-width:0;
        width:92vw;

    }

}

/* ===========================================
   System Update Modal (اطلاعیه به‌روزرسانی)
=========================================== */

.system-update-box{

    width:440px;

}

.system-update-hero{

    background:linear-gradient(135deg, var(--primary), #a855f7 55%, var(--accent));
    padding:34px 30px 44px;
    text-align:center;
    position:relative;
    overflow:hidden;

}

.system-update-hero::before{

    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 15% 20%, rgba(255,255,255,.18) 0, transparent 40%),
        radial-gradient(circle at 85% 75%, rgba(255,255,255,.14) 0, transparent 45%);

}

.system-update-badge{

    width:64px;
    height:64px;
    margin:0 auto 12px;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.35);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    position:relative;
    animation:system-update-float 2.4s ease-in-out infinite;

}

.system-update-kicker{

    color:rgba(255,255,255,.92);
    font-size:13px;
    font-weight:700;
    letter-spacing:.3px;
    position:relative;

}

@keyframes system-update-float{

    0%, 100%{ transform:translateY(0); }
    50%{ transform:translateY(-6px); }

}

.system-update-body{

    padding:26px 28px 28px;
    margin-top:-22px;
    background:var(--surface);
    border-radius:22px 22px 0 0;
    position:relative;

}

.system-update-body h3{

    margin:0 0 14px;
    font-size:18px;
    font-weight:800;
    text-align:center;

}

.system-update-message-box{

    background:#f8fafc;
    border:1px solid var(--border);
    border-radius:12px;
    padding:16px 18px;
    margin-bottom:20px;
    max-height:280px;
    overflow-y:auto;

}

.system-update-message-box p{

    margin:0;
    white-space:pre-wrap;
    font-size:14px;
    line-height:1.9;
    color:var(--text);

}

.system-update-btn{

    width:100%;
    padding:12px;
    font-size:15px;
    font-weight:700;
    border-radius:12px;

}

html[data-theme="dark"] .system-update-message-box{

    background:rgba(255,255,255,.04);

}

/* ===========================================
   Person Search Result (جستجوی شخص - جلسات/تعیینِ تاییدکننده/پرونده پرسنلی)
=========================================== */

.mtg-person-result{

    padding:8px 10px;
    border:1px solid var(--border);
    border-radius:8px;
    margin-bottom:6px;
    cursor:pointer;
    font-size:13px;

}

.mtg-person-result:hover{

    background:var(--surface-alt);

}

/* ===========================================
   دکمه‌هایِ عملیاتِ داخلِ ردیفِ جدول (ویرایش / حذف / مشاهده / ...)
   کوچک، هم‌قد، متنِ بدونِ شکستن و کم‌رنگ (tinted)؛ با هاور پر می‌شوند.
   اگر صفحه‌ای با style درون‌خطی اندازه‌ی خودش را بدهد، همان اعمال می‌شود.
=========================================== */

.table td .btn{

    padding:6px 12px;
    font-size:12.5px;
    font-weight:600;
    line-height:1.4;
    border-radius:8px;
    white-space:nowrap;
    box-shadow:none;
    border:1px solid transparent;
    margin:2px 0;

}

.table td .btn:not([class*="btn-"]){

    background:rgba(148,163,184,.14);
    color:var(--text);
    border-color:rgba(148,163,184,.32);

}

.table td .btn-primary{

    background:rgba(124,58,237,.12);
    color:var(--primary);
    border-color:rgba(124,58,237,.3);

}

.table td .btn-warning{

    background:rgba(245,158,11,.14);
    color:#b45309;
    border-color:rgba(245,158,11,.35);

}

.table td .btn-success{

    background:rgba(22,163,74,.12);
    color:#15803d;
    border-color:rgba(22,163,74,.3);

}

.table td .btn-danger{

    background:rgba(220,38,38,.1);
    color:#b91c1c;
    border-color:rgba(220,38,38,.3);

}

html[data-theme="dark"] .table td .btn-primary{ color:#c4b5fd; }
html[data-theme="dark"] .table td .btn-warning{ color:#fbbf24; }
html[data-theme="dark"] .table td .btn-success{ color:#4ade80; }
html[data-theme="dark"] .table td .btn-danger{ color:#f87171; }

.table td .btn:hover{

    color:#fff;
    transform:none;
    box-shadow:none;

}

.table td .btn:not([class*="btn-"]):hover{ background:var(--text-light); }
.table td .btn-primary:hover{ background:var(--primary); }
.table td .btn-warning:hover{ background:var(--warning); }
.table td .btn-success:hover{ background:var(--success); }
.table td .btn-danger:hover{ background:var(--danger); }


/* ===========================================
   تقویمِ شمسی (انتخاب‌گرِ تاریخ) - ظاهرِ پنل و فیلد
   پنل موقعِ بازشدن به <body> منتقل می‌شود، پس این استایل‌ها سراسری‌اند.
   رنگ‌ها از متغیرهایِ تم می‌آیند و با همه‌یِ تم‌ها (روشن/تیره/...) هماهنگ‌اند.
=========================================== */

.jalali-date-wrap .jdp-icon{

    position:absolute;
    inset-inline-end:14px;
    top:50%;
    transform:translateY(-50%);
    display:flex;
    color:var(--text-light);
    pointer-events:none;
    transition:color .2s ease;

}

.jalali-date-wrap > input{

    cursor:pointer;
    padding-inline-end:42px;

}

.jalali-date-wrap:hover .jdp-icon,
.jalali-date-wrap:focus-within .jdp-icon{

    color:var(--primary);

}

.jalali-date-panel{

    position:absolute;
    z-index:99999;
    box-sizing:border-box;
    padding:14px;
    background:var(--surface);
    color:var(--text);
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow:0 20px 55px rgba(0,0,0,.3), 0 0 0 1px rgba(var(--primary-rgb),.08);
    font-family:inherit;
    user-select:none;
    animation:jdpIn .16s ease-out;

}

@keyframes jdpIn{

    from{ opacity:0; transform:translateY(-6px) scale(.98); }
    to{ opacity:1; transform:none; }

}

.jalali-date-panel button{

    font-family:inherit;
    cursor:pointer;
    border:0;
    background:none;
    color:inherit;

}

.jdp-head{

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    margin-bottom:12px;

}

.jdp-nav{

    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(var(--primary-rgb),.1) !important;
    color:var(--primary) !important;
    transition:background .2s ease, transform .2s ease;

}

.jdp-nav:hover{

    background:rgba(var(--primary-rgb),.22) !important;

}

.jdp-title{

    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:6px 10px;
    font-size:14px;
    font-weight:700;
    border-radius:10px;
    transition:background .2s ease;

}

.jdp-title:hover{

    background:rgba(var(--primary-rgb),.1) !important;

}

.jdp-title svg{ opacity:.6; }

.jdp-weekdays,
.jdp-grid-7{

    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:3px;

}

.jdp-weekdays{

    margin-bottom:4px;
    text-align:center;
    font-size:11.5px;
    font-weight:600;
    color:var(--text-light);

}

.jdp-weekdays .is-friday{ color:var(--danger); }

.jdp-grid-3{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    padding:6px 0;

}

.jdp-day{

    height:36px;
    border-radius:50% !important;
    font-size:13px;
    transition:background .15s ease, transform .15s ease;

}

.jdp-cell{

    padding:12px 0;
    border-radius:12px !important;
    font-size:13px;
    font-weight:600;
    transition:background .15s ease;

}

.jdp-day:hover,
.jdp-cell:hover{

    background:rgba(var(--primary-rgb),.14) !important;

}

.jdp-day.is-friday{ color:var(--danger) !important; }

.jdp-day.is-today,
.jdp-cell.is-today{

    box-shadow:inset 0 0 0 1.5px var(--primary);
    color:var(--primary) !important;
    font-weight:700;

}

.jdp-day.is-selected,
.jdp-cell.is-selected{

    background:linear-gradient(135deg,var(--primary),var(--primary-hover)) !important;
    color:#fff !important;
    font-weight:700;
    box-shadow:0 6px 16px rgba(var(--primary-rgb),.4);

}

.jdp-foot{

    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:10px;
    padding-top:10px;
    border-top:1px solid var(--border);

}

.jdp-link{

    padding:6px 14px;
    font-size:12.5px;
    font-weight:600;
    border-radius:8px;
    color:var(--primary) !important;
    transition:background .2s ease;

}

.jdp-link:hover{ background:rgba(var(--primary-rgb),.12) !important; }

.jdp-clear{ color:var(--danger) !important; }

.jdp-clear:hover{ background:rgba(220,38,38,.1) !important; }

/* تعطیلات و مناسبت‌ها در انتخاب‌گرِ تاریخ: روزِ تعطیل قرمز، روزِ دارایِ مناسبت نقطه‌دار (tooltip = متنِ مناسبت) */

.jdp-day{ position:relative; }

.jdp-day.is-holiday{

    color:var(--danger) !important;
    background:rgba(220,38,38,.1) !important;
    font-weight:700;

}

.jdp-day.has-event::after{

    content:"";
    position:absolute;
    bottom:3px;
    left:50%;
    width:4px;
    height:4px;
    margin-left:-2px;
    border-radius:50%;
    background:var(--accent);

}

.jdp-day.is-holiday.has-event::after{ background:var(--danger); }

.jdp-day.is-today.is-holiday{ color:var(--danger) !important; }

.jdp-day.is-selected.is-holiday{

    background:linear-gradient(135deg,var(--primary),var(--primary-hover)) !important;
    color:#fff !important;

}

.jdp-day.is-selected.has-event::after{ background:#fff; }
