.App.light-mode{background-color:#fff;color:#000}.App.dark-mode{background-color:#121212;color:#fff}body{font-family:Tahoma,Verdana,sans-serif;margin:0;max-height:auto;padding:0 1.5rem}.table-container{height:85vh;width:100%}.chatbot-button{background-color:#ff0;border:.5px solid #d3c905;box-shadow:5px 5px 10px #a9a9a9;color:#2a2929;cursor:pointer}.chatbot-messages{word-wrap:break-word;display:flex;flex-direction:column;font-family:inherit;gap:1.5em;line-height:1.8;white-space:pre-wrap}.message{word-wrap:break-word;border-radius:10px;margin:.5em 0;max-width:75%;padding:.75em 1em}.message.user{align-self:flex-end;background-color:#d1ecf1;color:#0c5460;margin-left:auto;text-align:right}.message.assistant{align-self:flex-start;background-color:#f8f9fa;color:#343a40;display:flex;flex-direction:column;margin-right:auto;row-gap:1em;text-align:left}.read-aloud-button{border:none;border-radius:1em;padding:.5em;width:40%}.chatbot-input{display:flex;justify-content:center;width:100%}.chatbot-input-field{min-width:80%;padding:.2em 1em}.chatbot-container{align-items:center;display:flex;flex-direction:column;row-gap:1em}.chatbot-close-button{margin-top:.5em;text-align:right;width:100%}.close-chatbot-button{background-color:#f2d9d9;border:none;border-radius:.5em;height:2em;width:20%}.chatbot-messages{width:100%}.read-aloud-button#start{background-color:#d9f2d9}.read-aloud-button#stop{background-color:#f2d9d9}.upload-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0 auto;max-width:1400px;padding:20px}.upload-container h1{color:#333;font-size:2rem;margin-bottom:30px;text-align:center}.search-section{background:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:20px}.search-section h2{color:#333;font-size:1.5rem;margin-bottom:15px;margin-top:0}.search-form{display:flex;flex-direction:column;gap:15px}.search-type-selector{display:flex;flex-wrap:wrap;gap:20px}.search-type-selector label{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:8px}.search-type-selector input[type=radio]{cursor:pointer;height:18px;width:18px}.search-input-group{display:flex;gap:10px}.search-input{border:2px solid #ddd;border-radius:6px;flex:1 1;font-size:16px;padding:12px 15px;transition:border-color .3s}.search-input:focus{border-color:green;outline:none}.search-input:disabled{background-color:#e9ecef;cursor:not-allowed}.search-button{background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:background-color .3s}.search-button:hover:not(:disabled){background-color:#218838}.search-button:disabled{background-color:#6c757d;cursor:not-allowed}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;margin-bottom:20px;padding:15px}.vehicle-info-section{background:#e7f5ff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:20px}.vehicle-info-section h2{color:#0056b3;font-size:1.5rem;margin-bottom:15px;margin-top:0}.vehicle-details{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.vehicle-details p{font-size:15px;margin:5px 0}.vehicle-details strong{color:#333}.photo-upload-section{margin-top:30px}.photo-upload-section>h2{color:#333;font-size:1.8rem;margin-bottom:30px;text-align:center}.photo-category{margin-bottom:40px}.photo-category h3{border-bottom:2px solid #dee2e6;color:#495057;font-size:1.4rem;margin-bottom:20px;padding-bottom:10px}.photo-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:20px}.photo-slot{background:#fff;border:2px solid #dee2e6;border-radius:8px;overflow:hidden;transition:all .3s}.photo-slot:hover{box-shadow:0 4px 8px #00000026}.photo-slot.filled{border-color:#28a745}.photo-slot-header{background:#f8f9fa;border-bottom:1px solid #dee2e6;padding:12px}.photo-slot-header h4{color:#333;font-size:16px;margin:0 0 5px}.photo-description{color:#6c757d;font-size:13px;margin:0}.photo-slot-body{min-height:200px;padding:0}.photo-slot-body,.photo-upload-placeholder{align-items:center;display:flex;justify-content:center}.photo-upload-placeholder{border:2px dashed #0000;height:200px;transition:all .3s;width:100%}.photo-upload-placeholder.drag-over{background-color:#e7f3ff;border-color:green}.upload-label{align-items:center;cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:center;padding:20px;pointer-events:none;text-align:center;transition:background-color .3s;width:100%}.upload-label>*{pointer-events:auto}.upload-label:hover{background-color:#f8f9fa}.file-input{display:none}.upload-icon{color:green;font-size:48px;margin-bottom:10px}.upload-text{color:green;display:block;font-size:14px;font-weight:600;margin-bottom:5px}.drag-text{color:#6c757d;font-size:12px;font-style:italic}.photo-preview{align-items:center;background:#000;display:flex;height:200px;justify-content:center;position:relative;width:100%}.photo-preview img{max-height:100%;max-width:100%;object-fit:contain}.remove-photo-btn{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 12px;position:absolute;right:10px;top:10px;transition:background-color .3s;z-index:10}.remove-photo-btn:hover{background-color:#c82333}.photo-preview.existing{background:#f8f9fa;border:2px dashed #0000;transition:all .3s}.photo-preview.existing.drag-over{background-color:#fff3cd;border-color:#ffc107}.existing-photo-overlay{left:10px;position:absolute;top:10px;z-index:5}.existing-badge{background-color:#17a2b8;border-radius:4px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.existing-photo-actions{background:#000000b3;bottom:0;display:flex;gap:0;left:0;position:absolute;right:0;z-index:10}.delete-photo-btn,.update-photo-btn{border:none;color:#fff;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:10px 15px;transition:all .3s}.update-photo-btn{align-items:center;background-color:#28a745;display:flex;justify-content:center;position:relative}.update-photo-btn:hover:not([disabled]){background-color:#218838}.update-photo-btn .file-input{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.update-photo-btn[disabled]{cursor:not-allowed;opacity:.6}.delete-photo-btn{background-color:#dc3545}.delete-photo-btn:hover:not(:disabled){background-color:#c82333}.delete-photo-btn:disabled,.update-photo-btn:disabled{cursor:not-allowed;opacity:.6}.upload-actions{background:#f8f9fa;border-radius:8px;margin-top:40px;padding:20px;text-align:center}.upload-all-button{background-color:green;border:none;border-radius:6px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:15px 40px;transition:background-color .3s}.upload-all-button:hover:not(:disabled){background-color:#0056b3}.upload-all-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.title-direction{align-items:center;display:flex;gap:10px}.direction-icon{color:green;font-size:28px}.bulk-upload-trigger{margin-bottom:20px;text-align:right}.bulk-upload-button{background-color:#28a745;border:none;border-radius:6px;box-shadow:0 2px 4px #00000026;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:10px 24px;transition:background-color .3s}.bulk-upload-button:hover{background-color:#218838}.bulk-drop-zone{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;cursor:pointer;margin-bottom:20px;padding:40px 20px;position:relative;text-align:center;transition:all .3s}.bulk-drop-zone.drag-over{background-color:#e7f5e8;border-color:#28a745}.bulk-drop-zone input[type=file]{bottom:0;cursor:pointer;height:100%;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.bulk-drop-icon{color:#28a745;font-size:48px;line-height:1;margin:0 0 5px}.bulk-drop-zone p{color:#495057;font-size:15px;margin:5px 0}.bulk-drop-hint{color:#6c757d!important;font-size:13px!important;font-style:italic}.bulk-file-list{border:1px solid #dee2e6;border-radius:8px;margin-bottom:15px;max-height:400px;overflow-y:auto}.bulk-file-list-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;color:#495057;display:flex;font-size:14px;font-weight:600;justify-content:space-between;padding:10px 15px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.bulk-file-list-header button{background:none;border:none;color:#dc3545;cursor:pointer;font-size:13px;font-weight:600}.bulk-file-list-header button:hover{text-decoration:underline}.bulk-file-row{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:12px;padding:10px 15px;transition:background-color .2s}.bulk-file-row:last-child{border-bottom:none}.bulk-file-row:hover{background-color:#f8f9fa}.bulk-file-row.invalid{background-color:#fff5f5;opacity:.7}.bulk-thumbnail{object-fit:cover}.bulk-thumbnail,.bulk-thumbnail-placeholder{border:1px solid #dee2e6;border-radius:4px;flex-shrink:0;height:45px;width:60px}.bulk-thumbnail-placeholder{background:#e9ecef}.bulk-thumbnail-clickable{cursor:zoom-in;transition:opacity .15s}.bulk-thumbnail-clickable:hover{opacity:.8}.bulk-lightbox-overlay{align-items:center;background:#000c;cursor:zoom-out;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.bulk-lightbox-img{border-radius:6px;box-shadow:0 8px 40px #00000080;cursor:default;max-height:85vh;max-width:90vw;object-fit:contain}.bulk-filename{color:#333;flex:0 0 140px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-select-wrapper{flex:1 1;min-width:200px}.bulk-remove-btn{align-items:center;background:none;border:1px solid #dc3545;border-radius:4px;color:#dc3545;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;font-weight:600;height:28px;justify-content:center;line-height:1;transition:all .2s;width:28px}.bulk-remove-btn:hover{background-color:#dc3545;color:#fff}.bulk-error{color:#dc3545;flex:1 1;font-size:12px}.bulk-summary{color:#495057;font-size:14px;font-weight:500;padding:10px;text-align:center}@media (max-width:768px){.upload-container{padding:10px}.photo-grid{grid-template-columns:1fr}.search-input-group{flex-direction:column}.search-button{width:100%}.vehicle-details{grid-template-columns:1fr}.bulk-file-row{flex-wrap:wrap}.bulk-filename{flex-basis:calc(100% - 100px);flex-grow:1;flex-shrink:0}.bulk-select-wrapper{flex:1 0 100%}}.photo-dashboard{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;overflow:hidden}.photo-dashboard-header{border-bottom:1px solid #dee2e6;padding:15px 20px}.photo-dashboard-header h2{color:#333;font-size:1.3rem;margin:0}.photo-dashboard-stats{background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;gap:15px;padding:15px 20px}.photo-dashboard-stat{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;flex-direction:column;min-width:100px;padding:10px 20px}.photo-dashboard-stat-number{color:#333;font-size:1.5rem;font-weight:700}.photo-dashboard-stat-label{color:#6c757d;font-size:12px;margin-top:2px}.photo-dashboard-stat-good .photo-dashboard-stat-number{color:#28a745}.photo-dashboard-stat-none .photo-dashboard-stat-number{color:#dc3545}.photo-dashboard-empty{color:#6c757d;font-size:15px;padding:40px 20px;text-align:center}.photo-dashboard-table-wrapper{max-height:500px;overflow-x:auto;overflow-y:auto}.photo-dashboard-table{border-collapse:collapse;width:100%}.photo-dashboard-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:1}.photo-dashboard-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;cursor:pointer;font-size:13px;font-weight:600;padding:10px 15px;text-align:left;-webkit-user-select:none;user-select:none;white-space:nowrap}.photo-dashboard-table th:hover{background:#e9ecef}.photo-dashboard-table td{border-bottom:1px solid #f0f0f0;color:#333;font-size:14px;padding:10px 15px}.photo-dashboard-table tbody tr{cursor:pointer;transition:background-color .15s}.photo-dashboard-table tbody tr:hover{background-color:#e7f5e8}.photo-dashboard-table tbody tr:nth-child(2n){background-color:#fafafa}.photo-dashboard-table tbody tr:nth-child(2n):hover{background-color:#e7f5e8}.photo-dashboard-stock{color:#0056b3;font-weight:600}.photo-dashboard-photo-cell{display:flex;flex-direction:column;gap:4px}.photo-dashboard-photo-cell span{font-size:13px;font-weight:500}.photo-dashboard-progress{background:#e9ecef;border-radius:3px;height:6px;overflow:hidden;width:100%}.photo-dashboard-progress-fill{background:#28a745;border-radius:3px;height:100%;transition:width .3s}.photo-dashboard-no-photos{color:#adb5bd;font-size:13px;font-style:italic}.photo-dashboard-status-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.photo-dashboard-status-good{background-color:#28a745}.photo-dashboard-status-partial{background-color:#ffc107}.photo-dashboard-status-none{background-color:#dc3545}.photo-dashboard-pagination{align-items:center;border-top:1px solid #dee2e6;color:#495057;display:flex;font-size:14px;gap:15px;justify-content:center;padding:12px 20px}.photo-dashboard-pagination button{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 16px;transition:background-color .2s}.photo-dashboard-pagination button:hover:not(:disabled){background-color:#218838}.photo-dashboard-pagination button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.vehicle-info-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.vehicle-info-header h2{color:#0056b3;font-size:1.5rem;margin:0}.clear-vehicle-btn{background:#0000;border:2px solid #28a745;border-radius:6px;color:#28a745;cursor:pointer;font-size:14px;font-weight:600;padding:8px 18px;transition:all .2s}.clear-vehicle-btn:hover{background:#28a745;color:#fff}@media (max-width:768px){.photo-dashboard-stats{flex-direction:column}.photo-dashboard-col-date{display:none}.photo-dashboard-table td,.photo-dashboard-table th{font-size:13px;padding:8px 10px}}
/*# sourceMappingURL=main.e340420a.css.map*/