:root {
    --crm-deep-blue: #0f172a;
    --crm-midnight: #111827;
    --crm-charcoal: #1f2933;
    --crm-slate: #374151;
    --crm-light-gray: #f3f4f6;
    --crm-accent: #f97316;
    --crm-accent-alt: #facc15;
}

.crm-navbar {
    background-image: linear-gradient(135deg, var(--crm-deep-blue), var(--crm-midnight));
    border-bottom: 3px solid var(--crm-accent);
}

.crm-navbar .nav-link,
.crm-navbar .navbar-brand,
.crm-navbar .nav-item span {
    color: rgba(229, 231, 235, 0.9);
}

.crm-navbar .nav-link:hover,
.crm-navbar .nav-link:focus,
.crm-navbar .navbar-brand:hover {
    color: var(--crm-accent-alt);
}

.crm-navbar-tagline {
    letter-spacing: 0.05em;
}

.crm-brand {
    background-image: linear-gradient(160deg, var(--crm-midnight), var(--crm-charcoal));
}

.crm-brand-logo {
    width: 32px;
    height: 32px;
}

.crm-brand-text {
    color: var(--crm-light-gray) !important;
    letter-spacing: 0.08em;
}

.crm-logo-accent {
    color: var(--crm-accent);
}

.crm-sidebar {
    background-image: linear-gradient(180deg, var(--crm-midnight) 10%, var(--crm-deep-blue) 100%);
    color: var(--crm-light-gray);
}

.crm-sidebar-nav .nav-link {
    color: rgba(229, 231, 235, 0.75);
}

.crm-sidebar-nav .nav-link .nav-icon {
    color: rgba(249, 250, 251, 0.6);
}

.crm-sidebar-nav .nav-link:hover {
    background-color: rgba(249, 115, 22, 0.1);
    color: var(--crm-accent-alt);
}

.crm-sidebar-nav .nav-link.active,
.crm-sidebar-nav .nav-link.active:focus {
    background-image: linear-gradient(135deg, var(--crm-accent), var(--crm-accent-alt));
    color: var(--crm-midnight);
    font-weight: 600;
}

.crm-sidebar-nav .nav-link.active .nav-icon {
    color: var(--crm-midnight);
}

.crm-content-wrapper {
    background-color: #0b1220;
}

.crm-content {
    background-color: rgba(17, 24, 39, 0.6);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    min-height: calc(100vh - 120px);
}

.crm-content-header {
    background-color: rgba(15, 23, 42, 0.95);
    border-bottom: 1px solid rgba(249, 250, 251, 0.08);
    color: var(--crm-light-gray);
}

.card-crm {
    border-top: 3px solid var(--crm-accent);
}

.btn-crm-primary {
    background-image: linear-gradient(135deg, var(--crm-accent), var(--crm-accent-alt));
    color: var(--crm-midnight);
    border: none;
}

.btn-crm-primary:hover,
.btn-crm-primary:focus {
    color: var(--crm-midnight);
    background-image: linear-gradient(135deg, var(--crm-accent-alt), #ffe066);
}

.badge-primary {
    background-image: linear-gradient(135deg, var(--crm-accent), var(--crm-accent-alt));
    color: var(--crm-midnight);
}

footer.main-footer {
    background-color: rgba(15, 23, 42, 0.95);
    color: rgba(229, 231, 235, 0.75);
    border-top: 2px solid rgba(249, 115, 22, 0.4);
}

footer.main-footer a {
    color: var(--crm-accent-alt);
}

footer.main-footer a:hover {
    color: var(--crm-accent);
}

.login-page,
.register-page {
    background-image: radial-gradient(circle at top, rgba(15, 23, 42, 0.9), #05070f 65%);
    color: var(--crm-light-gray);
}

.form-control:focus {
    border-color: var(--crm-accent);
    box-shadow: 0 0 0 0.2rem rgba(249, 115, 22, 0.25);
}

.table thead th {
    background-color: rgba(15, 23, 42, 0.85);
    color: var(--crm-light-gray);
    border-bottom-color: rgba(249, 115, 22, 0.35);
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(17, 24, 39, 0.75);
    color: var(--crm-light-gray);
}

a {
    color: var(--crm-accent);
}

a:hover,
a:focus {
    color: var(--crm-accent-alt);
}
