/*
 * AURUM THEME - Premium Finance System
 * Custom Bootstrap color overrides for luxury/premium look
 * Primary Brand: Deep Navy (#032A4B)
 * Accent: Gold (#C9A227) - use sparingly
 */

/* ========================================
   CSS VARIABLES (Bootstrap 5 Override)
   ======================================== */
:root {
    /* Primary Brand Colors */
    --aurum-primary: #1b2642;
    --aurum-primary-600: #141c33;
    --aurum-primary-500: #243257;
    /* Semantic Colors - Simplified: Only Primary, Success (Dark Green), Danger (Dark Red) */
    --aurum-success: #1e7e34;
    --aurum-danger: #8B2E2E;
    /* Luxury Accent (use sparingly) */
    --aurum-gold: #e2c57e;
    /* Neutrals */
    --aurum-white: #FFFFFF;
    --aurum-bg: #F2F4F6;
    --aurum-border: #CDD5DC;
    --aurum-text-muted: #6B7B8A;
    --aurum-text: #032A4B;
    /* Bootstrap Variable Overrides */
    --bs-primary: #032A4B;
    --bs-primary-rgb: 3, 42, 75;
    --bs-secondary: #6B7B8A;
    --bs-secondary-rgb: 107, 123, 138;
    --bs-success: #1e7e34;
    --bs-success-rgb: 30, 126, 52;
    --bs-info: #032A4B;
    --bs-info-rgb: 3, 42, 75;
    --bs-warning: #032A4B;
    --bs-warning-rgb: 3, 42, 75;
    --bs-danger: #8B2E2E;
    --bs-danger-rgb: 139, 46, 46;
    --bs-light: #F2F4F6;
    --bs-light-rgb: 242, 244, 246;
    --bs-dark: #032A4B;
    --bs-dark-rgb: 3, 42, 75;
    /* Body defaults */
    --bs-body-bg: #F2F4F6;
    --bs-body-color: #032A4B;
    --bs-border-color: #CDD5DC;
    --bs-link-color: #032A4B;
    --bs-link-hover-color: #05406A;
    
    ::selection {
        background-color: var(--aurum-primary-500);
        color: var(--aurum-white);
    }
}

/* ========================================
   BODY & GLOBAL STYLES
   ======================================== */
body {
    background-color: var(--aurum-bg);
    color: var(--aurum-text);
}

/* ========================================
   LINKS
   ======================================== */
a {
    color: var(--aurum-primary);
    text-decoration: none;
}

    a:hover {
        color: var(--aurum-primary-600);
        text-decoration: none;
    }

/* Remove underline from sidebar/menu links */
.sidebar a,
.sidebar a:hover,
.nav-link,
.nav-link:hover {
    text-decoration: none !important;
}

/* ========================================
   BUTTONS
   ======================================== */

/* Primary Button */
.btn-primary {
    background-color: var(--aurum-primary);
    border-color: var(--aurum-primary);
    color: var(--aurum-white);
}

    .btn-primary:hover {
        background-color: var(--aurum-primary-600);
        border-color: var(--aurum-primary-600);
        color: var(--aurum-white);
    }

    .btn-primary:active,
    .btn-primary:focus,
    .btn-primary.active {
        background-color: var(--aurum-primary-500);
        border-color: var(--aurum-primary-500);
        color: var(--aurum-white);
    }

.btn-check:checked + .btn-primary {
    background-color: var(--aurum-primary-500);
    border-color: var(--aurum-primary-500);
}

/* Outline Primary Button */
.btn-outline-primary {
    color: var(--aurum-primary);
    border-color: var(--aurum-primary);
    background-color: transparent;
}

    .btn-outline-primary:hover {
        background-color: var(--aurum-primary);
        border-color: var(--aurum-primary);
        color: var(--aurum-white);
    }

    .btn-outline-primary:active,
    .btn-outline-primary:focus,
    .btn-outline-primary.active {
        background-color: var(--aurum-primary-600);
        border-color: var(--aurum-primary-600);
        color: var(--aurum-white);
    }

.btn-check:checked + .btn-outline-primary {
    background-color: var(--aurum-primary);
    border-color: var(--aurum-primary);
    color: var(--aurum-white);
}

