/**
 * FireSys — Workspace content area (padding e ritmo visual das páginas)
 *
 * Estrutura:
 *   Workspace Tabs → Workspace Content → Page Container → Cards/Forms/Tables
 */

/* ----- Área de scroll com padding externo ----- */

.workspace-content-area {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    box-sizing: border-box;
    background: var(--background-color);
    max-width: 100%;
}

body.workspace-embed-body {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

body.workspace-embed-body .workspace-content-area {
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
}

/* ----- Container interno da página ----- */

.workspace-page-container {
    display: flex;
    flex-direction: column;
    gap: var(--page-section-gap);
    max-width: 100%;
    margin: 0 auto;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
}

.workspace-page-container > *:last-child {
    margin-bottom: 0;
}

/* ----- Títulos e cabeçalhos ----- */

.workspace-page-container .page-header,
.workspace-page-container .dashboard-header {
    margin-bottom: 0;
    padding-bottom: var(--page-header-gap);
}

.workspace-page-container .page-header h1,
.workspace-page-container .page-header .h1,
.workspace-page-container .page-header .h3 {
    margin-bottom: 0;
}

.workspace-page-container .breadcrumb {
    margin-bottom: var(--space-sm);
}

/* ----- Cards ----- */

.workspace-page-container .card {
    margin-bottom: 0 !important;
}

.workspace-page-container .card .card-body {
    padding: var(--card-padding);
}

.workspace-page-container .card .card-body.p-0 {
    padding: 0;
}

.workspace-page-container .card .card-header {
    padding: var(--card-padding-compact) var(--card-padding);
}

.workspace-page-container .card .card-footer {
    padding: var(--card-padding-compact) var(--card-padding);
}

/* Tabela dentro de card sem padding no body — células mantêm respiro */
.workspace-page-container .card .card-body.p-0 .table thead th,
.workspace-page-container .card .card-body.p-0 .table tbody td {
    padding-left: var(--card-padding);
    padding-right: var(--card-padding);
}

.workspace-page-container .card .card-body.p-0 .table thead th:first-child,
.workspace-page-container .card .card-body.p-0 .table tbody td:first-child {
    padding-left: var(--card-padding);
}

.workspace-page-container .card .card-body.p-0 .pagination,
.workspace-page-container .card .card-body.p-0 nav[aria-label] {
    padding: var(--card-padding-compact) var(--card-padding) var(--card-padding);
}

/* ----- Formulários ----- */

.workspace-page-container form .row.g-3,
.workspace-page-container form .row.g-4,
.workspace-page-container .app-form .row {
    --bs-gutter-x: var(--form-gap);
    --bs-gutter-y: var(--form-gap);
}

.workspace-page-container .app-form .mb-3,
.workspace-page-container form .mb-3 {
    margin-bottom: var(--form-gap) !important;
}

.workspace-page-container .form-actions:not(.sticky-action-bar) {
    margin-top: var(--page-section-gap);
    padding-top: var(--card-padding-compact);
}


/* ----- Listagens: título → filtros → tabela ----- */

.workspace-page-container .app-table-card .table-responsive {
    margin: 0;
}

/* ----- Dashboard ----- */

.workspace-page-container .dashboard-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--page-section-gap);
}

.workspace-page-container .dashboard-wrapper .row.g-3,
.workspace-page-container .dashboard-wrapper .row.g-4 {
    --bs-gutter-y: var(--page-section-gap);
}

.workspace-page-container .section-heading {
    margin-bottom: var(--space-sm);
}

/* ----- Alertas dentro do workspace embed ----- */

.workspace-content-area > .workspace-flash-in-page {
    margin-bottom: var(--page-section-gap);
}

.workspace-flash-in-page .alert:last-child {
    margin-bottom: 0;
}

/* ----- Tablet ----- */

@media (max-width: 991.98px) {
    .workspace-content-area {
        padding: var(--page-padding-tablet);
    }

    .workspace-page-container .card .card-body,
    .workspace-page-container .card .card-header,
    .workspace-page-container .card .card-footer {
        padding-left: var(--card-padding-compact);
        padding-right: var(--card-padding-compact);
    }

    .workspace-page-container .card .card-body {
        padding-top: var(--card-padding-compact);
        padding-bottom: var(--card-padding-compact);
    }
}

/* ----- Mobile ----- */

@media (max-width: 767.98px) {
    .workspace-content-area {
        padding: var(--page-padding-mobile);
    }

    .workspace-page-container {
        gap: var(--form-gap);
    }

    .workspace-page-container .card .card-body,
    .workspace-page-container .card .card-header {
        padding: var(--card-padding-compact);
    }
}

@media print {
    .workspace-content-area {
        padding: 0;
        overflow: visible;
    }
}
