﻿.custom-accordion {
    direction: rtl;
    width: 100%;
    max-width: 1200px;
    margin: 10px auto;
    font-family: 'IRANSans', sans-serif;
} 

.accordion-item {
    border-bottom: 1px solid #ddd;
    background-color: #fefefe;
    border-radius: 8px;
    margin-bottom: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.accordion-header {
    background: #1861AB;
    background: radial-gradient(circle, rgba(24, 97, 171, 0.89) 0%, rgba(24, 97, 171, 0.89) 100%);
    color: white;
    padding: 15px 20px;
    text-align: right;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    border: none;
    width: 100%;
    outline: none; 
    transition: background-color 0.3s;
    border-radius: 8px 8px 0 0; 
}

    .accordion-header:hover {
        background-color: #1565c0;
    }

.accordion-content {
    padding: 15px 20px;
    background-color: #fff;
    display: none;
    animation: fadeIn 0.3s ease-in-out;
}

.accordion-item.active .accordion-content {
    display: block;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/*---------------*/
.header-box {
    background-color: #fff;
    border-radius: 20px;
    padding: 3px 2px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    border: 1px solid #ddd;
    transition: box-shadow 0.3s ease;
}

.category-box {
    background-color: #fff;
    border-radius: 20px;
    padding: 30px 25px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    border: 1px solid #ddd;
    transition: box-shadow 0.3s ease;
}

    .category-box:hover {
        box-shadow: 0 12px 36px rgba(0,0,0,0.18);
    }

.category-title {
    font-weight: 700;
    font-size: 1.4rem; /* کمی کوچکتر */
    margin-bottom: 20px;
    user-select: none;
    letter-spacing: 0.03em;
}

.card-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px; /* کمی فاصله کمتر */
    justify-content: flex-start;
}

.favorite-star {
    position: absolute;
    top: 8px;
    right: 10px;
    color: #ffcc00;
    font-size: 20px;
    cursor: pointer;
    z-index: 10;
    transition: transform 0.2s;
}

.favorite-star:hover {
   transform: scale(1.2);
}

.dashboard-card {
    position: relative; /* برای قرار دادن آیکن ستاره */
    margin: 8px;
    background-color: #fafafa;
    border-radius: 16px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    padding: 8px 5px; /* کمتر کردن padding */
    flex: 1 1 200px; /* کوچکتر */
    text-align: center;
    cursor: pointer;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    user-select: none;
    background-color: rgba(214, 234, 255,0.3);
    outline: 1.5px solid rgba(96, 133, 171,0.2)
}

    .dashboard-card:hover {
        transform: translateY(-4px) translateX(4px);
        box-shadow: -13px 15px 23px -6px rgba(43,124,179,0.1);
        -webkit-box-shadow: -13px 15px 23px -6px rgba(43,124,179,0.1);
        -moz-box-shadow: -13px 15px 23px -6px rgba(43,124,179,0.1);
        background-color: rgba(192, 234, 252,0.2)
    }

.icon-wrapper {
    font-size: 36px; /* کوچکتر */
    width: 50px; /* کوچکتر */
    height: 50px; /* کوچکتر */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
    transition: background-color 0.3s ease, color 0.3s ease;
    user-select: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* رنگ اختصاصی برای هر آیکن */
.icon-g1 {
    background-color: #cce5ff;
    color: #004085;
}

.icon-g2 {
    background-color: #d4edda;
    color: #155724;
}

.icon-g3 {
    background-color: #fff3cd;
    color: #856404;
}

.icon-g4 {
    background-color: #d1ecf1;
    color: #0c5460;
}

.icon-g5 {
    background-color: #f8d7da;
    color: #721c24;
}

.icon-g0 {
    background-color: #c3e6cb;
    color: #155724;
}

h5 {
    font-weight: 600;
    font-size: 1rem; /* کمی کوچکتر */
    margin: 6px 0 4px;
}

.description {
    font-size: 0.85rem; /* کوچکتر */
    color: #6c757d;
    min-height: 36px;
    margin-bottom: 10px;
}

.dx-cardview-content {
    /*    display: flex; */
    flex-wrap: nowrap;
    gap: 0px;
    justify-content: normal;
    grid-template-columns: repeat(auto-fit, minmax(300px , 1fr))

}

.dx-cardview-card {
    width: 100%;
    min-width: var(--dx-cardview-card-min-width,250px);
    max-width: var(--dx-cardview-card-max-width);
    border: none;
    border-radius: 8px;
    background-color: #fff;
    color: rgba(0,0,0,.87);
}

.dx-list {
    min-height: auto !important
}

/*.dx-cardMainMenu .dx-scrollable {
    height: auto !important;
}*/
.dx-drawer-panel-content .dx-cardMainMenu {
    background: rgb(255,255,255);
/*    padding-bottom: 10px;*/
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: 100%; 
    border: 1.5px solid rgb(139 174 249 / 50% 50% );
}



@media (max-width: 768px) {

    #treeview {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding-top: 8px;
        padding-bottom: 5px;
        /* ظاهر جداکننده و “رو به بالا” */
        background-color: #ffffff; /* سفید روشن برای تمیزی */
        border: 1px solid rgba(0,0,0,0.15); /* مرز نرم */
        border-radius: 8px; /* گوشه گرد */
        box-shadow: 0 4px 12px rgba(0,0,0,0.1); /* سایه نرم */
        /* برای زیبایی بیشتر هنگام hover (اختیاری) */
        transition: box-shadow 0.3s ease, transform 0.2s ease;
    }
        #treeview .dx-scrollable {
            touch-action: pan-y !important;
            overflow-x: hidden;
            overflow-y: auto;
        }
        #treeview .dx-scrollable .dx-scrollable-container {
            touch-action: pan-y !important;
            overflow-x: hidden;
            overflow-y: auto;
        }
        #treeview:hover {
            box-shadow: 0 8px 24px rgba(0,0,0,0.15);
            transform: translateY(-2px); /* حس بالا رفتن */
        }

        /* WebKit browsers (Chrome, Edge, Safari) */
        #treeview::-webkit-scrollbar {
            width: 6px; /* ضخامت نوار اسکرول */
        }

        #treeview::-webkit-scrollbar-button {
            display: none; /* حذف دکمه‌های بالا و پایین */
            width: 0;
            height: 0;
        }

        #treeview::-webkit-scrollbar-track {
            background: transparent; /* پس‌زمینه شفاف */
        }

        #treeview::-webkit-scrollbar-thumb {
            background-color: rgba(0, 0, 0, 0.25); /* رنگ ناخنک */
            border-radius: 999px; /* گرد کامل */
            border: 2px solid transparent;
            background-clip: padding-box;
            transition: background-color 0.2s ease;
        }

        #treeview::-webkit-scrollbar-thumb:hover {
            background-color: rgba(0, 0, 0, 0.45); /* هنگام hover */
        }

        .dx-drawer-panel-content .dx-cardMainMenu {
            background: #ECF3FE;
    /*        padding-bottom: 10px;*/
            border-radius: 10px;
            display: flex;
            flex-direction: column;
            gap: 10px
        }

        /* Wrapper اصلی Drawer */
        .dx-drawer-wrapper {
            height: 100%;
        }

    /* Overlay وقتی Drawer باز است */
        body.drawer-open::after {
            content: "";
            position: fixed;
            top: 0;
            left: 0;
            width: 100dvw;
            height: 100dvh;
            background: #f5f5f5; /* رنگ دلخواه برای overlay */
            z-index: 998;
        }

    /* خود Drawer همیشه بالاتر از overlay */
        .dx-drawer-panel {
            z-index: 999 !important;
            background-color: #ffffff !important;
            box-shadow: -6px 0 16px rgba(0,0,0,0.2);
            height: 100vh !important;
            overflow: hidden; /* مهم: والد مستقیم max-height */
        }

    /* محتوای اصلی زیر Drawer */
        .dx-drawer-content {
            position: relative;
            z-index: 1;
        }

    /* وقتی Drawer بسته است، overlay حذف شود */
        body:not(.drawer-open)::after {
            display: none;
        }

        /* اسکرول در آیتم‌ها بدون قطع شدن */
        .dx-drawer-overlap.dx-drawer-left .dx-drawer-wrapper,
        .dx-drawer-overlap.dx-drawer-right .dx-drawer-wrapper {
            min-height: 100vh;
        }

        .dx-drawer-panel-content {
            border-radius: 5px !important;
            overflow: hidden;
            height: 100%; /* تا max-height بچسبه */
        }
        .dx-drawer-panel-content .dx-overlay-wrapper {
            
            height: 100% !important; 
        }
        .dx-treeview-item {
            gap: 12px;
            padding: 5px 8px!important;
            margin: 0;
        }

}

