/**
 * Banking Theme Override - Sistema Bancário
 * Última camada de CSS para forçar aplicação do tema bancário
 * Usa !important para sobrepor AdminLTE e outros estilos
 */

/* ========================================
   CORES BANCÁRIAS FORÇADAS
   ======================================== */
:root {
    --bank-primary: #003d82 !important;
    --bank-primary-dark: #002451 !important;
    --bank-primary-light: #0056b3 !important;
    --bank-accent: #00b4d8 !important;
    --bank-success: #00c896 !important;
    --bank-warning: #ff6b35 !important;
    --bank-danger: #dc2626 !important;
    --bank-dark: #1e293b !important;
    --bank-gray: #64748b !important;
    --bank-light-gray: #f1f5f9 !important;
    --bank-white: #ffffff !important;
    --bank-bg-gradient: linear-gradient(135deg, #003d82 0%, #0056b3 100%) !important;
    --bank-sidebar-bg: #001f3f !important;
}

/* ========================================
   OVERRIDE GERAL DO BODY E HTML
   ======================================== */
html,
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    background-color: #f8fafc !important;
    color: #1e293b !important;
}

/* ========================================
   NAVBAR BANCÁRIO FORÇADO
   ======================================== */
.main-header.navbar {
    background: var(--bank-bg-gradient) !important;
    border: none !important;
    box-shadow: 0 2px 10px rgba(0, 61, 130, 0.15) !important;
}

.main-header.navbar .nav-link {
    color: var(--bank-white) !important;
}

.main-header.navbar .nav-link:hover {
    color: var(--bank-accent) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* ========================================
   SIDEBAR BANCÁRIO FORÇADO
   ======================================== */
.main-sidebar {
    background-color: var(--bank-sidebar-bg) !important;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1) !important;
}

.sidebar {
    background-color: var(--bank-sidebar-bg) !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active {
    background-color: var(--bank-primary) !important;
    color: var(--bank-white) !important;
    box-shadow: 0 2px 8px rgba(0, 180, 216, 0.3) !important;
}

.nav-sidebar .nav-link {
    color: rgba(255, 255, 255, 0.85) !important;
    border-radius: 8px !important;
    margin: 2px 8px !important;
    transition: all 0.3s ease !important;
}

.nav-sidebar .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: var(--bank-white) !important;
    transform: translateX(3px) !important;
}

.brand-link {
    background: linear-gradient(135deg, #002451 0%, #003d82 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: var(--bank-white) !important;
}

/* ========================================
   CARDS BANCÁRIOS FORÇADOS
   ======================================== */
.card {
    border: none !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    background: var(--bank-white) !important;
    transition: all 0.3s ease !important;
}

.card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
    transform: translateY(-2px) !important;
}

.card-header {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
    border-bottom: 2px solid var(--bank-primary) !important;
    border-radius: 12px 12px 0 0 !important;
    padding: 1rem 1.5rem !important;
}

.card-title {
    color: var(--bank-primary) !important;
    font-weight: 600 !important;
    font-size: 1.1rem !important;
}

/* ========================================
   BOTÕES BANCÁRIOS FORÇADOS
   ======================================== */
.btn-primary {
    background: var(--bank-bg-gradient) !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 0.5rem 1.5rem !important;
    font-weight: 500 !important;
    box-shadow: 0 2px 6px rgba(0, 61, 130, 0.2) !important;
    transition: all 0.3s ease !important;
}

.btn-primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 61, 130, 0.3) !important;
    background: linear-gradient(135deg, #002451 0%, #003d82 100%) !important;
}

