/**
 * App shell layout — panel widths, sidebar collapse, dark color-scheme.
 * Extracted from duplicated inline <head> styles in the snapshots.
 */

:root.dark {
    color-scheme: dark;
}

@media (min-width: 1024px) {
    .chat-panel-open {
        --chat-panel-width: clamp(22rem, 28vw, 36rem);
    }

    .courses-file-browser-open {
        --courses-file-browser-width: clamp(30rem, 40vw, 52rem);
    }

    .email-template-preview-open {
        --email-template-preview-width: clamp(30rem, 40vw, 52rem);
    }

    .courses-file-browser-open [data-dashboard-sidebar],
    .courses-file-browser-open [data-app-sidebar-collapse-control],
    .chat-panel-open [data-dashboard-sidebar],
    .chat-panel-open [data-app-sidebar-collapse-control],
    .email-template-preview-open [data-dashboard-sidebar],
    .email-template-preview-open [data-app-sidebar-collapse-control] {
        display: none !important;
    }

    .courses-file-browser-open [data-dashboard-main],
    .chat-panel-open [data-dashboard-main],
    .email-template-preview-open [data-dashboard-main] {
        width: 100%;
        min-width: 0;
        max-width: none !important;
    }

    .chat-panel-open [data-dashboard-main] {
        padding-right: calc(var(--chat-panel-width) + 0.75rem);
    }

    .courses-file-browser-open [data-dashboard-main] {
        padding-right: calc(var(--courses-file-browser-width) + 0.75rem);
    }

    .email-template-preview-open [data-dashboard-main] {
        padding-right: calc(var(--email-template-preview-width) + 0.75rem);
    }

    .courses-file-browser-open.chat-panel-open [data-dashboard-main] {
        padding-right: calc(var(--courses-file-browser-width) + var(--chat-panel-width) + 1rem);
    }

    .chat-panel-open [data-chat-panel] {
        width: min(var(--chat-panel-width), 100vw);
    }

    .courses-file-browser-open [data-course-file-browser-panel]:not([data-course-file-browser-fullscreen]) {
        width: min(var(--courses-file-browser-width), 100vw);
    }

    .courses-file-browser-open [data-course-file-browser-fullscreen] {
        width: 100vw;
        max-width: none;
    }

    .email-template-preview-open [data-email-template-preview-panel] {
        width: min(var(--email-template-preview-width), 100vw);
    }

    .courses-file-browser-open.chat-panel-open [data-chat-panel] {
        right: min(var(--courses-file-browser-width), 100vw);
    }
}
