:root {
    --brand-primary: #044D7A;
    --brand-primary-dark: #033a5e;
    --brand-accent: #C78E30;
    --brand-accent-hover: #b07d28;
    --font-display: 'Saira Condensed', sans-serif;
    --font-body: 'Open Sans', sans-serif;
}

body {
    font-family: var(--font-body);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.font-display {
    font-family: var(--font-display);
    letter-spacing: 0.02em;
}

.btn-primary {
    --bs-btn-bg: var(--brand-primary);
    --bs-btn-border-color: var(--brand-primary);
    --bs-btn-hover-bg: var(--brand-primary-dark);
    --bs-btn-hover-border-color: var(--brand-primary-dark);
    --bs-btn-active-bg: var(--brand-primary-dark);
    --bs-btn-active-border-color: var(--brand-primary-dark);
}

.btn-accent {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--brand-accent);
    --bs-btn-border-color: var(--brand-accent);
    --bs-btn-hover-bg: var(--brand-accent-hover);
    --bs-btn-hover-border-color: var(--brand-accent-hover);
    --bs-btn-active-bg: var(--brand-accent-hover);
    --bs-btn-active-border-color: var(--brand-accent-hover);
}

.text-brand-primary { color: var(--brand-primary) !important; }
.text-brand-accent { color: var(--brand-accent) !important; }
.bg-brand-primary { background-color: var(--brand-primary) !important; }
.bg-brand-accent { background-color: var(--brand-accent) !important; }

.brand-logo {
    display: block;
    height: auto;
    width: auto;
    object-fit: contain;
}

.brand-logo--navbar {
    max-height: 2.75rem;
}

.brand-logo--sidebar {
    max-height: 4.5rem;
    margin-bottom: 1rem;
}

@media (min-width: 992px) {
    .sidebar .brand-logo-link {
        display: none;
    }
}

.app-navbar {
    background: var(--brand-primary);
    border-bottom: 3px solid var(--brand-accent);
    color: #fff;
}

.app-navbar .navbar-title {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 1.15rem;
    letter-spacing: 0.03em;
}

.app-navbar .navbar-subtitle {
    font-family: var(--font-body);
    font-size: 0.8rem;
    opacity: 0.85;
}

.app-navbar .btn-outline-light:hover {
    background: rgba(255, 255, 255, 0.12);
}

.app-navbar a:not(.btn) {
    color: rgba(255, 255, 255, 0.92);
}

.app-navbar a:not(.btn):hover {
    color: #fff;
}

.sidebar,
.app-sidebar-offcanvas.offcanvas {
    background: var(--brand-primary);
}

.sidebar a:hover,
.sidebar a.active,
.app-sidebar-offcanvas .app-sidebar-nav a:hover,
.app-sidebar-offcanvas .app-sidebar-nav a.active {
    background: rgba(199, 142, 48, 0.22);
    color: #fff;
}

.app-sidebar-nav-label {
    font-family: var(--font-display);
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(219, 228, 240, 0.5);
    padding: .9rem .75rem .25rem;
    margin-top: .15rem;
    user-select: none;
}

.app-sidebar-nav-label:first-child {
    margin-top: 0;
    padding-top: .15rem;
}

.app-sidebar-nav a.active {
    border-left: 3px solid var(--brand-accent);
    padding-left: calc(.75rem - 3px);
}

.dashboard-hero {
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-dark) 55%, var(--brand-accent) 100%);
}

.dashboard-section-label {
    font-family: var(--font-display);
}

.dashboard-kpi-value {
    font-family: var(--font-display);
}
