:root {
    --bs-primary: #2C3E6B;
    --bs-primary-rgb: 60, 52, 137;
}

.btn-primary {
    background-color: #2C3E6B !important;
    border-color: #2C3E6B !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #1c2845 !important;
    border-color: #1c2845 !important;
}

.bg-primary {
    background-color: #2C3E6B !important;
}

.text-primary {
    color: #2C3E6B !important;
}

.page-link {
    color: #2C3E6B;
}

.page-item.active .page-link {
    background-color: #2C3E6B !important;
    border-color: #2C3E6B !important;
}

.page-link:hover {
    color: #2d2768;
}

.form-control:focus,
.form-select:focus {
    border-color: #2C3E6B;
    box-shadow: 0 0 0 0.25rem rgba(44, 62, 107, 0.25);
}

.db-container {
    width: 75%;
    margin: 0 auto;
    font-size: clamp(0.85rem, 1.2vw, 1.1rem);
    padding-top: 7%;
}

.db-card {
    border-color: rgba(0, 0, 0, 0.1) !important;
    padding-right: 0;
    padding-left: 0;
}

.db-card .card-header {
    font-size: clamp(1rem, 1.5vw, 1.4rem);
    padding: clamp(8px, 1.2vw, 18px);
}

.db-card .card-body {
    padding: clamp(8px, 1.5vw, 24px) !important;
}

.db-section-label {
    font-size: clamp(0.7rem, 0.9vw, 0.95rem);
    letter-spacing: 0.05em;
    padding-top: clamp(8px, 1vw, 16px) !important;
}

.db-link {
    font-size: clamp(0.85rem, 1.1vw, 1.1rem);
    padding: clamp(6px, 1vw, 14px) clamp(10px, 1.5vw, 20px);
    transition: background 0.12s;
}

th.sortable {
    cursor: pointer;
}

.db-link:hover {
    background-color: #2C3E6B;
    color:white !important;
}
 .dropdown-item:hover {
    background-color: #2C3E6B;
    color:white;
}
/* Stat Colors */
.db-stat-blue   { background: #E6F1FB; }
.db-stat-teal   { background: #E1F5EE; }
.db-stat-purple { background: #EEEDFE; }

.db-stat-blue .db-stat-icon   { background: #B5D4F4; color: #0C447C; }
.db-stat-teal .db-stat-icon   { background: #9FE1CB; color: #085041; }
.db-stat-purple .db-stat-icon { background: #CECBF6; color: #3C3489; }

.db-stat-blue .db-stat-label   { color: #185FA5; }
.db-stat-teal .db-stat-label   { color: #0F6E56; }
.db-stat-purple .db-stat-label { color: #534AB7; }

.db-stat-blue .db-stat-value   { color: #0C447C; }
.db-stat-teal .db-stat-value   { color: #085041; }
.db-stat-purple .db-stat-value { color: #3C3489; }

.db-stat-value {
    font-size: clamp(1.2rem, 2vw, 2.2rem);
    font-weight: 500;
}

.db-stat-icon {
    width: clamp(32px, 3vw, 52px);
    height: clamp(32px, 3vw, 52px);
    font-size: clamp(14px, 1.5vw, 22px);
}

.db-stat-label {
    margin-bottom: 1px;
    font-size: clamp(0.75rem, 1vw, 1rem);
}

.dark-style {
    background-color:#2C3E6B;
    color: white;
}
.table-responsive {
    overflow-x: auto;
}

.db-card table td {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.db-filter-card {
    margin-bottom: 1rem;
}

.db-filter-title {
    font-size: clamp(0.95rem, 1.1vw, 1.15rem);
    margin: 0;
    font-weight: 600;
}

.db-filter-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.db-filter-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: clamp(8px, 0.8vw, 12px) 6px;
    font-size: clamp(0.8rem, 0.95vw, 0.95rem);
    border-bottom: 1px solid #f0f0f0;
    flex-wrap: nowrap;
}

.db-filter-list li:last-child {
    border-bottom: none;
}

.db-filter-list input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    flex-shrink: 0;
    cursor: pointer;
    accent-color: #2C3E6B;
}

.db-filter-list label {
    margin: 0;
    cursor: pointer;
    flex: 1;
}

/* Modal */
.modal-content.db-card {
    border-radius: 12px;
    overflow: hidden;
    border: none;
}

.modal-header.dark-style {
    padding: clamp(14px, 1.8vw, 22px) clamp(16px, 2vw, 26px);
    border-bottom: none;
}

.modal-header.dark-style .modal-title {
    font-size: clamp(1.1rem, 1.6vw, 1.5rem);
    font-weight: 500;
    margin: 0;
}

.modal-header.dark-style .btn-close {
    opacity: 0.85;
}

.modal-header.dark-style .btn-close:hover {
    opacity: 1;
}

.modal-body {
    padding: clamp(16px, 2vw, 26px);
}

.modal-footer {
    padding: clamp(12px, 1.5vw, 20px);
    border-top: 1px solid #eee;
}

.db-filter-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    user-select: none;
}

.db-filter-arrow {
    font-size: 1rem;
    transition: transform 0.25s ease;
}

.db-filter-header[aria-expanded="true"] .db-filter-arrow {
    transform: rotate(180deg);
}
.ticketmessage .card-header .moment {
    font-size: 0.85rem;
    opacity: 0.85;
    white-space: nowrap;
}

.ticketmessage .card-body h4 {
    font-size: clamp(0.9rem, 1.1vw, 1.05rem);
    font-weight: 600;
    color: #3C3489;
    margin-bottom: 8px;
}

.ticketmessage .message {
    margin-bottom: 0;
    white-space: pre-wrap;
}

.ticketmessage .card-footer {
    background-color: #fafafa;
    font-size: 0.85rem;
}

.ticketmessage .card-footer:empty {
    display: none;
}

#tablegrid tbody tr[data-href] {
    cursor: pointer;
}

#tablegrid tbody tr[data-href]:hover td {
    background-color: #e1e8f9;
}

.card .nav-link {
    color: #2C3E6B;
}

.card .nav-link:hover {
    color: #131e39;
}

.nav-link {
    color: #dde5f6;
}

.nav-link:hover {
    color: #ffffff;
}