/* Active nav link highlight */
.navbar .nav-link.active {
    color: #dc3545 !important;
    font-weight: 600;
}

/* Select2 Bootstrap 5 size fixes - match form-control exactly */
.select2-container--bootstrap-5 .select2-selection {
    min-height: 38px;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
}

.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    padding: 0;
    padding-right: 2rem;
    line-height: 1.5;
    font-size: 1rem;
}

.select2-container--bootstrap-5 .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered {
    padding: 0;
}

.select2-container--bootstrap-5 .select2-selection--multiple .select2-search__field {
    font-size: 1rem;
}

/* Dropdown results */
.select2-container--bootstrap-5 .select2-dropdown {
    font-size: 1rem;
}

.select2-container--bootstrap-5 .select2-dropdown .select2-results__option {
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
}

.select2-container--bootstrap-5 .select2-dropdown .select2-search .select2-search__field {
    font-size: 1rem;
    padding: 0.375rem 0.75rem;
}

/* Small size variant (.form-select-sm) */
.select2-container--bootstrap-5.select2-container--sm .select2-selection {
    min-height: 31px;
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
}

.select2-container--bootstrap-5.select2-container--sm .select2-selection--single .select2-selection__rendered {
    font-size: 0.875rem;
}

.select2-container--bootstrap-5.select2-container--sm .select2-selection--single .select2-selection__arrow {
    height: 29px;
}

.select2-container--bootstrap-5.select2-container--sm .select2-dropdown {
    font-size: 0.875rem;
}

.select2-container--bootstrap-5.select2-container--sm .select2-dropdown .select2-results__option {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
}

.select2-container--bootstrap-5.select2-container--sm .select2-dropdown .select2-search .select2-search__field {
    font-size: 0.875rem;
    padding: 0.25rem 0.5rem;
}

/* Alerts Bell Icon */
#alertsBellBtn {
    background: none;
    border: none;
    cursor: pointer;
}

#alertsBellBtn:hover {
    color: var(--bs-primary);
}

#alertsBadge {
    font-size: 0.65rem;
    padding: 0.2rem 0.4rem;
    top: 6px !important;
}

/* Alerts Sidebar */
#alertsSidebar {
    width: 400px;
    max-width: 100%;
}

#alertsSidebar .offcanvas-header {
    border-bottom: 1px solid var(--bs-border-color);
}

#alertsList .list-group-item {
    border-left: none;
    border-right: none;
    border-radius: 0;
}

#alertsList .list-group-item:first-child {
    border-top: none;
}

#alertsList .list-group-item-light {
    background-color: var(--bs-light);
}

/* Indicator size variant - extra small */
.indicator-xs {
    font-size: 0.65rem;
    padding: 0.2rem 0.4rem;
}

/* Checklist completed row - dimmed */
.checklist-completed {
    opacity: 0.5;
}

.checklist-completed .btn,
.checklist-completed .indicator {
    opacity: 0.7;
}

/* CSP-compliant media grid styles */
.cursor-pointer { cursor: pointer; }

.media-video-preview {
    width: 100%;
    height: 80px;
    background: #1a1a2e;
}

.media-pdf-preview {
    width: 100%;
    height: 80px;
    background: #2d1b1b;
}

.media-img-thumbnail {
    width: 100%;
    height: 80px;
    object-fit: cover;
}

.media-icon-play,
.media-icon-pdf {
    font-size: 2rem;
    opacity: 0.8;
}

.media-overlay-info {
    background: rgba(0,0,0,0.6);
    font-size: 0.65rem;
}

.media-locked-icon,
.media-delete-form {
    z-index: 10;
}

.media-lock-icon {
    font-size: 0.7rem;
}

.media-delete-btn {
    font-size: 0.6rem;
    line-height: 1.2;
}

