        :root {
            --background: #111827;
            --surface: #1f2937;
            --primary: #3b82f6;
            --secondary: #9ca3af;
            --text-primary: #f9fafb;
            --text-secondary: #d1d5db;
        }
        body {
            background-color: var(--background);
            color: var(--text-primary);
            font-family: 'Inter', sans-serif;
        }
        .card {
            background-color: var(--surface);
            border: 1px solid #374151;
            border-radius: 0.75rem;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
        }
        .btn-primary {
            background-color: var(--primary);
            transition: background-color 0.3s;
        }
        .btn-primary:hover {
            background-color: #2563eb;
        }
        .input-field {
            background-color: #374151;
            border: 1px solid #4b5563;
            color: var(--text-primary);
            border-radius: 0.5rem;
        }
        .input-field:focus {
            outline: none;
            border-color: var(--primary);
            box-shadow: 0 0 0 2px var(--primary);
        }
        .modal-backdrop {
            background-color: rgba(0, 0, 0, 0.7);
        }
        .modal-content {
            background-color: var(--surface);
            max-height: 90vh;
        }
        .search-image-preview {
            width: 150px;
            height: 150px;
            object-fit: cover;
            border-radius: 0.5rem;
            border: 2px dashed #4b5563;
        }
        .warning-banner {
            background: #1e293b;
            border-left: 4px solid #f59e0b;
            padding: 0.75rem 1rem;
            border-radius: 6px;
            color: #fcd34d;
        }
        /* Custom scrollbar */
        ::-webkit-scrollbar {
            width: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #1f2937;
        }
        ::-webkit-scrollbar-thumb {
            background: #4b5563;
            border-radius: 4px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: #6b7280;
        }
        .glass-effect {
            backdrop-filter: blur(10px);
            background: rgba(255, 255, 255, 0.1);
        }
        .gradient-bg {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        }
        .hover-lift {
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }
        .hover-lift:hover {
            transform: translateY(-2px);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
        }
        .object-card {
            transition: all 0.3s ease;
        }
        .object-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
        }
        .compact-buttons {
            padding: 0.25rem 0.5rem;
            font-size: 0.75rem;
            margin: 0 0.125rem;
        }
        /* Image Viewer Styles */
        .image-viewer-container {
            max-height: 80vh;
            overflow-y: auto;
        }
        
        .viewer-image {
            max-width: 100%;
            max-height: 70vh;
            object-fit: contain;
        }
        
        /* Compact buttons style */
        .compact-buttons {
            padding: 0.25rem 0.75rem;
            font-size: 0.75rem;
            border-radius: 0.375rem;
            transition: all 0.2s ease;
        }
        
        .compact-buttons:hover {
            transform: translateY(-1px);
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
        }
        
        /* Line clamp utility */
        .line-clamp-2 {
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }