.camera-options[data-v-9d0a33d9]{position:relative}.options-toggle[data-v-9d0a33d9]{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--tertiary-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:12px;transition:background .2s ease,border-color .2s ease}.options-toggle[data-v-9d0a33d9]:hover{background:var(--hover-bg);border-color:var(--border-color)}.toggle-icon[data-v-9d0a33d9]{transition:transform .2s ease}.toggle-icon.rotated[data-v-9d0a33d9]{transform:rotate(180deg)}.options-panel[data-v-9d0a33d9]{position:absolute;top:100%;right:0;z-index:100;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;padding:16px;min-width:220px;box-shadow:0 8px 16px var(--shadow);margin-top:4px}.option-group[data-v-9d0a33d9]{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.option-group[data-v-9d0a33d9]:last-of-type{margin-bottom:16px}.option-label[data-v-9d0a33d9]{color:var(--text-secondary);font-size:12px;font-weight:500}.option-select[data-v-9d0a33d9]{padding:6px 8px;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--input-border);border-radius:4px;font-size:12px;cursor:pointer}.option-select[data-v-9d0a33d9]:focus{outline:none;border-color:var(--accent-color)}.option-actions[data-v-9d0a33d9]{display:flex;gap:8px;justify-content:flex-end}.cancel-button[data-v-9d0a33d9],.reset-button[data-v-9d0a33d9],.apply-button[data-v-9d0a33d9]{padding:6px 12px;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s ease}.cancel-button[data-v-9d0a33d9]{background:var(--error-color);color:#fff}.cancel-button[data-v-9d0a33d9]:hover{background:#dc2626}.reset-button[data-v-9d0a33d9]{background:var(--text-muted);color:#fff}.reset-button[data-v-9d0a33d9]:hover{background:var(--text-secondary)}.apply-button[data-v-9d0a33d9]{background:var(--accent-color);color:#fff}.apply-button[data-v-9d0a33d9]:hover{background:var(--accent-hover)}.camera-stream[data-v-9abb686b]{background:var(--secondary-bg);border-radius:8px;overflow:hidden;box-shadow:0 4px 6px var(--shadow);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.camera-stream[data-v-9abb686b]:hover{transform:translateY(-2px);box-shadow:0 8px 15px var(--shadow)}.camera-header[data-v-9abb686b]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--tertiary-bg);border-bottom:1px solid var(--border-light)}.camera-info[data-v-9abb686b]{display:flex;flex-direction:column;gap:4px}.camera-title[data-v-9abb686b]{margin:0;color:var(--text-primary);font-size:14px;font-weight:600}.stream-params[data-v-9abb686b]{display:flex;gap:6px;flex-wrap:wrap}.param-tag[data-v-9abb686b]{background:var(--input-bg);color:var(--text-secondary);padding:2px 6px;border-radius:8px;font-size:10px;font-weight:500}.camera-controls[data-v-9abb686b]{display:flex;align-items:center;gap:12px}.camera-status span[data-v-9abb686b]{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.status-online[data-v-9abb686b]{background:var(--success-color);color:#fff}.status-ready[data-v-9abb686b]{background:var(--warning-color);color:#fff}.status-offline[data-v-9abb686b]{background:var(--error-color);color:#fff}.status-loading[data-v-9abb686b]{background:var(--warning-color);color:#fff}.stream-container[data-v-9abb686b]{position:relative;aspect-ratio:16/9;background:#000;display:flex;align-items:center;justify-content:center;cursor:pointer}.snapshot-container[data-v-9abb686b]{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.snapshot-image[data-v-9abb686b]{width:100%;height:100%;object-fit:contain;display:block}.stream-view[data-v-9abb686b]{position:relative;width:100%;height:100%}.snapshot-background[data-v-9abb686b]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;z-index:1}.play-overlay[data-v-9abb686b]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0003;transition:all .3s ease}.play-overlay[data-v-9abb686b]:hover{background:#0006}.large-play-button[data-v-9abb686b]{width:80px;height:80px;background:transparent;border:2px solid rgba(255,255,255,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.large-play-button[data-v-9abb686b]:hover{border-color:#ffffffb3;background:#ffffff1a;transform:scale(1.1)}.large-play-icon[data-v-9abb686b]{font-size:32px;color:#fff6;margin-left:4px}.no-snapshot-message[data-v-9abb686b]{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);text-align:center;height:100%}.camera-icon[data-v-9abb686b]{font-size:3rem;margin-bottom:12px;opacity:.6}.stream-canvas[data-v-9abb686b]{position:relative;width:100%;height:100%;object-fit:contain;display:block;background:transparent;z-index:2}.error-message[data-v-9abb686b],.loading-message[data-v-9abb686b]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);text-align:center;padding:20px;background:#000000b3;z-index:10}.error-icon[data-v-9abb686b]{font-size:2rem;margin-bottom:8px}.loading-spinner[data-v-9abb686b]{width:32px;height:32px;border:3px solid var(--loading-bg);border-top:3px solid var(--accent-color);border-radius:50%;animation:spin-9abb686b 1s linear infinite;margin-bottom:12px}@keyframes spin-9abb686b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.retry-button[data-v-9abb686b]{margin-top:12px;padding:8px 16px;background:var(--accent-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background .2s ease}.retry-button[data-v-9abb686b]:hover{background:var(--accent-hover)}.loading p[data-v-9abb686b],.error p[data-v-9abb686b]{margin:0;font-size:14px}.camera-grid[data-v-b029b7c1]{padding:20px;background:var(--primary-bg);min-height:calc(100vh - 80px)}.grid-container[data-v-b029b7c1]{display:grid;gap:16px}.grid-1[data-v-b029b7c1]{grid-template-columns:1fr;max-width:800px;margin:0 auto}.grid-2[data-v-b029b7c1],.grid-4[data-v-b029b7c1]{grid-template-columns:repeat(2,1fr)}.grid-6[data-v-b029b7c1]{grid-template-columns:repeat(3,1fr)}.grid-many[data-v-b029b7c1]{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}@media (max-width: 1280px){.grid-6[data-v-b029b7c1]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 960px){.grid-4[data-v-b029b7c1],.grid-6[data-v-b029b7c1],.grid-many[data-v-b029b7c1]{grid-template-columns:1fr}}@media (max-width: 768px){.camera-grid[data-v-b029b7c1]{padding:12px}.grid-2[data-v-b029b7c1],.grid-4[data-v-b029b7c1],.grid-6[data-v-b029b7c1],.grid-many[data-v-b029b7c1]{grid-template-columns:1fr}.grid-controls[data-v-b029b7c1]{justify-content:center}}@media (max-width: 1024px){.grid-6[data-v-b029b7c1],.grid-many[data-v-b029b7c1]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid-1[data-v-b029b7c1],.grid-2[data-v-b029b7c1],.grid-4[data-v-b029b7c1],.grid-6[data-v-b029b7c1],.grid-many[data-v-b029b7c1]{grid-template-columns:1fr}}.no-cameras[data-v-b029b7c1]{text-align:center;padding:60px 20px;color:var(--text-secondary)}.no-cameras p[data-v-b029b7c1]{margin:0;font-size:18px}.modal-overlay[data-v-f8cfc778]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-f8cfc778]{background:var(--secondary-bg);border-radius:8px;max-width:1000px;max-height:90vh;overflow-y:auto;margin:20px}.modal-header[data-v-f8cfc778]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color)}.header-right-group[data-v-f8cfc778]{display:flex;align-items:center;gap:24px}.modal-header h3[data-v-f8cfc778]{margin:0;color:var(--text-primary);font-size:20px}.modal-meta[data-v-f8cfc778]{display:flex;flex-wrap:wrap;gap:16px}.meta-item[data-v-f8cfc778]{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:13px}.meta-icon[data-v-f8cfc778]{width:16px;height:16px;flex-shrink:0}.section-title[data-v-f8cfc778]{margin:16px 0 12px;color:var(--text-primary);font-size:16px;font-weight:600}.close-button[data-v-f8cfc778]{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-button[data-v-f8cfc778]:hover{color:var(--text-primary)}.modal-body[data-v-f8cfc778]{padding:20px}.modal-body-content[data-v-f8cfc778]{display:flex;gap:20px;align-items:flex-start}.video-section[data-v-f8cfc778]{flex:1;min-width:0}.event-details[data-v-f8cfc778]{flex:0 0 300px}.video-loading[data-v-f8cfc778]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner[data-v-f8cfc778]{width:40px;height:40px;border:4px solid var(--loading-bg);border-top:4px solid var(--accent-color);border-radius:50%;animation:spin-f8cfc778 1s linear infinite;margin-bottom:16px}@keyframes spin-f8cfc778{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-video[data-v-f8cfc778]{width:100%;max-height:400px;border-radius:6px;background:#000}.thumbnail-fallback[data-v-f8cfc778]{text-align:center}.modal-image[data-v-f8cfc778]{width:100%;max-height:300px;object-fit:contain;border-radius:4px;margin-bottom:12px}.no-video-text[data-v-f8cfc778]{color:var(--text-secondary);font-style:italic;margin:0}.detail-row[data-v-f8cfc778]{margin:8px 0;color:var(--text-primary)}.license-section[data-v-f8cfc778]{background:var(--secondary-bg);padding:16px;border-radius:8px;margin-top:16px;border:1px solid var(--border-color)}.license-title[data-v-f8cfc778]{margin:0 0 12px;color:var(--text-primary);font-size:16px;font-weight:600}.plate-image-container[data-v-f8cfc778]{margin-bottom:12px}.plate-image[data-v-f8cfc778]{width:100%;max-width:300px;height:auto;border-radius:6px;border:2px solid var(--border-color);background:#000}.plate-details[data-v-f8cfc778]{margin-top:12px}.plate-text[data-v-f8cfc778]{font-family:Courier New,monospace;font-weight:700;font-size:18px;color:var(--accent-color);background:var(--tertiary-bg);padding:4px 8px;border-radius:4px;margin-left:8px}.speeding-section[data-v-f8cfc778]{background:var(--secondary-bg);padding:16px;border-radius:8px;margin-top:16px;border:1px solid var(--border-color)}.speeding-title[data-v-f8cfc778]{margin:0 0 12px;color:var(--text-primary);font-size:16px;font-weight:600}.speeding-details[data-v-f8cfc778]{margin-top:12px}.speed-text[data-v-f8cfc778]{font-family:Courier New,monospace;font-weight:700;font-size:18px;color:#f57c00;background:var(--tertiary-bg);padding:4px 8px;border-radius:4px;margin-left:8px}.speed-limit-info[data-v-f8cfc778]{font-family:inherit;font-weight:400;font-size:14px;color:#d32f2f;margin-left:8px}.no-plate-text[data-v-f8cfc778]{font-style:italic;color:var(--text-muted);margin-left:8px}.modal-actions[data-v-f8cfc778]{display:flex;justify-content:center;gap:12px;margin-top:16px}.download-button[data-v-f8cfc778]{padding:10px 20px;background:var(--accent-color);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s ease}.download-button[data-v-f8cfc778]:hover:not(:disabled){background:var(--accent-hover)}.download-button[data-v-f8cfc778]:disabled{opacity:.6;cursor:not-allowed}.ai-icon[data-v-f8cfc778]{font-size:14px;color:var(--accent-color)}.ai-chip[data-v-f8cfc778]{background-color:#1976d21a;color:var(--accent-color);padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500;border:1px solid rgba(25,118,210,.2)}.ai-chip.large[data-v-f8cfc778]{font-size:12px;padding:4px 8px}.ai-analysis-section[data-v-f8cfc778]{background:var(--secondary-bg);border-radius:8px;border:1px solid var(--border-color);padding:16px}.ai-agent-block[data-v-f8cfc778]{margin-bottom:16px}.ai-agent-block[data-v-f8cfc778]:last-child{margin-bottom:0}.ai-separator[data-v-f8cfc778]{height:1px;background:var(--border-color);margin:16px 0}.ai-agent-title[data-v-f8cfc778]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;margin:0 0 12px;color:var(--text-primary);text-transform:capitalize}.ai-content[data-v-f8cfc778]{display:flex;flex-direction:column;gap:2px}.ai-no-detections[data-v-f8cfc778]{font-style:italic;color:var(--text-secondary);font-size:13px}.ai-field-group[data-v-f8cfc778]{display:flex;flex-direction:column;gap:4px}.ai-field-label[data-v-f8cfc778]{font-size:12px;color:var(--text-secondary);text-transform:capitalize;font-weight:500}.ai-chips-wrapper[data-v-f8cfc778]{display:flex;flex-wrap:wrap;gap:6px}.ai-description-text[data-v-f8cfc778]{font-size:14px;color:var(--text-primary);margin:0;line-height:1.4}.ai-timeline[data-v-f8cfc778]{display:flex;flex-direction:column;gap:6px}.ai-timeline-item[data-v-f8cfc778]{font-size:12px;background:var(--tertiary-bg);padding:6px 8px;border-radius:4px;border:1px solid var(--border-color);color:var(--text-primary)}.ai-time[data-v-f8cfc778]{font-weight:600;color:var(--accent-color);margin-right:4px}.ai-stats-grid[data-v-f8cfc778]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.ai-stat-item[data-v-f8cfc778]{font-size:12px;display:flex;justify-content:space-between;background:var(--tertiary-bg);padding:4px 8px;border-radius:4px}.ai-stat-label[data-v-f8cfc778]{color:var(--text-secondary);text-transform:capitalize}.ai-stat-value[data-v-f8cfc778]{font-weight:500;color:var(--text-primary)}@media (max-width: 768px){.modal-content[data-v-f8cfc778]{margin:10px;max-height:95vh}.modal-body-content[data-v-f8cfc778]{flex-direction:column}.event-details[data-v-f8cfc778]{flex:none;width:100%}.modal-header[data-v-f8cfc778],.modal-body[data-v-f8cfc778]{padding:16px}}.event-card.archived[data-v-db0f244d],.event-list-item.archived[data-v-db0f244d]{opacity:.6;background:#9e9e9e1a;border-color:#9e9e9e}.event-card.archived .event-info[data-v-db0f244d],.event-list-item.archived .event-details-column[data-v-db0f244d],.event-list-item.archived .event-type-column[data-v-db0f244d],.event-list-item.archived .event-camera-column[data-v-db0f244d],.event-list-item.archived .event-time-column[data-v-db0f244d]{opacity:.8}.event-card.archived .event-type[data-v-db0f244d],.event-list-item.archived .event-type-badge[data-v-db0f244d]{text-decoration:line-through;color:#757575}.custom-select-wrapper[data-v-db0f244d]{position:relative;width:100%}.custom-select-trigger[data-v-db0f244d]{width:100%;padding:8px 12px;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--input-border);border-radius:6px;font-size:14px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.custom-select-trigger[data-v-db0f244d]:focus{outline:none;border-color:var(--accent-color)}.custom-select-arrow[data-v-db0f244d]{transition:transform .2s ease}.custom-select-arrow.rotated[data-v-db0f244d]{transform:rotate(180deg)}.custom-select-panel[data-v-db0f244d]{position:absolute;top:105%;left:0;width:100%;max-height:200px;overflow-y:auto;background:var(--secondary-bg);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:1001}.custom-select-panel ul[data-v-db0f244d]{list-style:none;padding:4px;margin:0}.custom-select-panel li label[data-v-db0f244d]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;border-radius:4px;font-size:14px}.custom-select-panel li label[data-v-db0f244d]:hover{background:var(--hover-bg)}.export-cancel-group[data-v-db0f244d]{display:flex;align-items:center;gap:2px;border:1px solid #d1d5db;border-radius:8px;padding:2px 6px;background:transparent}.export-btn[data-v-db0f244d]{display:flex;align-items:center;gap:4px;background:transparent;color:var(--accent-color, #1976d2);border:none;border-radius:6px;padding:0 8px;font-size:13px;font-weight:500;cursor:pointer;height:28px;transition:background .15s,color .15s}.export-btn[data-v-db0f244d]:hover:not(:disabled){background:var(--hover-bg, #f3f4f6);color:var(--accent-hover, #1565c0)}.export-btn[data-v-db0f244d]:disabled{color:var(--text-muted, #bdbdbd);cursor:not-allowed}.export-btn .spinner[data-v-db0f244d]{width:14px;height:14px;border:2px solid rgba(25,118,210,.2);border-top-color:#1976d2;border-radius:50%;animation:spin-db0f244d 1s linear infinite}.export-icon[data-v-db0f244d]{font-size:15px;margin-right:2px}.export-text[data-v-db0f244d]{font-size:12px;font-weight:500}.hide-btn[data-v-db0f244d]{display:flex;align-items:center;gap:6px;background:transparent;color:var(--text-primary);border:none;padding:0 8px;font-size:13px;cursor:pointer;height:28px}.hide-btn[data-v-db0f244d]:hover:not(:disabled){background:var(--hover-bg, #f3f4f6)}.hide-icon svg[data-v-db0f244d],.per-event-hide-icon svg[data-v-db0f244d]{display:inline-block;vertical-align:middle;color:var(--text-secondary)}.per-event-hide[data-v-db0f244d],.per-event-hide-card[data-v-db0f244d]{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border-color);border-radius:4px;padding:4px 8px;color:var(--text-secondary);cursor:pointer;font-size:12px;transition:border-color .2s ease,background-color .2s ease}.per-event-hide[data-v-db0f244d]:hover,.per-event-hide-card[data-v-db0f244d]:hover{border-color:var(--accent-color);background:var(--tertiary-bg)}.per-event-hide[data-v-db0f244d]:focus,.per-event-hide-card[data-v-db0f244d]:focus,.hide-btn[data-v-db0f244d]:focus{outline:2px solid var(--accent-color);outline-offset:2px;border-radius:6px}.per-event-hide-text[data-v-db0f244d]{display:inline-block}.per-event-hide-card[data-v-db0f244d]{font-size:13px}.clear-btn[data-v-db0f244d]{display:flex;align-items:center;justify-content:center;background:transparent;color:#ef4444;border:none;border-radius:6px;padding:0 8px;font-size:16px;height:28px;cursor:pointer;transition:background .15s,color .15s}.clear-btn[data-v-db0f244d]:hover{background:#f87171;color:#fff}.clear-icon[data-v-db0f244d]{font-size:16px;line-height:1}.event-card.selected[data-v-db0f244d]{box-shadow:0 0 0 2px var(--accent-color);border-color:var(--accent-color)}.event-list-item.selected[data-v-db0f244d]{background-color:var(--hover-bg)}.event-card-checkbox[data-v-db0f244d]{position:absolute;top:12px;left:12px;z-index:10;transform:scale(1.3);cursor:pointer}.event-select-column[data-v-db0f244d],.header-select[data-v-db0f244d]{display:flex;align-items:center;justify-content:center}.events-list[data-v-db0f244d]{padding:20px;background:var(--primary-bg);min-height:100vh;color:var(--text-primary)}.filters-toggle[data-v-db0f244d]{display:flex;align-items:center;gap:8px;padding:16px 20px;cursor:pointer;background:var(--secondary-bg);border-radius:8px 8px 0 0;border:1px solid var(--border-color);border-bottom:none;color:var(--text-primary);font-size:14px;font-weight:500;transition:background .2s ease;margin-bottom:0}.filters-toggle[data-v-db0f244d]:not(.expanded){border-radius:8px;border-bottom:1px solid var(--border-color);margin-bottom:24px}.filters-toggle[data-v-db0f244d]:hover{background:var(--hover-bg)}.toggle-arrow[data-v-db0f244d]{transition:transform .3s ease;font-size:12px}.toggle-arrow.rotated[data-v-db0f244d]{transform:rotate(180deg)}.toggle-text[data-v-db0f244d]{font-weight:500}.filters-content[data-v-db0f244d]{background:var(--secondary-bg);padding:20px;border:1px solid var(--border-color);border-top:none;border-radius:0 0 8px 8px;margin-bottom:24px}.filters-row[data-v-db0f244d]{display:flex;flex-wrap:wrap;gap:16px;align-items:end}.view-toggle-group[data-v-db0f244d]{margin-left:auto;min-width:auto}.filter-group[data-v-db0f244d]{display:flex;flex-direction:column;gap:6px;min-width:140px}.filter-group.view-toggle-group[data-v-db0f244d]{min-width:0;flex-direction:row;align-items:center;gap:16px}.archived-events-toggle[data-v-db0f244d]{margin-left:auto}.archived-events-toggle .toggle-label[data-v-db0f244d]{display:flex;align-items:center;gap:8px;margin:0;cursor:pointer}.toggle-text[data-v-db0f244d]{color:var(--text-secondary);font-size:11px;font-weight:500;line-height:1.2;text-align:center}.toggle-switch[data-v-db0f244d]{position:relative;width:36px;height:20px}.toggle-input[data-v-db0f244d]{opacity:0;width:0;height:0}.toggle-slider[data-v-db0f244d]{position:absolute;cursor:pointer;inset:0;background-color:var(--input-border);border-radius:10px;transition:.2s}.toggle-slider[data-v-db0f244d]:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:.2s}.toggle-input:checked+.toggle-slider[data-v-db0f244d]{background-color:#22c55e}.toggle-input:checked+.toggle-slider[data-v-db0f244d]:before{transform:translate(16px)}.filter-label[data-v-db0f244d]{color:var(--text-secondary);font-size:12px;font-weight:500}.filter-input[data-v-db0f244d],.filter-select[data-v-db0f244d]{padding:8px 12px;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--input-border);border-radius:6px;font-size:14px}.filter-input[data-v-db0f244d]:focus,.filter-select[data-v-db0f244d]:focus{outline:none;border-color:var(--accent-color)}.filter-checkbox[data-v-db0f244d]{margin-right:8px;accent-color:var(--accent-color)}.reset-button[data-v-db0f244d]{padding:6px 12px;background:transparent;color:var(--text-secondary, #666);border:none;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:4px;transition:background .2s,color .2s;height:fit-content}.reset-button[data-v-db0f244d]:hover{background:#0000000a;color:var(--accent-color, #007bff)}.reset-x-icon[data-v-db0f244d]{font-size:16px;margin-right:2px;line-height:1;display:inline-block}.reset-text[data-v-db0f244d]{display:inline-block}.reset-button[data-v-db0f244d]:hover{background:#1976d21a;color:var(--accent-color, #007bff)}@keyframes spin-db0f244d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container[data-v-db0f244d]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.loading-spinner[data-v-db0f244d]{width:40px;height:40px;border:4px solid var(--loading-bg);border-top:4px solid var(--accent-color);border-radius:50%;animation:spin-db0f244d 1s linear infinite;margin-bottom:16px}.no-events[data-v-db0f244d]{text-align:center;padding:60px 20px;color:var(--text-secondary)}.no-events-icon[data-v-db0f244d]{font-size:4rem;margin-bottom:16px}.no-events p[data-v-db0f244d]{margin:8px 0;font-size:18px}.no-events-subtitle[data-v-db0f244d]{font-size:14px!important;color:var(--text-muted)!important}.events-grid[data-v-db0f244d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:30px}.events-list-view[data-v-db0f244d]{display:flex;flex-direction:column;gap:2px;margin-bottom:30px;background:var(--secondary-bg);border-radius:8px;overflow:hidden;border:1px solid var(--border-color)}.list-header[data-v-db0f244d]{display:grid;grid-template-columns:40px 80px 120px 140px 120px 1fr;gap:12px;padding:12px 16px;background:var(--tertiary-bg);font-weight:600;color:var(--text-secondary);font-size:14px;border-bottom:2px solid var(--border-color)}.header-thumbnail[data-v-db0f244d],.header-type[data-v-db0f244d],.header-camera[data-v-db0f244d],.header-time[data-v-db0f244d],.header-details[data-v-db0f244d]{display:flex;align-items:center}.event-card[data-v-db0f244d]{background:var(--secondary-bg);border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border:1px solid var(--border-color);position:relative}.event-card[data-v-db0f244d]:hover{transform:translateY(-2px);box-shadow:0 8px 15px var(--shadow);border-color:var(--accent-color)}.event-list-item[data-v-db0f244d]{background:var(--secondary-bg);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;border-bottom:1px solid var(--border-color);display:grid;grid-template-columns:40px 80px 120px 140px 120px 1fr;gap:12px;padding:8px 16px;align-items:center}.event-list-item[data-v-db0f244d]:hover{background:var(--hover-bg);transform:none;box-shadow:none}.event-list-item[data-v-db0f244d]:last-child{border-bottom:none}.event-thumbnail[data-v-db0f244d]{width:100%;height:200px;overflow:hidden;background:var(--border-color);display:flex;align-items:center;justify-content:center}.event-list-thumbnail[data-v-db0f244d]{width:60px;height:35px;overflow:hidden;background:var(--border-color);display:flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0}.thumbnail-image[data-v-db0f244d],.list-thumbnail-image[data-v-db0f244d]{width:100%;height:100%;object-fit:cover}.event-type-column[data-v-db0f244d]{display:flex;align-items:center}.event-type-badge[data-v-db0f244d]{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.license-type[data-v-db0f244d]{background:var(--tertiary-bg);color:#1976d2}.speed-type[data-v-db0f244d]{background:var(--tertiary-bg);color:#f57c00}.motion-type[data-v-db0f244d]{background:#e8f5e8;color:#388e3c}.default-type[data-v-db0f244d]{background:var(--tertiary-bg);color:var(--text-secondary)}.event-camera-column[data-v-db0f244d]{display:flex;align-items:center}.camera-name[data-v-db0f244d]{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-time-column[data-v-db0f244d],.time-display[data-v-db0f244d]{display:flex;align-items:center}.date-time-text[data-v-db0f244d]{font-size:12px;color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-part[data-v-db0f244d]{font-size:12px;color:var(--text-primary);font-weight:500;white-space:nowrap}.time-part[data-v-db0f244d]{font-size:11px;color:var(--text-secondary);white-space:nowrap}.event-details-column[data-v-db0f244d]{display:flex;align-items:center}.event-details-column[data-v-db0f244d]{display:flex;align-items:center;gap:12px}.event-actions[data-v-db0f244d]{margin-left:auto;display:flex;align-items:center}.license-plate-detail[data-v-db0f244d]{display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden}.detail-label[data-v-db0f244d]{font-size:10px;color:var(--text-secondary);text-transform:uppercase;font-weight:500}.license-plate-text[data-v-db0f244d]{font-family:Courier New,monospace;font-weight:700;font-size:14px;color:var(--accent-color);background:var(--input-bg);padding:1px 4px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-details[data-v-db0f244d]{color:var(--text-muted);font-style:italic}.event-info[data-v-db0f244d]{padding:16px;flex:1}.card-actions[data-v-db0f244d]{margin-top:8px;display:flex;justify-content:flex-end;width:100%}.event-list-item .event-info[data-v-db0f244d]{padding:0;flex:1}.event-type[data-v-db0f244d]{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-primary)}.event-camera[data-v-db0f244d]{margin:0 0 4px;color:var(--text-secondary);font-size:14px}.event-time[data-v-db0f244d]{margin:0 0 8px;color:var(--text-muted);font-size:12px}.license-plate[data-v-db0f244d]{background-color:#e3f2fd;color:#1976d2;padding:2px 6px;border-radius:4px;font-size:.85em;font-weight:500}.plate-thumbnail-container[data-v-db0f244d]{position:relative;width:100%;height:120px;overflow:hidden}.plate-thumbnail[data-v-db0f244d],.thumbnail-hover[data-v-db0f244d]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.plate-thumbnail[data-v-db0f244d]{opacity:1}.thumbnail-hover[data-v-db0f244d],.plate-thumbnail-container:hover .plate-thumbnail[data-v-db0f244d]{opacity:0}.plate-thumbnail-container:hover .thumbnail-hover[data-v-db0f244d]{opacity:1}.pagination[data-v-db0f244d]{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px 0;flex-wrap:wrap}.pagination-controls[data-v-db0f244d]{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}.per-page-control[data-v-db0f244d]{display:flex;align-items:center;gap:8px;flex-shrink:0}.per-page-label[data-v-db0f244d],.per-page-suffix[data-v-db0f244d]{color:var(--text-secondary);font-size:14px;font-weight:500}.per-page-select[data-v-db0f244d]{padding:6px 8px;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--input-border);border-radius:4px;font-size:14px;cursor:pointer}.per-page-select[data-v-db0f244d]:focus{outline:none;border-color:var(--accent-color)}.pagination-button[data-v-db0f244d]{padding:8px 16px;background:var(--input-bg);color:var(--text-primary);border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s ease}.pagination-button[data-v-db0f244d]:hover:not(:disabled){background:var(--hover-bg)}.pagination-button[data-v-db0f244d]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-db0f244d]{color:var(--text-secondary);font-size:14px}.filter-info[data-v-db0f244d]{color:var(--accent-color);font-weight:500}.total-info[data-v-db0f244d]{color:var(--text-muted)}.modal-overlay[data-v-db0f244d]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-db0f244d]{background:var(--secondary-bg);border-radius:8px;max-width:1000px;max-height:90vh;overflow-y:auto;margin:20px}.modal-header[data-v-db0f244d]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color)}.modal-header h3[data-v-db0f244d]{margin:0;color:var(--text-primary);font-size:20px}.close-button[data-v-db0f244d]{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-button[data-v-db0f244d]:hover{color:var(--text-primary)}.modal-body[data-v-db0f244d]{padding:20px}.modal-body-content[data-v-db0f244d]{display:flex;gap:20px;align-items:flex-start}.video-section[data-v-db0f244d]{flex:1;min-width:0}.event-details[data-v-db0f244d]{flex:0 0 300px;background:var(--tertiary-bg);padding:16px;border-radius:6px}.video-loading[data-v-db0f244d]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.video-loading .loading-spinner[data-v-db0f244d]{width:40px;height:40px;border:4px solid var(--loading-bg);border-top:4px solid var(--accent-color);border-radius:50%;animation:spin-db0f244d 1s linear infinite;margin-bottom:16px}.modal-video[data-v-db0f244d]{width:100%;max-height:400px;border-radius:6px;background:#000}.thumbnail-fallback[data-v-db0f244d]{text-align:center}.modal-image[data-v-db0f244d]{width:100%;max-height:300px;object-fit:contain;border-radius:4px;margin-bottom:12px}.no-video-text[data-v-db0f244d]{color:var(--text-secondary);font-style:italic;margin:0}.detail-row[data-v-db0f244d]{margin:8px 0;color:var(--text-primary)}.license-section[data-v-db0f244d]{background:var(--input-bg);padding:16px;border-radius:8px;margin-top:16px}.license-title[data-v-db0f244d]{margin:0 0 12px;color:var(--text-primary);font-size:16px;font-weight:600}.plate-image-container[data-v-db0f244d]{margin-bottom:12px}.plate-image[data-v-db0f244d]{width:100%;max-width:300px;height:auto;border-radius:6px;border:2px solid var(--input-border);background:#000}.plate-details[data-v-db0f244d]{margin-top:12px}.plate-text[data-v-db0f244d]{font-family:Courier New,monospace;font-weight:700;font-size:18px;color:var(--accent-color);background:var(--card-bg);padding:4px 8px;border-radius:4px;margin-left:8px}.license-info[data-v-db0f244d]{background:var(--input-bg);padding:12px;border-radius:6px;margin-top:12px}.speeding-section[data-v-db0f244d]{background:var(--input-bg);padding:16px;border-radius:8px;margin-top:16px}.speeding-title[data-v-db0f244d]{margin:0 0 12px;color:var(--text-primary);font-size:16px;font-weight:600}.speeding-details[data-v-db0f244d]{margin-top:12px}.speed-text[data-v-db0f244d]{font-family:Courier New,monospace;font-weight:700;font-size:18px;color:#f57c00;background:var(--card-bg);padding:4px 8px;border-radius:4px;margin-left:8px}.speed-limit-info[data-v-db0f244d]{font-family:inherit;font-weight:400;font-size:14px;color:#d32f2f;margin-left:8px}.speeding-detail[data-v-db0f244d]{display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden}.speeding-detail .speed-text[data-v-db0f244d]{font-family:Courier New,monospace;font-weight:700;font-size:12px;color:#f57c00;background:var(--input-bg);padding:1px 3px;border-radius:3px}.speed-info[data-v-db0f244d]{display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden}.speed-limit[data-v-db0f244d]{font-size:10px;color:#d32f2f;font-weight:500}.license-info[data-v-db0f244d]{display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden}.license-separator[data-v-db0f244d]{color:var(--text-muted);margin:0 4px}.speeding-info[data-v-db0f244d]{margin-top:8px}.speed-display[data-v-db0f244d]{font-weight:500;color:var(--text-primary);margin-bottom:4px}.no-plate-text[data-v-db0f244d]{font-style:italic;color:var(--text-muted);margin-left:8px}.modal-actions[data-v-db0f244d]{display:flex;justify-content:center;gap:12px;margin-top:16px}.download-button[data-v-db0f244d]{padding:10px 20px;background:var(--accent-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s ease;display:flex;align-items:center;gap:8px}.download-button[data-v-db0f244d]:hover:not(:disabled){background:var(--accent-hover)}.download-button[data-v-db0f244d]:disabled{opacity:.6;cursor:not-allowed}.view-toggle-buttons[data-v-db0f244d]{display:inline-flex;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;height:34px;background:var(--input-bg);white-space:nowrap}.view-toggle-btn[data-v-db0f244d]{appearance:none;border:none;background:transparent;color:var(--text-secondary);padding:0 12px;height:100%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease}.view-toggle-btn+.view-toggle-btn[data-v-db0f244d]{border-left:1px solid var(--border-color)}.view-toggle-btn[data-v-db0f244d]:hover{background:#1976d21a;color:var(--text-primary)}.view-toggle-btn.active[data-v-db0f244d]{background:var(--accent-color);color:#fff}.view-toggle-btn.active+.view-toggle-btn[data-v-db0f244d]{border-left-color:#00000026}@media (max-width: 768px){.events-list[data-v-db0f244d]{padding:12px}.filters-row[data-v-db0f244d]{flex-direction:row;flex-wrap:wrap;gap:12px}.filter-group[data-v-db0f244d]{min-width:unset}.events-list-view[data-v-db0f244d]{gap:0}.list-header[data-v-db0f244d]{display:none}.event-list-item[data-v-db0f244d]{grid-template-columns:40px 60px 1fr;gap:12px;padding:12px;border-radius:8px;border:1px solid var(--border-color);margin-bottom:8px}.event-type-column[data-v-db0f244d],.event-camera-column[data-v-db0f244d],.event-time-column[data-v-db0f244d],.event-details-column[data-v-db0f244d]{grid-column:3}.event-type-column[data-v-db0f244d]{grid-row:1;margin-bottom:4px}.event-camera-column[data-v-db0f244d]{grid-row:2;margin-bottom:4px}.event-time-column[data-v-db0f244d]{grid-row:3;margin-bottom:4px}.event-details-column[data-v-db0f244d]{grid-row:4}.event-select-column[data-v-db0f244d]{grid-column:1;grid-row:1 / -1}.event-list-thumbnail[data-v-db0f244d]{grid-column:2;grid-row:1 / -1;width:60px;height:45px}.events-grid[data-v-db0f244d]{grid-template-columns:1fr;gap:16px}.modal-content[data-v-db0f244d]{margin:10px;max-height:90vh}.modal-body-content[data-v-db0f244d]{flex-direction:column}.event-details[data-v-db0f244d]{flex:none;width:100%}.pagination-controls[data-v-db0f244d]{flex-direction:column;gap:12px}.per-page-control[data-v-db0f244d]{order:-1}}.ai-badges-container[data-v-db0f244d]{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;align-items:center}.ai-badges-inline[data-v-db0f244d]{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:8px;align-items:center;vertical-align:middle}.ai-icon[data-v-db0f244d]{font-size:14px;color:var(--accent-color)}.ai-no-detection-icon[data-v-db0f244d]{font-size:14px;color:#f97316;font-weight:700}.ai-detected-groups[data-v-db0f244d],.ai-detected-group[data-v-db0f244d]{display:flex;align-items:center}.ai-icons-inline[data-v-db0f244d]{display:inline-flex;align-items:center;gap:4px;margin-left:8px}.ai-chip[data-v-db0f244d]{background-color:#1976d21a;color:var(--accent-color);padding:3px 8px;border-radius:4px;font-size:13px;font-weight:500;border:1px solid rgba(25,118,210,.2)}.ai-chip.small[data-v-db0f244d]{font-size:10px;padding:1px 4px}.ai-chip.large[data-v-db0f244d]{font-size:12px;padding:4px 8px}.ai-analysis-section[data-v-db0f244d]{margin-top:20px;background:var(--secondary-bg);border-radius:8px;border:1px solid var(--border-color);padding:16px}.ai-agent-block[data-v-db0f244d]{margin-bottom:16px}.ai-agent-block[data-v-db0f244d]:last-child{margin-bottom:0}.ai-separator[data-v-db0f244d]{height:1px;background:var(--border-color);margin:16px 0}.ai-agent-title[data-v-db0f244d]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;margin:0 0 12px;color:var(--text-primary);text-transform:capitalize}.ai-content[data-v-db0f244d]{display:flex;flex-direction:column;gap:12px}.ai-no-detections[data-v-db0f244d]{font-style:italic;color:var(--text-secondary);font-size:13px}.ai-field-group[data-v-db0f244d]{display:flex;flex-direction:column;gap:4px}.ai-field-label[data-v-db0f244d]{font-size:12px;color:var(--text-secondary);text-transform:capitalize;font-weight:500}.ai-chips-wrapper[data-v-db0f244d]{display:flex;flex-wrap:wrap;gap:6px}.ai-description-text[data-v-db0f244d]{font-size:14px;color:var(--text-primary);margin:0;line-height:1.4}.ai-timeline[data-v-db0f244d]{display:flex;flex-direction:column;gap:6px}.ai-timeline-item[data-v-db0f244d]{font-size:12px;background:var(--tertiary-bg);padding:6px 8px;border-radius:4px;border:1px solid var(--border-color);color:var(--text-primary)}.ai-time[data-v-db0f244d]{font-weight:600;color:var(--accent-color);margin-right:4px}.ai-stats-grid[data-v-db0f244d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.ai-stat-item[data-v-db0f244d]{font-size:12px;display:flex;justify-content:space-between;background:var(--tertiary-bg);padding:4px 8px;border-radius:4px}.ai-stat-label[data-v-db0f244d]{color:var(--text-secondary);text-transform:capitalize}.ai-stat-value[data-v-db0f244d]{font-weight:500;color:var(--text-primary)}.global-topbar[data-v-ca709d45]{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--secondary-bg);border-bottom:1px solid var(--border-color);color:var(--text-primary);height:64px;flex-shrink:0}.topbar-left[data-v-ca709d45]{display:flex;align-items:center;gap:10px}.brand-text[data-v-ca709d45]{display:inline-flex;align-items:center;gap:8px}.topbar-center[data-v-ca709d45]{flex-grow:1;display:flex;justify-content:center;align-items:center}.topbar-right[data-v-ca709d45]{display:flex;align-items:center;gap:12px}.app-logo[data-v-ca709d45]{height:36px;width:auto}.job-info[data-v-ca709d45]{display:inline-flex;align-items:center;gap:6px;font-size:14px}.job-name[data-v-ca709d45]{color:var(--text-primary);font-weight:500;font-size:18px}.job-name.clickable[data-v-ca709d45]{cursor:pointer;transition:color .2s ease}.job-name.clickable[data-v-ca709d45]:hover{color:var(--accent-color)}.job-label[data-v-ca709d45]{color:var(--text-secondary)}.job-error[data-v-ca709d45]{color:var(--error-color)}.box-status-pill[data-v-ca709d45]{display:inline-flex;align-items:center;gap:6px;margin-left:12px;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:500;background:var(--tertiary-bg);border:1px solid var(--border-color);color:var(--text-secondary);white-space:nowrap}.box-status-dot[data-v-ca709d45]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.box-status-connecting .box-status-dot[data-v-ca709d45]{background:var(--accent-color);animation:box-status-pulse-ca709d45 1.5s ease-in-out infinite}.box-status-unreachable[data-v-ca709d45]{color:var(--error-color);border-color:var(--error-color)}.box-status-unreachable .box-status-dot[data-v-ca709d45]{background:var(--error-color)}@keyframes box-status-pulse-ca709d45{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.crumb-sep[data-v-ca709d45]{color:var(--text-secondary)}.breadcrumbs[data-v-ca709d45]{color:var(--text-primary);font-size:18px}.theme-toggle[data-v-ca709d45]{padding:0;background:transparent;color:var(--text-primary);border:none;border-radius:0;cursor:pointer;font-size:20px;line-height:1;transition:color .2s ease}.theme-toggle[data-v-ca709d45]:hover{background:transparent;color:var(--accent-color)}@media (max-width: 768px){.global-topbar[data-v-ca709d45]{flex-wrap:wrap;height:auto;padding:10px}.topbar-left[data-v-ca709d45],.topbar-right[data-v-ca709d45],.topbar-center[data-v-ca709d45]{width:100%;justify-content:center;margin-bottom:8px}.topbar-right[data-v-ca709d45]{justify-content:space-around}.job-name[data-v-ca709d45],.breadcrumbs[data-v-ca709d45]{font-size:16px}.app-logo[data-v-ca709d45]{height:34px}}.avatar-dropdown[data-v-ca709d45]{position:relative;margin-left:12px}.avatar-icon[data-v-ca709d45]{width:31px;height:31px;background:#64748b;color:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;border:none;padding:0;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .12s ease;box-shadow:0 2px 6px #00000014}.avatar-icon[data-v-ca709d45]:hover{transform:translateY(-2px) scale(1.06);box-shadow:0 8px 20px #0000002e;background:#475569}.avatar-icon[data-v-ca709d45]:focus-visible{outline:none;box-shadow:0 0 0 4px #6496ff26,0 8px 20px #0000002e;transform:translateY(-2px) scale(1.06)}.avatar-image[data-v-ca709d45]{width:100%;height:100%;border-radius:50%;object-fit:cover}.dropdown-menu[data-v-ca709d45]{position:absolute;top:100%;right:0;margin-top:8px;min-width:220px;background:var(--secondary-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;overflow:hidden}.dropdown-header[data-v-ca709d45]{padding:12px 16px;background:var(--tertiary-bg)}.user-name[data-v-ca709d45]{font-weight:600;color:var(--text-primary);font-size:14px}.user-email[data-v-ca709d45]{font-size:13px;color:var(--text-secondary);margin-top:2px}.dropdown-divider[data-v-ca709d45]{height:1px;background:var(--border-color)}.dropdown-item[data-v-ca709d45]{display:block;width:100%;padding:10px 16px;background:transparent;border:none;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background .2s ease}.dropdown-item[data-v-ca709d45]:hover{background:var(--hover-bg)}.dropdown-item.disabled[data-v-ca709d45]{opacity:.5;cursor:not-allowed;pointer-events:none}.retry-button[data-v-ca709d45]{margin-left:12px}.admin-container[data-v-2c3d12eb]{padding:16px;text-align:left;display:flex;justify-content:center}.admin-actions[data-v-2c3d12eb]{margin-top:16px;display:flex;gap:8px;align-items:center}.admin-content[data-v-2c3d12eb]{margin-top:20px;color:var(--text-secondary);width:100%;max-width:1100px;box-sizing:border-box}.retry-button[data-v-2c3d12eb]{padding:12px 24px;background:var(--accent-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s ease}.retry-button[data-v-2c3d12eb]:hover{background:var(--accent-hover)}.job-list[data-v-2c3d12eb]{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.job-button[data-v-2c3d12eb]{padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background:var(--tertiary-bg);color:var(--text-primary);cursor:pointer}.job-button[data-v-2c3d12eb]:hover{background:var(--hover-bg)}.job-list-rows[data-v-2c3d12eb]{margin-top:12px;display:block;border:1px solid var(--border-color);border-radius:8px;background:var(--tertiary-bg)}.job-list-header[data-v-2c3d12eb],.job-row[data-v-2c3d12eb]{display:grid;grid-template-columns:80px 160px 1fr max-content 56px;gap:0;align-items:center;padding:6px 12px;border-bottom:1px solid var(--border-color);background:var(--tertiary-bg)}.job-list-header[data-v-2c3d12eb]{font-weight:600;color:var(--text-secondary)}.job-row[data-v-2c3d12eb]{background:var(--secondary-bg)}.job-row[data-v-2c3d12eb]:hover{background:var(--hover-bg)}.job-list-rows .job-row[data-v-2c3d12eb]:last-child{border-bottom:none}.job-row[data-v-2c3d12eb]{cursor:pointer}.job-row[data-v-2c3d12eb]:focus{outline:2px solid var(--accent-color);outline-offset:-2px}.col[data-v-2c3d12eb]{padding:0 8px}.id-col[data-v-2c3d12eb],.name-col[data-v-2c3d12eb]{padding-left:8px}.action-col[data-v-2c3d12eb]{display:flex;justify-content:flex-end;padding-right:8px}.chevron-col[data-v-2c3d12eb]{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.chevron[data-v-2c3d12eb]{font-size:26px;font-weight:600;line-height:1;transform:translate(1px)}.open-button[data-v-2c3d12eb]{padding:6px 10px;background:var(--accent-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px}.open-button[data-v-2c3d12eb]:disabled{opacity:.6;cursor:not-allowed}.user-details[data-v-2c3d12eb]{color:#fff;margin-bottom:12px}.jobs-search[data-v-2c3d12eb]{margin-bottom:12px}.jobs-search-input[data-v-2c3d12eb]{width:100%;max-width:520px;padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);background:var(--secondary-bg);color:var(--text-primary)}.jobs-search-input[data-v-2c3d12eb]::placeholder{color:var(--text-secondary)}.snaps-list[data-v-2c3d12eb]{display:flex;gap:8px;align-items:center;justify-content:flex-end;overflow:visible}.snap-item[data-v-2c3d12eb]{display:inline-flex;width:72px;height:48px;flex:0 0 auto}.snap-thumb[data-v-2c3d12eb]{width:100%;height:100%;object-fit:cover;border-radius:6px;border:1px solid var(--border-color);background:var(--secondary-bg)}.snap-placeholder[data-v-2c3d12eb]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:4px;background:#ffffff0a;color:var(--text-secondary);border:1px dashed var(--border-color);font-weight:600}.snap-empty[data-v-2c3d12eb]{color:var(--text-secondary)}.single-camera-view[data-v-deb063b6]{padding:0;background:var(--primary-bg);height:calc(100vh - 64px);display:flex;flex-direction:column;overflow:hidden}.main-content[data-v-deb063b6]{display:flex;gap:0;flex:1;min-height:0}.camera-section[data-v-deb063b6]{flex:1;display:flex;flex-direction:column;min-height:0}.camera-container[data-v-deb063b6]{flex:1;display:flex;align-items:stretch;justify-content:stretch;min-height:0}.camera-container[data-v-deb063b6] .camera-stream{width:100%;height:100%;background:transparent;box-shadow:none;border-radius:0}.camera-container[data-v-deb063b6] .camera-stream .stream-container{width:100%;height:100%;aspect-ratio:auto}.camera-container[data-v-deb063b6] .camera-stream .stream-canvas{width:100%!important;height:100%!important;object-fit:contain}.events-sidebar[data-v-deb063b6]{width:300px;background:var(--secondary-bg);border-left:1px solid var(--border-color);border-radius:0;display:flex;flex-direction:column;min-height:0}.events-header[data-v-deb063b6]{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid var(--border-color);flex-shrink:0}.events-header h3[data-v-deb063b6]{margin:0;color:var(--text-primary);font-size:16px;font-weight:600}.see-all-button[data-v-deb063b6]{padding:8px 16px;background:var(--accent-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s ease}.see-all-button[data-v-deb063b6]:hover{background:var(--accent-hover)}.event-count-info[data-v-deb063b6]{padding:12px 20px;border-bottom:1px solid var(--border-color);background:var(--tertiary-bg)}.event-count[data-v-deb063b6]{color:var(--text-muted);font-size:12px}.no-recent-events[data-v-deb063b6]{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-muted);font-size:14px;padding:20px}.recent-events-list[data-v-deb063b6]{flex:1;overflow-y:auto;padding:16px;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.recent-events-list[data-v-deb063b6]::-webkit-scrollbar{width:8px}.recent-events-list[data-v-deb063b6]::-webkit-scrollbar-track{background:transparent}.recent-events-list[data-v-deb063b6]::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:8px;border:2px solid transparent;background-clip:content-box}.recent-events-list[data-v-deb063b6]::-webkit-scrollbar-thumb:hover{background-color:var(--accent-color)}.recent-event-item[data-v-deb063b6]{display:flex;gap:12px;padding:12px;background:var(--tertiary-bg);border-radius:8px;margin-bottom:12px;transition:background .2s ease;cursor:pointer}.recent-event-item[data-v-deb063b6]:hover{background:var(--hover-bg)}.recent-event-item[data-v-deb063b6]:last-child{margin-bottom:0}.event-thumbnail[data-v-deb063b6]{width:60px;height:45px;border-radius:4px;overflow:hidden;background:var(--loading-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.event-thumbnail img[data-v-deb063b6]{width:100%;height:100%;object-fit:cover}.event-details[data-v-deb063b6]{flex:1;display:flex;flex-direction:column;gap:4px}.event-type[data-v-deb063b6]{color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.2}.event-time[data-v-deb063b6]{color:var(--text-muted);font-size:12px;line-height:1.2}.event-extra-info[data-v-deb063b6]{margin-top:4px;display:flex;flex-direction:column;gap:2px}.speed-info[data-v-deb063b6]{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.speed-badge[data-v-deb063b6]{background:#fff3e0;color:#f57c00;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:600}.speed-limit[data-v-deb063b6]{color:#d32f2f;font-size:10px;font-weight:500}.license-info[data-v-deb063b6]{display:flex;align-items:center}.license-badge[data-v-deb063b6]{background:#e3f2fd;color:#1976d2;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:600;font-family:Courier New,monospace}.ai-badges-container[data-v-deb063b6]{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.ai-icon[data-v-deb063b6]{font-size:14px;color:var(--accent-color)}.ai-no-detection-icon[data-v-deb063b6]{color:#f57c00;font-size:14px;font-weight:700}.ai-chip[data-v-deb063b6]{background-color:#1976d21a;color:var(--accent-color);padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500;border:1px solid rgba(25,118,210,.2)}@media (max-width: 768px){.single-camera-view[data-v-deb063b6]{padding:0;height:auto;overflow:visible}.main-content[data-v-deb063b6]{flex-direction:column;height:auto;gap:16px}.events-sidebar[data-v-deb063b6]{width:100%;max-height:none;order:2;border-left:none;border-top:1px solid var(--border-color);position:static;overflow:visible}.camera-section[data-v-deb063b6]{order:1;min-height:500px}.recent-events-list[data-v-deb063b6]{max-height:none;overflow:visible;flex:none}.events-header[data-v-deb063b6]{padding:16px}.recent-event-item[data-v-deb063b6]{padding:10px}.event-thumbnail[data-v-deb063b6]{width:50px;height:38px}}.timeout-page[data-v-e958d196]{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--primary-bg);display:flex;align-items:center;justify-content:center;z-index:9999}.timeout-container[data-v-e958d196]{text-align:center;padding:40px;background:var(--secondary-bg);border-radius:12px;border:1px solid var(--border-color);max-width:400px;width:90%}.timeout-icon[data-v-e958d196]{font-size:4rem;margin-bottom:20px}.timeout-container h1[data-v-e958d196]{color:var(--text-primary);font-size:24px;margin-bottom:16px;font-weight:600}.timeout-container p[data-v-e958d196]{color:var(--text-secondary);font-size:16px;margin-bottom:12px;line-height:1.5}.timeout-subtitle[data-v-e958d196]{color:var(--text-muted);font-size:14px;margin-bottom:24px!important}.resume-button[data-v-e958d196]{padding:12px 24px;background:var(--accent-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:500;transition:background .2s ease}.resume-button[data-v-e958d196]:hover{background:var(--accent-hover)}.resume-button[data-v-e958d196]:focus{outline:2px solid var(--accent-color);outline-offset:2px}:root{--primary-bg: #0f0f0f;--secondary-bg: #1a1a1a;--tertiary-bg: #2d2d2d;--hover-bg: #3d3d3d;--border-color: #333;--text-primary: #ffffff;--text-secondary: #9ca3af;--text-muted: #6b7280;--accent-color: #3b82f6;--accent-hover: #2563eb;--error-color: #ef4444;--loading-bg: #404040}[data-theme=light]{--primary-bg: #f5f7fa;--secondary-bg: #f8fafc;--tertiary-bg: #e2e8f0;--hover-bg: #d6dee8;--border-color: #e2e8f0;--text-primary: #1f2937;--text-secondary: #4b5563;--text-muted: #6b7280;--accent-color: #3b82f6;--accent-hover: #2563eb;--error-color: #ef4444;--loading-bg: #e5e7eb}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--primary-bg);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}#app{width:100%;min-height:100vh}.main-layout{display:flex;height:calc(100vh - 64px)}.camera-section{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.camera-section::-webkit-scrollbar{width:8px}.camera-section::-webkit-scrollbar-track{background:transparent}.camera-section::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:8px;border:2px solid transparent;background-clip:content-box}.camera-section::-webkit-scrollbar-thumb:hover{background-color:var(--accent-color)}.events-sidebar{width:300px;background:var(--secondary-bg);border-left:1px solid var(--border-color);display:flex;flex-direction:column}.events-header{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid var(--border-color)}.events-header h3{margin:0;color:var(--text-primary);font-size:16px;font-weight:600}.see-all-button{padding:8px 16px;background:var(--accent-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s ease}.see-all-button:hover{background:var(--accent-hover)}.no-recent-events{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-muted);font-size:14px}.recent-events-list{flex:1;overflow-y:auto;padding:16px;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.recent-events-list::-webkit-scrollbar{width:8px}.recent-events-list::-webkit-scrollbar-track{background:transparent}.recent-events-list::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:8px;border:2px solid transparent;background-clip:content-box}.ai-badges-inline{display:inline-flex;flex-wrap:wrap;gap:2px;align-items:center;vertical-align:middle}.ai-icon{font-size:14px;color:var(--accent-color)}.ai-no-detection-icon{color:#f57c00;font-size:14px;font-weight:700}.ai-chip{background-color:#1976d21a;color:var(--accent-color);padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500;border:1px solid rgba(25,118,210,.2)}.ai-chip.small{font-size:10px;padding:1px 4px}.recent-events-list::-webkit-scrollbar-thumb:hover{background-color:var(--accent-color)}.recent-event-item{display:flex;gap:12px;padding:12px;background:var(--tertiary-bg);border-radius:8px;margin-bottom:12px;transition:background .2s ease;cursor:pointer}.recent-event-item:hover{background:var(--hover-bg)}.recent-event-item:last-child{margin-bottom:0}.event-thumbnail{width:60px;height:45px;border-radius:4px;overflow:hidden;background:var(--loading-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.event-thumbnail img{width:100%;height:100%;object-fit:cover}.event-details{flex:1;display:flex;flex-direction:column;gap:2px}.event-type{color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.2}.event-camera{color:var(--text-secondary);font-size:12px;line-height:1.2}.event-time{color:var(--text-muted);font-size:11px;line-height:1.2}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid var(--loading-bg);border-top:4px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-icon{font-size:3rem;margin-bottom:16px}.loading-container p,.error-container p{color:var(--text-secondary);font-size:18px;margin-bottom:16px}.retry-button{padding:12px 24px;background:var(--accent-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s ease}.retry-button:hover{background:var(--accent-hover)}.secondary-button{padding:12px 24px;background:var(--tertiary-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s ease}.secondary-button:hover{background:var(--hover-bg)}.gateguard-button{padding:12px 24px;font-size:14px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;border:1px solid var(--accent-color);background:transparent;color:var(--accent-color);box-shadow:0 0 #0000}.gateguard-button:hover{background:var(--accent-color);color:#fff;box-shadow:0 4px 14px #00000040}[data-theme=light] .gateguard-button{border-color:var(--accent-color);color:var(--accent-color)}[data-theme=light] .gateguard-button:hover{background:var(--accent-color);color:#fff}[data-theme=dark] .gateguard-button{border-color:var(--accent-color);color:var(--accent-color)}[data-theme=dark] .gateguard-button:hover{background:var(--accent-color);color:#fff}.center-login{display:flex;align-items:center;justify-content:center;height:100vh;min-height:100vh;position:fixed;inset:0;background:var(--body-bg)}.center-login .theme-toggle-absolute{position:absolute;top:16px;right:16px;background:transparent;border:none;color:var(--text-primary);cursor:pointer;padding:6px;border-radius:6px}.center-login .theme-toggle-absolute:hover{background:var(--hover-bg)}.login-primary{padding:16px 28px;font-size:16px}.notification-dot{position:absolute;top:-4px;right:-4px;width:12px;height:12px;background:var(--error-color);border:2px solid var(--primary-bg);border-radius:50%;animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulsate{0%,to{transform:scale(1);box-shadow:0 0 #3b82f6b3}50%{transform:scale(1.05);box-shadow:0 0 0 10px #3b82f600}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.scroll-down-button{padding:4px 12px;font-size:12px;font-weight:500;background:var(--tertiary-bg);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:999px;cursor:pointer;transition:all .2s ease}.scroll-down-button:hover{background:var(--hover-bg);color:var(--text-primary)}.scroll-down-topbar{display:none}.single-cam-desktop-options{display:flex;align-items:center;gap:10px}@media (max-width: 768px){.main-layout{flex-direction:column;height:auto}#refresh-btn,.single-cam-desktop-options{display:none!important}.scroll-down-topbar{display:inline-flex!important;align-items:center;margin-left:0}.events-sidebar{width:100%;order:2;position:static;max-height:none;overflow:visible}.camera-section{order:1;overflow-y:visible}.recent-events-list{max-height:none;overflow:visible;flex:none}.events-header{padding:12px}.recent-event-item{padding:10px}.event-thumbnail{width:50px;height:38px}}.topbar-controls{display:flex;align-items:center;gap:12px}.camera-dropdown-wrapper{position:relative;width:250px}.camera-dropdown-toggle{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--tertiary-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.camera-dropdown-toggle:hover{background:var(--hover-bg)}.dropdown-arrow{transition:transform .2s ease;font-size:12px}.dropdown-arrow.open{transform:rotate(180deg)}.camera-dropdown-menu{position:absolute;top:100%;left:0;right:0;background:var(--tertiary-bg);border:1px solid var(--border-color);border-top:none;border-radius:0 0 6px 6px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 4px 6px #0000001a}.camera-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;color:var(--text-primary);font-size:14px;transition:background .2s ease}.camera-dropdown-item:hover{background:var(--hover-bg)}.camera-dropdown-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-color);cursor:pointer}.refresh-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--tertiary-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s ease}.refresh-button:hover:not(:disabled){background:var(--hover-bg)}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.refresh-icon{display:inline-block;transition:transform .3s ease}.refresh-icon.spinning{animation:spin 1s linear infinite}.back-button{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--tertiary-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:14px;line-height:1;transition:background .2s ease,border-color .2s ease,color .2s ease}.back-button:hover{background:var(--hover-bg)}.back-button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.pill-group{display:inline-flex;align-items:center;gap:6px}.pill{padding:4px 10px;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:9999px;font-size:12px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.pill:hover{background:var(--hover-bg);border-color:var(--accent-color)}.single-top-controls{display:inline-flex;align-items:center;gap:10px}.param-tags{display:inline-flex;align-items:center;gap:6px}.param-tag{background:var(--tertiary-bg);color:var(--text-secondary);padding:2px 8px;border-radius:9999px;font-size:12px;border:1px solid var(--border-color)}.param-tag:hover{background:var(--hover-bg);border-color:var(--border-color)}.topbar-options{position:relative}.center-login{display:flex;justify-content:center;align-items:center;padding:24px 0}.auth-card{display:flex;flex-direction:column;align-items:center;background:var(--card-bg, #fff);padding:20px;border-radius:8px;box-shadow:0 6px 18px #0000000f}.center-login .auth-card{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}[data-theme=dark] .center-login .auth-card{background:#181818!important;border:1px solid #262626;box-shadow:0 4px 24px #00000073}.auth-logo{width:280px;max-width:90%;height:auto;margin-bottom:16px}.auth-buttons{display:flex;gap:12px;align-items:center;justify-content:center}.auth-buttons button{height:44px;display:flex;align-items:center;justify-content:center}:root{--primary-bg: #0f0f0f;--secondary-bg: #1a1a1a;--tertiary-bg: #2d2d2d;--hover-bg: #3d3d3d;--border-color: #333;--border-light: #404040;--text-primary: #ffffff;--text-secondary: #9ca3af;--text-muted: #6b7280;--accent-color: #3b82f6;--accent-hover: #2563eb;--error-color: #ef4444;--success-color: #10b981;--warning-color: #f59e0b;--loading-bg: #404040;--input-bg: #374151;--input-border: #4b5563;--card-bg: #1f2937;--shadow: rgba(0, 0, 0, .3);--modal-bg: rgba(0, 0, 0, .8);--body-bg: var(--primary-bg)}[data-theme=light]{--primary-bg: #f5f7fa;--secondary-bg: #f8fafc;--tertiary-bg: #e2e8f0;--hover-bg: #d6dee8;--border-color: #e2e8f0;--border-light: #d9e2ec;--text-primary: #1f2937;--text-secondary: #4b5563;--text-muted: #6b7280;--accent-color: #3b82f6;--accent-hover: #2563eb;--error-color: #ef4444;--success-color: #10b981;--warning-color: #f59e0b;--loading-bg: #e5e7eb;--input-bg: #ffffff;--input-border: #d1d5db;--card-bg: #ffffff;--shadow: rgba(0, 0, 0, .1);--modal-bg: rgba(0, 0, 0, .5);--body-bg: var(--primary-bg)}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}.theme-bg-primary{background-color:var(--primary-bg)}.theme-bg-secondary{background-color:var(--secondary-bg)}.theme-bg-tertiary{background-color:var(--tertiary-bg)}.theme-text-primary{color:var(--text-primary)}.theme-text-secondary{color:var(--text-secondary)}.theme-text-muted{color:var(--text-muted)}.theme-border{border-color:var(--border-color)}.theme-accent{color:var(--accent-color)}.theme-button{background-color:var(--accent-color);color:#fff;border:none;transition:background-color .2s ease}.theme-button:hover{background-color:var(--accent-hover)}