/* Common utility classes */
.btn-delete-note { font-size: 0.7rem; }
.min-w-200 { min-width: 200px; }
.min-w-120 { min-width: 120px; }
.overflow-x-auto { overflow-x: auto !important; }
.col-w-40 { width: 40px; }
.col-w-48 { width: 48px; }
.col-w-50 { width: 50px; }
.col-w-80 { width: 80px; }
.col-w-100 { width: 100px; }
.col-w-120 { width: 120px; }
.col-w-150 { width: 150px; }
.scroll-container-300 { max-height: 300px; overflow-y: auto; }

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

.col-w-30 {
    width: 30px;
}

.col-w-48 {
    width: 48px;
}

.col-w-110 {
    width: 110px;
}

.col-w-120 {
    width: 120px;
}

.img-max-h-120 {
    max-height: 120px;
}

.swal-tie-p {
    text-align: left;
    font-size: 0.9rem;
}

.swal-tie-check {
    background-color: #fff !important;
    border-color: #000 !important;
}

.swal-tie-check:checked {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
}

.z-index-bulk-bar {
    z-index: 1050;
}

.wo-work-order-card .wo-card-dl dt {
    font-weight: 600;
}

.min-w-80 {
    min-width: 80px;
}

.min-w-100 {
    min-width: 100px;
}

.min-w-220 {
    min-width: 220px;
}

.min-w-200 {
    min-width: 200px;
}

.min-w-120 {
    min-width: 120px;
}

.min-w-300 {
    min-width: 300px;
}

.form-inline-auto {
    width: auto;
    display: inline-block;
}

.welcome-svg-mix-hard-light {
    mix-blend-mode: hard-light;
}

.welcome-svg-mix-plus-darker {
    mix-blend-mode: plus-darker;
}

.photo-thumb-tile {
    cursor: pointer;
}

.photo-thumb-video-placeholder {
    width: 100%;
    height: 150px;
    background: #1a1a2e;
}

.photo-thumb-pdf-placeholder {
    width: 100%;
    height: 150px;
    background: #2d1b1b;
}

.photo-thumb-img-cover {
    width: 100%;
    height: 150px;
    object-fit: cover;
}

.photo-thumb-caption {
    background: rgba(0, 0, 0, 0.6);
    font-size: 0.7rem;
}

.icon-3rem-soft {
    font-size: 3rem;
    opacity: 0.8;
}

.avail-col-time {
    min-width: 80px;
}

.avail-col-tech {
    min-width: 100px;
}

.avail-bg-overlap {
    background-color: #e0cffc;
}

.avail-bg-current-wo {
    background-color: #cfe2ff;
}

.lightbox-max-vh {
    max-height: 70vh;
}

.lightbox-object-contain {
    object-fit: contain;
}

.lightbox-pdf-frame {
    width: 100%;
    height: 70vh;
    border: none;
}

.img-max-h-200 {
    max-height: 200px;
}

.icon-caret-tiny {
    font-size: 0.6em;
}

.qr-reader-full-width {
    width: 100%;
}

.max-w-320 {
    max-width: 320px;
}

.sticky-sidebar {
    top: 20px;
}

.notes-list-scroll {
    max-height: 200px;
    overflow-y: auto;
}

.signature-canvas {
    border: 1px solid var(--bs-border-color);
    border-radius: 0.375rem;
    width: 100%;
    height: 200px;
    touch-action: none;
    cursor: crosshair;
}

.table-date-col {
    width: 40%;
}

.badge-xs {
    font-size: 0.65rem;
}

.photo-thumbnail-img {
    width: 50px;
    height: 50px;
    object-fit: cover;
    cursor: pointer;
}

.photo-thumbnail-video {
    width: 50px;
    height: 50px;
    background: #1a1a2e;
    cursor: pointer;
}

.photo-thumbnail-file {
    width: 50px;
}

.print-toolbar-btn-secondary {
    background: #6c757d;
    color: #fff;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 0.25rem;
    cursor: pointer;
}

.dashboard-progress-fill {
    height: 100%;
    border-radius: 999px;
    width: 0;
}

.dashboard-progress-dot {
    display: inline-block;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
}
