/* App shell: the flex shell, main column and the scrolling content area.
   Loaded on every page. */

.main {
    margin-left: 220px;
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: margin-left 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.content {
    flex: 1;
    overflow-y: auto;
    padding: 20px 24px;
    position: relative;
}

.app-shell {
    display: none;
}

.app-shell.visible {
    display: flex;
    width: 100%;
}

@media (max-width: 768px) {
    .main {
        margin-left: 0;
    }
}

/* Layout Constraints for Responsiveness */
.main {
    min-width: 0;
}

.content {
    max-width: 100%;
}

@media (max-width: 768px) {
    /* Layout content padding reduction */
    .content {
        padding: 12px 16px !important;
    }
}

.content {
    font-size: var(--fs-md);
    color: var(--ink);
}

.page-sub {
    color: var(--muted-ink);
    margin: 0 0 14px;
    max-width: 78ch;
    font-size: var(--fs-sm);
}

/* Shown in place of a page whose file does not exist (index.php). */
.card.page-not-found {
    margin: 20px;
    padding: 24px;
    text-align: center;
}

.page-not-found .page-not-found-text {
    color: var(--muted);
    margin-top: 8px;
}

/* Title row with the page's main action on the right (employees, roles). */
.page-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.page-head .page-head-title {
    font-size: var(--fs-2xl);
    font-weight: 700;
}
