/*----------------------------------------------------------------*/
/* ALL MAIN CSS */
/*----------------------------------------------------------------*/

html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}


html {
    position: relative;
    min-height: 100%;
}

body {
    font-family: 'Poppins', 'Arial', sans-serif;
}


@media (max-width: 1378px) {
    .hidden-maxw1280px {
        visibility: hidden !important;
    }
}



/*  =========================================================
    CUSTOM CSS – ENTERPRISE UPGRADE (Bootstrap 5 Compatible)
    Preserves all original functionality
========================================================= */

/* =========================================================
   1. DESIGN TOKENS (Merged & Cleaned)
========================================================= */

:root {
    /* === Bootstrap Color Mapping (DO NOT override BS core) === */
    --primary-color: #0d6efd;
    --secondary-color: #6c757d;
    --warning-color: #ffc107;
    --danger-color: #dc3545;
    --success-color: #198754;
    --info-color: #0dcaf0;
    /* === Typography === */
    --text-color: #212529;
    /* === Layout === */
    --border-radius: 0.75rem;
    /* === Motion === */
    --transition-duration: 0.3s;
    --motion-fast: 120ms ease;
    --motion-med: 220ms ease;
    /* === Glass / Surfaces === */
    --glass-bg: rgba(255, 255, 255, 0.55);
    --glass-border: rgba(255, 255, 255, 0.35);
    --surface-1: #ffffff;
    --surface-2: #f8f9fa;
    /* === Radius Scale === */
    --r-sm: .5rem;
    --r-md: .75rem;
    --r-lg: 1rem;
    /* === Shadows === */
    --shadow-sm: 0 4px 12px rgba(0,0,0,.05);
    --shadow-md: 0 8px 24px rgba(0,0,0,.08);
}

/* =========================================================
   2. Bootstrap 5 Dark Mode Compatibility
   Uses data-bs-theme (default Bootstrap 5.3+ behavior)
========================================================= */

[data-bs-theme="dark"] {
    --text-color: #e9ecef;
    --glass-bg: rgba(33, 37, 41, 0.55);
    --glass-border: rgba(255, 255, 255, 0.08);
    --surface-1: #212529;
    --surface-2: #2b3035;
    --shadow-sm: 0 4px 12px rgba(0,0,0,.4);
    --shadow-md: 0 8px 24px rgba(0,0,0,.45);
}


/* =========================================================
   3. BASE
========================================================= */

html {
    scroll-behavior: smooth;
}

body {
    color: var(--text-color);
    transition: background-color var(--transition-duration), color var(--transition-duration);
}


/* =========================================================
   4. SEARCH INPUT
========================================================= */

.search-input {
    border: 1px solid #dee2e6;
    border-radius: var(--border-radius);
    padding: 0.375rem 0.75rem;
    width: clamp(160px, 18vw, 240px);
    font-size: 0.95rem;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    transition: border-color var(--transition-duration), box-shadow var(--transition-duration), background-color var(--transition-duration);
}

    .search-input:focus {
        border-color: var(--primary-color);
        box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.15);
        outline: none;
    }


/* =========================================================
   5. GLASS PANELS
========================================================= */

.glass {
    background: var(--glass-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--glass-border);
    box-shadow: var(--shadow-md);
    transition: background var(--motion-med), border var(--motion-med);
}

/* Fallback for browsers without backdrop support */
@supports not (backdrop-filter: blur(1px)) {
    .glass {
        background: var(--surface-1);
    }
}


/* =========================================================
   6. HEADER
========================================================= */

.enterprise-header {
    position: sticky;
    top: .5rem; /* Preserved original spacing */
    z-index: 1;
    transition: background var(--motion-med);
}


/* =========================================================
   7. METRICS
========================================================= */

.metrics {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .5rem 1rem;
    border-radius: 999px;
    background: var(--surface-2);
    transition: background var(--motion-med);
}

.metric {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .85rem;
}

    .metric .dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
    }


/* =========================================================
   8. BUTTONS
========================================================= */

.btn-soft {
    border-radius: 999px;
    transition: transform var(--motion-fast), box-shadow var(--motion-fast), background var(--motion-fast);
}

    .btn-soft:hover {
        transform: translateY(-1px);
        box-shadow: var(--shadow-sm);
    }

    .btn-soft:active {
        transform: translateY(0);
    }

    .btn-soft:focus-visible {
        outline: 3px solid rgba(13,110,253,0.35);
        outline-offset: 2px;
    }


/* =========================================================
   9. TABLE WRAPPER
   (Preserving overflow: visible for dropdown compatibility)
========================================================= */

.table-wrap {
    position: relative;
    z-index: 1;
    background: var(--surface-1);
    border-radius: var(--r-lg);
    overflow: visible; /* Preserved per requirement */
    transition: background var(--motion-med);
}


/* =========================================================
   10. DROPDOWN ANIMATION
========================================================= */

.animate-slide {
    animation: slideIn .25s ease both;
    will-change: transform, opacity;
}

@keyframes slideIn {
    from {
        transform: translateY(.75rem);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}


/* =========================================================
   11. ACCESSIBILITY & REDUCED MOTION
========================================================= */

:focus-visible {
    outline: 3px solid rgba(13,110,253,0.35);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation: none !important;
        transition: none !important;
    }
}



/*----------------------------------------------------------------*/
/* ALL SIDEBAR CSS */
/*----------------------------------------------------------------*/

/*--------------------------------*/
/* Sidebar for small screens (<768px) */
/*--------------------------------*/
@media (max-width: 768px) {
    .sidebar {
        min-height: 100vh;
        /* optional: hide sidebar on small screens if needed */
        /* display: none; */
    }

    .patient-custom-dropdown {
        max-height: 160px !important;
    }
}

/*--------------------------------*/
/* Sidebar for medium and larger screens (>=768px) */
/*--------------------------------*/
@media (min-width: 768px) {

    /* Sidebar container */
    .sidebar {
        position: fixed;
        top: 30px;
        left: -5px;
        min-height: 100vh;
        overflow-x: hidden;
        z-index: 20;
        transition: all 240ms ease-in-out;
        /* background-color: white !important; */
    }

        /* Sidebar links */
        .sidebar a {
            display: block;
            font-size: 90%;
            color: #818181;
            text-decoration: none;
            transition: all 240ms ease-in-out;
        }

            /* Hover effect for links */
            .sidebar a:hover {
                color: #1ca7f2;
                background-color: #eeeee4;
                font-size: 100%;
                font-weight: 700;
                min-width: 100%;
            }

    /* Sidebar items */
    .myitem {
        flex: 1;
        width: 48px;
        height: 100vh;
        font-size: 100%;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        transition: flex 0.5s ease, width 0.5s ease;
        scrollbar-width: none; /* Firefox */
    }

        /* Hover effect for sidebar items */
        .myitem:hover {
            width: 240px;
            height: 100vh;
            flex: 1;
            font-size: 100%;
        }

    .patient-custom-dropdown {
        min-height: 480px !important;
    }
}

