/* =========================================================
   TeachSmarts Layout Contract
   layout.css — DO NOT EDIT PER APP
   ========================================================= */

/* Root sizing */
html, body {
    height: 100%;
    margin: 0;
}

/* App mode: single authority for centring */
body.app {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    justify-content: center;
    align-items: stretch;
    overflow: auto;
}

/* Landing mode intentionally NOT centred */
body.landing-page {
    display: block;
    min-height: 100vh;
}

/* Single mount point */
.page-frame {
    width: 100%;
    min-height: 100%;
    display: flex;
    justify-content: center;
    align-items: stretch;
}

/* Dashboard wrapper */
.dashboard-page {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Primary card */
.dashboard-card {
    width: 100%;
    max-width: 760px;
    background: #ffffff;
    border-radius: 16px;
    padding: 48px 40px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}

/* Wizard pages are content, not layout */
.wizard-page {
    width: 100%;
    max-width: none;
    margin: 0 auto;
}

/* Scroll containment (used inside wizards when needed) */
.scrollable-container {
    max-height: none;
    overflow: visible;
}
