/**
 * Mechanic App - Dark Theme Overrides
 * Applies Ravnix dark theme to mechanic-specific components
 */

/* Job Cards with Dark Theme */
.job-card {
    background: var(--ravnix-bg-secondary);
    box-shadow: var(--ravnix-shadow-sm);
}

.job-card:hover,
.job-card:active {
    box-shadow: var(--ravnix-shadow-md);
}

.job-card-header {
    border-bottom: 1px solid var(--ravnix-border-medium);
}

.job-card-title {
    color: var(--ravnix-text-primary);
}

.job-card-body {
    color: var(--ravnix-text-secondary);
}

/* Filter Pills with Dark Theme */
.filter-pills label {
    border: 2px solid var(--ravnix-border-light);
    background: var(--ravnix-bg-secondary);
    color: var(--ravnix-text-secondary);
}

.filter-pills input[type="radio"]:checked + label {
    background: var(--ravnix-accent-primary);
    color: var(--ravnix-text-primary);
    border-color: var(--ravnix-accent-primary);
}

/* Bottom Navigation with Dark Theme */
.bottom-nav {
    background: var(--ravnix-bg-secondary);
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.4);
}

.bottom-nav .nav-item {
    color: var(--ravnix-text-tertiary);
}

.bottom-nav .nav-item.active {
    color: var(--ravnix-accent-primary);
}

.bottom-nav .nav-item:active {
    background: rgba(255, 255, 255, 0.05);
}

/* Toast with Dark Theme */
.toast {
    background: var(--ravnix-bg-secondary);
    color: var(--ravnix-text-primary);
    box-shadow: var(--ravnix-shadow-md);
}

/* Page Background Override */
body {
    background: var(--ravnix-bg-primary) !important;
}

/* Navbar Override */
.navbar-dark.bg-primary {
    background: var(--ravnix-bg-secondary) !important;
}

/* Card Backgrounds */
.card {
    background: var(--ravnix-bg-secondary);
    border: 1px solid var(--ravnix-border-medium);
}

.card-body {
    color: var(--ravnix-text-secondary);
}

.card-title {
    color: var(--ravnix-text-primary);
}

/* Form Elements */
.form-control,
.form-select {
    background: var(--ravnix-bg-primary);
    color: var(--ravnix-text-primary);
    border: 2px solid var(--ravnix-border-light);
}

.form-control:focus,
.form-select:focus {
    background: var(--ravnix-bg-primary);
    color: var(--ravnix-text-primary);
    border-color: var(--ravnix-accent-primary);
    box-shadow: 0 0 0 0.25rem rgba(251, 191, 36, 0.25);
}

.form-control::placeholder {
    color: var(--ravnix-text-tertiary);
}

.form-label {
    color: var(--ravnix-text-primary);
}

/* Modal Overrides */
.modal-content {
    background: var(--ravnix-bg-secondary);
    border: 1px solid var(--ravnix-border-medium);
}

.modal-header {
    border-bottom: 1px solid var(--ravnix-border-medium);
}

.modal-footer {
    border-top: 1px solid var(--ravnix-border-medium);
}

.modal-title {
    color: var(--ravnix-text-primary);
}

/* List Group Items */
.list-group-item {
    background: var(--ravnix-bg-secondary);
    color: var(--ravnix-text-secondary);
    border: 1px solid var(--ravnix-border-medium);
}

.list-group-item:hover {
    background: var(--ravnix-bg-tertiary);
}

/* Badge Overrides */
.badge {
    background: var(--ravnix-bg-tertiary);
    color: var(--ravnix-text-primary);
}

.badge.bg-success {
    background: var(--ravnix-accent-success) !important;
}

.badge.bg-warning {
    background: var(--ravnix-accent-warning) !important;
    color: var(--ravnix-bg-primary) !important;
}

.badge.bg-danger {
    background: var(--ravnix-accent-danger) !important;
}

.badge.bg-info {
    background: var(--ravnix-accent-info) !important;
}

.badge.bg-light {
    background: var(--ravnix-bg-tertiary) !important;
    color: var(--ravnix-text-primary) !important;
}

/* Button Overrides */
.btn-primary {
    background: var(--ravnix-accent-primary);
    border-color: var(--ravnix-accent-primary);
}

.btn-primary:hover {
    background: var(--ravnix-accent-hover);
    border-color: var(--ravnix-accent-hover);
}

.btn-success {
    background: var(--ravnix-accent-success);
    border-color: var(--ravnix-accent-success);
}

.btn-danger {
    background: var(--ravnix-accent-danger);
    border-color: var(--ravnix-accent-danger);
}

.btn-outline-primary {
    color: var(--ravnix-accent-primary);
    border-color: var(--ravnix-accent-primary);
}

.btn-outline-primary:hover {
    background: var(--ravnix-accent-primary);
    color: var(--ravnix-text-primary);
}

/* Alert Overrides */
.alert {
    border: none;
}

.alert-primary {
    background: rgba(251, 191, 36, 0.2);
    color: var(--ravnix-accent-primary);
}

.alert-success {
    background: rgba(16, 185, 129, 0.2);
    color: var(--ravnix-accent-success);
}

.alert-warning {
    background: rgba(251, 191, 36, 0.2);
    color: var(--ravnix-accent-warning);
}

.alert-danger {
    background: rgba(239, 68, 68, 0.2);
    color: var(--ravnix-accent-danger);
}

/* Text Color Overrides */
.text-muted {
    color: var(--ravnix-text-tertiary) !important;
}

.text-white {
    color: var(--ravnix-text-primary) !important;
}

/* Bootstrap Dark Mode Helpers */
.bg-light {
    background: var(--ravnix-bg-tertiary) !important;
}

.bg-dark {
    background: var(--ravnix-bg-primary) !important;
}

.border {
    border-color: var(--ravnix-border-medium) !important;
}

/* ========================================
   Mechanic-specific blue color overrides
   Replace all #0d6efd / blue with gold accent
   ======================================== */

/* Job number and section headers */
.job-number {
    color: var(--ravnix-accent-primary) !important;
}

.card-section-header {
    color: var(--ravnix-accent-primary) !important;
}

/* Filter pills checked state */
.filter-pills input[type="radio"]:checked + label {
    background: var(--ravnix-accent-primary) !important;
    color: var(--ravnix-bg-primary) !important;
    border-color: var(--ravnix-accent-primary) !important;
}

/* Bottom nav active */
.bottom-nav .nav-item.active {
    color: var(--ravnix-accent-primary) !important;
}

/* Toast default border */
.toast {
    border-left-color: var(--ravnix-accent-primary);
}

/* App header gradient */
.app-header {
    background: var(--ravnix-bg-secondary) !important;
    box-shadow: var(--ravnix-shadow-md);
}

/* Category header */
.category-header {
    color: var(--ravnix-accent-primary) !important;
}

/* Pull to refresh */
#ptr-indicator {
    background: rgba(251, 191, 36, 0.9) !important;
    color: var(--ravnix-bg-primary) !important;
}

/* Btn-check outline-primary overrides (radio filters) */
.btn-check:checked + .btn-outline-primary {
    background: var(--ravnix-accent-primary) !important;
    border-color: var(--ravnix-accent-primary) !important;
    color: var(--ravnix-bg-primary) !important;
}

/* Spinner */
.spinner-border.text-primary {
    color: var(--ravnix-accent-primary) !important;
}
