/*
 * BODYCHECK PRO — ESTILO GLOBAL
 * Versão 1.3.7
 * Centraliza cores, tipografia, responsividade e impressão.
 */

body.bcp-system-page {
    --bcp-bg: #050505;
    --bcp-card: #151515;
    --bcp-card-alt: #1d1d1d;
    --bcp-accent: #ff6900;
    --bcp-text: #ffffff;
    --bcp-text-soft: #a8a8a8;
    --bcp-success: #31c56b;

    --bcp-page-title: 26px;
    --bcp-section-title: 20px;
    --bcp-card-label: 10px;
    --bcp-card-value: 19px;
    --bcp-helper: 12px;
    --bcp-button-text: 14px;

    --bcp-radius-lg: 22px;
    --bcp-radius-md: 16px;
    --bcp-space-page: 20px;
    --bcp-space-card: 18px;
}

html,
body.bcp-system-page {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    min-height: 100% !important;
    max-width: 100%;
    background: var(--bcp-bg) !important;
    overflow-x: hidden !important;
}

body.bcp-system-page,
body.bcp-system-page .site,
body.bcp-system-page .site-content,
body.bcp-system-page .content-area,
body.bcp-system-page .site-main,
body.bcp-system-page .entry-content {
    background: var(--bcp-bg) !important;
}

body.bcp-system-page *,
body.bcp-system-page *::before,
body.bcp-system-page *::after {
    box-sizing: border-box;
}

/* Elementor: preserva o visual definido em cada tela. */
body.bcp-system-page .elementor,
body.bcp-system-page .elementor-section,
body.bcp-system-page .elementor-container,
body.bcp-system-page .elementor-widget-wrap,
body.bcp-system-page .elementor-widget,
body.bcp-system-page .elementor-widget-container,
body.bcp-system-page .e-con,
body.bcp-system-page .e-con-inner {
    background-color: transparent;
    max-width: 100%;
}

body.bcp-system-page .entry-header,
body.bcp-system-page .entry-title,
body.bcp-system-page .entry-meta,
body.bcp-system-page .post-meta,
body.bcp-system-page .page-header {
    display: none !important;
}

body.bcp-system-page img,
body.bcp-system-page svg,
body.bcp-system-page video,
body.bcp-system-page canvas {
    max-width: 100%;
    height: auto;
}

body.bcp-system-page input,
body.bcp-system-page select,
body.bcp-system-page textarea,
body.bcp-system-page button {
    max-width: 100%;
    font: inherit;
}

body.bcp-system-page textarea {
    resize: vertical;
}

/* Impede quebra letra por letra sem impor tamanho aos títulos. */
body.bcp-system-page :is(h1,h2,h3,h4,h5,h6,strong,label,p,span,a,button) {
    word-break: normal !important;
    overflow-wrap: anywhere;
    hyphens: none !important;
}

/* Classes oficiais de tipografia. As páginas antigas continuam funcionando. */
body.bcp-system-page .bcp-page-title { font-size: var(--bcp-page-title); line-height: 1.12; font-weight: 800; }
body.bcp-system-page .bcp-section-title { font-size: var(--bcp-section-title); line-height: 1.2; font-weight: 800; }
body.bcp-system-page .bcp-card-label { font-size: var(--bcp-card-label); line-height: 1.25; font-weight: 700; }
body.bcp-system-page .bcp-card-value { font-size: var(--bcp-card-value); line-height: 1.2; font-weight: 700; }
body.bcp-system-page .bcp-helper-text { font-size: var(--bcp-helper); line-height: 1.45; }
body.bcp-system-page .bcp-button-text,
body.bcp-system-page .bcp-btn { font-size: var(--bcp-button-text); font-weight: 700; }

/* Containers e mídia. */
body.bcp-system-page :is(
    .bcp-pagina-inicial,.bcp-comparar,.bcp-evolucao-pro,.bcp-container,
    .bcp-wrapper,.bcp-app,.bodycheck-pro,[class*="bcp-pagina"],
    [class*="bcp-container"],[class*="bodycheck"]
) {
    max-width: 100%;
    min-width: 0;
}