#treeview .dx-treeview-search .dx-texteditor-container .dx-texteditor-input-container input {
    padding: 4px 35px;
}

/*search padding */
.dx-texteditor-input-container .dx-placeholder::before {
    padding: 0 40px!important
}

#treeview .dx-treeview-search {
    padding: 2px 2px !important;
    margin-left:5px
}


#treeview .dx-treeview-search::placeholder {
    font-size:15px!important
}

@media (min-width: 768px) {

    #treeview {
        background-color: #ffffff; /* سفید روشن برای تمیزی */
        /*border: 1px solid rgba(0,0,0,0.15);*/ /* مرز نرم */
        /*border-radius: 5px;*/ /* گوشه گرد */
        /*box-shadow: 0 4px 12px rgba(0,0,0,0.1);*/ /* سایه نرم */
        padding-top:5px;
        padding-left:5px
    }

    #treeview .dx-scrollable.dx-scrollable-vertical {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding-top: 8px;
        padding-bottom: 5px;
        margin-top: unset;
        /* برای زیبایی بیشتر هنگام hover (اختیاری) */
        transition: box-shadow 0.3s ease, transform 0.2s ease;
        height: inherit;
        padding-bottom: 10px;

    }



    /* WebKit browsers (Chrome, Edge, Safari) */
    #treeview .dx-scrollable.dx-scrollable-vertical::-webkit-scrollbar {
        width: 6px; /* ضخامت نوار اسکرول */
    }

    #treeview .dx-scrollable.dx-scrollable-vertical::-webkit-scrollbar-button {
        display: none; /* حذف دکمه‌های بالا و پایین */
        width: 0;
        height: 0;
    }

    #treeview .dx-scrollable.dx-scrollable-vertical::-webkit-scrollbar-track {
        background: transparent; /* پس‌زمینه شفاف */
    }

    #treeview .dx-scrollable.dx-scrollable-vertical::-webkit-scrollbar-thumb {
        background-color: rgba(0, 0, 0, 0.25); /* رنگ ناخنک */
        border-radius: 999px; /* گرد کامل */
        border: 2px solid transparent;
        background-clip: padding-box;
        transition: background-color 0.2s ease;
    }

        #treeview .dx-scrollable.dx-scrollable-vertical::-webkit-scrollbar-thumb:hover {
            background-color: rgba(0, 0, 0, 0.45); /* هنگام hover */
        }



    #treeview .dx-scrollable.dx-scrollable-vertical {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .dx-treeview-search {
        margin-bottom: unset;
    }
    .dx-treeview-search {
        position: sticky;
        top: 0;
        z-index: 20;
        background: #fff;
    }

    .dx-treeview-item {
        gap: 3px;
        padding: 0;
        margin-top: 8px;
    }

        .dx-treeview-item:hover,active {
            background-color: unset
        }

    .dx-drawer-shrink .dx-drawer-panel-content {
        position: relative;
        overflow: hidden;
        flex: 0 0 auto;
    }


}

