/* ===========================================================================
   PORTAL CMA — camada de tema (redesign 2026)
   Carregada DEPOIS do soft-ui-dashboard.css. Sobrescreve a aparência sem tocar
   nos templates nem no comportamento (JS). Paleta navy #002060 + dourado, fonte
   Outfit, cards suaves, botões chapados, badges em pill, tabelas e menu limpos.
   =========================================================================== */

:root {
    --pt-navy: #002060;
    --pt-navy-2: #0a327e;
    --pt-gold: #ffcc00;
    --pt-ink: #1c2b4a;
    --pt-muted: #8a93a6;
    --pt-line: #eef0f5;
    --pt-bg: #f4f6fa;
}

/* ---- fonte + fundo (não mexe em ícones FontAwesome/nucleo) ---- */
body,
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
p, a, span, label, small, li, td, th, div,
.btn, .badge, .navbar, .form-control, .form-select, textarea, input, select, button, table {
    font-family: 'Outfit', sans-serif !important;
}

body {
    background-color: var(--pt-bg) !important;
    color: var(--pt-ink);
    -webkit-font-smoothing: antialiased;
}

/* ---- cards ---- */
.card {
    border: 1px solid var(--pt-line) !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 20px rgba(20, 40, 80, .06) !important;
}

.card .card-header {
    background: transparent !important;
    border-radius: 16px 16px 0 0 !important;
}

/* ---- botões (gradientes -> chapado) ---- */
.btn {
    border-radius: 10px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    transition: filter .15s ease, transform .15s ease !important;
}

.btn:hover {
    filter: brightness(.96);
    transform: translateY(-1px);
}

.btn.btn-primary,
.btn.bg-gradient-primary {
    background: var(--pt-navy) !important;
    border-color: var(--pt-navy) !important;
    color: #fff !important;
}

.btn.bg-gradient-dark {
    background: var(--pt-ink) !important;
    color: #fff !important;
    border: none !important;
}

.btn.bg-gradient-success {
    background: #2dce89 !important;
    color: #fff !important;
    border: none !important;
}

.btn.bg-gradient-danger {
    background: #e5484d !important;
    color: #fff !important;
    border: none !important;
}

.btn.bg-gradient-warning {
    background: #f5a623 !important;
    color: #fff !important;
    border: none !important;
}

.btn.bg-gradient-info {
    background: #2f6fed !important;
    color: #fff !important;
    border: none !important;
}

.btn.bg-gradient-secondary {
    background: #9aa3b5 !important;
    color: #fff !important;
    border: none !important;
}

.btn.btn-outline-secondary {
    background: #fff !important;
    color: #516078 !important;
    border: 1px solid #d8dce6 !important;
}

.btn.btn-outline-secondary:hover {
    background: #f4f6fa !important;
}

