/* ==========================================================================
   NEXA GESTÃO
   IDENTIDADE VISUAL GLOBAL
   ========================================================================== */

:root {

    /* =========================================================
       FUNDOS
       ========================================================= */

    --nexa-bg: #03070d;
    --nexa-bg-deep: #010409;
    --nexa-bg-soft: #07111e;

    --nexa-sidebar: #04101d;

    --nexa-card: #081422;
    --nexa-card-soft: #0c1828;
    --nexa-card-hover: #102036;


    /* =========================================================
       TEXTO
       ========================================================= */

    --nexa-text: #ffffff;
    --nexa-text-soft: #b1bfd2;
    --nexa-text-muted: #8a9bb2;
    --nexa-text-faint: #66788f;


    /* =========================================================
       MARCA
       ========================================================= */

    --nexa-blue: #1677ff;
    --nexa-blue-light: #29a3ff;
    --nexa-cyan: #19c8ff;

    --nexa-purple: #7c35ff;
    --nexa-purple-light: #a743ff;

    --nexa-green: #19d890;

    --nexa-yellow: #ffb800;
    --nexa-red: #ef4444;


    /* =========================================================
       BORDAS
       ========================================================= */

    --nexa-border: rgba(255,255,255,.08);
    --nexa-border-soft: rgba(255,255,255,.055);
    --nexa-border-strong: rgba(255,255,255,.13);


    /* =========================================================
       GRADIENTES
       ========================================================= */

    --nexa-primary-gradient:
        linear-gradient(
            135deg,
            #a808ff 0%,
            #7126ff 38%,
            #424cff 68%,
            #1677ff 100%
        );

    --nexa-card-gradient:
        linear-gradient(
            145deg,
            #0b1929,
            #06101c
        );


    /* =========================================================
       TAMANHOS OFICIAIS
       ========================================================= */

    --nexa-page-title: 38px;
    --nexa-page-subtitle: 17px;

    --nexa-section-title: 26px;
    --nexa-section-subtitle: 16px;

    --nexa-card-title: 18px;
    --nexa-card-subtitle: 14px;

    --nexa-label: 12px;
    --nexa-body: 15px;
    --nexa-small: 13px;

    --nexa-menu-title: 15px;
    --nexa-menu-subtitle: 12px;


    /* =========================================================
       RADIUS
       ========================================================= */

    --nexa-radius-sm: 10px;
    --nexa-radius: 14px;
    --nexa-radius-lg: 20px;
    --nexa-radius-xl: 26px;


    /* =========================================================
       SOMBRAS
       ========================================================= */

    --nexa-shadow:
        0 24px 70px rgba(0,0,0,.30);

    --nexa-shadow-strong:
        0 36px 100px rgba(0,0,0,.46);
}


/* ==========================================================================
   BASE
   ========================================================================== */

html {
    background: var(--nexa-bg-deep);
}

body {
    color: var(--nexa-text);

    background:
        radial-gradient(
            circle at 18% 0%,
            rgba(22,119,255,.085),
            transparent 31%
        ),
        radial-gradient(
            circle at 86% 8%,
            rgba(124,53,255,.08),
            transparent 27%
        ),
        var(--nexa-bg);

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;
}


/* ==========================================================================
   TÍTULO PRINCIPAL
   ========================================================================== */

.page-title,
.page-header h1,
.topbar h1,
.main-header h1,
.content-header h1 {
    color: #ffffff !important;

    font-size:
        clamp(
            31px,
            3vw,
            var(--nexa-page-title)
        ) !important;

    line-height: 1.08 !important;

    font-weight: 900 !important;

    letter-spacing: -1.2px !important;
}


/* ==========================================================================
   SUBTÍTULO PRINCIPAL
   ========================================================================== */

.page-subtitle,
.page-header > p,
.topbar > div > p,
.main-header p,
.content-header p {
    color: var(--nexa-text-soft) !important;

    font-size:
        var(--nexa-page-subtitle) !important;

    line-height: 1.58 !important;

    font-weight: 500 !important;
}


