﻿/* ============================================
   MAPPINGS - LIGHT THEME
   Toyota Professional Insurance Interface
   ============================================ */

/* CSS Variables - Light Theme */
.theme-light,
:root {
    --map-toyota-red: #eb0a1e;
    --map-toyota-red-dark: #c20818;
    --map-toyota-grey: #595959;
    --map-toyota-grey-dark: #2d2d2d;
    --map-primary-color: #eb0a1e;
    --map-primary-hover: #c20818;
    --map-primary-light: #fee2e2;
    --map-secondary-color: #64748b;
    --map-success-color: #10b981;
    --map-success-light: #d1fae5;
    --map-danger-color: #ef4444;
    --map-danger-light: #fee2e2;
    --map-warning-color: #f59e0b;
    --map-warning-light: #fef3c7;
    --map-info-color: #3b82f6;
    --map-info-light: #dbeafe;
    --map-text-primary: #1e293b;
    --map-text-secondary: #64748b;
    --map-text-muted: #94a3b8;
    --map-background: #f8fafc;
    --map-content-bg: #ffffff;
    --map-border-color: #e2e8f0;
    --map-border-light: #f3f4f6;
    --map-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --map-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --map-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

    /* Container & Background */
    .theme-light .dashboard-container,
    .dashboard-container {
        background: var(--map-background);
        color: var(--map-text-primary);
    }

    /* Dashboard Header */
    .theme-light .dashboard-header,
    .dashboard-header {
        background: linear-gradient(135deg, var(--map-toyota-red) 0%, var(--map-toyota-red-dark) 100%);
        box-shadow: var(--map-shadow-lg);
    }

    /* Dashboard Cards */
    .theme-light .dashboard-card,
    .dashboard-card {
        background: var(--map-content-bg);
        border: 1px solid var(--map-border-color);
        box-shadow: var(--map-shadow-sm);
    }

        .theme-light .dashboard-card:hover,
        .dashboard-card:hover {
            box-shadow: var(--map-shadow-md);
        }

    .theme-light .card-header,
    .card-header {
        background: #fafafa;
        border-bottom: 2px solid var(--map-toyota-red);
    }

        .theme-light .card-header h2,
        .card-header h2 {
            color: var(--map-text-primary);
        }

            .theme-light .card-header h2 i,
            .card-header h2 i {
                color: var(--map-toyota-red);
            }

    .theme-light .expandable-header,
    .expandable-header {
        background: #fafafa;
    }

        .theme-light .expandable-header:hover,
        .expandable-header:hover {
            background: #f5f5f5;
        }

    .theme-light .stat-badge.danger,
    .stat-badge.danger {
        background: var(--map-danger-light);
        color: var(--map-danger-color);
        border: 1px solid var(--map-danger-color);
    }

    .theme-light .stat-badge.success,
    .stat-badge.success {
        background: var(--map-success-light);
        color: var(--map-success-color);
        border: 1px solid var(--map-success-color);
    }

    .theme-light .stat-badge.warning,
    .stat-badge.warning {
        background: var(--map-warning-light);
        color: var(--map-warning-color);
        border: 1px solid var(--map-warning-color);
    }

    .theme-light .card-content,
    .card-content {
        background: var(--map-content-bg);
    }

    /* Toolbar */
    .theme-light .search-input,
    .search-input {
        background: var(--map-content-bg);
        border: 1px solid var(--map-border-color);
        color: var(--map-text-primary);
    }

        .theme-light .search-input::placeholder,
        .search-input::placeholder {
            color: var(--map-text-muted);
        }

        .theme-light .search-input:focus,
        .search-input:focus {
            border-color: var(--map-toyota-red);
            box-shadow: 0 0 0 3px rgba(235, 10, 30, 0.1);
        }

    .theme-light .search-btn,
    .search-btn {
        background: var(--map-toyota-red);
        color: white;
    }

        .theme-light .search-btn:hover,
        .search-btn:hover {
            background: var(--map-toyota-red-dark);
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(235, 10, 30, 0.3);
        }

    /* Loading State */
    .theme-light .loading-container,
    .loading-container {
        background: var(--map-content-bg);
    }

    .theme-light .spinner,
    .spinner {
        border-color: var(--map-border-color);
        border-top-color: var(--map-toyota-red);
    }

    .theme-light .loading-spinner p,
    .loading-spinner p {
        color: var(--map-text-secondary);
    }

    /* Empty State */
    .theme-light .empty-state,
    .empty-state {
        background: var(--map-content-bg);
        color: var(--map-text-muted);
    }

        .theme-light .empty-state h3,
        .empty-state h3 {
            color: var(--map-text-primary);
        }

        .theme-light .empty-state i,
        .empty-state i {
            color: var(--map-text-muted);
        }

    /* Pagination */
    .theme-light .pagination-section,
    .pagination-section {
        background: var(--map-content-bg);
        border: 1px solid var(--map-border-light);
    }

    .theme-light .results-text,
    .results-text {
        color: var(--map-text-secondary);
    }

    .theme-light .page-size-selector label,
    .page-size-selector label {
        color: var(--map-text-primary);
    }

    .theme-light .page-size-select,
    .page-size-select {
        background: var(--map-content-bg);
        border: 1px solid var(--map-border-color);
        color: var(--map-text-primary);
    }

        .theme-light .page-size-select:focus,
        .page-size-select:focus {
            border-color: var(--map-toyota-red);
            box-shadow: 0 0 0 3px rgba(235, 10, 30, 0.1);
        }

    /* Table Styles */
    .theme-light .table-container,
    .table-container {
        background: var(--map-content-bg);
        border: 1px solid var(--map-border-color);
    }

    .theme-light .performance-table thead tr,
    .performance-table thead tr {
        border-bottom-color: var(--map-border-color);
        background: #fafafa;
    }

    .theme-light .performance-table th,
    .performance-table th {
        color: var(--map-text-primary);
    }

    .theme-light .performance-table td,
    .performance-table td {
        border-bottom-color: var(--map-border-color);
    }

    .theme-light .performance-table tbody tr,
    .performance-table tbody tr {
        border-bottom: 1px solid var(--map-border-color);
    }

        .theme-light .performance-table tbody tr:hover,
        .performance-table tbody tr:hover {
            background: #fafafa;
        }

        .theme-light .performance-table tbody tr.already-added,
        .performance-table tbody tr.already-added {
            background: var(--map-warning-light);
        }

    .theme-light .vehicle-info span,
    .vehicle-info span {
        color: var(--map-text-primary);
    }

    .theme-light .vehicle-model,
    .theme-light .vehicle-variant,
    .theme-light .vehicle-year,
    .vehicle-model,
    .vehicle-variant,
    .vehicle-year {
        color: var(--map-text-primary);
    }

    .theme-light .mm-code,
    .mm-code {
        color: var(--map-text-secondary);
        background: var(--map-background);
    }

    .theme-light .date-info .date-value,
    .date-info .date-value {
        color: var(--map-text-secondary);
    }

    /* Mobile Card View */
    .theme-light .vehicle-card,
    .vehicle-card {
        background: var(--map-content-bg);
        border: 1px solid var(--map-border-color);
        box-shadow: var(--map-shadow-sm);
    }

        .theme-light .vehicle-card:hover,
        .vehicle-card:hover {
            box-shadow: var(--map-shadow-md);
        }

    .theme-light .vehicle-card-header,
    .vehicle-card-header {
        border-bottom-color: var(--map-border-color);
    }

    .theme-light .vehicle-name,
    .vehicle-name {
        color: var(--map-text-primary);
    }

    .theme-light .vehicle-variant,
    .vehicle-variant {
        color: var(--map-text-secondary);
    }

    .theme-light .risk-badge,
    .risk-badge {
        background: var(--map-danger-light);
        color: var(--map-danger-color);
        border-color: var(--map-danger-color);
    }

    .theme-light .detail-label,
    .detail-label {
        color: var(--map-text-secondary);
    }

    .theme-light .detail-value,
    .detail-value {
        color: var(--map-text-primary);
    }

    .theme-light .vehicle-card-footer,
    .vehicle-card-footer {
        border-top-color: var(--map-border-color);
    }

    /* Buttons */
    .theme-light .btn-primary,
    .btn-primary {
        background: linear-gradient(135deg, var(--map-toyota-red) 0%, var(--map-toyota-red-dark) 100%);
        color: white;
        box-shadow: 0 4px 12px rgba(235, 10, 30, 0.25);
    }

        .theme-light .btn-primary:hover:not(:disabled),
        .btn-primary:hover:not(:disabled) {
            background: linear-gradient(135deg, var(--map-toyota-red-dark) 0%, #a00614 100%);
            box-shadow: 0 6px 16px rgba(235, 10, 30, 0.35);
            transform: translateY(-1px);
        }

    .theme-light .btn-secondary,
    .btn-secondary {
        background: rgba(0, 0, 0, 0.05);
        color: var(--map-text-primary);
        border: 1px solid var(--map-border-color);
    }

        .theme-light .btn-secondary:hover:not(:disabled),
        .btn-secondary:hover:not(:disabled) {
            background: rgba(235, 10, 30, 0.1);
            border-color: var(--map-toyota-red);
            color: var(--map-toyota-red);
        }

    .theme-light .btn-success,
    .btn-success {
        background: var(--map-success-color);
        color: white;
        box-shadow: 0 4px 12px rgba(16, 185, 129, 0.25);
    }

        .theme-light .btn-success:hover:not(:disabled),
        .btn-success:hover:not(:disabled) {
            background: #059669;
            box-shadow: 0 6px 16px rgba(16, 185, 129, 0.35);
            transform: translateY(-1px);
        }

    .theme-light .btn-danger,
    .btn-danger {
        background: var(--map-danger-color);
        color: white;
        box-shadow: 0 4px 12px rgba(239, 68, 68, 0.25);
    }

        .theme-light .btn-danger:hover:not(:disabled),
        .btn-danger:hover:not(:disabled) {
            background: #dc2626;
            box-shadow: 0 6px 16px rgba(239, 68, 68, 0.35);
            transform: translateY(-1px);
        }

    .theme-light .btn-ghost,
    .btn-ghost {
        background: transparent;
        color: var(--map-text-secondary);
        border: 1px solid var(--map-border-color);
    }

        .theme-light .btn-ghost:hover:not(:disabled),
        .btn-ghost:hover:not(:disabled) {
            background: rgba(235, 10, 30, 0.05);
            border-color: var(--map-toyota-red);
            color: var(--map-toyota-red);
        }

        .theme-light .btn-ghost.btn-primary:not(:disabled),
        .btn-ghost.btn-primary:not(:disabled) {
            background: rgba(235, 10, 30, 0.1);
            color: var(--map-toyota-red);
            border-color: var(--map-toyota-red);
        }

    /* Dialog Styles */
    .theme-light .dialog-overlay,
    .dialog-overlay {
        background: rgba(0, 0, 0, 0.6);
    }

    .theme-light .dialog-content,
    .dialog-content {
        background: var(--map-content-bg);
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
        border: 1px solid var(--map-border-color);
    }

    .theme-light .dialog-header,
    .dialog-header {
        background: #fafafa;
        border-bottom: 2px solid var(--map-toyota-red);
    }

        .theme-light .dialog-header h3,
        .dialog-header h3 {
            color: var(--map-text-primary);
        }

            .theme-light .dialog-header h3 i,
            .dialog-header h3 i {
                color: var(--map-toyota-red);
            }

    .theme-light .dialog-body,
    .dialog-body {
        background: var(--map-content-bg);
    }

    .theme-light .dialog-footer,
    .dialog-footer {
        background: #fafafa;
        border-top: 1px solid var(--map-border-color);
    }

    /* Form Styles */
    .theme-light .form-group label,
    .form-group label {
        color: var(--map-text-primary);
    }

    .theme-light .form-control,
    .form-control {
        background: var(--map-content-bg);
        border: 1px solid var(--map-border-color);
        color: var(--map-text-primary);
    }

        .theme-light .form-control:focus,
        .form-control:focus {
            border-color: var(--map-toyota-red);
            box-shadow: 0 0 0 3px rgba(235, 10, 30, 0.1);
        }

        .theme-light .form-control:disabled,
        .form-control:disabled {
            background: #fafafa;
            opacity: 0.7;
        }

    /* Scrollbar Styling */
    .theme-light ::-webkit-scrollbar {
        width: 8px;
        height: 8px;
    }

    .theme-light ::-webkit-scrollbar-track {
        background: #f3f4f6;
    }

    .theme-light ::-webkit-scrollbar-thumb {
        background: #d1d5db;
        border-radius: 4px;
    }

        .theme-light ::-webkit-scrollbar-thumb:hover {
            background: var(--map-toyota-red);
        }

    /* Focus Visible */
    .theme-light *:focus-visible,
    *:focus-visible {
        outline: 2px solid var(--map-toyota-red);
        outline-offset: 2px;
    }

/* Print Styles */
@media print {
    .theme-light .dashboard-header,
    .dashboard-header {
        background: white !important;
        color: var(--map-toyota-grey-dark) !important;
        box-shadow: none !important;
    }

        .theme-light .dashboard-header h1,
        .dashboard-header h1 {
            color: var(--map-toyota-red) !important;
        }

    .theme-light .btn,
    .btn {
        display: none !important;
    }

    .theme-light .toolbar-section,
    .toolbar-section {
        display: none !important;
    }
}

/* Modal Styles - Light Theme */
.theme-light .modal-backdrop,
.modal-backdrop {
    background: rgba(0, 0, 0, 0.6);
}

.theme-light .modal-content,
.modal-content {
    background: var(--map-content-bg);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    border: 1px solid var(--map-border-color);
}

.theme-light .modal-header,
.modal-header {
    background: linear-gradient(135deg, var(--map-toyota-red) 0%, var(--map-toyota-red-dark) 100%);
    border-bottom: 1px solid var(--map-border-color);
}

.theme-light .modal-body,
.modal-body {
    background: var(--map-content-bg);
    color: var(--map-text-primary);
}

.theme-light .modal-footer,
.modal-footer {
    background: #fafafa;
    border-top: 1px solid var(--map-border-color);
}

/* Toast Notifications - Light Theme */
.theme-light .toast-notification.success,
.toast-notification.success {
    background: var(--map-success-light);
    border: 1px solid var(--map-success-color);
}

.theme-light .toast-notification.error,
.toast-notification.error {
    background: var(--map-danger-light);
    border: 1px solid var(--map-danger-color);
}

.theme-light .toast-notification.warning,
.toast-notification.warning {
    background: var(--map-warning-light);
    border: 1px solid var(--map-warning-color);
}

.theme-light .toast-notification.info,
.toast-notification.info {
    background: var(--map-info-light);
    border: 1px solid var(--map-info-color);
}

.theme-light .toast-notification.success .toast-icon,
.toast-notification.success .toast-icon {
    background: var(--map-success-color);
    color: white;
}

.theme-light .toast-notification.error .toast-icon,
.toast-notification.error .toast-icon {
    background: var(--map-danger-color);
    color: white;
}

.theme-light .toast-notification.warning .toast-icon,
.toast-notification.warning .toast-icon {
    background: var(--map-warning-color);
    color: white;
}

.theme-light .toast-notification.info .toast-icon,
.toast-notification.info .toast-icon {
    background: var(--map-info-color);
    color: white;
}

.theme-light .toast-notification.success .toast-title,
.theme-light .toast-notification.success .toast-text,
.toast-notification.success .toast-title,
.toast-notification.success .toast-text {
    color: var(--map-success-color);
}

.theme-light .toast-notification.error .toast-title,
.theme-light .toast-notification.error .toast-text,
.toast-notification.error .toast-title,
.toast-notification.error .toast-text {
    color: var(--map-danger-color);
}

.theme-light .toast-notification.warning .toast-title,
.theme-light .toast-notification.warning .toast-text,
.toast-notification.warning .toast-title,
.toast-notification.warning .toast-text {
    color: var(--map-warning-color);
}

.theme-light .toast-notification.info .toast-title,
.theme-light .toast-notification.info .toast-text,
.toast-notification.info .toast-title,
.toast-notification.info .toast-text {
    color: var(--map-info-color);
}

/* Search Section - Light Theme */
.theme-light .search-header h4,
.search-header h4 {
    color: var(--map-text-primary);
}

.theme-light .search-hint,
.search-hint {
    color: var(--map-text-muted);
}

    .theme-light .search-hint i,
    .search-hint i {
        color: var(--map-info-color);
    }

.theme-light .results-header h4,
.results-header h4 {
    color: var(--map-text-primary);
}

.theme-light .search-table th i,
.search-table th i {
    color: var(--map-toyota-red);
}

/* Alert Styles - Light Theme */
.theme-light .alert.alert-info,
.alert.alert-info {
    background: var(--map-info-light);
    border: 1px solid var(--map-info-color);
    color: var(--map-info-color);
}

/* Bulk Add Styles - Light Theme */
.theme-light .bulk-add-header,
.bulk-add-header {
    background: var(--map-background);
    border-color: var(--map-border-color);
}

.theme-light .bulk-add-info,
.bulk-add-info {
    color: var(--map-text-primary);
}

    .theme-light .bulk-add-info i,
    .bulk-add-info i {
        color: var(--map-info-color);
    }

.theme-light .variants-selection-container,
.variants-selection-container {
    border-color: var(--map-border-color);
}

.theme-light .variants-table tbody tr:hover,
.variants-table tbody tr:hover {
    background: var(--map-primary-light);
}

.theme-light .variants-table tbody tr.selected,
.variants-table tbody tr.selected {
    background: var(--map-success-light);
    border-left: 4px solid var(--map-success-color);
}

.theme-light .variants-table input[type="checkbox"],
.variants-table input[type="checkbox"] {
    accent-color: var(--map-success-color);
}

.theme-light .selection-summary,
.selection-summary {
    background: var(--map-success-light);
    color: var(--map-success-color);
    border-color: var(--map-success-color);
}

/* Confirmation Modal - Light Theme */
.theme-light .confirmation-details,
.confirmation-details {
    background: var(--map-background);
    border-color: var(--map-border-color);
}

    .theme-light .confirmation-details .vehicle-details strong,
    .confirmation-details .vehicle-details strong {
        color: var(--map-text-primary);
    }

/* ============================================
   MAPPINGS - DARK THEME
   Toyota Professional Insurance Interface
   ============================================ */

/* CSS Variables - Dark Theme */
.theme-dark {
    --map-toyota-red: #eb0a1e;
    --map-toyota-red-dark: #c20818;
    --map-toyota-red-light: #ff1a2e;
    --map-toyota-grey: #595959;
    --map-toyota-grey-light: #8c8c8c;
    --map-toyota-grey-dark: #2d2d2d;
    --map-toyota-charcoal: #1a1a1a;
    --map-primary-color: #eb0a1e;
    --map-primary-hover: #ff1a2e;
    --map-bg-primary: #0f0f0f;
    --map-bg-card: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%);
    --map-bg-card-solid: #1a1a1a;
    --map-secondary-color: #64748b;
    --map-success-color: #22c55e;
    --map-danger-color: #ef4444;
    --map-warning-color: #f59e0b;
    --map-info-color: #3b82f6;
    --map-text-primary: rgba(255, 255, 255, 0.95);
    --map-text-secondary: rgba(255, 255, 255, 0.7);
    --map-text-muted: rgba(255, 255, 255, 0.5);
    --map-border-color: rgba(255, 255, 255, 0.1);
    --map-border-light: rgba(255, 255, 255, 0.05);
    --map-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.3);
    --map-shadow-md: 0 4px 12px rgb(0 0 0 / 0.3);
    --map-shadow-lg: 0 10px 30px rgb(0 0 0 / 0.5);
}

    /* Container & Background */
    .theme-dark .dashboard-container {
        background: var(--map-bg-primary);
        color: var(--map-text-primary);
    }

    /* Dashboard Header */
    .theme-dark .dashboard-header {
        background: linear-gradient(135deg, var(--map-toyota-grey-dark) 0%, var(--map-toyota-charcoal) 100%);
        border-bottom: 1px solid var(--map-border-color);
        box-shadow: var(--map-shadow-lg);
    }

        .theme-dark .dashboard-header::before {
            background: rgba(255, 255, 255, 0.05);
        }

        .theme-dark .dashboard-header h1 {
            color: white;
        }

        .theme-dark .dashboard-header p {
            color: rgba(255, 255, 255, 0.85);
        }

    /* Dashboard Cards */
    .theme-dark .dashboard-card {
        background: var(--map-bg-card);
        border: 1px solid var(--map-border-color);
        box-shadow: var(--map-shadow-md);
    }

        .theme-dark .dashboard-card:hover {
            box-shadow: var(--map-shadow-lg);
            border-color: rgba(235, 10, 30, 0.3);
        }

    .theme-dark .card-header {
        background: rgba(0, 0, 0, 0.2);
        border-bottom: 2px solid var(--map-toyota-red);
    }

        .theme-dark .card-header h2 {
            color: white;
        }

            .theme-dark .card-header h2 i {
                color: var(--map-toyota-red);
            }

    .theme-dark .expandable-header {
        background: rgba(0, 0, 0, 0.2);
    }

        .theme-dark .expandable-header:hover {
            background: rgba(235, 10, 30, 0.1);
        }

    .theme-dark .stat-badge.danger {
        background: rgba(239, 68, 68, 0.15);
        color: var(--map-danger-color);
        border: 1px solid rgba(239, 68, 68, 0.3);
    }

    .theme-dark .stat-badge.success {
        background: rgba(34, 197, 94, 0.15);
        color: var(--map-success-color);
        border: 1px solid rgba(34, 197, 94, 0.3);
    }

    .theme-dark .stat-badge.warning {
        background: rgba(245, 158, 11, 0.15);
        color: var(--map-warning-color);
        border: 1px solid rgba(245, 158, 11, 0.3);
        animation: pulse-warning 2s infinite;
    }

