/* Анимации */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.user-card {
    animation: fadeIn 0.3s ease-out;
}

/* Скроллбар */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
::-webkit-scrollbar-track {
    background: #1e293b;
}
::-webkit-scrollbar-thumb {
    background: #475569;
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}

/* Адаптивность для сайдбара (мобильная версия) */
@media (max-width: 768px) {
    aside {
        transform: translateX(-100%);
        transition: transform 0.3s ease;
    }
    aside.open {
        transform: translateX(0);
    }
    main {
        margin-left: 0 !important;
        padding: 1rem !important;
    }
    .stat-card {
        padding: 1rem !important;
    }
}

/* Утилиты */
.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* === КАСТОМНЫЕ ЦВЕТА === */
.bg-dark-bg { background-color: #0f172a; }
.bg-dark-card { background-color: #1e293b; }
.border-dark-border { border-color: #334155; }
.text-dark-bg { color: #0f172a; }
.text-dark-card { color: #1e293b; }

/* === ШРИФТЫ === */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.font-mono {
    font-family: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;
}

/* === ИКОНКИ (SVG) === */
svg {
    flex-shrink: 0;
}
.user-card .text-blue-500 {
    color: #3b82f6 !important;
}
.user-card .text-red-500 {
    color: #ef4444 !important;
}
button.p-2 svg {
    display: inline-block;
    width: 20px;
    height: 20px;
    vertical-align: middle;
}
button.p-2 svg.text-blue-500 {
    color: #3b82f6 !important;
}
button.p-2 svg.text-red-500 {
    color: #ef4444 !important;
}
.stat-card svg {
    color: #ffffff !important;
}

button.p-2 {
    padding: 0.5rem;
    border-radius: 0.5rem;
    transition: background-color 0.2s;
}
button.p-2:hover {
    background-color: rgba(255,255,255,0.1);
}

/* Принудительно тёмный фон для всех полей ввода и селектов */
select, input, textarea {
    background-color: #1e293b !important;
    color: #f1f5f9 !important;
    border-color: #334155 !important;
}
select option {
    background-color: #1e293b !important;
    color: #f1f5f9 !important;
}
input::placeholder, textarea::placeholder {
    color: #94a3b8 !important;
}
/* Для селектов в состоянии focus */
select:focus, input:focus, textarea:focus {
    border-color: #6366f1 !important;
    outline: none !important;
}

/* Принудительный отступ для основного контента на десктопе */
@media (min-width: 768px) {
    #mainContent {
        margin-left: 256px !important;
    }
}
