:root {
    --bs-primary: #0d9488;
    --bs-primary-rgb: 13, 148, 136;
    --bs-primary-dark: #0f766e;
    --bs-primary-light: #e6f7f5;
    --bs-success: #059669;
    --bs-success-rgb: 5, 150, 105;
    --bs-warning: #d97706;
    --bs-warning-rgb: 217, 119, 6;
    --bs-danger: #dc2626;
    --bs-danger-rgb: 220, 38, 38;
    --bs-info: #0284c7;
    --bs-info-rgb: 2, 132, 199;
}

.btn-primary {
    --bs-btn-bg: #0d9488;
    --bs-btn-border-color: #0d9488;
    --bs-btn-hover-bg: #0f766e;
    --bs-btn-hover-border-color: #0f766e;
    --bs-btn-active-bg: #115e59;
    --bs-btn-active-border-color: #115e59;
}

.btn-outline-primary {
    --bs-btn-color: #0d9488;
    --bs-btn-border-color: #0d9488;
    --bs-btn-hover-bg: #0d9488;
    --bs-btn-hover-border-color: #0d9488;
    --bs-btn-active-bg: #0f766e;
    --bs-btn-active-border-color: #0f766e;
}

.text-primary {
    color: #0d9488 !important;
}

.bg-primary {
    background-color: #0d9488 !important;
}

.border-primary {
    border-color: #0d9488 !important;
}

.link-primary {
    color: #0d9488 !important;
}

.link-primary:hover {
    color: #0f766e !important;
}

.text-bg-primary {
    background-color: #0d9488 !important;
}

.badge.bg-primary,
span.bg-primary,
div.bg-primary {
    background-color: #0d9488 !important;
}

.spinner-border.text-primary,
.spinner-grow.text-primary {
    color: #0d9488 !important;
}

.alert-primary {
    --bs-alert-color: #115e59;
    --bs-alert-bg: #e6f7f5;
    --bs-alert-border-color: #a7f3d0;
}

.form-check-input:checked {
    background-color: #0d9488;
    border-color: #0d9488;
}

.form-select:focus,
.form-control:focus {
    border-color: #5eead4;
    box-shadow: 0 0 0 .25rem rgba(13, 148, 136, .25);
}

.page-item.active .page-link {
    background-color: #0d9488;
    border-color: #0d9488;
}

.nav-pills .nav-link.active {
    background-color: #0d9488;
}

.progress-bar {
    background-color: #0d9488;
}

.list-group-item.active {
    background-color: #0d9488;
    border-color: #0d9488;
}

.list-group-item-action.active:hover {
    background-color: #0f766e;
    border-color: #0f766e;
}

.dropdown-item:active {
    background-color: #0d9488;
}

.page-link:focus {
    box-shadow: 0 0 0 .25rem rgba(13, 148, 136, .25);
}

a.text-primary:hover,
a.text-primary:focus {
    color: #0f766e !important;
}

.btn-outline-primary:focus,
.btn-outline-primary:active:focus {
    box-shadow: 0 0 0 .25rem rgba(13, 148, 136, .25);
}

.form-check-input:focus {
    border-color: #5eead4;
    box-shadow: 0 0 0 .25rem rgba(13, 148, 136, .25);
}

.nav-tabs .nav-link.active {
    color: #0d9488;
    border-bottom-color: #0d9488;
}

.filter-section:last-child {
    border-bottom: none !important;
}

.category-tree::-webkit-scrollbar,
[style*="overflow-y:auto"]::-webkit-scrollbar {
    width: 4px;
}

.category-tree::-webkit-scrollbar-thumb,
[style*="overflow-y:auto"]::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
}

.avatar {
    background-color: #0d9488 !important;
}

/* Hide number input spinners */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

.search-suggestions {
    position: absolute;
    z-index: 1050;
    border: 1px solid rgba(0,0,0,.1);
    box-shadow: 0 4px 12px rgba(0,0,0,.1);
    border-radius: .375rem;
    background: #fff;
}
.search-suggestions .dropdown-header {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: .35rem .75rem .15rem;
}
.search-suggestions .dropdown-item {
    padding: .4rem .75rem;
    white-space: normal;
    word-break: break-word;
}
.search-suggestions .dropdown-item:hover {
    background: #f0fdfa;
}

/* Navbar dropdowns open on hover (desktop only) */
@media (min-width: 768px) {
    .navbar-nav .dropdown:hover > .dropdown-menu {
        display: block;
        margin-top: 0;
    }

    .navbar-nav .dropdown .dropdown-menu .dropdown:hover > .dropdown-menu {
        display: block;
        margin-top: 0;
    }

    .navbar-nav .dropdown-submenu {
        position: relative;
    }

    .navbar-nav .dropdown-submenu > .dropdown-menu {
        top: 0;
        left: 100%;
        margin-left: 0;
    }

    /* Keep dropdown toggle from showing caret on hover indicators for submenus */
    .navbar-nav .dropdown-menu .dropdown-toggle::after {
        border-top: 0.3em solid transparent;
        border-right: 0;
        border-bottom: 0.3em solid transparent;
        border-left: 0.3em solid;
        vertical-align: 0;
    }
}