@keyframes pulse-warning {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.7);
    }

    50% {
        box-shadow: 0 0 0 6px rgba(245, 158, 11, 0);
    }
}

.theme-dark .card-content {
    background: transparent;
}

/* Toolbar */
.theme-dark .search-input {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--map-border-color);
    color: var(--map-text-primary);
}

    .theme-dark .search-input::placeholder {
        color: var(--map-text-muted);
    }

    .theme-dark .search-input:focus {
        border-color: var(--map-toyota-red);
        box-shadow: 0 0 0 3px rgba(235, 10, 30, 0.2);
        background: rgba(255, 255, 255, 0.08);
    }

.theme-dark .search-btn {
    background: linear-gradient(135deg, var(--map-toyota-red) 0%, var(--map-toyota-red-dark) 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(235, 10, 30, 0.3);
}

    .theme-dark .search-btn:hover {
        background: linear-gradient(135deg, var(--map-toyota-red-light) 0%, var(--map-toyota-red) 100%);
        box-shadow: 0 6px 16px rgba(235, 10, 30, 0.4), 0 0 20px rgba(235, 10, 30, 0.2);
        transform: translateY(-1px);
    }

/* Loading State */
.theme-dark .loading-container {
    background: var(--map-bg-card);
}

.theme-dark .spinner {
    border-color: rgba(255, 255, 255, 0.1);
    border-top-color: var(--map-toyota-red);
    animation: spin-glow 1s linear infinite;
}

@keyframes spin-glow {
    0% {
        transform: rotate(0deg);
        filter: drop-shadow(0 0 2px rgba(235, 10, 30, 0.5));
    }

    50% {
        filter: drop-shadow(0 0 8px rgba(235, 10, 30, 0.8));
    }

    100% {
        transform: rotate(360deg);
        filter: drop-shadow(0 0 2px rgba(235, 10, 30, 0.5));
    }
}

.theme-dark .loading-spinner p {
    color: var(--map-text-secondary);
}

/* Empty State */
.theme-dark .empty-state {
    background: var(--map-bg-card);
    color: var(--map-text-muted);
}

    .theme-dark .empty-state h3 {
        color: var(--map-text-primary);
    }

    .theme-dark .empty-state i {
        color: var(--map-text-muted);
        opacity: 0.3;
    }

    .theme-dark .empty-state:hover i {
        color: var(--map-toyota-red);
        opacity: 0.5;
        transform: scale(1.05);
        transition: all 0.3s ease;
    }

/* Pagination */
.theme-dark .pagination-section {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--map-border-light);
}

.theme-dark .results-text {
    color: var(--map-text-secondary);
}

.theme-dark .page-size-selector label {
    color: var(--map-text-primary);
}

.theme-dark .page-size-select {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--map-border-color);
    color: var(--map-text-primary);
}

    .theme-dark .page-size-select:focus {
        border-color: var(--map-toyota-red);
        box-shadow: 0 0 0 3px rgba(235, 10, 30, 0.2);
        background: rgba(255, 255, 255, 0.08);
    }

    .theme-dark .page-size-select option {
        background: var(--map-toyota-charcoal);
        color: var(--map-text-primary);
    }

/* Table Styles */
.theme-dark .table-container {
    background: transparent;
    border: 1px solid var(--map-border-color);
}

.theme-dark .performance-table thead tr {
    border-bottom-color: var(--map-border-color);
    background: rgba(0, 0, 0, 0.2);
}

.theme-dark .performance-table th {
    color: var(--map-text-primary);
}

.theme-dark .performance-table td {
    border-bottom-color: var(--map-border-color);
}

.theme-dark .performance-table tbody tr {
    border-bottom: 1px solid var(--map-border-color);
}

    .theme-dark .performance-table tbody tr:hover {
        background: linear-gradient(90deg, transparent 0%, rgba(235, 10, 30, 0.08) 50%, transparent 100%);
    }

    .theme-dark .performance-table tbody tr:nth-child(even) {
        background: rgba(255, 255, 255, 0.02);
    }

        .theme-dark .performance-table tbody tr:nth-child(even):hover {
            background: linear-gradient(90deg, transparent 0%, rgba(235, 10, 30, 0.08) 50%, transparent 100%);
        }

    .theme-dark .performance-table tbody tr.already-added {
        background: rgba(245, 158, 11, 0.15);
    }

