/* ------------------------------------------------------------------ */
/* BizDue brand palette — sampled from public/assets/image/logo.png    */
/* (deep navy "Biz" + calendar frame, vivid blue "Due" + clock accent) */
/* Re-themes Bootstrap's runtime CSS variables so every component that */
/* already reads --bs-primary / --bs-link-* / --bs-focus-ring-color    */
/* picks up the brand color automatically, with no markup changes.    */
/* ------------------------------------------------------------------ */
:root {
    --bd-navy: #0b1642;
    --bd-navy-rgb: 11, 22, 66;
    --bd-primary: #2f5fed;
    --bd-primary-rgb: 47, 95, 237;
    --bd-primary-hover: #2851c9;
    --bd-primary-active: #264cbe;
    --bd-primary-tint: #4e77f0;

    --bs-primary: var(--bd-primary);
    --bs-primary-rgb: var(--bd-primary-rgb);
    --bs-link-color: var(--bd-primary);
    --bs-link-color-rgb: var(--bd-primary-rgb);
    --bs-link-hover-color: var(--bd-primary-hover);
    --bs-link-hover-color-rgb: 40, 81, 201;
    --bs-focus-ring-color: rgba(var(--bd-primary-rgb), .25);
}

.btn-primary {
    --bs-btn-bg: var(--bd-primary);
    --bs-btn-border-color: var(--bd-primary);
    --bs-btn-hover-bg: var(--bd-primary-hover);
    --bs-btn-hover-border-color: var(--bd-primary-hover);
    --bs-btn-focus-shadow-rgb: var(--bd-primary-rgb);
    --bs-btn-active-bg: var(--bd-primary-active);
    --bs-btn-active-border-color: var(--bd-primary-active);
    --bs-btn-disabled-bg: var(--bd-primary);
    --bs-btn-disabled-border-color: var(--bd-primary);
}

.btn-outline-primary {
    --bs-btn-color: var(--bd-primary);
    --bs-btn-border-color: var(--bd-primary);
    --bs-btn-hover-bg: var(--bd-primary);
    --bs-btn-hover-border-color: var(--bd-primary);
    --bs-btn-focus-shadow-rgb: var(--bd-primary-rgb);
    --bs-btn-active-bg: var(--bd-primary);
    --bs-btn-active-border-color: var(--bd-primary);
    --bs-btn-disabled-color: var(--bd-primary);
    --bs-btn-disabled-border-color: var(--bd-primary);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--bd-primary-tint);
}

.form-check-input:checked {
    background-color: var(--bd-primary);
    border-color: var(--bd-primary);
}

.page-link {
    color: var(--bd-primary);
}

.page-item.active .page-link {
    background-color: var(--bd-primary);
    border-color: var(--bd-primary);
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--bd-primary);
}

.list-group-item.active {
    background-color: var(--bd-primary);
    border-color: var(--bd-primary);
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: var(--bd-primary);
}

.accordion-button:not(.collapsed) {
    color: var(--bd-primary);
    background-color: rgba(var(--bd-primary-rgb), .1);
}

.progress-bar {
    background-color: var(--bd-primary);
}

/* Brand gradient accent, echoing the logo's navy-to-blue gradient —
   used on hero/banner sections in place of a flat bg-primary. */
.bg-brand-gradient {
    background: linear-gradient(135deg, var(--bd-navy) 0%, var(--bd-primary) 100%);
}

/* Sidebar toggle: hides the static desktop column regardless of the
   d-lg-flex breakpoint utility already on the element. */
.sidebar-hidden {
    display: none !important;
}

/* Dark brand-navy sidebar (paired with data-bs-theme="dark" on the same
   element so Bootstrap's own text/border colors auto-adjust for contrast). */
.sidebar-dark {
    background-color: var(--bd-navy) !important;
}

/* Compact sidebar menu — smaller nav-link text/icons and tighter padding
   so the narrower sidebar column stays clean and uncrowded. */
.sidebar-compact .nav-link {
    font-size: .8125rem;
    padding: .45rem .9rem;
}

.sidebar-compact .nav-item > div.text-uppercase {
    font-size: .68rem;
    padding-top: .75rem;
    padding-bottom: .25rem;
    letter-spacing: .03em;
}

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

/* Small helpers Bootstrap doesn't ship out of the box. */

.btn-icon {
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.hover-shadow {
    transition: box-shadow .15s ease-in-out, transform .15s ease-in-out;
}
.hover-shadow:hover {
    box-shadow: var(--bs-box-shadow);
    transform: translateY(-1px);
}

/* DataTables Bootstrap 5 enhancements */
.dataTables_wrapper .dataTables_length select {
    min-width: 70px;
}

.dataTables_wrapper .dataTables_filter input {
    min-width: 200px;
}

.dataTables_wrapper .dataTables_paginate .pagination {
    flex-wrap: wrap;
}

.dataTables_wrapper .dataTables_info {
    white-space: nowrap;
}

@media (max-width: 575.98px) {
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter {
        text-align: center !important;
        margin-bottom: 0.5rem;
    }
    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_paginate {
        text-align: center !important;
    }
    .dataTables_wrapper .dataTables_paginate .pagination {
        justify-content: center !important;
    }
}

/* Responsive table adjustments */
.table-responsive .dataTables_wrapper {
    overflow-x: visible;
}

.dataTables_scrollBody {
    overflow-x: auto !important;
}

/* Public marketing site styles live in marketing.css */
