body {
    background: #f8f9fa;
    font-family: 'Inter', sans-serif;
}

.logout {
    color: #fff;
    text-decoration: none;
}

/* ---------------------------------------------------
    SIDEBAR STYLE
    https://bootstrapious.com/p/bootstrap-navbar
----------------------------------------------------- */

.wrapper {
    display: flex;
    align-items: stretch;
}

#content {
    position: relative;
    width: 100%;
    min-height: 100vh;
    background: #f8f9fa;
    overflow: hidden;
    overflow-y: hidden;
    overflow-y: auto;
    transition: all 0.3s;
}

#sidebar {
    min-width: 250px;
    max-width: 250px;
    background: #e9ecef;
    color: #333;
    transition: all 0.3s;
}

#sidebar a {
    color: #333;
    text-decoration: none;
}

#sidebar.active {
    min-width: 80px;
    max-width: 80px;
    text-align: center;
}

#sidebar.active .sidebar-header h3,
#sidebar.active .CTAs {
    display: none;
}

#sidebar.active .sidebar-header strong {
    display: block;
}

#sidebar ul li a {
    text-align: left;
}

#sidebar.active ul li a {
    padding: 20px 10px;
    text-align: center;
    font-size: 0.85em;
}

#sidebar.active ul li a span{
    font-size: 0.65em;
}

#sidebar.active ul li a i {
    margin-right: 0;
    display: block;
    font-size: 1.8em;
    margin-bottom: 5px;
}

#sidebar.active ul ul a {
    padding: 10px !important;
}

#sidebar.active .dropdown-toggle::after {
    top: auto;
    bottom: 10px;
    right: 50%;
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
    transform: translateX(50%);
}

#sidebar .sidebar-header {
    padding: 20px;
    background: #e9ecef;
    cursor: pointer;
}

#sidebar .sidebar-header strong {
    display: none;
    font-size: 1.8em;
}

#sidebar ul.components {
    padding: 0px 0px 20px 0px;
}

#sidebar ul li a {
    padding: 10px;
    font-size: 1.1em;
    display: block;
}

#sidebar ul li a:hover {
    color: #000;
    background: #dee2e6;
}

#sidebar ul li a i {
    margin-right: 10px;
}

#sidebar ul li.active>a,
a[aria-expanded="true"] {
    color: #000;
    background: #dee2e6;
}

a[data-toggle="collapse"],
a[data-bs-toggle="collapse"] {
    position: relative;
}

.dropdown-toggle::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

#sidebar ul ul a {
    font-size: 0.9em !important;
    padding-left: 30px !important;
    background: #dee2e6;
}

#sidebar ul.CTAs {
    padding: 20px;
}

#sidebar ul.CTAs a {
    text-align: center;
    font-size: 0.9em !important;
    display: block;
    border-radius: 5px;
    margin-bottom: 5px;
}

#sidebar a.download {
    background: #fff;
    color: #7386D5;
}

#sidebar a.article,
#sidebar a.article:hover {
    background: #dee2e6 !important;
    color: #333 !important;
}

@media (max-width: 768px) {
    #sidebar {
        min-width: 80px;
        max-width: 80px;
        text-align: center;
        margin-left: -80px !important;
    }
    .dropdown-toggle::after {
        top: auto;
        bottom: 10px;
        right: 50%;
        -webkit-transform: translateX(50%);
        -ms-transform: translateX(50%);
        transform: translateX(50%);
    }
    #sidebar.active {
        margin-left: 0 !important;
    }
    #sidebar .sidebar-header h3,
    #sidebar .CTAs {
        display: none;
    }
    #sidebar .sidebar-header strong {
        display: block;
    }
    #sidebar ul li a {
        padding: 20px 10px;
    }
    #sidebar ul li a span {
        font-size: 0.85em;
    }
    #sidebar ul li a i {
        margin-right: 0;
        display: block;
    }
    #sidebar ul ul a {
        padding: 10px !important;
    }
    #sidebar ul li a i {
        font-size: 1.3em;
    }
    #sidebar {
        margin-left: 0;
    }
    #sidebarCollapse span {
        display: none;
    }
}

.sidebar-version {
    padding: 10px 15px;
    text-align: center;
    font-size: 0.65em;
    color: #999;
}

#sidebar.active .sidebar-version span {
    display: none;
}

.small-text {
    font-size: 0.7rem;
}

/* Compact list rows */
.card-body .row.mb-2.pb-2 {
    font-size: 0.85rem;
    align-items: center;
}

.card-body .row.mb-2.pb-2 a {
    font-size: 0.85rem;
}

/* Fix tabs contrast */
.nav-tabs .nav-link.active {
    background-color: #f0f0f0 !important;
    color: #333 !important;
    border-color: #ccc #ccc #f0f0f0 !important;
}

.nav-tabs .nav-link {
    color: #666;
}

.nav-tabs .nav-link:hover {
    color: #333;
}

/* ---------------------------------------------------
    ENVIRONMENT INDICATOR BANNER
----------------------------------------------------- */

.env-banner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    text-align: center;
    padding: 4px 0;
    font-size: 0.75rem;
    font-weight: bold;
    letter-spacing: 1px;
    color: #fff;
    background: #A32D17;
}
.env-banner.env-local { background: #E86541; }
.env-banner.env-development { background: #E86541; }
.env-banner.env-staging { background: #ef4444; }

body.has-env-banner { padding-top: 28px; }

/* ---------------------------------------------------
    BRAND BUTTON OVERRIDES (logo colors)
    Purple: #2D1B4E  |  Magenta: #E8175D
----------------------------------------------------- */

.btn-primary {
    background-color: #2D1B4E;
    border-color: #2D1B4E;
    color: #fff;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active {
    background-color: #3d2668;
    border-color: #3d2668;
    color: #fff;
}

.btn-success {
    background-color: #E8175D;
    border-color: #E8175D;
    color: #fff;
}
.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active {
    background-color: #c8124f;
    border-color: #c8124f;
    color: #fff;
}

.btn-info {
    background-color: #E8175D;
    border-color: #E8175D;
    color: #fff;
}
.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active {
    background-color: #c8124f;
    border-color: #c8124f;
    color: #fff;
}

/* ---------------------------------------------------
    EDIT FORM SECTIONS
----------------------------------------------------- */

.edit-section {
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    overflow: hidden;
}

.edit-section-header {
    background-color: #f8f9fa;
    padding: 0.75rem 1.25rem;
    font-size: 0.95rem;
    border-bottom: 1px solid #dee2e6;
    transition: background-color 0.2s ease;
    user-select: none;
}

.edit-section-header:hover {
    background-color: #e9ecef;
}

.edit-section-highlight {
    border-color: #2D1B4E;
    border-width: 2px;
    box-shadow: 0 2px 8px rgba(45, 27, 78, 0.15);
}

.edit-section-header-highlight {
    background-color: #2D1B4E;
    color: #fff;
    border-bottom-color: #2D1B4E;
}

.edit-section-header-highlight:hover {
    background-color: #3d2668;
}

.edit-section-header-highlight i {
    color: #fff;
}