/* ---- badges em pill soft ---- */
.badge {
    border-radius: 20px !important;
    font-weight: 600 !important;
    padding: 5px 11px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.badge.bg-gradient-success {
    background: #e6f9f0 !important;
    color: #1a8a5a !important;
}

.badge.bg-gradient-warning,
.badge.bg-gradient-warning-light {
    background: #fff3d9 !important;
    color: #8a5a00 !important;
}

.badge.bg-gradient-danger {
    background: #fdeaea !important;
    color: #b02a2a !important;
}

.badge.bg-gradient-info {
    background: #e6f0ff !important;
    color: #1c4fbf !important;
}

.badge.bg-gradient-secondary {
    background: #eef0f5 !important;
    color: #5b6675 !important;
}

.badge.bg-gradient-dark {
    background: #e2e6ef !important;
    color: #2a3550 !important;
}

/* ---- chips de ícone dos cards de métrica ---- */
.icon-shape {
    border-radius: 12px !important;
    box-shadow: none !important;
}

.icon-shape.bg-gradient-success {
    background: #e6f9f0 !important;
}

.icon-shape.bg-gradient-success i {
    color: #1a8a5a !important;
    opacity: 1 !important;
}

.icon-shape.bg-gradient-warning {
    background: #fff3d9 !important;
}

.icon-shape.bg-gradient-warning i {
    color: #8a5a00 !important;
    opacity: 1 !important;
}

.icon-shape.bg-gradient-danger {
    background: #fdeaea !important;
}

.icon-shape.bg-gradient-danger i {
    color: #b02a2a !important;
    opacity: 1 !important;
}

.icon-shape.bg-gradient-info {
    background: #e6f0ff !important;
}

.icon-shape.bg-gradient-info i {
    color: #1c4fbf !important;
    opacity: 1 !important;
}

.icon-shape.bg-gradient-primary,
.icon-shape.bg-gradient-dark {
    background: #e8edf7 !important;
}

.icon-shape.bg-gradient-primary i,
.icon-shape.bg-gradient-dark i {
    color: var(--pt-navy) !important;
    opacity: 1 !important;
}

.icon-shape.bg-gradient-secondary {
    background: #eef0f5 !important;
}

.icon-shape.bg-gradient-secondary i {
    color: #5b6675 !important;
    opacity: 1 !important;
}

/* ---- inputs ---- */
.form-control,
.form-select,
textarea.form-control {
    border-radius: 10px !important;
    border: 1px solid #d8dce6 !important;
    font-size: 14px !important;
    color: #1c2430 !important;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--pt-navy) !important;
    box-shadow: 0 0 0 3px rgba(0, 32, 96, .12) !important;
}

.form-label,
.form-check-label {
    color: var(--pt-ink) !important;
    font-weight: 600 !important;
}

/* ---- tabelas ---- */
.table thead th {
    text-transform: uppercase !important;
    font-size: 11px !important;
    letter-spacing: .04em !important;
    color: #9aa3b5 !important;
    font-weight: 600 !important;
    border-bottom: 1px solid var(--pt-line) !important;
}

.table td {
    border-bottom: 1px solid #f0f2f7 !important;
}

.table tbody tr:hover {
    background: #f8fafd !important;
}

/* ---- breadcrumb ---- */
.breadcrumb-item,
.breadcrumb-item a {
    color: #9aa3b5 !important;
}

.breadcrumb-item.active {
    color: var(--pt-ink) !important;
}

/* ---- modais ---- */
.modal-content {
    border-radius: 16px !important;
    border: none !important;
    overflow: hidden;
}

.modal-header.bg-gradient-primary {
    background: var(--pt-navy) !important;
}

.modal-header.bg-gradient-dark {
    background: var(--pt-ink) !important;
}

.modal-header.bg-gradient-danger {
    background: #e5484d !important;
}

/* ---- sidenav (branco refinado, item ativo em pill navy suave) ---- */
.sidenav {
    border-radius: 18px !important;
    box-shadow: 0 8px 28px rgba(20, 40, 80, .08) !important;
}

.sidenav .navbar-brand span {
    color: var(--pt-navy) !important;
    font-weight: 700 !important;
}

.navbar-vertical .navbar-nav > .nav-item .nav-link {
    border-radius: 10px !important;
    margin: 2px 8px !important;
    padding: 9px 12px !important;
    color: #5b6675 !important;
    font-weight: 500 !important;
    transition: background-color .15s ease, color .15s ease !important;
}

.navbar-vertical .navbar-nav > .nav-item .nav-link:hover {
    background: #f4f6fa !important;
}

.navbar-vertical .navbar-nav > .nav-item .nav-link.active {
    background: rgba(0, 32, 96, .07) !important;
    box-shadow: none !important;
}

.navbar-vertical .navbar-nav > .nav-item .nav-link.active .nav-link-text {
    color: var(--pt-navy) !important;
    font-weight: 600 !important;
}

/* submenu "Conteúdo do site" */
.navbar-vertical .nav.flex-column .nav-link.active .nav-link-text {
    color: var(--pt-navy) !important;
    font-weight: 600 !important;
}

/* botão Sair */
.sidenav .btn.btn-primary {
    background: var(--pt-navy) !important;
    border-radius: 12px !important;
}