.dx-treeview-item .dx-state-hover {
    background-color: unset!important;
    border-radius: 0;
    color: rgba(0, 0, 0, .87);
}


    /* برای WebKit browsers (Chrome, Edge, Safari) */
    .dx-drawer-panel-content .dx-cardMainMenu::-webkit-scrollbar {
        width: 6px; /* ضخامت نوار اسکرول */
        height: 6px;
    }

    /* حذف دکمه‌های بالا و پایین */
    .dx-drawer-panel-content .dx-cardMainMenu::-webkit-scrollbar-button {
        display: none;
        width: 0;
        height: 0;
    }

    /* پس‌زمینه نوار اسکرول */
    .dx-drawer-panel-content .dx-cardMainMenu::-webkit-scrollbar-track {
        background: transparent; /* بدون پس‌زمینه برای ظاهر تمیز */
    }

    /* خود خط اسکرول */
    .dx-drawer-panel-content .dx-cardMainMenu::-webkit-scrollbar-thumb {
        background-color: rgba(0, 0, 0, 0.25); /* رنگ پیش‌فرض */
        border-radius: 999px; /* گرد کامل */
        border: 2px solid transparent; /* نازک‌تر نشون میده */
        background-clip: padding-box;
        transition: background-color 0.2s ease;
    }

        /* حالت hover */
        .dx-drawer-panel-content .dx-cardMainMenu::-webkit-scrollbar-thumb:hover {
            background-color: rgba(0, 0, 0, 0.25);
        }