/* ==========================================================================
   TÍTULOS DE SEÇÃO
   ========================================================================== */

.section-title,
.section-head h2,
section > header h2,
.card-header h2,
.panel-header h2,
.content-section h2 {
    color: #ffffff !important;

    font-size:
        var(--nexa-section-title) !important;

    line-height: 1.14 !important;

    font-weight: 900 !important;

    letter-spacing: -.55px !important;
}


/* ==========================================================================
   SUBTÍTULOS DE SEÇÃO
   ========================================================================== */

.section-subtitle,
.section-head p,
section > header p,
.card-header p,
.panel-header p {
    color: var(--nexa-text-soft) !important;

    font-size:
        var(--nexa-section-subtitle) !important;

    line-height: 1.55 !important;
}


/* ==========================================================================
   LABEL AZUL / EYEBROW
   ========================================================================== */

.eyebrow,
.section-label,
.card-label,
.metric-label,
.stat-label,
.kpi-label {
    color: var(--nexa-blue-light) !important;

    font-size:
        var(--nexa-label) !important;

    line-height: 1.25 !important;

    font-weight: 900 !important;

    letter-spacing: 1.35px !important;

    text-transform: uppercase;
}


/* ==========================================================================
   CARDS
   ========================================================================== */

.card,
.nexa-card,
.config-card,
.dashboard-card,
.metric-card,
.stat-card,
.panel {
    border-color:
        var(--nexa-border) !important;

    background:
        var(--nexa-card-gradient);

    border-radius:
        var(--nexa-radius-lg);

    box-shadow:
        var(--nexa-shadow);
}


/* ==========================================================================
   TÍTULO DENTRO DE CARD
   ========================================================================== */

.card h3,
.nexa-card h3,
.metric-card h3,
.stat-card h3,
.panel h3 {
    color: #ffffff !important;

    font-size:
        var(--nexa-card-title) !important;

    line-height: 1.25 !important;

    font-weight: 850 !important;
}


/* ==========================================================================
   SUBTÍTULOS / SMALL DOS CARDS
   ========================================================================== */

.card small,
.nexa-card small,
.metric-card small,
.stat-card small,
.panel small,
.metric-description,
.stat-description,
.kpi-description {
    color: var(--nexa-text-muted) !important;

    font-size:
        var(--nexa-card-subtitle) !important;

    line-height: 1.5 !important;

    font-weight: 550 !important;
}


/* ==========================================================================
   TEXTO GERAL
   ========================================================================== */

p {
    line-height: 1.55;
}

.text-soft {
    color: var(--nexa-text-soft) !important;
}

.text-muted {
    color: var(--nexa-text-muted) !important;
}


/* ==========================================================================
   MENU LATERAL
   ========================================================================== */

.sidebar {
    background:
        linear-gradient(
            180deg,
            #061321,
            #020911
        );
}


/* nome principal */

.sidebar nav a,
.sidebar .nav-item,
.sidebar .menu-item {
    color: #c0cad8;

    font-size:
        var(--nexa-menu-title) !important;

    font-weight: 720 !important;

    line-height: 1.25;
}


/* submenu / descrição */

.sidebar nav a small,
.sidebar nav a span small,
.sidebar .nav-description,
.sidebar .menu-description,
.sidebar .nav-subtitle,
.sidebar .menu-subtitle {
    display: block;

    margin-top: 3px;

    color: #8293aa !important;

    font-size:
        var(--nexa-menu-subtitle) !important;

    line-height: 1.3 !important;

    font-weight: 500 !important;
}


/* hover */

.sidebar nav a:hover {
    color: #ffffff !important;

    background:
        rgba(255,255,255,.035);
}


/* ativo */

