/* Utility & Helper Styles for Glassmorphism Redesign */

.glass-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.4);
}

.ambient-shadow {
    box-shadow: 0 20px 20px -5px rgba(15, 23, 42, 0.06), 0 4px 6px -2px rgba(15, 23, 42, 0.02);
}

.sidebar-transition {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Accordion transition utility */
.submenu-list {
    transition: max-height 0.3s ease-out;
}

/* Desktop Collapsed Sidebar overrides */
@media (min-width: 768px) {
    .app-container.sidebar-collapsed #main-sidebar {
        transform: translateX(-100%);
    }
    
    .app-container.sidebar-collapsed main {
        margin-left: 0 !important;
    }
}

/* Decorative Background glowing orbs that shine behind glass cards */
body::before, body::after {
    content: "";
    position: fixed;
    width: 480px;
    height: 480px;
    border-radius: 50%;
    z-index: -20;
    filter: blur(140px);
    opacity: 0.38;
    pointer-events: none;
}

body::before {
    background: radial-gradient(circle, #bcc7de 0%, rgba(255,255,255,0) 70%);
    top: -10%;
    right: 5%;
}

body::after {
    background: radial-gradient(circle, #d8e3fb 0%, rgba(255,255,255,0) 70%);
    bottom: -10%;
    left: 5%;
}

/* Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
