.stat-card {
    border-left: 4px solid #0d6efd;
    transition: transform 0.2s;
}
.stat-card:hover {
    transform: translateY(-2px);
}
.btn-lg.py-3 {
    transition: transform 0.2s;
}
.btn-lg.py-3:hover {
    transform: translateY(-2px);
}

/* === Searchable Select === */
.searchable-select { position: relative; width: 100%; }
.ss-container { position: relative; width: 100%; }
.ss-input {
    width: 100%;
    height: 38px;
    padding: 0.375rem 2rem 0.375rem 0.75rem;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    font-size: 0.95rem;
    line-height: 1.5;
    background: #fff;
    color: #212529;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.ss-input:focus {
    border-color: #1a3a5c;
    box-shadow: 0 0 0 0.2rem rgba(26,58,92,0.15);
}
.ss-input::placeholder { color: #9ca3af; }
.ss-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #9ca3af;
    cursor: pointer;
    font-size: 1.1rem;
    padding: 0;
    line-height: 1;
    display: none;
    box-sizing: border-box;
}
.ss-clear.visible { display: block; }
.ss-list {
    position: absolute;
    z-index: 1050;
    width: 100%;
    max-height: 220px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #dee2e6;
    border-top: none;
    border-radius: 0 0 0.375rem 0.375rem;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    display: none;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ss-list.open { display: block; }
.ss-item {
    padding: 8px 12px;
    cursor: pointer;
    font-size: 0.9rem;
    color: #212529;
    border-bottom: 1px solid #f1f5f5;
}
.ss-item:last-child { border-bottom: none; }
.ss-item:hover, .ss-item.active { background: #f0f4f8; color: #1a3a5c; }
.ss-item.selected { background: #1a3a5c; color: #fff; }
.ss-no-results { padding: 10px 12px; color: #9ca3af; font-size: 0.85rem; font-style: italic; }

/* === Clickable table rows === */
.table-clickable tbody tr { cursor: pointer; transition: background 0.15s; }
.table-clickable tbody tr:hover { background: #e9ecef !important; }

/* =============================================
   DARK MODE
   ============================================= */
[data-bs-theme="dark"] .stat-card {
    background: #212529;
    border-left-color: #4dabf7;
}
[data-bs-theme="dark"] .stat-card h6 { color: #adb5bd; }
[data-bs-theme="dark"] .stat-card h3 { color: #e9ecef; }

[data-bs-theme="dark"] .ss-input {
    background: #212529;
    border-color: #495057;
    color: #e9ecef;
}
[data-bs-theme="dark"] .ss-input:focus {
    border-color: #4dabf7;
    box-shadow: 0 0 0 0.2rem rgba(77,171,247,0.25);
}
[data-bs-theme="dark"] .ss-input::placeholder { color: #6c757d; }

[data-bs-theme="dark"] .ss-clear { color: #6c757d; }

[data-bs-theme="dark"] .ss-list {
    background: #2b3035;
    border-color: #495057;
    box-shadow: 0 4px 16px rgba(0,0,0,0.4);
}
[data-bs-theme="dark"] .ss-item {
    color: #e9ecef;
    border-bottom-color: #343a40;
}
[data-bs-theme="dark"] .ss-item:hover,
[data-bs-theme="dark"] .ss-item.active {
    background: #343a40;
    color: #4dabf7;
}
[data-bs-theme="dark"] .ss-item.selected {
    background: #1a3a5c;
    color: #fff;
}
[data-bs-theme="dark"] .ss-no-results { color: #6c757d; }

[data-bs-theme="dark"] .table-clickable tbody tr:hover { background: #343a40 !important; }

[data-bs-theme="dark"] .card { background: #212529; }
[data-bs-theme="dark"] .card-header { background: #2b3035; }
[data-bs-theme="dark"] .card-body { color: #e9ecef; }

[data-bs-theme="dark"] hr { border-color: #495057; }

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
    background-color: #212529;
    border-color: #495057;
    color: #e9ecef;
}
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
    background-color: #2b3035;
    border-color: #4dabf7;
    color: #e9ecef;
    box-shadow: 0 0 0 0.2rem rgba(77,171,247,0.25);
}

[data-bs-theme="dark"] .breadcrumb { background: transparent; }
[data-bs-theme="dark"] .breadcrumb-item a { color: #4dabf7; }
[data-bs-theme="dark"] .breadcrumb-item.active { color: #adb5bd; }

[data-bs-theme="dark"] .progress { background-color: #343a40; }

[data-bs-theme="dark"] .btn-primary {
    background: linear-gradient(135deg, #1a3a5c, #2563eb);
    border-color: #2563eb;
}
[data-bs-theme="dark"] .btn-primary:hover {
    background: linear-gradient(135deg, #153050, #1d4ed8);
    box-shadow: 0 4px 12px rgba(37,99,235,0.3);
}
[data-bs-theme="dark"] .bg-primary { background-color: #1a3a5c !important; }

[data-bs-theme="dark"] .badge.bg-success { background-color: #2d6a4f !important; }
[data-bs-theme="dark"] .badge.bg-danger { background-color: #842029 !important; }

[data-bs-theme="dark"] .alert-success { background-color: #1a3a2a; border-color: #2d6a4f; color: #75b798; }
[data-bs-theme="dark"] .alert-danger { background-color: #3a1a1a; border-color: #842029; color: #ea868f; }
[data-bs-theme="dark"] .alert-warning { background-color: #3a2e1a; border-color: #755709; color: #ffda6a; }
[data-bs-theme="dark"] .alert-info { background-color: #1a2e3a; border-color: #0c63e4; color: #6edff6; }

[data-bs-theme="dark"] .note-box { background: #2b2a1a; border-left-color: #e67e22; color: #f0c040; }

[data-bs-theme="dark"] code {
    background: #343a40;
    color: #e9ecef;
}

/* === Wizard progress dark mode === */
[data-bs-theme="dark"] .rounded-circle.bg-light {
    background-color: #343a40 !important;
    color: #e9ecef !important;
}
[data-bs-theme="dark"] .rounded-circle.bg-primary {
    background-color: #1a3a5c !important;
    color: #fff !important;
}
[data-bs-theme="dark"] .text-muted { color: #6c757d !important; }
[data-bs-theme="dark"] .text-primary { color: #4dabf7 !important; }