.sidebar nav a.active {
    color: #ffffff !important;

    background:
        linear-gradient(
            135deg,
            rgba(168,8,255,.22),
            rgba(22,119,255,.16)
        ) !important;

    border-color:
        rgba(124,53,255,.32) !important;

    box-shadow:
        0 8px 28px rgba(80,35,220,.12);
}


/* ==========================================================================
   CAMPOS
   ========================================================================== */

.field label,
.form-group label {
    color: #d7e0eb !important;

    font-size: 13px !important;

    font-weight: 750 !important;
}

.field input,
.field select,
.field textarea,
.form-control {
    color: #ffffff;

    border-color:
        var(--nexa-border);

    background:
        rgba(255,255,255,.035);
}

.field input::placeholder,
.field textarea::placeholder {
    color: #66758a;
}

.field input:focus,
.field select:focus,
.field textarea:focus,
.form-control:focus {
    border-color:
        rgba(22,119,255,.78) !important;

    box-shadow:
        0 0 0 4px
        rgba(22,119,255,.10) !important;

    outline: none;
}


/* ==========================================================================
   BOTÕES
   ========================================================================== */

.button.primary,
.btn-primary,
.nexa-button-primary {
    min-height: 50px;

    color: #ffffff !important;

    background:
        var(--nexa-primary-gradient) !important;

    border: 0;

    border-radius:
        var(--nexa-radius);

    font-size: 14px !important;

    font-weight: 850 !important;

    box-shadow:
        0 15px 38px
        rgba(91,38,220,.31);
}


.button.secondary,
.btn-secondary,
.nexa-button-secondary {
    min-height: 48px;

    color: #ffffff !important;

    border:
        1px solid
        var(--nexa-border-strong) !important;

    background:
        rgba(255,255,255,.035) !important;

    border-radius:
        var(--nexa-radius);

    font-size: 14px !important;

    font-weight: 800 !important;
}


/* ==========================================================================
   ALERTAS
   ========================================================================== */

.alert {
    font-size: 14px !important;

    line-height: 1.5 !important;

    border-radius:
        var(--nexa-radius);
}

.alert.success {
    color: #b8f7cf !important;

    border-color:
        rgba(25,216,144,.20) !important;

    background:
        rgba(25,216,144,.07) !important;
}

.alert.error {
    color: #fecaca !important;

    border-color:
        rgba(239,68,68,.20) !important;

    background:
        rgba(239,68,68,.07) !important;
}

.alert.warning {
    color: #fde68a !important;

    border-color:
        rgba(255,184,0,.20) !important;

    background:
        rgba(255,184,0,.07) !important;
}


/* ==========================================================================
   BADGES
   ========================================================================== */

.badge {
    font-size: 12px !important;

    font-weight: 850 !important;
}


/* ==========================================================================
   TABELAS
   ========================================================================== */

table th {
    color: #98b6dd !important;

    font-size: 12px !important;

    font-weight: 900 !important;

    letter-spacing: .7px;
}

table td {
    color: #d7e0eb;

    font-size: 14px;
}


/* ==========================================================================
   LINKS DE AÇÃO
   ========================================================================== */

.section-link,
.card-link,
.view-all,
.action-link {
    color: var(--nexa-blue-light) !important;

    font-size: 13px !important;

    font-weight: 800 !important;
}


/* ==========================================================================
   RESPONSIVO
   ========================================================================== */

@media (max-width: 720px) {

    :root {
        --nexa-page-title: 30px;
        --nexa-page-subtitle: 15px;

        --nexa-section-title: 22px;
        --nexa-section-subtitle: 14px;

        --nexa-card-title: 17px;
        --nexa-card-subtitle: 13px;

        --nexa-menu-title: 14px;
        --nexa-menu-subtitle: 11px;
    }

}


/* ==========================================================================
   NEXA GESTÃO — VISUAL OFICIAL
   Modelo aprovado
   ========================================================================== */

