/* Анимации карточек */
.dashboard-card {
    transition: transform 0.2s, box-shadow 0.2s, background-color 0.3s;
    border: 1px solid var(--border-color);
}

.dashboard-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

/* Ссылки без подчеркивания */
.dashboard-link {
    text-decoration: none !important;
}

.dashboard-link:hover {
    text-decoration: none !important;
}

/* Иконки в карточках */
.card-icon {
    font-size: 2.5rem;
    margin-bottom: 0.5rem;
}

/* Цвета для карточек */
.bg-purple {
    background-color: #6f42c1 !important;
    border-color: #6f42c1 !important;
}

.bg-orange {
    background-color: #fd7e14 !important;
    border-color: #fd7e14 !important;
}

/* Анимация загрузки */
.fade-in {
    animation: fadeIn 0.6s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}



.bg-purple {
    background-color: #6f42c1 !important;
}

.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {
    color: rgb(255 255 255);
}
.navbar-dark .navbar-nav .nav-link {
    color: rgba(255,255,255,.75);
}

#growthForecastChart {
    background-color: var(--bg-card);
    border-radius: 5px;
    padding: 0px;
}

/* CSS для дерева: */
.object-tree { padding-left: 10px; }
.tree-level { padding-left: 40px; display: block; }
.tree-item {
    padding: 2px;
    border-radius: 5px;
    margin: 2px 0;
    display: flex;
    align-items: center;
}
.tree-item a {
    color: var(--text-primary);
    text-decoration: none;
    padding: 0 15px 0 0;
}
.tree-item:hover {
    background-color: var(--bg-primary);
}
.tree-toggle { cursor: pointer; margin-right: 5px; }
.tree-icon { margin-right: 5px; }
.tree-buttons {
    margin-left: auto;
    margin-top: 7px;
    margin-bottom: 9px;
}
.tree-buttons .btn { margin-left: 2px; padding: 0.1rem 0.3rem; }

.dropdown-menu {
    background-color: var(--border-color);
}

.list-group-item {
    line-height: 16px;
    font-size: 14px;
}

[data-theme="dark"] .list-group-item.list-group-item-warning {
    border-color: #2d2d2d !important;
    ;
}

[data-theme="dark"] .list-group-item.list-group-item-danger {
    border-color: #2d2d2d !important;
}


.card-body {
    padding: 14px !important;
}

.card-body.canvascard {
    position: relative;
    height:400px;
    min-height: 300px;
    max-height: 430px;
    padding: 0 !important;
}

.card-body.canvascard canvas {
    width: 100% !important;
    height: 100% !important;
}

.wbr {display: none;}

.tree-item {
    border-radius: 5px;
    border: 1px solid;
    border-color: var(--border-color);
}


.text-muted b {
    color: #0d6efd;
}

/* Для дерева на мобильных */
@media (max-width: 768px) {
    .list-group {
        max-height: 420px;
        overflow: scroll;
    }
    .tree-item a {
        padding: 0 5px 0 0;
        text-align: right;
    }
    .wbr {display: block;}
    .object-tree {
        font-size: 14px;
    }
    .object-tree {
        padding-left: 0;
        margin: -10px;
    }
    .tree-buttons .btn {
        padding: 0.2rem 0.4rem;
        font-size: 0.8rem;
    }

    .tree-buttons {
        margin-left: auto;
        margin-top: 1px;
        margin-bottom: 1px;
    }
    .tree-level {
        padding-left: 20px;
    }
    .card-body {
        padding: 10px 0;
    }
    .tree-icon {
        display: none;
    }

}

/* Адаптивность для мобильных */
@media (max-width: 768px) {
    .dashboard-card .card-body {
        padding: 1rem;
    }

    .card-icon {
        font-size: 2rem;
    }

    .card-title {
        font-size: 1.2rem;
    }
}