.btn-success {
    background: linear-gradient(135deg, #00c896 0%, #00a77d 100%) !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 6px rgba(0, 200, 150, 0.2) !important;
}

.btn-danger {
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 6px rgba(220, 38, 38, 0.2) !important;
}

.btn-warning {
    background: linear-gradient(135deg, #ff6b35 0%, #ff5722 100%) !important;
    border: none !important;
    border-radius: 8px !important;
    color: var(--bank-white) !important;
    box-shadow: 0 2px 6px rgba(255, 107, 53, 0.2) !important;
}

/* ========================================
   TABELAS BANCÁRIAS FORÇADAS
   ======================================== */
.table {
    background: var(--bank-white) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.table thead th {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
    color: var(--bank-primary) !important;
    font-weight: 600 !important;
    border-bottom: 2px solid var(--bank-primary) !important;
    padding: 1rem !important;
}

.table tbody tr {
    transition: all 0.2s ease !important;
}

.table tbody tr:hover {
    background-color: rgba(0, 61, 130, 0.03) !important;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 61, 130, 0.02) !important;
}

/* ========================================
   FORMS BANCÁRIOS FORÇADOS
   ======================================== */
.form-control {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 0.6rem 1rem !important;
    transition: all 0.3s ease !important;
    background-color: var(--bank-white) !important;
}

.form-control:focus {
    border-color: var(--bank-primary) !important;
    box-shadow: 0 0 0 3px rgba(0, 61, 130, 0.1) !important;
    background-color: var(--bank-white) !important;
}

.form-group label {
    color: var(--bank-dark) !important;
    font-weight: 500 !important;
    margin-bottom: 0.5rem !important;
}

.custom-select {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 0.6rem 1rem !important;
    background-color: var(--bank-white) !important;
    transition: all 0.3s ease !important;
}

.custom-select:focus {
    border-color: var(--bank-primary) !important;
    box-shadow: 0 0 0 3px rgba(0, 61, 130, 0.1) !important;
}

/* ========================================
   INFO-BOXES BANCÁRIOS FORÇADOS
   ======================================== */
.info-box {
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    background: var(--bank-white) !important;
    border: none !important;
    transition: all 0.3s ease !important;
}

.info-box:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}

.info-box-icon {
    border-radius: 12px 0 0 12px !important;
    background: var(--bank-bg-gradient) !important;
}

.info-box-icon i {
    color: var(--bank-white) !important;
}

.info-box-number {
    color: var(--bank-primary) !important;
    font-weight: 700 !important;
    font-size: 1.5rem !important;
}

/* ========================================
   SMALL-BOXES BANCÁRIOS FORÇADOS
   ======================================== */
.small-box {
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    background: var(--bank-bg-gradient) !important;
    color: var(--bank-white) !important;
    transition: all 0.3s ease !important;
}

.small-box:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 4px 16px rgba(0, 61, 130, 0.2) !important;
}

.small-box h3 {
    color: var(--bank-white) !important;
    font-weight: 700 !important;
}

.small-box p {
    color: rgba(255, 255, 255, 0.9) !important;
}

.small-box .icon {
    color: rgba(255, 255, 255, 0.15) !important;
}

.small-box-footer {
    background-color: rgba(0, 0, 0, 0.1) !important;
    color: var(--bank-white) !important;
}

.small-box-footer:hover {
    background-color: rgba(0, 0, 0, 0.2) !important;
    color: var(--bank-accent) !important;
}

/* ========================================
   BREADCRUMBS BANCÁRIOS
   ======================================== */
.breadcrumb {
    background-color: rgba(0, 61, 130, 0.05) !important;
    border-radius: 8px !important;
    padding: 0.75rem 1rem !important;
}

.breadcrumb-item a {
    color: var(--bank-primary) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

.breadcrumb-item.active {
    color: var(--bank-dark) !important;
}

/* ========================================
   ALERTS BANCÁRIOS
   ======================================== */
.alert {
    border: none !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}

.alert-primary {
    background: linear-gradient(135deg, rgba(0, 61, 130, 0.1) 0%, rgba(0, 86, 179, 0.1) 100%) !important;
    color: var(--bank-primary) !important;
}

.alert-success {
    background: linear-gradient(135deg, rgba(0, 200, 150, 0.1) 0%, rgba(0, 167, 125, 0.1) 100%) !important;
    color: #00a77d !important;
}

.alert-danger {
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.1) 0%, rgba(185, 28, 28, 0.1) 100%) !important;
    color: #b91c1c !important;
}

/* ========================================
   BADGES BANCÁRIOS
   ======================================== */
.badge {
    border-radius: 6px !important;
    padding: 0.35rem 0.65rem !important;
    font-weight: 500 !important;
}

.badge-primary {
    background: var(--bank-primary) !important;
    color: var(--bank-white) !important;
}

.badge-success {
    background: var(--bank-success) !important;
    color: var(--bank-white) !important;
}

.badge-danger {
    background: var(--bank-danger) !important;
    color: var(--bank-white) !important;
}