:root {
    --nexa-bg: #020812;
    --nexa-bg-deep: #01060d;
    --nexa-bg-soft: #061321;

    --nexa-card: #061321;
    --nexa-card-soft: #091827;

    --nexa-border: rgba(38,126,214,.25);
    --nexa-border-strong: rgba(49,145,255,.38);

    --nexa-text: #ffffff;
    --nexa-text-soft: #e4eaf2;
    --nexa-text-muted: #c2ccda;

    --nexa-blue: #087cff;
    --nexa-blue-light: #26a7ff;
    --nexa-cyan: #13c8ff;
    --nexa-purple: #7c32ff;

    --nexa-page-title: 38px;
    --nexa-page-subtitle: 18px;

    --nexa-section-title: 26px;
    --nexa-section-subtitle: 16px;

    --nexa-card-title: 18px;
    --nexa-card-subtitle: 15px;

    --nexa-menu-title: 16px;
    --nexa-menu-subtitle: 13px;
}


/* FUNDO */

html,
body {
    background-color: #020812 !important;
}

body {
    color: #ffffff;

    background:
        radial-gradient(
            circle at 80% 0%,
            rgba(27,74,150,.10),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #020812,
            #030a15
        ) !important;
}


/* ==========================================================
   TÍTULO PRINCIPAL
   ========================================================== */

.page-title,
.page-header h1,
.topbar h1,
.main-header h1,
.content-header h1 {
    color: #ffffff !important;

    font-size: 38px !important;

    font-weight: 900 !important;

    line-height: 1.08 !important;

    letter-spacing: -1.1px !important;
}


/* SUBTÍTULO PRINCIPAL */

.page-subtitle,
.page-header > p,
.topbar > div > p,
.main-header p,
.content-header p {
    color: #e4eaf2 !important;

    font-size: 18px !important;

    line-height: 1.55 !important;

    font-weight: 500 !important;
}


/* ==========================================================
   TÍTULOS DE SEÇÃO
   ========================================================== */

.section-title,
.section-head h2,
section > header h2,
.card-header h2,
.panel-header h2,
.content-section h2 {
    color: #ffffff !important;

    font-size: 26px !important;

    line-height: 1.15 !important;

    font-weight: 900 !important;
}


/* SUBTÍTULOS DAS SEÇÕES */

.section-subtitle,
.section-head p,
section > header p,
.card-header p,
.panel-header p {
    color: #ffffff !important;

    font-size: 16px !important;

    line-height: 1.55 !important;

    font-weight: 500 !important;

    opacity: .92;
}


/* ==========================================================
   LABELS AZUIS
   ========================================================== */

.eyebrow,
.section-label,
.card-label,
.metric-label,
.stat-label,
.kpi-label {
    color: #25a5ff !important;

    font-size: 13px !important;

    font-weight: 900 !important;

    line-height: 1.25 !important;

    letter-spacing: .8px !important;

    text-transform: uppercase;
}


/* ==========================================================
   CARDS
   ========================================================== */

.card,
.nexa-card,
.config-card,
.dashboard-card,
.metric-card,
.stat-card,
.panel {
    border:
        1px solid
        rgba(38,126,214,.25) !important;

    background:
        linear-gradient(
            145deg,
            #071525,
            #030c17
        ) !important;

    border-radius: 16px;

    box-shadow:
        0 14px 35px
        rgba(0,0,0,.20);
}


/* TÍTULOS DENTRO DOS CARDS */

.card h3,
.nexa-card h3,
.metric-card h3,
.stat-card h3,
.panel h3 {
    color: #ffffff !important;

    font-size: 18px !important;

    font-weight: 850 !important;
}


/* SUBTÍTULOS DOS CARDS */

.card small,
.nexa-card small,
.metric-card small,
.stat-card small,
.panel small,
.metric-description,
.stat-description,
.kpi-description {
    color: #ffffff !important;

    font-size: 15px !important;

    line-height: 1.45 !important;

    font-weight: 500 !important;

    opacity: .88;
}