/* Success Button - Now uses Primary */
.btn-success {
    background-color: var(--aurum-primary);
    border-color: var(--aurum-primary);
    color: var(--aurum-white);
}

    .btn-success:hover {
        background-color: var(--aurum-primary-600);
        border-color: var(--aurum-primary-600);
        color: var(--aurum-white);
    }

.btn-outline-success {
    color: var(--aurum-primary);
    border-color: var(--aurum-primary);
}

    .btn-outline-success:hover {
        background-color: var(--aurum-primary);
        border-color: var(--aurum-primary);
        color: var(--aurum-white);
    }

/* Info Button - Now uses Primary */
.btn-info {
    background-color: var(--aurum-primary);
    border-color: var(--aurum-primary);
    color: var(--aurum-white);
}

    .btn-info:hover {
        background-color: var(--aurum-primary-600);
        border-color: var(--aurum-primary-600);
        color: var(--aurum-white);
    }

.btn-outline-info {
    color: var(--aurum-primary);
    border-color: var(--aurum-primary);
}

    .btn-outline-info:hover {
        background-color: var(--aurum-primary);
        border-color: var(--aurum-primary);
        color: var(--aurum-white);
    }

/* Warning Button - Now uses Primary */
.btn-warning {
    background-color: var(--aurum-primary);
    border-color: var(--aurum-primary);
    color: var(--aurum-white);
}

    .btn-warning:hover {
        background-color: var(--aurum-primary-600);
        border-color: var(--aurum-primary-600);
        color: var(--aurum-white);
    }

.btn-outline-warning {
    color: var(--aurum-primary);
    border-color: var(--aurum-primary);
}

    .btn-outline-warning:hover {
        background-color: var(--aurum-primary);
        border-color: var(--aurum-primary);
        color: var(--aurum-white);
    }

/* Danger Button - Now uses Primary */
.btn-danger {
    background-color: var(--aurum-primary);
    border-color: var(--aurum-primary);
    color: var(--aurum-white);
}

    .btn-danger:hover {
        background-color: var(--aurum-primary-600);
        border-color: var(--aurum-primary-600);
        color: var(--aurum-white);
    }

.btn-outline-danger {
    color: var(--aurum-primary);
    border-color: var(--aurum-primary);
}

    .btn-outline-danger:hover {
        background-color: var(--aurum-primary);
        border-color: var(--aurum-primary);
        color: var(--aurum-white);
    }

/* Dark Button */
.btn-dark {
    background-color: var(--aurum-primary);
    border-color: var(--aurum-primary);
}

    .btn-dark:hover {
        background-color: var(--aurum-primary-600);
        border-color: var(--aurum-primary-600);
    }

.btn-outline-dark {
    color: var(--aurum-primary);
    border-color: var(--aurum-primary);
}

    .btn-outline-dark:hover {
        background-color: var(--aurum-primary);
        border-color: var(--aurum-primary);
        color: var(--aurum-white);
    }

/* ========================================
   BADGES
   ======================================== */
.badge.bg-primary {
    background-color: var(--aurum-primary) !important;
    color: var(--aurum-white) !important;
}

.badge.bg-success {
    background-color: var(--aurum-primary) !important;
    color: var(--aurum-white) !important;
}

.badge.bg-info {
    background-color: var(--aurum-primary) !important;
    color: var(--aurum-white) !important;
}

.badge.bg-warning {
    background-color: var(--aurum-primary) !important;
    color: var(--aurum-white) !important;
}

.badge.bg-danger {
    background-color: var(--aurum-primary) !important;
    color: var(--aurum-white) !important;
}

.badge.bg-dark {
    background-color: var(--aurum-primary) !important;
    color: var(--aurum-white) !important;
}

.badge.bg-secondary {
    background-color: var(--aurum-text-muted) !important;
    color: var(--aurum-white) !important;
}

.badge.bg-light {
    background-color: var(--aurum-text-muted) !important;
    color: var(--aurum-white) !important;
}

.badge.bg-secondary {
    background-color: var(--aurum-text-muted) !important;
}

/* ========================================
   ALERTS
   ======================================== */
.alert-primary {
    background-color: rgba(3, 42, 75, 0.1);
    border-color: var(--aurum-primary);
    color: var(--aurum-primary);
}