.badge-warning {
    background: var(--bank-warning) !important;
    color: var(--bank-white) !important;
}

/* ========================================
   MODAL BANCÁRIO
   ======================================== */
.modal-content {
    border: none !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
}

.modal-header {
    background: var(--bank-bg-gradient) !important;
    color: var(--bank-white) !important;
    border-radius: 12px 12px 0 0 !important;
    border-bottom: none !important;
}

.modal-title {
    color: var(--bank-white) !important;
    font-weight: 600 !important;
}

.modal-header .close {
    color: var(--bank-white) !important;
    opacity: 0.8 !important;
}

.modal-header .close:hover {
    opacity: 1 !important;
}

/* ========================================
   CONTENT WRAPPER BANCÁRIO
   ======================================== */
.content-wrapper {
    background-color: #f8fafc !important;
}

.content-header {
    padding: 1rem 0.5rem !important;
    background-color: transparent !important;
}

.content-header h1 {
    color: var(--bank-primary) !important;
    font-weight: 700 !important;
}

/* ========================================
   PAGINATION BANCÁRIA
   ======================================== */
.pagination .page-link {
    color: var(--bank-primary) !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    margin: 0 2px !important;
    transition: all 0.3s ease !important;
}

.pagination .page-link:hover {
    background-color: var(--bank-primary) !important;
    color: var(--bank-white) !important;
    transform: translateY(-2px) !important;
}

.pagination .page-item.active .page-link {
    background-color: var(--bank-primary) !important;
    border-color: var(--bank-primary) !important;
    color: var(--bank-white) !important;
}

/* ========================================
   DROPDOWN BANCÁRIO
   ======================================== */
.dropdown-menu {
    border: none !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
    padding: 0.5rem !important;
}

.dropdown-item {
    border-radius: 6px !important;
    padding: 0.5rem 1rem !important;
    transition: all 0.2s ease !important;
}

.dropdown-item:hover {
    background-color: rgba(0, 61, 130, 0.08) !important;
    color: var(--bank-primary) !important;
}

/* ========================================
   PROGRESS BARS BANCÁRIOS
   ======================================== */
.progress {
    height: 8px !important;
    border-radius: 4px !important;
    background-color: #e2e8f0 !important;
}

.progress-bar {
    background: var(--bank-bg-gradient) !important;
    border-radius: 4px !important;
}

/* ========================================
   TABS BANCÁRIOS
   ======================================== */
.nav-tabs .nav-link {
    color: var(--bank-gray) !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
}

.nav-tabs .nav-link:hover {
    color: var(--bank-primary) !important;
    border-bottom-color: rgba(0, 61, 130, 0.3) !important;
}

.nav-tabs .nav-link.active {
    color: var(--bank-primary) !important;
    border-bottom-color: var(--bank-primary) !important;
    background-color: transparent !important;
}

/* ========================================
   TOOLTIPS E POPOVERS
   ======================================== */
.tooltip-inner {
    background-color: var(--bank-primary) !important;
    border-radius: 6px !important;
}

.popover {
    border: none !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
}

.popover-header {
    background-color: var(--bank-primary) !important;
    color: var(--bank-white) !important;
    border-radius: 8px 8px 0 0 !important;
    border: none !important;
}

/* ========================================
   SCROLLBAR CUSTOMIZADA
   ======================================== */
::-webkit-scrollbar {
    width: 10px !important;
    height: 10px !important;
}

::-webkit-scrollbar-track {
    background: #f1f5f9 !important;
}

::-webkit-scrollbar-thumb {
    background: var(--bank-primary) !important;
    border-radius: 5px !important;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--bank-primary-dark) !important;
}

/* ========================================
   LOADING E SPINNERS
   ======================================== */
.spinner-border {
    color: var(--bank-primary) !important;
}

.overlay {
    background-color: rgba(0, 61, 130, 0.1) !important;
}

/* ========================================
   FOOTER BANCÁRIO
   ======================================== */
.main-footer {
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
    border-top: 1px solid #e2e8f0 !important;
    color: var(--bank-gray) !important;
}

.main-footer a {
    color: var(--bank-primary) !important;
    text-decoration: none !important;
}

.main-footer a:hover {
    color: var(--bank-primary-dark) !important;
    text-decoration: underline !important;
}

/* ========================================
   FIM DO OVERRIDE BANCÁRIO
   ======================================== */