:root {
    /* Brand Colors */
    --brand-purple: #7E1C7E;
    --brand-purple-rgb: 126, 28, 126;
    --brand-lavender: #A088A3;
    --brand-lavender-rgb: 160, 136, 163;
    --brand-mauve: #806B7C;

    /* Bootstrap / AdminLTE Overrides */
    --bs-primary: var(--brand-purple);
    --bs-primary-rgb: var(--brand-purple-rgb);
    --bs-secondary: var(--brand-lavender);
    --bs-secondary-rgb: var(--brand-lavender-rgb);
    --lte-primary: var(--brand-purple);
    --lte-secondary: var(--brand-lavender);
}

body {
    font-family: 'Source Sans 3', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.brand-text {
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 300;
}

.btn-primary {
    --bs-btn-bg: var(--brand-purple);
    --bs-btn-border-color: var(--brand-purple);
    --bs-btn-hover-bg: #661666;
    --bs-btn-hover-border-color: #661666;
}

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

.text-primary {
    color: var(--brand-purple) !important;
}

/* Sidebar & Brand Styling */
.sidebar-brand {
    background-color: var(--brand-purple) !important;
    color: #ffffff !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.brand-link .brand-text {
    color: #ffffff !important;
    letter-spacing: 1px;
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
    background-color: var(--brand-purple) !important;
}

/* Sidebar Menu Indentation */
.nav-sidebar .nav-treeview .nav-item .nav-link,
.sidebar-menu .nav-treeview .nav-item .nav-link {
    padding-left: 2rem !important;
    font-size: 0.9em;
}

.nav-sidebar .nav-treeview .nav-item .nav-treeview .nav-item .nav-link,
.sidebar-menu .nav-treeview .nav-item .nav-treeview .nav-item .nav-link {
    padding-left: 3rem !important;
}

/* Login Page Specifics */
body.login-page {
    background: linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);
}

.login-box .card-primary.card-outline {
    border-top: 3px solid var(--brand-purple);
}

.login-box .card-header .h1 b {
    color: var(--brand-purple);
}

.app-main {
    margin: 20px;
}

/* Lighter placeholder text to avoid confusion with actual values */
::placeholder {
    color: #b0b0b0 !important;
    opacity: 1;
}
::-webkit-input-placeholder {
    color: #b0b0b0 !important;
}
::-moz-placeholder {
    color: #b0b0b0 !important;
}