/* ============================================================================
   patris-skin.css — a "pele" das telas no desenho "Intranet AdaptiCORE v2" (12/10/2026)
   A casca (patris-shell.css) cuida do cabeçalho, da faixa e do menu; esta folha leva os BLOCOS que todas
   as telas usam ao mesmo traço: cartões chapados com borda fina e raio 12, cabeçalho de cartão 15/600,
   botões 36 px de raio 8, tabelas com cabeçalho miúdo em caixa alta, campos 38 px, selos de raio 5, abas
   em pílulas suaves, paginação quadrada. Carregada por último no layout: sobrepõe patris-modern.css e
   global-tables-filters.css (que usam !important — por isso aqui também). No fim, ajustes por módulo.
   Cores da marca continuam vindo do tema da filial (--pm-primary / --pm-primary-soft).
   ============================================================================ */

/* ---- Títulos de página ------------------------------------------------------------------ */
.content-page h1 { font-size: 24px; font-weight: 600; letter-spacing: -.02em; color: var(--pm-sh-texto, #141A26); }
.content-page h2 { font-size: 20px; font-weight: 600; letter-spacing: -.015em; color: var(--pm-sh-texto, #141A26); }
.content-page h3 { font-size: 17px; font-weight: 600; letter-spacing: -.01em; color: var(--pm-sh-texto, #141A26); }
.content-page h4 { font-size: 15px; font-weight: 600; color: var(--pm-sh-texto, #141A26); }
.content-page h5, .content-page h6 { font-size: 14px; font-weight: 600; color: var(--pm-sh-texto, #141A26); }
.content-page .text-muted { color: var(--pm-sh-mudo, #667085) !important; }
.content-page .lead { font-size: 15px; color: var(--pm-sh-texto-3, #475467); }

/* ---- Cartões ------------------------------------------------------------------------------ */
.content-page .card {
    border: 1px solid var(--pm-sh-borda, #E4E7EC) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    background: #fff;
}
.content-page .card .card-header,
.content-page .card-header {
    background: #fff !important;
    color: var(--pm-sh-texto, #141A26) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: -.01em;
    padding: 14px 18px !important;
    border-bottom: 1px solid var(--pm-sh-borda-leve, #EEF0F3) !important;
    min-height: 0;
}
.content-page .card-header h1, .content-page .card-header h2, .content-page .card-header h3,
.content-page .card-header h4, .content-page .card-header h5, .content-page .card-header .card-title {
    font-size: 15px; font-weight: 600; margin: 0; color: var(--pm-sh-texto, #141A26); letter-spacing: -.01em;
}
.content-page .card-header i, .content-page .card-header .fa { color: var(--pm-sh-acento, #2D5BFF) !important; font-size: 14px; }
.content-page .card-body { padding: 18px; }
.content-page .card .card-footer, .content-page .card-footer {
    background: #fff !important;
    border-top: 1px solid var(--pm-sh-borda-leve, #EEF0F3) !important;
    padding: 12px 18px !important;
}
.content-page .card .card-title { font-size: 15px; font-weight: 600; color: var(--pm-sh-texto, #141A26); }
.content-page .card .card-text { font-size: 13.5px; color: var(--pm-sh-texto-3, #475467); }

/* ---- Botões ------------------------------------------------------------------------------- */
.content-page .btn {
    border-radius: 8px !important;
    font-weight: 500 !important;
    font-size: 13px;
    letter-spacing: 0;
    padding: 7px 14px;
    line-height: 1.45;
    box-shadow: none !important;
    transition: background .12s, border-color .12s, color .12s;
}
.content-page .btn:active { transform: none; }
.content-page .btn-sm, .content-page .btn-group-sm > .btn { font-size: 12.5px; padding: 5px 10px; border-radius: 7px !important; }
.content-page .btn-lg { font-size: 14px; padding: 9px 18px; }
.content-page .btn-primary, .content-page .card .btn-primary, .content-page .card .table .btn-primary.btn-sm {
    background: var(--pm-sh-acento, #2D5BFF) !important;
    border-color: var(--pm-sh-acento, #2D5BFF) !important;
    color: #fff !important;
}
.content-page .btn-primary:hover, .content-page .card .btn-primary:hover { filter: brightness(.92); background: var(--pm-sh-acento, #2D5BFF) !important; border-color: var(--pm-sh-acento, #2D5BFF) !important; }
.content-page .btn-secondary, .content-page .card .btn-secondary {
    background: var(--pm-sh-texto-2, #344054) !important; border-color: var(--pm-sh-texto-2, #344054) !important; color: #fff !important;
}
.content-page .btn-outline-primary, .content-page .btn-outline-secondary, .content-page .btn-light, .content-page .btn-outline-dark {
    background: #fff !important;
    border: 1px solid var(--pm-sh-borda, #E4E7EC) !important;
    color: var(--pm-sh-texto, #141A26) !important;
}
.content-page .btn-outline-primary { color: var(--pm-sh-acento, #2D5BFF) !important; }
.content-page .btn-outline-primary:hover, .content-page .btn-outline-secondary:hover, .content-page .btn-light:hover, .content-page .btn-outline-dark:hover {
    background: var(--pm-sh-hover, #F2F4F7) !important; border-color: #C7CDD6 !important;
}
.content-page .btn-outline-primary:hover { color: var(--pm-sh-acento, #2D5BFF) !important; }
.content-page .btn-success { background: #067647 !important; border-color: #067647 !important; color: #fff !important; }
.content-page .btn-outline-success { background: #fff !important; border-color: #ABEFC6 !important; color: #067647 !important; }
.content-page .btn-danger { background: #D92D20 !important; border-color: #D92D20 !important; color: #fff !important; }
.content-page .btn-outline-danger { background: #fff !important; border-color: #FECDCA !important; color: #B42318 !important; }
.content-page .btn-warning { background: #F79009 !important; border-color: #F79009 !important; color: #fff !important; }
.content-page .btn-info { background: #0BA5EC !important; border-color: #0BA5EC !important; color: #fff !important; }
.content-page .btn-link { color: var(--pm-sh-acento, #2D5BFF) !important; }
.content-page .btn i, .content-page .btn .fa, .content-page .btn .fas, .content-page .btn .far { font-size: 12px; }

/* ---- Tabelas ------------------------------------------------------------------------------ */
.content-page .table thead th, .content-page .card .table thead th, .content-page .card table thead th {
    background: #F9FAFB !important;
    color: var(--pm-sh-fraco, #98A0AE) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--pm-sh-borda, #E4E7EC) !important;
    padding: 10px 14px !important;
    white-space: nowrap;
}
.content-page .table tbody td, .content-page .card .table tbody td {
    padding: 12px 14px !important;
    font-size: 13px;
    color: var(--pm-sh-texto-2, #344054);
    border-color: var(--pm-sh-borda-leve, #EEF0F3) !important;
    vertical-align: middle;
}
.content-page .card .table tbody tr:nth-child(even), .content-page .card .table tbody tr:nth-of-type(even) { background: #fff !important; }
.content-page .table-hover tbody tr:hover, .content-page .card .table tbody tr:hover,
.content-page .card .table tbody tr:nth-of-type(even):hover { background: #F9FAFB !important; }
.content-page .table-striped tbody tr:nth-of-type(odd) { background: #FCFCFD; }
.content-page .table { margin-bottom: 0; }
.content-page .card .table .btn-sm { border-radius: 7px !important; }

/* ---- Formulários ---------------------------------------------------------------------------- */
.content-page label, .content-page .form-label, .content-page .card label {
    font-size: 12px !important; font-weight: 500 !important; color: var(--pm-sh-mudo, #667085) !important; margin-bottom: 5px;
}
.content-page .form-control, .content-page .form-select, .content-page .card .form-control,
.content-page .card textarea.form-control, .content-page .card select.form-control {
    border: 1px solid var(--pm-sh-borda, #E4E7EC) !important;
    border-radius: 8px !important;
    min-height: 38px;
    padding: 7px 12px !important;
    font-size: 13.5px;
    color: var(--pm-sh-texto, #141A26);
    box-shadow: none !important;
    background-color: #fff;
}
.content-page .form-control-sm, .content-page .form-select-sm { min-height: 32px; padding: 4px 10px !important; font-size: 12.5px; }
.content-page textarea.form-control { min-height: 90px; }
.content-page .form-control:focus, .content-page .form-select:focus, .content-page .card .form-control:focus, .content-page .card select.form-control:focus {
    border-color: var(--pm-sh-acento, #2D5BFF) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pm-sh-acento, #2D5BFF) 14%, transparent) !important;
}
.content-page .form-control::placeholder { color: var(--pm-sh-fraco, #98A0AE); }
.content-page .input-group-text { border: 1px solid var(--pm-sh-borda, #E4E7EC); border-radius: 8px; background: #F9FAFB; color: var(--pm-sh-mudo, #667085); font-size: 13px; }
.content-page .form-check-input { border-color: #C7CDD6; }
.content-page .form-check-input:checked { background-color: var(--pm-sh-acento, #2D5BFF); border-color: var(--pm-sh-acento, #2D5BFF); }
.content-page .form-switch .form-check-input { width: 2.2em; }
.content-page .select2-container--bootstrap-5 .select2-selection,
.content-page .select2-container .select2-selection--single,
.content-page .select2-container .select2-selection--multiple {
    border: 1px solid var(--pm-sh-borda, #E4E7EC) !important; border-radius: 8px !important; min-height: 38px;
}
.content-page .select2-container .select2-selection--single .select2-selection__rendered { line-height: 36px; font-size: 13.5px; color: var(--pm-sh-texto, #141A26); }
.content-page .select2-container .select2-selection--single .select2-selection__arrow { height: 36px; }

/* ---- Selos, alertas, paginação, abas --------------------------------------------------------- */
.content-page .badge { border-radius: 5px; font-size: 11px; font-weight: 600; letter-spacing: 0; padding: 3px 7px; }
.content-page .badge.rounded-pill { border-radius: 999px; }
.content-page .badge.bg-success { background: #ECFDF3 !important; color: #067647 !important; }
.content-page .badge.bg-danger { background: #FEF3F2 !important; color: #B42318 !important; }
.content-page .badge.bg-warning { background: #FFFAEB !important; color: #B54708 !important; }
.content-page .badge.bg-info { background: #F0F9FF !important; color: #026AA2 !important; }
.content-page .badge.bg-primary { background: var(--pm-sh-acento-suave, #EEF2FF) !important; color: var(--pm-sh-acento, #2D5BFF) !important; }
.content-page .badge.bg-secondary { background: var(--pm-sh-hover, #F2F4F7) !important; color: var(--pm-sh-texto-2, #344054) !important; }
.content-page .badge.bg-dark { background: var(--pm-sh-texto-2, #344054) !important; color: #fff !important; }
.content-page .alert { border-radius: 10px; border: 1px solid transparent; font-size: 13.5px; padding: 12px 14px; }
.content-page .alert-info { background: #F0F9FF; border-color: #B9E6FE; color: #026AA2; }
.content-page .alert-warning { background: #FFFAEB; border-color: #FEDF89; color: #B54708; }
.content-page .alert-danger { background: #FEF3F2; border-color: #FECDCA; color: #B42318; }
.content-page .alert-success { background: #ECFDF3; border-color: #ABEFC6; color: #067647; }
.content-page .alert-secondary, .content-page .alert-light { background: #F9FAFB; border-color: var(--pm-sh-borda, #E4E7EC); color: var(--pm-sh-texto-3, #475467); }
.content-page .pagination .page-link, .content-page .card .pagination .page-link {
    border: 1px solid var(--pm-sh-borda, #E4E7EC) !important; color: var(--pm-sh-texto-2, #344054) !important;
    border-radius: 7px !important; margin: 0 2px; min-width: 30px; height: 30px; padding: 0 8px; display: inline-flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 500; background: #fff;
}
.content-page .pagination .page-item.active .page-link, .content-page .card .pagination .page-item.active .page-link {
    background: var(--pm-sh-acento, #2D5BFF) !important; border-color: var(--pm-sh-acento, #2D5BFF) !important; color: #fff !important;
}
.content-page .pagination .page-link:hover { background: var(--pm-sh-hover, #F2F4F7) !important; }
.content-page .nav-pills .nav-link, .content-page .nav-tabs .nav-link {
    border-radius: 8px !important; font-size: 13px; font-weight: 500; color: var(--pm-sh-texto-2, #344054); padding: 7px 12px; border: 0;
}
.content-page .nav-pills .nav-link:hover, .content-page .nav-tabs .nav-link:hover { background: var(--pm-sh-hover, #F2F4F7); color: var(--pm-sh-texto, #141A26); }
.content-page .nav-pills .nav-link.active, .content-page .nav-pills .show > .nav-link, .content-page .nav-tabs .nav-link.active {
    background: var(--pm-sh-acento-suave, #EEF2FF) !important; color: var(--pm-sh-acento, #2D5BFF) !important; font-weight: 600;
}
.content-page .nav-pills .nav-link .badge, .content-page .nav-tabs .nav-link .badge {
    background: var(--pm-sh-hover, #F2F4F7) !important; color: var(--pm-sh-mudo, #667085) !important; border-radius: 999px; margin-left: 4px; padding: 2px 7px; font-size: 11px;
}
.content-page .nav-pills .nav-link.active .badge { background: #fff !important; color: var(--pm-sh-acento, #2D5BFF) !important; }
.content-page .nav-tabs { border-bottom: 1px solid var(--pm-sh-borda, #E4E7EC); gap: 4px; }
.content-page .dropdown-menu { border: 1px solid var(--pm-sh-borda, #E4E7EC); border-radius: 10px; box-shadow: 0 12px 32px rgba(20, 26, 38, .12); padding: 6px; font-size: 13px; }
.content-page .dropdown-menu .dropdown-item { border-radius: 6px; padding: 8px 10px; font-size: 13px; color: var(--pm-sh-texto, #141A26); }
.content-page .dropdown-menu .dropdown-item:hover { background: var(--pm-sh-bg, #F5F6F8); color: var(--pm-sh-texto, #141A26); }
.content-page .list-group-item { border-color: var(--pm-sh-borda-leve, #EEF0F3); font-size: 13.5px; padding: 12px 14px; }
.content-page .list-group { border-radius: 10px; }
.content-page .progress { height: 8px; border-radius: 999px; background: #EEF0F3; }
.content-page .progress-bar { background: var(--pm-sh-acento, #2D5BFF); }
.content-page hr { border-color: var(--pm-sh-borda, #E4E7EC); opacity: 1; }
.content-page .pm-icon { border-radius: 8px; width: 34px; height: 34px; }

/* ---- Páginas-hub dos módulos (menu-hub.css) ---------------------------------------------------- */
.content-page .hub2-titulo h1 { font-size: 24px; font-weight: 600; letter-spacing: -.02em; color: var(--pm-sh-texto, #141A26); margin-bottom: 4px; }
.hub2-intro { font-size: 14px; color: var(--pm-sh-texto-3, #475467); }
.hub2-busca { height: 38px; border-radius: 8px; border-color: var(--pm-sh-borda, #E4E7EC); background: #F9FAFB; }
.hub2-busca:focus-within { background: #fff; box-shadow: none; }
.hub2-btn { height: 36px; padding: 0 14px; border-radius: 8px; font-size: 13px; font-weight: 500; box-shadow: none; }
.content-page .hub2-secao-titulo { font-size: 11px; font-weight: 600; letter-spacing: .08em; color: var(--pm-sh-fraco, #98A0AE); }
.hub2-secao-titulo::after { background: var(--pm-sh-borda-leve, #EEF0F3); }
.hub2-card { border-radius: 12px; border-color: var(--pm-sh-borda, #E4E7EC); box-shadow: none; padding: 14px 16px; gap: 12px; }
.hub2-card:hover, .hub2-card:focus-visible { transform: none; box-shadow: none; border-color: #C7CDD6; background: #FCFCFD; }
.hub2-icone { width: 36px; height: 36px; border-radius: 8px; font-size: 15px; }
.hub2-nome { font-size: 14px; font-weight: 600; color: var(--pm-sh-texto, #141A26); }
.hub2-desc { font-size: 12.5px; color: var(--pm-sh-mudo, #667085); }
.hub2-badge { border-radius: 5px; font-size: 11px; font-weight: 600; height: 18px; min-width: 18px; }
.hub2-painel { border-radius: 12px; border-color: var(--pm-sh-borda, #E4E7EC); box-shadow: none; }
.hub2-painel-titulo { font-size: 11px; font-weight: 600; letter-spacing: .08em; color: var(--pm-sh-fraco, #98A0AE); }
.hub2-contagens li b, .hub2-painel-titulo-linha b { font-weight: 600; color: var(--pm-sh-texto, #141A26); }
.hub2-contagens li a, .hub2-contagens li > span { font-size: 13.5px; }
.hub2-rec-titulo { font-weight: 600; color: var(--pm-sh-texto, #141A26); font-size: 13px; }

/* ---- Cartões-número (KPIs em .card com número grande) ------------------------------------------- */
.content-page .prt-num, .content-page .card .display-6, .content-page .card .h2, .content-page .card .fs-1, .content-page .card .fs-2 {
    font-size: 26px; font-weight: 600; letter-spacing: -.02em; color: var(--pm-sh-texto, #141A26); font-variant-numeric: tabular-nums;
}
.content-page .prt-st { border-radius: 5px; font-size: 11px; font-weight: 600; padding: 3px 8px; }
.content-page .prt-tab .nav-link { font-weight: 500; }
.content-page .prt-tab .nav-link.active { font-weight: 600; }
