/* Premium admin page transitions — cross-document VT + content reveal */

@view-transition {
    navigation: auto;
}

::view-transition-old(admin-main),
::view-transition-new(admin-main) {
    animation-duration: 0.38s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

::view-transition-old(admin-main) {
    animation-name: admin-vt-fade-out;
}

::view-transition-new(admin-main) {
    animation-name: admin-vt-fade-in-up;
}

::view-transition-old(admin-sidebar),
::view-transition-new(admin-sidebar) {
    animation: none;
}

@keyframes admin-vt-fade-out {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(-8px); }
}

@keyframes admin-vt-fade-in-up {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 992px) {
    .sidebar-container {
        view-transition-name: admin-sidebar;
    }

    .admin-page-shell,
    .analytics-container.admin-page-shell {
        view-transition-name: admin-main;
    }
}

.admin-page-content {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 0.42s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

body.admin-page-loading .admin-page-content {
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
}

body.admin-page-leaving .admin-page-shell,
body.admin-page-leaving .admin-page-content,
body.admin-page-leaving .analytics-container {
    opacity: 0;
    transform: translateY(-8px);
    transition:
        opacity 0.2s cubic-bezier(0.4, 0, 1, 1),
        transform 0.2s cubic-bezier(0.4, 0, 1, 1);
    pointer-events: none;
}

body.admin-nav-pending .admin-page-skeleton {
    display: block;
    opacity: 1;
}

/* Sidebar link press feedback */
.sidebar-link,
.sidebar-sublink,
.sidebar-dropdown-main {
    transition:
        background-color var(--motion-fast, 0.22s) ease,
        color var(--motion-fast, 0.22s) ease,
        transform 0.18s cubic-bezier(0.22, 1, 0.36, 1);
}

.sidebar-link.is-nav-pressing,
.sidebar-sublink.is-nav-pressing,
.sidebar-dropdown-main.is-nav-pressing {
    transform: scale(0.97);
}

@media (prefers-reduced-motion: reduce) {
    @view-transition {
        navigation: none;
    }

    .admin-page-content,
    body.admin-page-leaving .admin-page-shell,
    body.admin-page-leaving .admin-page-content {
        transition: none !important;
        transform: none !important;
    }

    ::view-transition-old(admin-main),
    ::view-transition-new(admin-main) {
        animation: none !important;
    }
}