/*--------------------------------*/
/* Custom scrollbar styling */
/*--------------------------------*/
::-webkit-scrollbar {
    width: 1px;
}

::-webkit-scrollbar-track {
    background: #fff; /* fallback for transparency */
}

::-webkit-scrollbar-thumb {
    background-color: rgba(155, 155, 155, 0.5);
    border-radius: 20px;
    border: transparent;
}

/*--------------------------------*/
/* Print styles */
/*--------------------------------*/
@media print {
    @page {
        margin-left: 0in;
        margin-right: 0in;
        margin-top: 0.5in;
        margin-bottom: 0.5in;
        font-size: 120%;
    }

    .main {
        position: relative;
        top: -30px;
    }
}





/* =========================================================
   ALL DROPDOWN + MODAL + UI ENHANCEMENTS
   Enterprise Upgrade – Bootstrap 5 Compatible
   Smooth, glitch-free, fully animated dropdowns
========================================================= */

/* =========================================================
   1. DROPDOWN BASE
========================================================= */

/* Parent container */
.dropdown {
    position: relative; /* ensures dropdown-menu positions relative to button */
    display: inline-block;
}

/* Dropdown menu container */
.dropdown-menu {
    display: none; /* keep hidden until toggle */
    min-width: 240px;
    max-height: 300px;
    overflow-y: auto;
    background-color:#eee !important;
    border-radius: var(--border-radius);
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
    transition: opacity 0.2s ease;
    background-color: var(--bs-body-bg);
    overflow-x: hidden;
    opacity: 0;
    transform: translateY(6px); /* matches your animation */
    transition: opacity 0.18s ease, transform 0.18s ease;
    /* DO NOT set position, top, left */
}

    /* When shown: fade in smoothly */
    .dropdown-menu.show {
        opacity: 1;
        transform: translateY(0);
        /* Do NOT set display: block; let Bootstrap handle it */
    }

/* Dropdown animation */
@keyframes dropdownFade {
    from {
        opacity: 0;
        transform: scaleY(0.95);
    }

    to {
        opacity: 1;
        transform: scaleY(1);
    }
}

/* =========================================================
   2. DROPDOWN ITEMS
========================================================= */

