.fh-app,
.app-shell,
.page,
.auth-page,
.landing-page,
.landing-v2-page,
.admin-shell {
    min-height: 100vh;
    min-height: 100dvh;
}

.page,
.auth-page,
.landing-shell,
.landing-v2-shell,
.landing-footer-shell {
    width: min(100% - 32px, 1440px);
    margin-inline: auto;
}

.page {
    padding: calc(var(--fh-navbar-offset, 132px) + 24px) 0 48px;
}

.auth-page {
    display: grid;
    align-content: center;
    justify-items: center;
    padding: 40px 0;
}

.admin-shell {
    display: grid;
    grid-template-columns: 296px minmax(0, 1fr);
    align-items: start;
    min-width: 0;
}

.admin-sidebar,
.admin-main,
.admin-page-head,
.admin-page-kpis,
.admin-table-toolbar,
.admin-inline-form,
.admin-purchase-form,
.admin-teacher-tool-actions,
.admin-teacher-metrics {
    min-width: 0;
}

.admin-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: auto;
    z-index: 50;
}

.admin-main {
    min-width: 0;
    padding: 28px;
}

.admin-page-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
    gap: 24px;
    align-items: start;
}

.admin-page-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.admin-inline-form,
.admin-purchase-form {
    display: grid;
    gap: 12px;
}

@media (max-width: 1024px) {
    .page,
    .auth-page,
    .landing-shell,
    .landing-v2-shell,
    .landing-footer-shell {
        width: min(100% - 24px, 1440px);
    }

    .admin-shell {
        grid-template-columns: 1fr;
    }

    .admin-sidebar {
        position: sticky;
        margin: 12px;
        height: auto;
        max-height: calc(100vh - 24px);
        border-radius: var(--app-radius-lg);
    }

    .admin-main,
    .page {
        padding-top: calc(var(--fh-navbar-offset, 118px) + 20px);
    }

    .admin-page-head,
    .admin-table-toolbar {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    body {
        overflow-x: hidden;
    }

    body.admin-sidebar-mobile-open {
        overflow: hidden;
    }

    .page,
    .auth-page,
    .landing-shell,
    .landing-v2-shell,
    .landing-footer-shell {
        width: min(100% - 16px, 100%);
    }

    .page {
        padding: calc(var(--fh-navbar-offset, 104px) + 16px) 0 calc(32px + var(--safe-bottom));
    }

    .auth-page {
        padding: 18px 0 calc(32px + var(--safe-bottom));
    }

    .admin-shell {
        display: block;
    }

    .admin-sidebar {
        position: fixed;
        top: 0;
        inset-inline-start: 0;
        width: min(88vw, 340px);
        height: 100vh;
        max-height: 100vh;
        margin: 0;
        border-radius: 0 24px 24px 0;
        transform: translateX(-104%);
        transition: transform .24s ease;
        z-index: 60;
    }

    html[dir="rtl"] .admin-sidebar {
        inset-inline-start: auto;
        inset-inline-end: 0;
        border-radius: 24px 0 0 24px;
        transform: translateX(104%);
    }

    body.admin-sidebar-mobile-open .admin-sidebar {
        transform: translateX(0);
    }

    body.admin-sidebar-mobile-open::after {
        content: "";
        position: fixed;
        inset: 0;
        background: rgba(8, 15, 32, 0.52);
        backdrop-filter: blur(2px);
        z-index: 55;
    }

    .admin-main {
        padding: 16px;
    }

    .admin-page-head,
    .admin-page-kpis,
    .admin-table-toolbar,
    .admin-inline-form,
    .admin-purchase-form,
    .admin-teacher-tool-actions,
    .admin-teacher-metrics {
        grid-template-columns: 1fr;
    }
}