/* ==========================================================
   MENU LATERAL
   ========================================================== */

.sidebar {
    background:
        linear-gradient(
            180deg,
            #04111f,
            #020912
        ) !important;

    border-right:
        1px solid
        rgba(43,128,220,.22) !important;
}


/* NOME DO MENU */

.sidebar nav a,
.sidebar .nav-item,
.sidebar .menu-item {
    color: #ffffff !important;

    font-size: 16px !important;

    font-weight: 750 !important;
}


/* SUBMENU */

.sidebar nav a small,
.sidebar nav a span small,
.sidebar .nav-description,
.sidebar .menu-description,
.sidebar .nav-subtitle,
.sidebar .menu-subtitle {
    display: block;

    margin-top: 3px;

    color: #ffffff !important;

    font-size: 13px !important;

    line-height: 1.3 !important;

    font-weight: 500 !important;

    opacity: .82;
}


/* ITEM ATIVO */

.sidebar nav a.active {
    color: #ffffff !important;

    border:
        1px solid
        rgba(45,126,255,.75) !important;

    background:
        linear-gradient(
            135deg,
            rgba(75,31,255,.72),
            rgba(0,119,255,.72)
        ) !important;

    box-shadow:
        0 0 25px
        rgba(31,92,255,.18);
}


/* ÍCONES DO MENU */

.sidebar nav a svg,
.sidebar nav a i,
.sidebar .nav-icon,
.sidebar .menu-icon {
    color: #8dc8ff !important;

    opacity: 1 !important;
}


/* ==========================================================
   FORMULÁRIOS
   ========================================================== */

.field label,
.form-group label {
    color: #ffffff !important;

    font-size: 14px !important;

    font-weight: 700 !important;
}

.field input,
.field select,
.field textarea,
.form-control {
    color: #ffffff !important;

    background:
        #071321 !important;

    border:
        1px solid
        rgba(54,118,190,.32) !important;
}


/* ==========================================================
   TABELAS
   ========================================================== */

table th {
    color: #9fd0ff !important;

    font-size: 13px !important;

    font-weight: 850 !important;
}

table td {
    color: #ffffff !important;

    font-size: 15px !important;
}


/* ==========================================================
   LINKS
   ========================================================== */

.section-link,
.card-link,
.view-all,
.action-link {
    color: #25a5ff !important;

    font-size: 14px !important;

    font-weight: 800 !important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 720px) {

    .page-title,
    .page-header h1,
    .topbar h1,
    .main-header h1,
    .content-header h1 {
        font-size: 30px !important;
    }

    .page-subtitle,
    .page-header > p,
    .topbar > div > p,
    .main-header p,
    .content-header p {
        font-size: 16px !important;
    }

    .section-title,
    .section-head h2,
    section > header h2,
    .card-header h2,
    .panel-header h2 {
        font-size: 22px !important;
    }

    .card small,
    .metric-card small,
    .stat-card small,
    .metric-description,
    .stat-description,
    .kpi-description {
        font-size: 14px !important;
    }

    .sidebar nav a,
    .sidebar .nav-item,
    .sidebar .menu-item {
        font-size: 15px !important;
    }
}


/* ==========================================================================
   NEXA — LEGIBILIDADE FINAL
   ========================================================================== */

/* MENU PRINCIPAL */

.sidebar nav a,
.sidebar .nav-item,
.sidebar .menu-item {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
}


/* SUBMENU / DESCRIÇÃO */

.sidebar nav a small,
.sidebar nav a span small,
.sidebar .nav-description,
.sidebar .menu-description,
.sidebar .nav-subtitle,
.sidebar .menu-subtitle {
    color: #ffffff !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    opacity: .88 !important;
}


/* LABELS DOS CARDS */