.theme-dark .vehicle-avatar {
    background: linear-gradient(135deg, var(--map-toyota-red) 0%, var(--map-toyota-red-dark) 100%);
    box-shadow: 0 2px 8px rgba(235, 10, 30, 0.3);
}

.theme-dark .vehicle-info span {
    color: var(--map-text-primary);
}

.theme-dark .vehicle-model,
.theme-dark .vehicle-variant,
.theme-dark .vehicle-year {
    color: var(--map-text-primary);
}

.theme-dark .mm-code {
    color: var(--map-text-secondary);
    background: rgba(0, 0, 0, 0.3);
}

.theme-dark .date-info .date-value {
    color: var(--map-text-secondary);
}

/* Mobile Card View */
.theme-dark .vehicle-card {
    background: var(--map-bg-card);
    border: 1px solid var(--map-border-color);
    box-shadow: var(--map-shadow-sm);
}

    .theme-dark .vehicle-card:hover {
        box-shadow: var(--map-shadow-md);
        border-color: rgba(235, 10, 30, 0.3);
    }

.theme-dark .vehicle-card-header {
    border-bottom-color: var(--map-border-light);
}

.theme-dark .vehicle-name {
    color: var(--map-text-primary);
}

.theme-dark .vehicle-variant {
    color: var(--map-text-secondary);
}

