::-webkit-scrollbar {
    width: 6px;
    height: 6px
}

::-webkit-scrollbar-track {
    background: transparent
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px
}

::-webkit-scrollbar-thumb:hover {
    background: #94a3b8
}

.dark ::-webkit-scrollbar-thumb {
    background: #475569
}

.sidebar-scroll::-webkit-scrollbar {
    width: 4px
}

.sidebar-scroll::-webkit-scrollbar-track {
    background: transparent
}

.sidebar-scroll::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.3);
    border-radius: 2px
}

.menu-active {
    position: relative
}

.menu-active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 70%;
    background: linear-gradient(135deg, #f97316, #f14d3c);
    border-radius: 0 4px 4px 0
}

.card-lift {
    transition: transform 0.2s ease, box-shadow 0.2s ease
}

.card-lift:hover {
    transform: translateY(-2px)
}

.sidebar-collapsed .sidebar-label {
    display: none
}

.sidebar-collapsed .sidebar-category {
    display: none
}

.sidebar-collapsed aside {
    width: 80px !important
}

.sidebar-collapsed .sidebar-logo-text {
    display: none
}

.sidebar-collapsed .sidebar-collapse-btn i {
    transform: rotate(180deg)
}

.sidebar-collapsed .sidebar-footer {
    display: none
}

.sidebar-collapsed .sidebar-badge {
    display: none
}

.page-content {
    animation: fadeInUp 0.4s ease-out
}

.toast-enter {
    animation: slideInRight 0.3s ease-out
}

*:focus-visible {
    outline: 2px solid #f97316;
    outline-offset: 2px;
    border-radius: 4px
}

.skeleton {
    background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);
    background-size: 200% 100%;
    animation: shimmer 2s infinite linear
}

.dark .skeleton {
    background: linear-gradient(90deg, #1e293b 25%, #334155 50%, #1e293b 75%);
    background-size: 200% 100%
}

@media print {
    .no-print {
        display: none !important
    }
}