.metric-label,
.stat-label,
.kpi-label,
.card-label,
.section-label,
.eyebrow {
    font-size: 13px !important;
    font-weight: 900 !important;
    color: #29a3ff !important;
}


/* DESCRIÇÕES DOS CARDS */

.metric-description,
.stat-description,
.kpi-description,
.card small,
.metric-card small,
.stat-card small,
.panel small {
    color: #ffffff !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
    opacity: .90 !important;
}


/* TÍTULOS DOS CARDS */

.card h3,
.metric-card h3,
.stat-card h3,
.panel h3 {
    color: #ffffff !important;
    font-size: 19px !important;
    font-weight: 900 !important;
}


/* TÍTULOS DE SEÇÃO */

.section-title,
.section-head h2,
.card-header h2,
.panel-header h2,
.content-section h2,
section > header h2 {
    color: #ffffff !important;
    font-size: 26px !important;
    font-weight: 900 !important;
}


/* SUBTÍTULOS DE SEÇÃO */

.section-subtitle,
.section-head p,
.card-header p,
.panel-header p,
section > header p {
    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    opacity: .90 !important;
}


/* TEXTOS DE APOIO */

.card p,
.panel p,
.dashboard-card p {
    color: #ffffff !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    opacity: .88 !important;
}


/* MOBILE */

@media (max-width: 720px) {

    .sidebar nav a,
    .sidebar .nav-item,
    .sidebar .menu-item {
        font-size: 15px !important;
    }

    .sidebar nav a small,
    .sidebar .nav-description,
    .sidebar .menu-description {
        font-size: 13px !important;
    }

    .metric-description,
    .stat-description,
    .kpi-description,
    .card small,
    .metric-card small,
    .stat-card small {
        font-size: 14px !important;
    }
}


/* ==========================================================================
   NEXA — TIPOGRAFIA FORTE
   ========================================================================== */

/* Menu lateral */

.sidebar nav a,
.sidebar .nav-item,
.sidebar .menu-item {
    font-weight: 850 !important;
}


/* Títulos */

h1,
.page-title,
.page-header h1,
.topbar h1,
.main-header h1 {
    font-weight: 900 !important;
}

h2,
.section-title,
.section-head h2,
.card-header h2,
.panel-header h2 {
    font-weight: 900 !important;
}

h3,
.card h3,
.panel h3 {
    font-weight: 850 !important;
}


/* Nomes e informações importantes */

.card strong,
.panel strong,
.metric strong,
.payment-grid strong {
    font-weight: 900 !important;
}


/* Labels azuis */

.eyebrow,
.section-label,
.card-label,
.metric-label,
.stat-label,
.kpi-label {
    font-weight: 900 !important;
}


/* Nomes dentro de listas e tabelas */

table td strong,
.product-name,
.item-name,
.list-item strong {
    font-weight: 850 !important;
}


/* Botões */

button,
.button,
.btn {
    font-weight: 850 !important;
}


/* Campos */

.field label,
.form-group label {
    font-weight: 800 !important;
}


/* Subtítulos continuam legíveis,
   mas não tão pesados quanto os nomes */

.card small,
.panel small,
.metric small,
.page-subtitle,
.section-subtitle {
    font-weight: 600 !important;
}


/* ==========================================================================
   NEXA — MENU LATERAL MAIS LIMPO
   ========================================================================== */

/* Nome principal do menu */
.sidebar nav a,
.sidebar .nav-item,
.sidebar .menu-item {
    color: #ffffff !important;

    font-size: 17px !important;

    font-weight: 600 !important;

    line-height: 1.25 !important;

    letter-spacing: 0 !important;
}


/* Subtítulo / descrição */
.sidebar nav a small,
.sidebar nav a span small,
.sidebar .nav-description,
.sidebar .menu-description,
.sidebar .nav-subtitle,
.sidebar .menu-subtitle {
    margin-top: 4px !important;

    color: #d4deeb !important;

    font-size: 13px !important;

    font-weight: 400 !important;

    line-height: 1.3 !important;

    opacity: .90 !important;
}