.dx-drawer-shrink .dx-drawer-panel-content {
    position: relative;
    flex: 0 0 auto;
    border-radius: 5px !important;
    /*    box-shadow: 0 1px 3px rgba(30, 48, 107, .12), 0 1px 2px rgba(30, 48, 107, .24);*/
}

.dx-drawer-shrink .dx-drawer-panel-content::-webkit-scrollbar {
    width: 5px !important;
}
    .dx-drawer-shrink .dx-drawer-panel-content::-webkit-scrollbar-track {
        background-color: white; /*رنگ پس زمینه مسیر اسکرول*/
        border-radius: 10px
    }
    .dx-drawer-shrink .dx-drawer-panel-content::-webkit-scrollbar-thumb {
        background-color: #d6d6d6; /*رنگ خود نوار اسکرول*/
        border-radius: 10px
    }
        .dx-drawer-shrink .dx-drawer-panel-content::-webkit-scrollbar-thumb:hover {
            background-color: #aeafb0; /*وقتی میری روی نوار اسکرول*/
        }

        .dx-accordion-item-title {
            cursor: pointer;
            position: relative;
            display: flex;
            align-items: center;
            -webkit-user-select: none;
            -moz-user-select: none;
            user-select: none;
            -webkit-touch-callout: none;
            min-height: 40px;
            padding: 6px 11px;
            background-color: #fff;
            direction: rtl;
        }

/*.p-3 {
    padding: 0  5px!important;
}*/        /*بک گراند اضافی زیر گرید میفته*/

.p-3 {
     padding: 0!important; 
}

.dx-widget input, .dx-widget textarea {
    font-family: Roboto, RobotoFallback, "Noto Kufi Arabic", Helvetica, Arial, sans-serif;
    line-height: 1.2857;
    direction: rtl;
}

.dx-drawer-wrapper {
    position: relative;
    overflow: hidden;
    height: 100%;
}


.dx-cardMainMenu .container {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
/*    padding-right: 35px;*/
    margin-left: auto;
    box-sizing:border-box
}

#menuContainer {
    background-color: #cad8fa;
    box-shadow: 0 1px 3px rgba(30, 48, 107, .12), 0 1px 2px rgba(30, 48, 107, .24);
}
.star-btn .dx-icon-star {
    color: gray;
    font-size: 16px;
}

.star-btn.active .dx-icon-star {
    color: gold;
}
.star-btn {
    font-size: 16px;
    color: gray;
    margin-left: 10px;
}

    .star-btn:hover {
        color: orange;
    }


.dx-treeview-with-search > .dx-scrollable {
    height: unset !important;
}

.dx-scrollable-container .dx-scrollable-content .dx-treeview-node-container .dx-treeview-node-container dx-treeview-node-container-opened {
    max-height: 150px !important;
/*    overflow-y: unset;*/
    /*-webkit-overflow-scrolling: touch;*/ /* اسکرول نرم در موبایل */
    /* برای فایرفاکس */
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.3) transparent;
}



    /* برای مرورگرهای WebKit (Chrome, Edge, Safari) */
    .dx-scrollable-container .dx-scrollable-content .dx-treeview-node-container .dx-treeview-node-container dx-treeview-node-container-opened::-webkit-scrollbar {
        width: 6px; /* ضخامت اسکرول */
    }

    .dx-scrollable-container .dx-scrollable-content .dx-treeview-node-container .dx-treeview-node-container dx-treeview-node-container-opened::-webkit-scrollbar-track {
        background: transparent; /* پس‌زمینه شفاف */
    }

    .dx-scrollable-container .dx-scrollable-content .dx-treeview-node-container .dx-treeview-node-container dx-treeview-node-container-opened::-webkit-scrollbar-thumb {
        background-color: rgba(0, 0, 0, 0.25); /* رنگ ناخنک */
        border-radius: 999px; /* گرد کامل */
        border: 2px solid transparent; /* فضای ظاهری برای ظرافت بیشتر */
        background-clip: padding-box;
        transition: background-color 0.2s ease;
    }

        .dx-scrollable-container .dx-scrollable-content .dx-treeview-node-container .dx-treeview-node-container dx-treeview-node-container-opened::-webkit-scrollbar-thumb:hover {
            background-color: rgba(0, 0, 0, 0.45);
        }
    /* حذف دکمه‌های بالا و پایین */
    .dx-scrollable-container .dx-scrollable-content .dx-treeview-node-container .dx-treeview-node-container dx-treeview-node-container-opened::-webkit-scrollbar-button {
        display: none;
        height: 0;
        width: 0;
    }