.alert-success {
    background-color: rgba(30, 126, 52, 0.1);
    border-color: var(--aurum-success);
    color: var(--aurum-success);
}

.alert-info {
    background-color: rgba(3, 42, 75, 0.1);
    border-color: var(--aurum-primary);
    color: var(--aurum-primary);
}

.alert-warning {
    background-color: rgba(3, 42, 75, 0.1);
    border-color: var(--aurum-primary);
    color: var(--aurum-primary);
}

.alert-danger {
    background-color: rgba(182, 58, 58, 0.1);
    border-color: var(--aurum-danger);
    color: var(--aurum-danger);
}

/* ========================================
   BORDERS
   ======================================== */
.border,
.border-top,
.border-bottom,
.border-start,
.border-end {
    border-color: var(--aurum-border) !important;
}

.border-primary {
    border-color: var(--aurum-primary) !important;
}

.border-success {
    border-color: var(--aurum-primary) !important;
}

.border-info {
    border-color: var(--aurum-primary) !important;
}

.border-warning {
    border-color: var(--aurum-primary) !important;
}

.border-danger {
    border-color: var(--aurum-primary) !important;
}

/* ========================================
   TEXT COLORS
   ======================================== */
.text-primary {
    color: var(--aurum-primary) !important;
}

.text-success {
    color: var(--aurum-primary) !important;
}

.text-info {
    color: var(--aurum-primary) !important;
}

.text-warning {
    color: var(--aurum-primary) !important;
}

.text-danger {
    color: var(--aurum-primary) !important;
}

.text-muted {
    color: var(--aurum-text-muted) !important;
}

.text-dark {
    color: var(--aurum-text) !important;
}

/* ========================================
   BACKGROUND COLORS
   ======================================== */
.bg-primary {
    background-color: var(--aurum-primary) !important;
    color: var(--aurum-white) !important;
}

.bg-success {
    background-color: var(--aurum-primary) !important;
    color: var(--aurum-white) !important;
}

.bg-info {
    background-color: var(--aurum-primary) !important;
    color: var(--aurum-white) !important;
}

.bg-warning {
    background-color: var(--aurum-primary) !important;
    color: var(--aurum-white) !important;
}

.bg-danger {
    background-color: var(--aurum-primary) !important;
    color: var(--aurum-white) !important;
}

.bg-light {
    background-color: var(--aurum-bg) !important;
    color: var(--aurum-text) !important;
}

.bg-dark {
    background-color: var(--aurum-primary) !important;
    color: var(--aurum-white) !important;
}

/* ========================================
   CARDS
   ======================================== */
.card {
    background-color: var(--aurum-white);
    border-color: var(--aurum-border);
}

.card-header {
    background-color: var(--aurum-primary) !important;
    border-bottom-color: var(--aurum-primary) !important;
    color: var(--aurum-white) !important;
}

    .card-header *:not(.btn):not(input):not(select):not(textarea) {
        color: var(--aurum-white) !important;
    }

    .card-header .card-title,
    .card-header h1,
    .card-header h2,
    .card-header h3,
    .card-header h4,
    .card-header h5,
    .card-header h6 {
        color: var(--aurum-white) !important;
        margin-bottom: 0 !important;
    }

    /* Buttons inside card headers should be outlined and white */
    .card-header .btn,
    .card-header .btn-primary,
    .card-header .btn-success,
    .card-header .btn-danger,
    .card-header .btn-info,
    .card-header .btn-warning {
        background-color: transparent !important;
        border-color: var(--aurum-white) !important;
        color: var(--aurum-white) !important;
    }

        .card-header .btn:hover,
        .card-header .btn-primary:hover,
        .card-header .btn-success:hover,
        .card-header .btn-danger:hover,
        .card-header .btn-info:hover,
        .card-header .btn-warning:hover {
            background-color: var(--aurum-white) !important;
            border-color: var(--aurum-white) !important;
            color: var(--aurum-primary) !important;
        }

        .card-header .btn i,
        .card-header .btn-primary i,
        .card-header .btn-success i,
        .card-header .btn-danger i,
        .card-header .btn-info i,
        .card-header .btn-warning i,
        .card-header .btn .fas,
        .card-header .btn .far,
        .card-header .btn .fab {
            color: inherit !important;
            display: inline-block !important;
            position: relative !important;
            vertical-align: middle !important;
        }

    /* Form inputs inside card headers should have visible text */
    .card-header input,
    .card-header select,
    .card-header textarea,
    .card-header .form-control,
    .card-header .form-select {
        background-color: var(--aurum-white) !important;
        color: var(--aurum-text) !important;
        border-color: var(--aurum-white) !important;
    }

        .card-header input::placeholder,
        .card-header textarea::placeholder {
            color: var(--aurum-text-muted) !important;
        }

    .card-header label {
        color: var(--aurum-white) !important;
    }

/* Form check labels and text should be dark in card body */
.card-body .form-check-label,
.card-body .form-check-label strong,
.card-body .form-check-label small {
    color: var(--aurum-text) !important;
}

.card-body p,
.card-body .small {
    color: var(--aurum-text) !important;
}

.card-body .card-title {
    color: var(--aurum-text) !important;
}

/* Cards with colored backgrounds need white text */
.bg-primary .card-title,
.bg-primary h1, .bg-primary h2, .bg-primary h3,
.bg-primary h4, .bg-primary h5, .bg-primary h6,
.bg-success .card-title,
.bg-success h1, .bg-success h2, .bg-success h3,
.bg-success h4, .bg-success h5, .bg-success h6,
.bg-danger .card-title,
.bg-danger h1, .bg-danger h2, .bg-danger h3,
.bg-danger h4, .bg-danger h5, .bg-danger h6,
.bg-info .card-title,
.bg-info h1, .bg-info h2, .bg-info h3,
.bg-info h4, .bg-info h5, .bg-info h6,
.bg-warning .card-title,
.bg-warning h1, .bg-warning h2, .bg-warning h3,
.bg-warning h4, .bg-warning h5, .bg-warning h6,
.bg-dark .card-title,
.bg-dark h1, .bg-dark h2, .bg-dark h3,
.bg-dark h4, .bg-dark h5, .bg-dark h6 {
    color: var(--aurum-white) !important;
}

.card-subtitle,
.card-text.text-muted {
    color: var(--aurum-text-muted) !important;
}

/* ========================================
   SIDEBAR (Dark UI)
   ======================================== */
.sidebar {
    background-color: var(--aurum-primary) !important;
}

    .sidebar .nav-link {
        color: rgba(255, 255, 255, 0.8) !important;
    }

        .sidebar .nav-link:hover {
            background-color: var(--aurum-primary-500) !important;
            color: var(--aurum-white) !important;
        }

        .sidebar .nav-link.active {
            background-color: var(--aurum-primary-600) !important;
            color: var(--aurum-white) !important;
            border-left-color: var(--aurum-gold) !important;
        }

    .sidebar .border-secondary,
    .sidebar .border-bottom {
        border-color: rgba(255, 255, 255, 0.12) !important;
    }

.sidebar-user {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

.sidebar .text-white-50 {
    color: var(--aurum-border) !important;
}

/* Submenu hover */
#parametrizacaoSubmenu .nav-link:hover,
#cadastrosSubmenu .nav-link:hover,
#contasReceberSubmenu .nav-link:hover,
#relatoriosSubmenu .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.08) !important;
}

/* ========================================
   TOP BAR
   ======================================== */
.top-bar {
    background-color: var(--aurum-white);
    border-bottom-color: var(--aurum-border);
}

/* ========================================
   FORMS
   ======================================== */
.form-control:focus {
    border-color: var(--aurum-primary);
    box-shadow: 0 0 0 0.2rem rgba(3, 42, 75, 0.25);
}

.form-select:focus {
    border-color: var(--aurum-primary);
    box-shadow: 0 0 0 0.2rem rgba(3, 42, 75, 0.25);
}

.form-check-input:checked {
    background-color: var(--aurum-primary);
    border-color: var(--aurum-primary);
}

.form-check-input:focus {
    border-color: var(--aurum-primary);
    box-shadow: 0 0 0 0.2rem rgba(3, 42, 75, 0.25);
}

/* ========================================
   TABLES
   ======================================== */
.table th {
    background-color: var(--aurum-bg);
    color: var(--aurum-text);
    border-color: var(--aurum-border);
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: rgba(242, 244, 246, 0.5);
}

.table-hover > tbody > tr:hover > * {
    background-color: rgba(3, 42, 75, 0.05);
}

/* ========================================
   PAGINATION
   ======================================== */
.pagination .page-link {
    color: var(--aurum-primary);
    border-color: var(--aurum-border);
}

    .pagination .page-link:hover {
        color: var(--aurum-primary-600);
        background-color: var(--aurum-bg);
        border-color: var(--aurum-border);
    }

.pagination .page-item.active .page-link {
    background-color: var(--aurum-primary);
    border-color: var(--aurum-primary);
    color: var(--aurum-white);
}

/* ========================================
   MODALS
   ======================================== */
.modal-header {
    background-color: var(--aurum-bg);
    border-bottom-color: var(--aurum-border);
}

.modal-footer {
    border-top-color: var(--aurum-border);
}

/* ========================================
   DROPDOWNS
   ======================================== */
.dropdown-menu {
    border-color: var(--aurum-border);
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--aurum-bg);
    color: var(--aurum-text);
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--aurum-primary) !important;
    color: var(--aurum-white) !important;
}

.dropdown-item:focus {
    background-color: rgba(3, 42, 75, 0.1) !important;
    color: var(--aurum-text) !important;
}

/* ========================================
   NAVS & TABS
   ======================================== */
.nav-tabs .nav-link {
    color: var(--aurum-text-muted);
}

    .nav-tabs .nav-link:hover {
        color: var(--aurum-primary);
        border-color: var(--aurum-border);
    }

    .nav-tabs .nav-link.active {
        color: var(--aurum-primary);
        background-color: var(--aurum-white);
        border-color: var(--aurum-border) var(--aurum-border) var(--aurum-white);
    }

.nav-pills .nav-link.active {
    background-color: var(--aurum-primary);
    color: var(--aurum-white);
}

/* ========================================
   PROGRESS BARS
   ======================================== */
.progress {
    background-color: var(--aurum-bg);
}

.progress-bar {
    background-color: var(--aurum-primary);
}

    .progress-bar.bg-success {
        background-color: var(--aurum-success) !important;
    }

    .progress-bar.bg-info {
        background-color: var(--aurum-info) !important;
    }

    .progress-bar.bg-warning {
        background-color: var(--aurum-warning) !important;
    }

    .progress-bar.bg-danger {
        background-color: var(--aurum-danger) !important;
    }

/* ========================================
   GOLD ACCENT UTILITIES (Use Sparingly)
   ======================================== */
.text-aurum-gold {
    color: var(--aurum-gold) !important;
}

.border-aurum-gold {
    border-color: var(--aurum-gold) !important;
}

.bg-aurum-gold {
    background-color: var(--aurum-gold) !important;
    color: var(--aurum-text) !important;
}

.badge-aurum-gold {
    background-color: var(--aurum-gold) !important;
    color: var(--aurum-text) !important;
}

/* Gold icon accent */
.icon-gold {
    color: var(--aurum-gold);
}

/* Gold border accent for KPI cards */
.card-gold-accent {
    border-top: 3px solid var(--aurum-gold);
}

/* ========================================
   INFO BOXES (Home Widgets)
   ======================================== */
.info-box {
    background-color: var(--aurum-white);
    border: 1px solid var(--aurum-border);
}

    .info-box .info-box-text {
        color: var(--aurum-text-muted);
    }

    .info-box .info-box-number {
        color: var(--aurum-text);
    }

/* ========================================
   FOCUS STATES
   ======================================== */
.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem var(--aurum-primary);
}

/* ========================================
   SCROLLBAR (Premium Look)
   ======================================== */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: var(--aurum-bg);
}

::-webkit-scrollbar-thumb {
    background: var(--aurum-text-muted);
}

    ::-webkit-scrollbar-thumb:hover {
        background: var(--aurum-primary);
    }

/* ========================================
   CONTENT WRAPPER
   ======================================== */
.content-wrapper {
    background-color: var(--aurum-bg);
}

.main-content {
    background-color: var(--aurum-bg);
}
