/* Page frame shared by access screens and authenticated dashboards. */
:where(.cox-dashboard, .cox-student-portal, .cox-teacher-portal) {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
    margin: 0 0 -2px;
    padding: 18px;
    padding-bottom: max(18px, calc(env(safe-area-inset-bottom, 0px) + 18px));
    overflow-x: clip;
    overflow-y: visible;
    color: var(--cox-brand-white);
    background: #030405;
    font-family: var(--cox-brand-body);
    isolation: isolate;
}

:where(.cox-dashboard, .cox-student-portal, .cox-teacher-portal) > .cox-ui-grid-bg {
    background-image: linear-gradient(135deg, rgba(237, 28, 36, .13), transparent 30%),
        linear-gradient(215deg, rgba(237, 28, 36, .18), transparent 36%),
        linear-gradient(135deg, #030405 0%, #0f1118 48%, #050607 100%),
        linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
    background-size: auto, auto, auto, 64px 64px, 64px 64px;
}

:where(.cox-dashboard) { padding: 14px; }

:where(.cox-dashboard, .cox-student-portal, .cox-teacher-portal) :where(h1, h2, h3, p) {
    overflow-wrap: anywhere;
}

@media (max-width: 680px) {
    :where(.cox-dashboard, .cox-student-portal, .cox-teacher-portal) {
        padding: 14px;
        padding-bottom: max(14px, calc(env(safe-area-inset-bottom, 0px) + 14px));
    }
}