/*استایل منو موبایل*/
/* وقتی Drawer باز است */
body.drawer-open::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100dvw;
    height: 100dvh;
    background: #f5f5f5; /* 🔹رنگ زمینه دلخواه: مثلاً سفید، طوسی روشن یا هر چی خواستی */
    z-index: 998;
}

/* خود Drawer همیشه بالاتر از overlay */
.dx-drawer-panel {
    z-index: 999 !important;
    background-color: #ffffff !important; /* رنگ پس‌زمینه خود منو */
    box-shadow: -6px 0 16px rgba(0,0,0,0.2);
}

/* مطمئن شو محتوای اصلی زیر Drawer نره */
.dx-drawer-content {
    position: relative;
    z-index: 1;
}

/* اختیاری: وقتی Drawer بسته است، overlay حذف شود */
body:not(.drawer-open)::after {
    display: none;
}



/*ساختار منو*/
.dx-list-item {
    border-top: none;
    margin-top: unset !important;
/*    border-bottom: 1.5px solid #bababa;*/
}
.dx-list-item-content {
    font-size: 13px;
    padding: 10px 11px 10px;
}

.dx-cardMainMenu .dx-list-item:hover {
    background-color: rgba(185, 210, 250,0.8);
    border-radius: 3px
}

.dx-cardMainMenu .dx-list-item .dx-list-item-content {
    color: #27346e
}


#QuickStartList {
    color: #27346e
}
#favoritesList {
    color: #27346e
}

#favoritesList:hover, :active {
    color: #27346e
}

#treeview {
    color: #27346e;
    display: flex;
    flex-direction: column;
}

#treeview:hover, :active {
    color: #27346e
}

/*profile - menu*/
.dx-context-menu.dx-overlay-content {
/*        background-color: #5f6b7d;*/
    padding: 2px;
/*    border-radius: 12px*/
}

.dx-context-menu .dx-menu-items-container {
    padding: 0 !important;
}

.dx-submenu .dx-list-item {
    margin-bottom: 2px;
    border-radius: 10px
}

    .dx-submenu .dx-list-item:hover {
        background-color: #b8cff5;
    }

.dx-context-menu .dx-submenu {
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 7px rgba(0, 0, 0, .2);
}
tml, body {
    height: 100%;
    margin: 0;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
}

/* هدر و فوتر */
#toolbarContainer,
#dock-wrapper {
    flex: 0 0 auto;
}

/* ناحیه وسط */
.drawer {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column
}

/* خود Drawer */
#layout-drawer {
    flex: 1 1 auto;
    height: 100% !important;
    min-height: 0;
}

    /* wrapper ردیفی */
    #layout-drawer .dx-drawer-wrapper {
        flex: 1 1 auto;
        height: 100% !important;
        min-height: 0;
        display: flex;
        align-items: stretch;
    }

    /* دو ستون */
    #layout-drawer .dx-drawer-panel,
    #layout-drawer .dx-drawer-content {
        flex: 1 1 auto;
        height: 100% !important;
        min-height: 0;
    }

    /* ستون محتوا */
    #layout-drawer .dx-drawer-content {
        display: flex;
        flex-direction: column;
    }

/* اسکرول واقعی */
#layout-drawer-scrollview {
    flex: 1 1 auto;
    min-height: 0;
}