html, body {
    height: 100vh;
    min-width: 320px;
    margin: 0;
    display: flex;
    flex-direction: column;
}

[hidden] {
    display: none !important;
}

section {
    display: flex;
    flex-grow: 1;
    flex-direction: column;
}

.logo {
    height: 32px;
}

/* Ensure panes are always visible on larger screens (md+) */
@media (min-width: 768px) {
    .tab-pane:not([hidden]) {
        display: flex !important;
        opacity: 1 !important;
        width: 33.3333%;
    }

    /* Make first pane larger if second one is hidden */
    .tab-content:has(>:nth-child(2)[hidden]) > .tab-pane:not([hidden]) {
        width: 50% !important;
    }
}

.tab-pane {
    width: 100%;
}

.tab-content>.active {
    display: flex;
}