/* Mais espaço entre opções */
.sidebar nav a {
    min-height: 52px;

    padding-top: 10px !important;
    padding-bottom: 10px !important;
}


/* Ícones mais visíveis */
.sidebar nav a svg,
.sidebar nav a i,
.sidebar .nav-icon,
.sidebar .menu-icon {
    width: 21px !important;
    height: 21px !important;

    min-width: 21px !important;

    color: #8ecbff !important;

    opacity: 1 !important;
}


/* Item selecionado */
.sidebar nav a.active {
    font-weight: 650 !important;
}


/* Empresa */
.sidebar .company-small strong,
.sidebar .company-card strong {
    font-size: 16px !important;
    font-weight: 650 !important;
}


/* Mobile */
@media (max-width: 720px) {

    .sidebar nav a,
    .sidebar .nav-item,
    .sidebar .menu-item {
        font-size: 16px !important;
        font-weight: 600 !important;
    }
}


/* ==========================================================================
   NEXA — TIPOGRAFIA MAIOR E MAIS FINA
   ========================================================================== */

/* Título principal */

h1,
.page-title,
.page-header h1,
.topbar h1,
.main-header h1,
.content-header h1 {
    font-size: 42px !important;
    font-weight: 650 !important;
    letter-spacing: -1px !important;
}


/* Subtítulo principal */

.page-subtitle,
.page-header > p,
.topbar > div > p,
.main-header p,
.content-header p {
    font-size: 19px !important;
    font-weight: 400 !important;
    color: #ffffff !important;
}


/* Títulos de seção */

h2,
.section-title,
.section-head h2,
.card-header h2,
.panel-header h2,
.content-section h2 {
    font-size: 28px !important;
    font-weight: 600 !important;
}


/* Títulos menores */

h3,
.card h3,
.panel h3 {
    font-size: 20px !important;
    font-weight: 600 !important;
}


/* Labels azuis */

.eyebrow,
.section-label,
.card-label,
.metric-label,
.stat-label,
.kpi-label {
    font-size: 14px !important;
    font-weight: 600 !important;
}


/* Subtítulos / descrições */

.card small,
.panel small,
.metric small,
.metric-description,
.stat-description,
.kpi-description,
.section-subtitle {
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    opacity: .90 !important;
}


/* Menu */

.sidebar nav a,
.sidebar .nav-item,
.sidebar .menu-item {
    font-size: 18px !important;
    font-weight: 500 !important;
}


/* Submenu */

.sidebar nav a small,
.sidebar nav a span small,
.sidebar .nav-description,
.sidebar .menu-description,
.sidebar .nav-subtitle,
.sidebar .menu-subtitle {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    opacity: .85 !important;
}


/* Campos */

.field label,
.form-group label {
    font-size: 15px !important;
    font-weight: 500 !important;
}


/* Tabelas */

table th {
    font-size: 14px !important;
    font-weight: 600 !important;
}

table td {
    font-size: 16px !important;
    font-weight: 400 !important;
}


/* Botões */

button,
.button,
.btn {
    font-size: 15px !important;
    font-weight: 600 !important;
}


/* Valores continuam destacados,
   porém sem aquele peso exagerado */

.metric strong,
.payment-grid strong,
.card strong,
.panel strong {
    font-weight: 650 !important;
}


/* Mobile */

@media (max-width: 720px) {

    h1,
    .page-title,
    .page-header h1,
    .topbar h1,
    .main-header h1 {
        font-size: 32px !important;
    }

    h2,
    .section-title,
    .section-head h2 {
        font-size: 24px !important;
    }

    .sidebar nav a,
    .sidebar .nav-item,
    .sidebar .menu-item {
        font-size: 17px !important;
    }

    .card small,
    .metric small,
    .section-subtitle {
        font-size: 15px !important;
    }
}