body.bcp-system-page :is(.bcp-tabela-wrap,.table-responsive,[class*="tabela-wrap"],[class*="table-wrap"]) {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.bcp-system-page table { border-collapse: collapse; }

/* Relatório */
body.bcp-system-page .bcp-premium { background: var(--bcp-bg) !important; }
body.bcp-system-page .bcp-premium .bcp-folha,
body.bcp-system-page .bcp-premium .bcp-folha *,
body.bcp-system-page #bcp-relatorio-folha,
body.bcp-system-page #bcp-relatorio-folha * {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
}
body.bcp-system-page .bcp-premium .bcp-folha,
body.bcp-system-page #bcp-relatorio-folha { background: #fff !important; }
body.bcp-system-page .bcp-premium .bcp-folha section,
body.bcp-system-page .bcp-premium .bcp-folha header,
body.bcp-system-page .bcp-premium .bcp-folha footer,
body.bcp-system-page .bcp-premium .bcp-folha div { background-color: initial; }

body.bcp-system-page #bcp-painel-aluno #bcp-relatorio {
    background: linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,0)),var(--bcp-card) !important;
    color: #f8f8f8 !important;
}
body.bcp-system-page #bcp-painel-aluno #bcp-relatorio .bcp-card-icone {
    background: rgba(255,105,0,.12) !important;
    border: 1px solid rgba(255,105,0,.18) !important;
    color: var(--bcp-accent) !important;
}

@media (max-width: 1024px) {
    body.bcp-system-page .elementor-section.elementor-section-boxed > .elementor-container {
        max-width: 100% !important;
        width: 100% !important;
    }
}

@media (max-width: 767px) {
    body.bcp-system-page {
        --bcp-page-title: 22px;
        --bcp-section-title: 18px;
        --bcp-card-label: 9px;
        --bcp-card-value: 17px;
        --bcp-helper: 11px;
        --bcp-button-text: 13px;
        --bcp-space-page: 14px;
        --bcp-space-card: 14px;
        padding: 0 !important;
    }

    body.bcp-system-page :is(.elementor-section,.elementor-container,.e-con,.e-con-inner,.elementor-column,.elementor-widget-wrap,.elementor-widget,.elementor-widget-container) {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Não força todos os grids para uma coluna: cada tela mantém seu desenho. */
    body.bcp-system-page :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
        width: 100%;
        min-width: 0;
        min-height: 48px;
    }

    body.bcp-system-page :is(button,.button,[class*="bcp-botao"],[class*="bcp-button"]) {
        min-height: 44px;
    }

    body.bcp-system-page :is(.bcp-card,.bcp-secao,.bcp-box,[class*="bcp-card"],[class*="bcp-secao"],[class*="bcp-box"]) {
        max-width: 100%;
        min-width: 0;
    }

    body.bcp-system-page :is(.bcp-grafico-wrap,.bcp-chart,[class*="grafico"],[class*="chart"]) {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    body.bcp-system-page .bcp-premium {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 14px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: var(--bcp-bg) !important;
    }
}

@media print {
    html,
    body.bcp-system-page,
    body.bcp-system-page .site,
    body.bcp-system-page .site-content,
    body.bcp-system-page .content-area,
    body.bcp-system-page .site-main,
    body.bcp-system-page .entry-content,
    body.bcp-system-page .elementor,
    body.bcp-system-page .elementor-section,
    body.bcp-system-page .elementor-container,
    body.bcp-system-page .elementor-widget-wrap,
    body.bcp-system-page .elementor-widget,
    body.bcp-system-page .elementor-widget-container,
    body.bcp-system-page .e-con,
    body.bcp-system-page .e-con-inner {
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
    }

    body.bcp-system-page :is(.bcp-topo-sistema,.bcp-filtros,.bcp-mensagem,.bcp-menu-global,.bcp-bottom-nav,.bcp-menu-inferior,nav,header.site-header,footer.site-footer) {
        display: none !important;
    }

    body.bcp-system-page .bcp-premium {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    body.bcp-system-page .bcp-folha,
    body.bcp-system-page #bcp-relatorio-folha {
        width: 100% !important;
        margin: 0 !important;
        background: #fff !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }
}