.theme-dark .risk-badge {
    background: rgba(239, 68, 68, 0.15);
    color: var(--map-danger-color);
    border-color: rgba(239, 68, 68, 0.3);
}

.theme-dark .detail-label {
    color: var(--map-text-secondary);
}

.theme-dark .detail-value {
    color: var(--map-text-primary);
}

.theme-dark .vehicle-card-footer {
    border-top-color: var(--map-border-color);
}

/* Buttons */
.theme-dark .btn-primary {
    background: linear-gradient(135deg, var(--map-toyota-red) 0%, var(--map-toyota-red-dark) 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(235, 10, 30, 0.3);
}

    .theme-dark .btn-primary:hover:not(:disabled) {
        background: linear-gradient(135deg, var(--map-toyota-red-light) 0%, var(--map-toyota-red) 100%);
        box-shadow: 0 6px 16px rgba(235, 10, 30, 0.4), 0 0 20px rgba(235, 10, 30, 0.2);
        transform: translateY(-1px);
    }

.theme-dark .btn-secondary {
    background: rgba(255, 255, 255, 0.05);
    color: var(--map-text-primary);
    border: 1px solid var(--map-border-color);
}

    .theme-dark .btn-secondary:hover:not(:disabled) {
        background: rgba(235, 10, 30, 0.15);
        border-color: var(--map-toyota-red);
        color: var(--map-toyota-red);
    }

.theme-dark .btn-success {
    background: linear-gradient(135deg, var(--map-success-color) 0%, #16a34a 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3);
}

    .theme-dark .btn-success:hover:not(:disabled) {
        background: linear-gradient(135deg, #16a34a 0%, #059669 100%);
        box-shadow: 0 6px 16px rgba(34, 197, 94, 0.4);
        transform: translateY(-1px);
    }

.theme-dark .btn-danger {
    background: linear-gradient(135deg, var(--map-danger-color) 0%, #dc2626 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}

    .theme-dark .btn-danger:hover:not(:disabled) {
        background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
        box-shadow: 0 6px 16px rgba(239, 68, 68, 0.4);
        transform: translateY(-1px);
    }

.theme-dark .btn-ghost {
    background: transparent;
    color: var(--map-text-secondary);
    border: 1px solid var(--map-border-color);
}

    .theme-dark .btn-ghost:hover:not(:disabled) {
        background: rgba(235, 10, 30, 0.15);
        border-color: var(--map-toyota-red);
        color: var(--map-toyota-red);
    }

    .theme-dark .btn-ghost.btn-primary:not(:disabled) {
        background: rgba(235, 10, 30, 0.15);
        color: var(--map-toyota-red);
        border-color: var(--map-toyota-red);
    }

    .theme-dark .btn-ghost.btn-primary:hover:not(:disabled) {
        background: rgba(235, 10, 30, 0.25);
    }

/* Dialog Styles */
.theme-dark .dialog-overlay {
    background: rgba(0, 0, 0, 0.7);
}

.theme-dark .dialog-content {
    background: var(--map-bg-card);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    border: 1px solid var(--map-border-color);
}

.theme-dark .dialog-header {
    background: rgba(0, 0, 0, 0.2);
    border-bottom: 2px solid var(--map-toyota-red);
}

    .theme-dark .dialog-header h3 {
        color: white;
    }

        .theme-dark .dialog-header h3 i {
            color: var(--map-toyota-red);
        }

.theme-dark .dialog-body {
    background: transparent;
}

.theme-dark .dialog-footer {
    background: rgba(0, 0, 0, 0.2);
    border-top: 1px solid var(--map-border-color);
}

/* Form Styles */
.theme-dark .form-group label {
    color: var(--map-text-primary);
}

.theme-dark .form-control {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--map-border-color);
    color: var(--map-text-primary);
}

    .theme-dark .form-control:focus {
        border-color: var(--map-toyota-red);
        box-shadow: 0 0 0 3px rgba(235, 10, 30, 0.2);
        background: rgba(255, 255, 255, 0.08);
    }

    .theme-dark .form-control:disabled {
        background: rgba(0, 0, 0, 0.2);
        opacity: 0.6;
    }

/* Scrollbar Styling */
.theme-dark ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.theme-dark ::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
}

.theme-dark ::-webkit-scrollbar-thumb {
    background: rgba(235, 10, 30, 0.5);
    border-radius: 4px;
}

    .theme-dark ::-webkit-scrollbar-thumb:hover {
        background: var(--map-toyota-red);
    }

/* Focus Visible */
.theme-dark *:focus-visible {
    outline: 2px solid var(--map-toyota-red);
    outline-offset: 2px;
}

/* Enhanced Glow Effects */
.theme-dark .dashboard-card:hover {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5);
}

/* Print Styles for Dark Theme */
@media print {
    .theme-dark .dashboard-container {
        background: white !important;
        color: black !important;
    }

    .theme-dark .dashboard-header {
        background: white !important;
        border-bottom: 2px solid var(--map-toyota-red) !important;
    }

        .theme-dark .dashboard-header h1 {
            color: var(--map-toyota-red) !important;
        }

        .theme-dark .dashboard-header p {
            color: var(--map-toyota-grey-dark) !important;
        }

    .theme-dark .dashboard-card,
    .theme-dark .vehicle-card {
        background: white !important;
        border: 1px solid #e5e7eb !important;
        box-shadow: none !important;
    }

    .theme-dark .card-header {
        background: #f8f9fa !important;
        border-bottom: 2px solid var(--map-toyota-red) !important;
    }

        .theme-dark .card-header h2,
        .theme-dark .vehicle-name {
            color: black !important;
        }

    .theme-dark .performance-table th,
    .theme-dark .performance-table td {
        border-color: #e5e7eb !important;
        color: black !important;
    }

    .theme-dark .performance-table tbody tr:nth-child(even) {
        background: #f8f9fa !important;
    }

    .theme-dark .btn,
    .theme-dark .toolbar-section {
        display: none !important;
    }
}

/* Accessibility Enhancements */
@media (prefers-contrast: high) {
    .theme-dark {
        --map-border-color: rgba(255, 255, 255, 0.3);
        --map-text-primary: #ffffff;
        --map-text-secondary: rgba(255, 255, 255, 0.85);
    }

        .theme-dark .dashboard-card,
        .theme-dark .vehicle-card {
            border-width: 2px;
        }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    .theme-dark * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .theme-dark .spinner {
        animation: none;
        border-top-color: var(--map-toyota-red);
    }

    .theme-dark .stat-badge.warning {
        animation: none;
    }
}

/* Modal Styles - Dark Theme */
.theme-dark .modal-backdrop {
    background: rgba(0, 0, 0, 0.7);
}

.theme-dark .modal-content {
    background: var(--map-bg-card);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    border: 1px solid var(--map-border-color);
}

.theme-dark .modal-header {
    background: linear-gradient(135deg, var(--map-toyota-red) 0%, var(--map-toyota-red-dark) 100%);
    border-bottom: 1px solid var(--map-border-color);
}

.theme-dark .modal-body {
    background: transparent;
    color: var(--map-text-primary);
}

.theme-dark .modal-footer {
    background: rgba(0, 0, 0, 0.2);
    border-top: 1px solid var(--map-border-color);
}

/* Toast Notifications - Dark Theme */
.theme-dark .toast-notification.success {
    background: rgba(34, 197, 94, 0.15);
    border: 1px solid rgba(34, 197, 94, 0.3);
}

.theme-dark .toast-notification.error {
    background: rgba(239, 68, 68, 0.15);
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.theme-dark .toast-notification.warning {
    background: rgba(245, 158, 11, 0.15);
    border: 1px solid rgba(245, 158, 11, 0.3);
}

.theme-dark .toast-notification.info {
    background: rgba(59, 130, 246, 0.15);
    border: 1px solid rgba(59, 130, 246, 0.3);
}

.theme-dark .toast-notification.success .toast-icon {
    background: var(--map-success-color);
    color: white;
    box-shadow: 0 0 8px rgba(34, 197, 94, 0.5);
}

.theme-dark .toast-notification.error .toast-icon {
    background: var(--map-danger-color);
    color: white;
    box-shadow: 0 0 8px rgba(239, 68, 68, 0.5);
}

.theme-dark .toast-notification.warning .toast-icon {
    background: var(--map-warning-color);
    color: white;
    box-shadow: 0 0 8px rgba(245, 158, 11, 0.5);
}

.theme-dark .toast-notification.info .toast-icon {
    background: var(--map-info-color);
    color: white;
    box-shadow: 0 0 8px rgba(59, 130, 246, 0.5);
}

.theme-dark .toast-notification.success .toast-title,
.theme-dark .toast-notification.success .toast-text {
    color: var(--map-success-color);
}

.theme-dark .toast-notification.error .toast-title,
.theme-dark .toast-notification.error .toast-text {
    color: var(--map-danger-color);
}

.theme-dark .toast-notification.warning .toast-title,
.theme-dark .toast-notification.warning .toast-text {
    color: var(--map-warning-color);
}

.theme-dark .toast-notification.info .toast-title,
.theme-dark .toast-notification.info .toast-text {
    color: var(--map-info-color);
}

.theme-dark .toast-close:hover {
    background: rgba(255, 255, 255, 0.1);
}

/* Search Section - Dark Theme */
.theme-dark .search-header h4 {
    color: var(--map-text-primary);
}

.theme-dark .search-hint {
    color: var(--map-text-muted);
}

    .theme-dark .search-hint i {
        color: var(--map-info-color);
    }

.theme-dark .results-header h4 {
    color: var(--map-text-primary);
}

.theme-dark .search-table th i {
    color: var(--map-toyota-red);
}

/* Alert Styles - Dark Theme */
.theme-dark .alert.alert-info {
    background: rgba(59, 130, 246, 0.15);
    border: 1px solid rgba(59, 130, 246, 0.3);
    color: var(--map-info-color);
}

/* Bulk Add Styles - Dark Theme */
.theme-dark .bulk-add-header {
    background: rgba(255, 255, 255, 0.03);
    border-color: var(--map-border-color);
}

.theme-dark .bulk-add-info {
    color: var(--map-text-primary);
}

    .theme-dark .bulk-add-info i {
        color: var(--map-info-color);
    }

.theme-dark .variants-selection-container {
    border-color: var(--map-border-color);
    background: rgba(0, 0, 0, 0.2);
}

.theme-dark .variants-table tbody tr:hover {
    background: rgba(235, 10, 30, 0.08);
}

.theme-dark .variants-table tbody tr.selected {
    background: rgba(34, 197, 94, 0.15);
    border-left: 4px solid var(--map-success-color);
}

.theme-dark .variants-table input[type="checkbox"] {
    accent-color: var(--map-success-color);
}

.theme-dark .selection-summary {
    background: rgba(34, 197, 94, 0.15);
    color: var(--map-success-color);
    border-color: rgba(34, 197, 94, 0.3);
}

/* Confirmation Modal - Dark Theme */
.theme-dark .confirmation-details {
    background: rgba(255, 255, 255, 0.03);
    border-color: var(--map-border-color);
}

    .theme-dark .confirmation-details .vehicle-details strong {
        color: var(--map-text-primary);
    }