:root {
    --app-primary: #1f4e79;
    --app-primary-dark: #163a5b;
}

body {
    background-color: #f4f6f9;
}

.navbar-app {
    background-color: var(--app-primary);
}

.navbar-app .nav-link {
    color: rgba(255, 255, 255, 0.85);
    padding: 0.5rem 1.1rem;
    font-size: 0.8rem;
}

.navbar-app .nav-link i {
    font-size: 1.6rem;
}

.navbar-app .nav-link.active,
.navbar-app .nav-link:hover {
    color: #fff;
}

.app-card {
    border: none;
    border-radius: 0.6rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.app-card .card-header {
    background-color: #fff;
    border-bottom: 1px solid #eef0f3;
    font-weight: 600;
}

.table-app thead th {
    background-color: #f8f9fb;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #5a6472;
    border-bottom-width: 1px;
}

.badge-status {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.4em 0.75em;
    border-radius: 0.5rem;
}

.badge-status.bg-success-subtle {
    background-color: #d9f7e6 !important;
}

.badge-status.text-success-emphasis {
    color: #1e8449 !important;
}

.badge-status.bg-danger-subtle {
    background-color: #fbdcd7 !important;
}

.badge-status.text-danger-emphasis {
    color: #a93226 !important;
}

.badge-status.bg-secondary-subtle {
    background-color: #f6e6c8 !important;
}

.badge-status.text-secondary-emphasis {
    color: #92702e !important;
}

.badge-status.bg-info-subtle {
    background-color: #dde0fb !important;
}

.badge-status.text-info-emphasis {
    color: #4338ca !important;
}

.badge-status.bg-primary-subtle {
    background-color: #cdf3ef !important;
}

.badge-status.text-primary-emphasis {
    color: #07807e !important;
}

.btn {
    --bs-btn-border-radius: 0.5rem;
    --bs-btn-focus-box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.06);
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.btn-primary, .btn-outline-primary:hover, .btn-outline-primary:active {
    --bs-btn-color: var(--bs-primary-text-emphasis);
    --bs-btn-bg: var(--bs-primary-bg-subtle);
    --bs-btn-border-color: var(--bs-primary-border-subtle);
    --bs-btn-hover-color: var(--bs-primary-text-emphasis);
    --bs-btn-hover-bg: var(--bs-primary-border-subtle);
    --bs-btn-hover-border-color: var(--bs-primary-border-subtle);
    --bs-btn-active-color: var(--bs-btn-hover-color);
    --bs-btn-active-bg: var(--bs-btn-hover-bg);
    --bs-btn-active-border-color: var(--bs-btn-hover-border-color);
}

.btn-success, .btn-outline-success:hover, .btn-outline-success:active {
    --bs-btn-color: var(--bs-success-text-emphasis);
    --bs-btn-bg: var(--bs-success-bg-subtle);
    --bs-btn-border-color: var(--bs-success-border-subtle);
    --bs-btn-hover-color: var(--bs-success-text-emphasis);
    --bs-btn-hover-bg: var(--bs-success-border-subtle);
    --bs-btn-hover-border-color: var(--bs-success-border-subtle);
    --bs-btn-active-color: var(--bs-btn-hover-color);
    --bs-btn-active-bg: var(--bs-btn-hover-bg);
    --bs-btn-active-border-color: var(--bs-btn-hover-border-color);
}

.btn-danger, .btn-outline-danger:hover, .btn-outline-danger:active {
    --bs-btn-color: var(--bs-danger-text-emphasis);
    --bs-btn-bg: var(--bs-danger-bg-subtle);
    --bs-btn-border-color: var(--bs-danger-border-subtle);
    --bs-btn-hover-color: var(--bs-danger-text-emphasis);
    --bs-btn-hover-bg: var(--bs-danger-border-subtle);
    --bs-btn-hover-border-color: var(--bs-danger-border-subtle);
    --bs-btn-active-color: var(--bs-btn-hover-color);
    --bs-btn-active-bg: var(--bs-btn-hover-bg);
    --bs-btn-active-border-color: var(--bs-btn-hover-border-color);
}

.btn-warning, .btn-outline-warning:hover, .btn-outline-warning:active {
    --bs-btn-color: var(--bs-warning-text-emphasis);
    --bs-btn-bg: var(--bs-warning-bg-subtle);
    --bs-btn-border-color: var(--bs-warning-border-subtle);
    --bs-btn-hover-color: var(--bs-warning-text-emphasis);
    --bs-btn-hover-bg: var(--bs-warning-border-subtle);
    --bs-btn-hover-border-color: var(--bs-warning-border-subtle);
    --bs-btn-active-color: var(--bs-btn-hover-color);
    --bs-btn-active-bg: var(--bs-btn-hover-bg);
    --bs-btn-active-border-color: var(--bs-btn-hover-border-color);
}

.btn-secondary, .btn-outline-secondary:hover, .btn-outline-secondary:active {
    --bs-btn-color: var(--bs-secondary-text-emphasis);
    --bs-btn-bg: var(--bs-secondary-bg-subtle);
    --bs-btn-border-color: var(--bs-secondary-border-subtle);
    --bs-btn-hover-color: var(--bs-secondary-text-emphasis);
    --bs-btn-hover-bg: var(--bs-secondary-border-subtle);
    --bs-btn-hover-border-color: var(--bs-secondary-border-subtle);
    --bs-btn-active-color: var(--bs-btn-hover-color);
    --bs-btn-active-bg: var(--bs-btn-hover-bg);
    --bs-btn-active-border-color: var(--bs-btn-hover-border-color);
}

.stat-card .stat-value {
    font-size: 2rem;
    font-weight: 700;
    color: var(--app-primary);
}

.stat-card .stat-value.text-warning {
    color: #e8830d !important;
}

.bi-circle-fill.text-success {
    color: #2ecc71 !important;
}

.bi-circle-fill.text-warning {
    color: #e8830d !important;
}

.bi-circle-fill.text-danger {
    color: #e74c3c !important;
}
