:root {
    --brand-navy: #122c4a;
    --brand-navy-light: #1c4066;
    --brand-navy-tint: #e3ecf6;
    --brand-accent: #a51c2a;
    --bs-primary: var(--brand-navy);
    --bs-primary-rgb: 18, 44, 74;
    --bs-link-color: var(--brand-navy);
    --bs-link-hover-color: var(--brand-navy-light);
}

body {
    background-color: #f4f6f9;
}

.btn-primary {
    background-color: var(--brand-navy);
    border-color: var(--brand-navy);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: var(--brand-navy-light) !important;
    border-color: var(--brand-navy-light) !important;
}
.btn-outline-primary {
    color: var(--brand-navy);
    border-color: var(--brand-navy);
}
.btn-outline-primary:hover {
    background-color: var(--brand-navy);
    border-color: var(--brand-navy);
}

.navbar.bg-dark {
    background-color: var(--brand-navy) !important;
}

.card-header {
    background-color: var(--brand-navy-tint);
    font-weight: 600;
    color: var(--brand-navy);
}

.table thead {
    background-color: var(--brand-navy);
}
.table thead th {
    color: #fff;
    border-color: var(--brand-navy-light);
    vertical-align: middle;
}

.card.shadow-sm {
    border-top: 3px solid var(--brand-navy);
}

.app-sidebar {
    width: 250px;
    min-height: calc(100vh - 56px);
}

.app-main {
    min-width: 0;
}

@media (max-width: 991.98px) {
    .app-sidebar {
        position: fixed;
        top: 56px;
        left: -260px;
        z-index: 1030;
        transition: left 0.2s ease-in-out;
        height: calc(100vh - 56px);
        overflow-y: auto;
    }
    .app-sidebar.show {
        left: 0;
    }
}

.list-group-item.active {
    background-color: var(--brand-navy);
    border-color: var(--brand-navy);
}

.list-group-item.bg-light {
    color: var(--brand-navy);
    font-weight: 600;
    letter-spacing: 0.03em;
}

.kpi-card {
    border-left: 4px solid var(--brand-navy);
}

.status-badge-draft { background-color: #6c757d; }
.status-badge-sent { background-color: #0dcaf0; }
.status-badge-paid { background-color: #198754; }
.status-badge-partial { background-color: #ffc107; color:#000; }
.status-badge-overdue { background-color: #dc3545; }
.status-badge-cancelled { background-color: #212529; }
.status-badge-accepted { background-color: #198754; }
.status-badge-rejected { background-color: #dc3545; }
.status-badge-converted { background-color: #6610f2; }

@media print {
    .navbar, .app-sidebar, .d-print-none {
        display: none !important;
    }
    .app-main {
        padding: 0 !important;
    }
}