/* Standard item */
.dropdown-item {
    padding: 0.5rem 1rem;
    transition: background-color 0.2s ease, transform 0.1s ease;
    cursor: pointer;
}

    /* Hover and focus effects */
    .dropdown-item:hover,
    .dropdown-item:focus {
        background-color: var(--bs-tertiary-bg, #f8f9fa);
        transform: translateX(2px);
    }

    /* Accessibility: focus visible outline */
    .dropdown-item:focus-visible {
        outline: 2px solid var(--bs-primary, #0d6efd);
        outline-offset: -2px;
    }

/* =========================================================
   3. DROPDOWN BUTTONS
========================================================= */

.dropdown-btn {
    width: 100%;
    text-align: left;
    padding: 0.5rem 1rem;
    border-radius: var(--border-radius, 0.25rem);
    font-weight: 500;
    transition: background-color 0.2s ease, transform 0.1s ease;
    background: transparent;
    border: none;
}

    /* Hover/focus for custom buttons */
    .dropdown-btn:hover,
    .dropdown-btn:focus {
        background-color: var(--bs-tertiary-bg, #f8f9fa);
        transform: translateX(1px);
    }

/* =========================================================
   4. CUSTOM SCROLLBAR FOR LONG DROPDOWNS
========================================================= */

.dropdown-menu::-webkit-scrollbar {
    width: 6px;
}

.dropdown-menu::-webkit-scrollbar-track {
    background: transparent;
}

.dropdown-menu::-webkit-scrollbar-thumb {
    background-color: rgba(155, 155, 155, 0.5);
    border-radius: 20px;
    border: transparent;
}

/* =========================================================
   5. RESPONSIVE & MOBILE FIXES
========================================================= */

/* Ensure mobile dropdowns work properly */
@media (max-width: 768px) {
    .dropdown-menu {
        position: static; /* avoid absolute positioning on small screens */
        max-height: 200px;
        overflow-y: auto;
        width: 100%;
    }
}

/* =========================================================
   6. OPTIONAL: Dark theme adjustments
========================================================= */
[data-bs-theme="dark"] .dropdown-menu {
    background-color: #212529 !important;
    border-color: #343a40 !important;
}

[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus {
    background-color: #343a40 !important;
}

/* =========================================================
   USAGE
   <div class="dropdown">
       <button class="dropdown-btn">Open Menu</button>
       <div class="dropdown-menu">
           <div class="dropdown-item">Item 1</div>
           <div class="dropdown-item">Item 2</div>
       </div>
   </div>
========================================================= */




/* =========================================================
   3. CARD & TABLE ENHANCEMENTS
========================================================= */

/* Card hover elevation */
.card-hover {
    transition: box-shadow var(--transition-duration);
}

    .card-hover:hover {
        box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    }


/* Table row hover */
.table-hover tbody tr:hover {
    background-color: var(--bs-tertiary-bg);
}


/* Header card styles */
.card-header-custom {
    background-color: var(--bs-tertiary-bg);
    border-bottom: 1px solid var(--bs-border-color);
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius);
}


/* =========================================================
   4. TRANSITIONS
========================================================= */

.transition {
    transition: all 0.2s ease-in-out;
}

.transition-all {
    transition: all var(--transition-duration) ease-in-out;
}


/* =========================================================
   5. SPINNER
========================================================= */

.spinner-rem {
    width: 3rem;
    height: 3rem;
}


/* =========================================================
   6. RESPONSIVE LAYOUT
========================================================= */

@media (min-width: 768px) {

    .margin-left {
        position: relative;
        margin-left: 40px !important;
    }

    /* Desktop grid layout */
    .grid-container {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 450px;
        gap: 0.5rem;
    }

    .dropdown-menu-max {
        position: relative;
        right: auto;
        left: auto;
        top: auto;
        width: 500px;
    }
}

@media (max-width: 767px) {

    .grid-container {
        display: block;
        width: 240px;
    }

    .dropdown-menu-max {
        width: 240px;
        justify-content: end;
    }
}


/* =========================================================
   7. MODAL / POPUP CUSTOMISATIONS
========================================================= */

/* Modal content */
.modal-content {
    border-radius: 1rem;
    box-shadow: 0 6px 24px rgba(0,0,0,0.08);
    padding: 1rem;
    background-color: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    transition: background-color 0.2s ease;
}


/* Modal body */
.modal-body {
    padding-bottom: 1.5rem;
    max-height: 65vh;
    overflow-y: auto;
}


/* Labels */
.form-label {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--bs-secondary-color);
    margin-bottom: 0.2rem;
}


/* Inputs */
.form-control {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.75rem;
    font-size: 1rem;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

    .form-control:focus {
        border-color: var(--bs-primary);
        box-shadow: 0 0 0 0.2rem rgba(13,110,253,0.2);
        outline: none;
    }


/* Form group spacing */
.form-group {
    margin-bottom: 0.6rem;
}


/* Modal footer */
.modal-footer {
    border-top: none;
    padding-top: 0.5rem;
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
}


/* =========================================================
   8. SCROLLBAR STYLING
========================================================= */

.modal-body::-webkit-scrollbar {
    width: 5px;
}

.modal-body::-webkit-scrollbar-thumb {
    background-color: rgba(0,0,0,0.15);
    border-radius: 3px;
}

[data-bs-theme="dark"] .modal-body::-webkit-scrollbar-thumb {
    background-color: rgba(255,255,255,0.2);
}


/* =========================================================
   9. ACCESSIBILITY & MOTION SAFETY
========================================================= */

:focus-visible {
    outline: 3px solid rgba(13,110,253,0.35);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation: none !important;
        transition: none !important;
    }
}

/*----------------------------------------------------------------*/
/* ALL BUTTONS – ENTERPRISE UPGRADE (Bootstrap Compatible) */
/*----------------------------------------------------------------*/

/* =========================================================
   1. COLOR TOKENS
========================================================= */

:root {
    --btn-orange: #f2671c;
    --btn-pink: deeppink;
    --btn-violet: darkviolet;
    --btn-violet-light: violet;
    --btn-brown: saddlebrown;
    --btn-gold: #D4AF37;
    --pulse-color: rgba(0, 162, 232, 0.7);
}

/* =========================================================
   2. SOLID BUTTONS
========================================================= */

.btn-gold {
    background-color: var(--btn-gold);
}


.btn-orange {
    background-color: var(--btn-orange);
    color: #fff;
    border-color: var(--btn-orange);
}

.btn-pink {
    background-color: var(--btn-pink);
    color: #fff;
    border-color: var(--btn-pink);
}

.btn-violet {
    background-color: var(--btn-violet);
    color: #fff;
    border-color: var(--btn-violet);
}

    /* Hover / Active shared behavior */
    .btn-orange:hover,
    .btn-orange:focus,
    .btn-orange:active,
    .btn-orange.active,
    .open > .dropdown-toggle.btn-orange,
    .btn-pink:hover,
    .btn-pink:focus,
    .btn-pink:active,
    .btn-pink.active,
    .open > .dropdown-toggle.btn-pink,
    .btn-violet:hover,
    .btn-violet:focus,
    .btn-violet:active,
    .btn-violet.active,
    .open > .dropdown-toggle.btn-violet {
        filter: brightness(0.95);
        color: #fff;
    }


/* =========================================================
   3. OUTLINE BUTTONS
========================================================= */

.btn-outline-orange {
    color: var(--btn-orange);
    background-color: #fff;
    border-color: var(--btn-orange);
}

.btn-outline-pink {
    color: var(--btn-pink);
    background-color: #fff;
    border-color: var(--btn-pink);
}

.btn-outline-violet {
    color: var(--btn-violet);
    background-color: var(--btn-violet-light);
    border-color: var(--btn-violet);
}

    /* Shared outline hover */
    .btn-outline-orange:hover,
    .btn-outline-orange:focus,
    .btn-outline-orange:active,
    .btn-outline-orange.active,
    .btn-outline-pink:hover,
    .btn-outline-pink:focus,
    .btn-outline-pink:active,
    .btn-outline-pink.active,
    .btn-outline-violet:hover,
    .btn-outline-violet:focus,
    .btn-outline-violet:active,
    .btn-outline-violet.active {
        background-color: currentColor;
        color: #fff;
    }


/* =========================================================
   4. SIMPLE HOVER VARIANTS
========================================================= */

.btn-light2:hover {
    background-color: #a9a9a9;
}

.btn-lightgreen:hover {
    background-color: #d1e7dd;
}

.btn-brown:hover {
    background-color: var(--btn-brown);
}

.btn-gold:hover {
    background-color: var(--btn-gold);
}


/* =========================================================
   5. CUSTOM WARNING & INFO
========================================================= */

.btn-warning-custom:hover,
.btn-warning-custom:focus,
.btn-warning-custom:active,
.btn-warning-custom.active,
.open > .dropdown-toggle.btn-warning-custom {
    color: black !important;
    background-color: #ffc107;
}

.btn-info-custom:hover,
.btn-info-custom:focus,
.btn-info-custom:active,
.btn-info-custom.active,
.open > .dropdown-toggle.btn-info-custom {
    background-color: #cff4fc;
}


/* =========================================================
   6. GLOBAL FOCUS GLOW (Bootstrap Compatible)
========================================================= */

.btn:focus,
.btn:active:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem #fff, 0 0 0 0.25rem #258cfb;
}


/* =========================================================
   7. PULSE BUTTONS
========================================================= */

.btn-pulse {
    background-color: transparent; /* fixed invalid 'none' */
    border-radius: 50%;
    position: relative;
    animation: btn-animate 3s linear infinite;
}

    .btn-pulse i {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        height: 100%;
        cursor: pointer;
    }


/* Login Pulse */
.login-pulse {
    width: 70px;
    height: 70px;
    background-color: transparent;
    border-radius: 50%;
    position: relative;
    animation: animate 3s linear infinite;
}

    .login-pulse i {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 30px;
        color: #fff;
        height: 100%;
        cursor: pointer;
    }


/* =========================================================
   8. PULSE ANIMATIONS
========================================================= */

@keyframes animate {
    0% {
        box-shadow: 0 0 0 0 var(--pulse-color), 0 0 0 0 var(--pulse-color);
    }

    40% {
        box-shadow: 0 0 0 20px rgba(0,162,232,0), 0 0 0 0 var(--pulse-color);
    }

    80% {
        box-shadow: 0 0 0 20px rgba(0,162,232,0), 0 0 0 20px rgba(0,162,232,0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(0,162,232,0), 0 0 0 20px rgba(0,162,232,0);
    }
}

@keyframes btn-animate {
    0% {
        box-shadow: 0 0 0 0 var(--pulse-color), 0 0 0 0 var(--pulse-color);
    }

    40% {
        box-shadow: 0 0 0 5px rgba(0,162,232,0), 0 0 0 0 var(--pulse-color);
    }

    80% {
        box-shadow: 0 0 0 5px rgba(0,162,232,0), 0 0 0 10px rgba(0,162,232,0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(0,162,232,0), 0 0 0 10px rgba(0,162,232,0);
    }
}


/* =========================================================
   9. SPINNER
========================================================= */

.spinner {
    position: absolute;
    left: 50%;
    top: 50%;
    height: 60px;
    width: 60px;
    margin: 0 auto;
    transform: translate(-50%, -50%);
    animation: rotation .6s infinite linear;
    border-left: 6px solid rgba(0,174,239,.15);
    border-right: 6px solid rgba(0,174,239,.15);
    border-bottom: 6px solid rgba(0,174,239,.15);
    border-top: 6px solid rgba(0,174,239,.8);
    border-radius: 100%;
}

/* Single modern keyframe (removed redundant vendor ones) */
@keyframes rotation {
    from {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(359deg);
    }
}


/* =========================================================
   10. REDUCED MOTION SAFETY
========================================================= */

@media (prefers-reduced-motion: reduce) {
    .btn-pulse,
    .login-pulse,
    .spinner {
        animation: none !important;
    }
}



/*----------------------------------------------------------------*/
/* ALL ON-HOVER – ENTERPRISE UPGRADE */
/*----------------------------------------------------------------*/

/* =========================================================
   1. BASE HOVER WEIGHT RULES (Consolidated)
========================================================= */

.onhover-shadow:hover,
.onhover-bg-white:hover,
.onhover-bold:hover,
.onhover-light:hover,
.onhover-primary:hover,
.onhover-warning-custom:hover,
.onhover-info-custom:hover,
.onhover-bg-light:hover {
    font-weight: 700;
}


/* =========================================================
   2. BACKGROUND HOVER VARIANTS
   (Bootstrap Variable Compatible)
========================================================= */

.onhover-bg-white:hover {
    background-color: #fff;
    transition: background-color 0.3s ease-in-out;
}

.onhover-bg-white-bordered:hover {
    background-color: #fff;
    border: 1px solid #000 !important;
    font-weight: 700;
    transition: background-color 0.3s ease-in-out, border 0.3s ease-in-out;
}

.onhover-bg-light:hover {
    background-color: var(--bs-tertiary-bg);
    transition: background-color 0.3s ease-in-out;
}

.onhover-bg-info:hover {
    background-color: var(--bs-info-bg-subtle);
}

.onhover-bg-warning:hover {
    background-color: var(--bs-warning-bg-subtle);
}

.onhover-bg-success:hover {
    background-color: var(--bs-success-bg-subtle);
}

.onhover-bg-primary:hover {
    background-color: var(--bs-primary-bg-subtle);
}

.onhover-bg-secondary:hover {
    background-color: var(--bs-secondary-bg-subtle);
}

.onhover-bg-danger:hover {
    background-color: var(--bs-danger-bg-subtle);
}


/* =========================================================
   3. TEXT COLOR HOVER VARIANTS
========================================================= */

.onhover:hover {
    font-size: 100%;
    color: #00a2e8 !important;
}

.onhover-light:hover {
    color: #fff !important;
}

.onhover-primary:hover {
    color: var(--bs-primary) !important;
}

.onhover-warning:hover {
    color: orange !important;
}


/* =========================================================
   4. SHADOW EFFECTS
========================================================= */

.onhover-shadow:hover {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.3s ease-in-out;
}


/* =========================================================
   5. DARK MODE SUPPORT
   (Bootstrap 5.3+ data-bs-theme compatible)
========================================================= */

[data-bs-theme="dark"] .onhover-bg-white:hover,
[data-bs-theme="dark"] .onhover-bg-white-bordered:hover {
    background-color: var(--bs-body-bg);
}

[data-bs-theme="dark"] .onhover-shadow:hover {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.6);
}


/* =========================================================
   6. PERFORMANCE + ACCESSIBILITY
========================================================= */

.onhover-shadow,
.onhover-bg-white,
.onhover-bg-light,
.onhover-bg-white-bordered {
    transition: all 0.3s ease-in-out;
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .onhover-shadow,
    .onhover-bg-white,
    .onhover-bg-light,
    .onhover-bg-white-bordered {
        transition: none !important;
    }
}



/*----------------------------------------------------------------*/
/* ALL WIDTH CSS – ENTERPRISE UPGRADE */
/*----------------------------------------------------------------*/

/* =========================================================
   1. FIXED WIDTH CLASSES
========================================================= */
.w-24rem {
    width: 24rem;
}

.w-2perc {
    width: 2%;
}

.w-5perc {
    width: 5%;
}

.w-6perc {
    width: 6%;
}

.w-10perc {
    width: 10%;
}

.w-15perc {
    width: 15%;
}

.w-20perc {
    width: 20%;
}

.w-30perc {
    width: 30%;
}

.w-35perc {
    width: 35%;
}

.w-40perc {
    width: 40%;
}

.w-60perc {
    width: 60%;
}

.w-70perc {
    width: 70%;
}

/* =========================================================
   2. MIN-WIDTH CLASSES
========================================================= */
.mw-1perc {
    min-width: 1%;
}

.mw-20perc {
    min-width: 20%;
}

.mw-70perc {
    min-width: 70% !important;
}

.mw-90perc {
    min-width: 90%;
}

.mw-96perc {
    min-width: 96%;
}

.mw-100perc {
    min-width: 100%;
}

.mw-10px {
    min-width: 10px;
}

.mw-20px {
    min-width: 20px;
}

.mw-25px {
    min-width: 25px;
}

.mw-30px {
    min-width: 30px;
}

.mw-35px {
    min-width: 35px;
}

.mw-40px {
    min-width: 40px;
}

.mw-50px {
    min-width: 50px;
}

.mw-55px {
    min-width: 55px;
}

.mw-60px {
    min-width: 60px;
}

.mw-70px {
    min-width: 70px;
}

.mw-80px {
    min-width: 80px;
}

.mw-100px {
    min-width: 100px;
}

.mw-120px {
    min-width: 120px;
}

.mw-140px {
    min-width: 140px;
}

.mw-150px {
    min-width: 150px;
}

.mw-160px {
    min-width: 160px;
}

.mw-175px {
    min-width: 175px;
}

.mw-180px {
    min-width: 180px;
}

.mw-185px {
    min-width: 185px;
}

.mw-200px {
    min-width: 200px;
}

.mw-205px {
    min-width: 205px;
}

.mw-220px {
    min-width: 220px;
}

.mw-240px {
    min-width: 240px !important;
}

.mw-260px {
    min-width: 260px;
}

.mw-280px {
    min-width: 280px;
}

.mw-300px {
    min-width: 300px;
}

.mw-320px {
    min-width: 320px !important;
}

.mw-420px {
    min-width: 420px !important;
}

.mw-520px {
    min-width: 520px !important;
}

.mw-600px {
    min-width: 600px !important;
}

.mw-800px {
    min-width: 800px !important;
}

.mw-1000px {
    min-width: 1000px !important;
}

.mw-1200px {
    min-width: 1200px !important;
}

.mw-18rem {
    min-width: 18rem !important;
}

/* =========================================================
   3. MAX-WIDTH CLASSES
========================================================= */
.maxw-5px {
    max-width: 5px;
}

.maxw-10px {
    max-width: 10px;
}

.maxw-20px {
    max-width: 20px;
}

.maxw-25px {
    max-width: 25px;
}

.maxw-30px {
    max-width: 30px;
}

.maxw-35px {
    max-width: 35px;
}

.maxw-40px {
    max-width: 40px;
}

.maxw-45px {
    max-width: 45px;
}

.maxw-50px {
    max-width: 50px;
}

.maxw-55px {
    max-width: 55px;
}

.maxw-60px {
    max-width: 60px;
}

.maxw-80px {
    max-width: 80px;
}

.maxw-100px {
    max-width: 100px;
}

.maxw-120px {
    max-width: 120px;
}

.maxw-140px {
    max-width: 140px;
}

.maxw-150px {
    max-width: 150px;
}

.maxw-160px {
    max-width: 160px;
}

.maxw-180px {
    max-width: 180px;
}

.maxw-200px {
    max-width: 200px;
}

.maxw-220px {
    max-width: 220px;
}

.maxw-240px {
    max-width: 240px;
}

.maxw-260px {
    max-width: 260px;
}

.maxw-280px {
    max-width: 280px;
}

.maxw-300px {
    max-width: 300px;
}

.maxw-320px {
    max-width: 320px;
}

.maxw-600px {
    max-width: 600px;
}

.maxw-800px {
    max-width: 800px !important;
}

.maxw-900px {
    max-width: 900px !important;
}

.maxw-1000px {
    max-width: 1000px !important;
}

.maxw-1100px {
    max-width: 1100px !important;
}

.maxw-1200px {
    max-width: 1200px !important;
}

.maxw-96perc {
    max-width: 96%;
}

.maxw-100 {
    max-width: 100%;
}

.maxw-16rem {
    max-width: 16rem;
}

.maxw-18rem {
    max-width: 18rem !important;
}

/* =========================================================
   4. MIN & MAX WIDTH COMBINED CLASSES
========================================================= */
.minw-maxw-10px {
    min-width: 10px !important;
    max-width: 10px !important;
}

.minw-maxw-12px {
    min-width: 12px !important;
    max-width: 12px !important;
}

.minw-maxw-13px {
    min-width: 13px !important;
    max-width: 13px !important;
}

.minw-maxw-15px {
    min-width: 15px !important;
    max-width: 15px !important;
}

.minw-maxw-20px {
    min-width: 20px !important;
    max-width: 20px;
}

.minw-maxw-30px {
    min-width: 30px !important;
    max-width: 30px;
}

.minw-maxw-40px {
    min-width: 40px !important;
    max-width: 40px !important;
}

.minw-maxw-50px {
    min-width: 50px !important;
    max-width: 50px !important;
}

.minw-maxw-60px {
    min-width: 60px !important;
    max-width: 60px !important;
}

.minw-maxw-70px {
    min-width: 70px !important;
    max-width: 70px !important;
}

.minw-maxw-80px {
    min-width: 80px !important;
    max-width: 80px !important;
}

.minw-maxw-100px {
    min-width: 100px !important;
    max-width: 100px !important;
}

.minw-maxw-120px {
    min-width: 120px !important;
    max-width: 120px;
}

.minw-maxw-150px {
    min-width: 150px !important;
    max-width: 150px;
}

.minw-maxw-320px {
    min-width: 320px !important;
    max-width: 320px;
}

.minw-maxw-350px {
    min-width: 350px !important;
    max-width: 350px;
}

.minw-maxw-400px {
    min-width: 400px !important;
    max-width: 400px;
}

.minw-maxw-500px {
    min-width: 500px !important;
    max-width: 500px;
}

.minw-maxw-600px {
    min-width: 600px !important;
    max-width: 600px;
}

/* =========================================================
   5. METRIC UNITS (mm) SUPPORT
========================================================= */
.minw-maxw-58mm {
    min-width: 58mm !important;
    max-width: 58mm !important;
}

.minw-maxw-60mm {
    min-width: 60mm !important;
    max-width: 60mm !important;
}

.minw-maxw-65mm {
    min-width: 65mm !important;
    max-width: 65mm !important;
}

.minw-maxw-70mm {
    min-width: 70mm !important;
    max-width: 70mm !important;
}

.minw-maxw-75mm {
    min-width: 75mm !important;
    max-width: 75mm !important;
}

.minw-maxw-80mm {
    min-width: 80mm !important;
    max-width: 80mm !important;
}




.hidden-arrow.dropdown-toggle:after {
    display: none;
}



/*----------------------------------------------------------------*/
/* ALL HEIGHT CSS – ENTERPRISE UPGRADE */
/*----------------------------------------------------------------*/

/* =========================================================
   1. MIN-HEIGHT CLASSES
========================================================= */
.minh-10px {
    min-height: 10px !important;
}

.minh-25px {
    min-height: 25px !important;
}

.minh-30px {
    min-height: 30px !important;
}

.minh-40px {
    min-height: 40px !important;
}

.minh-50px {
    min-height: 50px !important;
}

.minh-60px {
    min-height: 60px !important;
}

.minh-80px {
    min-height: 80px !important;
}

.minh-100px {
    min-height: 100px !important;
}

.minh-150px {
    min-height: 150px !important;
}

.minh-200px {
    min-height: 200px !important;
}

.minh-300px {
    min-height: 300px !important;
}

.minh-400px {
    min-height: 400px !important;
}

.minh-500px {
    min-height: 500px !important;
}

.minh-600px {
    min-height: 600px !important;
}

.minh-640px {
    min-height: 640px !important;
}

.minh-vh-80 {
    min-height: 80vh !important;
}

.minh-vh-90 {
    min-height: 90vh !important;
}

/* =========================================================
   2. MAX-HEIGHT CLASSES
========================================================= */
.maxh-5px {
    max-height: 5px;
}

.maxh-10px {
    max-height: 10px;
}

.maxh-25px {
    max-height: 25px;
}

.maxh-30px {
    max-height: 30px;
}

.maxh-40px {
    max-height: 40px;
}

.maxh-50px {
    max-height: 50px;
}

.maxh-80px {
    max-height: 80px;
}

.maxh-100px {
    max-height: 100px;
}

.maxh-200px {
    max-height: 200px !important;
}

.maxh-300px {
    max-height: 300px !important;
}

.maxh-400px {
    max-height: 400px;
}

.maxh-540px {
    max-height: 540px;
}

.maxh-60vh {
    max-height: 60vh;
}

.maxh-80vh {
    max-height: 80vh;
}

.maxh-100 {
    max-height: 100%;
}

/* =========================================================
   3. MIN & MAX HEIGHT COMBINED CLASSES
========================================================= */
.minh-maxh-10px {
    min-height: 10px !important;
    max-height: 10px;
}

.minh-maxh-15px {
    min-height: 15px !important;
    max-height: 15px;
}

.minh-maxh-80px {
    min-height: 80px !important;
    max-height: 80px;
}

.minh-maxh-90px {
    min-height: 90px !important;
    max-height: 90px;
}

.minh-maxh-100px {
    min-height: 100px !important;
    max-height: 100px;
}

.minh-maxh-120px {
    min-height: 120px !important;
    max-height: 120px;
}

.minh-maxh-150px {
    min-height: 150px !important;
    max-height: 150px;
}

.minh-maxh-240px {
    min-height: 240px !important;
    max-height: 240px;
}

/* =========================================================
   4. METRIC UNITS (mm) SUPPORT
========================================================= */
.minh-maxh-100mm {
    min-height: 100mm !important;
    max-height: 100mm !important;
}

.minh-maxh-140mm {
    min-height: 140mm !important;
    max-height: 140mm !important;
}


/*----------------------------------------------------------------*/
/* ALL FONT SIZES – ENTERPRISE UPGRADE */
/*----------------------------------------------------------------*/

/* Percentage-based font sizes for responsive text */
.fs-50perc {
    font-size: 50%;
}

.fs-60perc {
    font-size: 60%;
}

.fs-70perc {
    font-size: 70%;
}

.fs-75perc {
    font-size: 75%;
}

.fs-80perc {
    font-size: 80%;
}

.fs-90perc {
    font-size: 90%;
}

.fs-96perc {
    font-size: 96%;
}

.fs-100perc {
    font-size: 100%;
}

.fs-105perc {
    font-size: 105%;
}

.fs-110perc {
    font-size: 110%;
}

/* Optional: small, medium, large aliases for easier semantic use */
.fs-sm {
    font-size: 0.875rem;
}
/* ~14px */
.fs-md {
    font-size: 1rem;
}
/* 16px */
.fs-lg {
    font-size: 1.25rem;
}
/* 20px */
.fs-xl {
    font-size: 1.5rem;
}
/* 24px */
.fs-xxl {
    font-size: 2rem;
}
/* 32px */


/*----------------------------------------------------------------*/
/* ALL LEFT POSITIONING – ENTERPRISE UPGRADE */
/*----------------------------------------------------------------*/

/* Negative offsets */
.left-min5px {
    left: -5px !important;
}

.left-min7px {
    left: -7px !important;
}

.left-min10px {
    left: -10px !important;
}

.left-min15px {
    left: -15px !important;
}

/* Zero offset */
.left-0px {
    left: 0 !important;
}

/* Positive offsets */
.left-5px {
    left: 5px !important;
}

.left-10px {
    left: 10px !important;
}

.left-15px {
    left: 15px !important;
}

.left-20px {
    left: 20px !important;
}

/* Optional: percentage offsets for fluid layouts */
.left-1perc {
    left: 1%;
}

.left-5perc {
    left: 5%;
}

.left-10perc {
    left: 10%;
}

.left-25perc {
    left: 25%;
}


/*----------------------------------------------------------------*/
/* ALL ROUNDED CSS – ENTERPRISE UPGRADE */
/*----------------------------------------------------------------*/

/* Top-left rounded corners */
.rounded-top-left-1 {
    border-top-left-radius: 5px;
}

.rounded-top-left-2 {
    border-top-left-radius: 10px !important;
}

.rounded-top-left-3 {
    border-top-left-radius: 15px !important;
}

.rounded-top-left-4 {
    border-top-left-radius: 20px !important;
}

/* Top-right rounded corners */
.rounded-top-right-1 {
    border-top-right-radius: 5px;
}

.rounded-top-right-2 {
    border-top-right-radius: 10px !important;
}

.rounded-top-right-3 {
    border-top-right-radius: 15px !important;
}

.rounded-top-right-4 {
    border-top-right-radius: 20px !important;
}

/* Bottom-left rounded corners */
.rounded-bottom-left-1 {
    border-bottom-left-radius: 5px;
}

.rounded-bottom-left-2 {
    border-bottom-left-radius: 10px !important;
}

.rounded-bottom-left-3 {
    border-bottom-left-radius: 15px !important;
}

.rounded-bottom-left-4 {
    border-bottom-left-radius: 20px !important;
}

/* Bottom-right rounded corners */
.rounded-bottom-right-1 {
    border-bottom-right-radius: 5px;
}

.rounded-bottom-right-2 {
    border-bottom-right-radius: 10px !important;
}

.rounded-bottom-right-3 {
    border-bottom-right-radius: 15px !important;
}

.rounded-bottom-right-4 {
    border-bottom-right-radius: 20px !important;
}

/* Optional: full rounded (circle) */
.rounded-circle {
    border-radius: 50% !important;
}
/* Optional: small, medium, large rounded */
.rounded-sm {
    border-radius: 0.25rem !important;
}

.rounded-md {
    border-radius: 0.5rem !important;
}

.rounded-lg {
    border-radius: 0.75rem !important;
}

.rounded-xl {
    border-radius: 1rem !important;
}



/*----------------------------------------------------------------*/
/* ALL BORDER CSS – ENTERPRISE UPGRADE */
/*----------------------------------------------------------------*/

/* ---------- Border Bottom ---------- */
.border-bottom-pink-1 {
    border-bottom: 1px solid #e46774;
}

.border-bottom-light-1 {
    border-bottom: 1px solid lightgray;
}

.border-bottom-info-1 {
    border-bottom: 1px solid #00ffff;
}

.border-bottom-primary-1 {
    border-bottom: 1px solid #007bff;
}

.border-bottom-success-1 {
    border-bottom: 1px solid green;
}

.border-bottom-warning-1 {
    border-bottom: 1px solid orange;
}

.border-bottom-danger-1 {
    border-bottom: 1px solid red;
}

.border-bottom-dark-1 {
    border-bottom: 1px solid black;
}

.border-bottom-secondary-1 {
    border-bottom: 1px solid gray;
}

.border-bottom-watery-1 {
    border-bottom: 1px solid cyan;
}

.border-bottom-wateryplus-1 {
    border-bottom: 1px solid #1abaff;
}

/* ---------- Border Dashed ---------- */
.border-darkorange-2-dashed {
    border: 2px dashed darkorange;
}

.border-success-2-dashed {
    border: 2px dashed lightgreen;
}

.border-primary-2-dashed {
    border: 2px dashed cyan;
}

.border-secondary-2-dashed {
    border: 2px dashed gray;
}

.border-warning-2-dashed {
    border: 2px dashed orange;
}

/* ---------- Border Radius ---------- */
.border-radius-2px {
    border-radius: 2px !important;
}

.border-radius-4px {
    border-radius: 4px !important;
}

.border-radius-8px {
    border-radius: 8px !important;
}

/* ---------- Optional Extended Utilities ---------- */

/* Rounded edges for cards, buttons, and containers */
.border-radius-sm {
    border-radius: 0.25rem !important;
}

.border-radius-md {
    border-radius: 0.5rem !important;
}

.border-radius-lg {
    border-radius: 0.75rem !important;
}

.border-radius-xl {
    border-radius: 1rem !important;
}

/* Full border shortcuts */
.border-1 {
    border: 1px solid #dee2e6 !important;
}

.border-2 {
    border: 2px solid #dee2e6 !important;
}

.border-3 {
    border: 3px solid #dee2e6 !important;
}

/* Border colors */
.border-primary {
    border-color: #007bff !important;
}

.border-secondary {
    border-color: gray !important;
}

.border-success {
    border-color: green !important;
}

.border-danger {
    border-color: red !important;
}

.border-warning {
    border-color: orange !important;
}

.border-info {
    border-color: #00ffff !important;
}

.border-light {
    border-color: lightgray !important;
}

.border-dark {
    border-color: black !important;
}

/* Border dashed variants */
.border-dashed {
    border-style: dashed !important;
}

.border-dotted {
    border-style: dotted !important;
}

/* Border removal utility */
.border-none {
    border: none !important;
}



/*----------------------------------------------------------------*/
/* ALL VERTICAL + CENTER CSS (Upgraded) */
/*----------------------------------------------------------------*/

/* Absolute vertical center */
.vertical-center {
    margin: 0;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 0; /* Force baseline stacking */
    pointer-events: auto; /* Preserve interaction */
}


/* Relative vertical center */
.vertical-center-relative {
    margin: 0;
    position: relative;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 0; /* Ensure no stacking dominance */
}


/* Optional: Prevent stacking context conflicts */
.vertical-center,
.vertical-center-relative {
    isolation: auto;
}





/*----------------------------------------------------------------*/
/* ALL TOP POSITIONING CSS */
/*----------------------------------------------------------------*/

.top-min3px {
    top: -3px;
}

.top-min5px {
    top: -5px;
}

.top-min10px {
    top: -10px;
}

.top-min20px {
    top: -20px;
}

.top-min25px {
    top: -25px;
}

.top-min30px {
    top: -30px;
}

.top-min40px {
    top: -40px;
}

.top-min50px {
    top: -50px;
}

.top-min70px {
    top: -70px;
}

.top-0px {
    top: 0px;
}

.top-5px {
    top: 5px;
}

.top-10px {
    top: 10px;
}

.top-15px {
    top: 15px;
}

.top-20px {
    top: 20px;
}

.top-25px {
    top: 25px;
}

.top-25vh {
    top: 25vh !important;
}

.top-30px {
    top: 30px;
}

.top-40px {
    top: 40px;
}

.top-50px {
    top: 50px;
}

.top-50vh {
    top: 50vh !important;
}

.top-60px {
    top: 60px;
}

.top-70px {
    top: 70px;
}

.top-80px {
    top: 80px;
}

.top-90px {
    top: 90px;
}

/*----------------------------------------------------------------*/
/* ALL TEXT COLOR CSS */
/*----------------------------------------------------------------*/

.text-watery {
    color: #00a2e8;
}

.text-wateryplus {
    color: #1abaff !important;
}

.text-hotpink {
    color: hotpink !important;
}

.text-deeppink {
    color: deeppink !important;
}

.text-violet {
    color: darkviolet;
}

.text-blueviolet {
    color: blueviolet;
}

.text-gold {
    color: gold;
}

.text-orange {
    color: #f99124;
}

.text-darkorange {
    color: darkorange;
}

.text-lightgreen {
    color: #28a745;
}

/*----------------------------------------------------------------*/
/* ALL BACKGROUND COLOR CSS */
/*----------------------------------------------------------------*/

.bg-pink {
    background-color: pink !important;
}

.bg-violet {
    background-color: violet !important;
}

.bg-palegrey {
    background-color: #f8f9fa;
}

.bg-watery {
    background-color: #8de6fd;
}

.bg-dashboard {
    background-color: #f1fcfe !important;
}

.bg-primary-subtle-2 {
    background-color: #e6f2ff !important;
}

.bg-success-subtle-2 {
    background-color: #f1f8f5 !important;
}

.bg-gold-subtle {
    background-color: #f6ebc2 !important;
}

/*----------------------------------------------------------------*/
/* ALL GRADIENT BACKGROUNDS CSS */
/*----------------------------------------------------------------*/

.bg-primary-gradient {
    padding: 0.5rem 1rem;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 10px;
    font-weight: 600;
    font-size: 1.4rem;
    color: #007bff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: none;
    background: linear-gradient(135deg, #c2dbff, #fafafa);
}

.bg-info-gradient {
    padding: 0.5rem 1rem;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 10px;
    font-weight: 600;
    font-size: 1.4rem;
    color: #007bff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: none;
    background: linear-gradient(to right, rgba(135,239,250,0.5), rgba(102,166,255,0));
}

.bg-success-gradient {
    padding: 0.5rem 1rem;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 10px;
    font-weight: 600;
    font-size: 1.4rem;
    color: darkgreen;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: none;
    background: linear-gradient(135deg, #80c080, #fafafa);
}

.bg-success2-gradient {
    padding: 0.5rem 1rem;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 10px;
    font-weight: 600;
    font-size: 1.4rem;
    color: green;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: none;
    background: linear-gradient(135deg, #b3d9b3, #fafafa);
}

.bg-warning-gradient {
    padding: 0.5rem 1rem;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 10px;
    font-weight: 600;
    font-size: 1.4rem;
    color: darkorange;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: none;
    background: linear-gradient(135deg, #ffe69c, #fafafa);
}

.bg-danger-gradient {
    padding: 0.5rem 1rem;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 10px;
    font-weight: 600;
    font-size: 1.4rem;
    color: red;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: none;
    background: linear-gradient(135deg, #ee9aa2, #fafafa);
}

.bg-pink-gradient {
    padding: 0.5rem 1rem;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 10px;
    font-weight: 600;
    font-size: 1.4rem;
    color: deeppink;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: none;
    background: linear-gradient(135deg, #ffa1d4, #fafafa);
}

.bg-violet-gradient {
    padding: 0.5rem 1rem;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 10px;
    font-weight: 600;
    font-size: 1.4rem;
    color: darkviolet;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: none;
    background: linear-gradient(135deg, #b025be, #fafafa);
}

.bg-secondary-gradient {
    padding: 0.5rem 1rem;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 10px;
    font-weight: 600;
    font-size: 1.4rem;
    color: black;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: none;
    background: linear-gradient(135deg, gray, #fafafa);
}

.bg-light-gradient {
    padding: 0.5rem 1rem;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 10px;
    font-weight: 600;
    font-size: 1.4rem;
    color: black;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: none;
    background: linear-gradient(135deg, lightgray, #fafafa);
}

.bg-gold-gradient {
    padding: 0.5rem 1rem;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 10px;
    font-weight: 600;
    font-size: 1.4rem;
    color: black;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: none;
    background: linear-gradient(135deg, #f6ebc2, #fafafa);
}

.bg-orange-gradient {
    padding: 0.5rem 1rem;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 10px;
    font-weight: 600;
    font-size: 1.4rem;
    color: white;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: none;
    background: linear-gradient(135deg, #f9b38e, #fafafa);
}





.margin-0_5mm {
    margin: 0.5mm;
}

.margin-1mm {
    margin: 1mm;
}




/*----------------------------------------------------------------*/
/* SELECT2 CUSTOMIZATION */
/*----------------------------------------------------------------*/

/* Add border and rounded corners to Select2 element */
.select2-border {
    border: 1px solid #808080; /* gray border */
    border-radius: 4px;
    padding: 0.375rem 0.75rem; /* matches Bootstrap form-control */
    box-sizing: border-box;
}

/* Make selected text bold */
.select2-selection__rendered {
    font-weight: bold;
}

/* Style the results list */
.select2-results {
    max-height: 200%; /* adjust as needed */
    overflow-y: auto;
    font-weight: 700;
    color: #6c757d;
}

/* Increase Select2 container height and center text */
.select2-container--default .select2-selection {
    height: calc(1.4 * 38px); /* ~53px if default is 38px */
    min-height: calc(1.4 * 38px);
    display: flex;
    align-items: center;
    padding: 0 15px !important;
    border-radius: 12px;
    box-sizing: border-box;
    border: 1px solid #d1d1d1 !important;
    line-height: normal !important;
}

/* Vertically center rendered selection */
.select2-container--default .select2-selection__rendered {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: normal !important;
}

/*----------------------------------------------------------------*/
/* DARK THEME OVERRIDES (Bootstrap 5 data-bs-theme="dark") */
/*----------------------------------------------------------------*/

/* Force most text to white by default */
[data-bs-theme="dark"] * {
    color: #ffffff !important;
}

/* Revert specific text classes to proper Bootstrap colors */
[data-bs-theme="dark"] .text-white {
    color: #000000 !important;
}

[data-bs-theme="dark"] .text-primary {
    color: #007bff !important;
}

[data-bs-theme="dark"] .text-success {
    color: #198754 !important;
}

[data-bs-theme="dark"] .text-secondary {
    color: #6c757d !important;
}

[data-bs-theme="dark"] .text-danger {
    color: #dc3545 !important;
}

/* Ensure general text contrast is readable in dark theme */
[data-bs-theme="dark"] * {
    color: #6c757d !important;
}

/* Keep buttons styled properly in dark theme */
[data-bs-theme="dark"] .btn-success {
    color: #fff !important;
    background-color: #198754;
}

[data-bs-theme="dark"] .btn-primary {
    color: #fff !important;
    background-color: #0d6efd;
}

[data-bs-theme="dark"] .btn-warning {
    color: #000 !important;
    background-color: #ffc107;
}

[data-bs-theme="dark"] .btn-danger {
    color: #fff !important;
    background-color: #dc3545;
}

[data-bs-theme="dark"] .btn-light {
    color: #000 !important;
    background-color: lightgray;
}

/* Keep outline buttons’ default colors intact */
[data-bs-theme="dark"] .btn-outline-success,
[data-bs-theme="dark"] .btn-outline-primary,
[data-bs-theme="dark"] .btn-outline-danger {
    color: inherit !important;
    background-color: transparent !important;
}

/* Subtle background overrides for dark theme */
[data-bs-theme="dark"] .bg-success-subtle-2 {
    background-color: #051b11 !important;
}

[data-bs-theme="dark"] .bg-white,
[data-bs-theme="dark"] .bg-light {
    background-color: transparent !important;
}