@import"https://fonts.googleapis.com/css2?family=Cairo+Play:wght@200..1000&family=Inconsolata:wght@200..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Oswald:wght@200..700&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Roboto+Mono:ital,wght@0,100..700;1,100..700&family=Roboto:ital,wght@0,100..900;1,100..900&family=Share+Tech+Mono&display=swap";.demo-auth-wrapper.demo-light{height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden;background:radial-gradient(circle at 8% 12%,rgba(56,189,248,.2),transparent 36%),radial-gradient(circle at 92% 14%,rgba(34,197,94,.14),transparent 34%),radial-gradient(circle at 50% 100%,rgba(14,165,233,.1),transparent 44%),#eef3f9}.demo-auth-card{width:min(972px,100%);height:min(648px,calc(100vh - 32px));display:grid;grid-template-columns:1.45fr .55fr;gap:0;border-radius:20px;overflow:hidden;border:1px solid rgba(15,23,42,.08);background:#ffffff8c;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 38px #0f172a1f;animation:demo-fade-in .45s ease-out}.demo-auth-left,.demo-auth-right{min-height:0;display:flex;flex-direction:column;color:#1e293b}.demo-auth-left{padding:18px;border-right:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#fff9,#f1f5f9a6)}.demo-auth-right{padding:18px;gap:10px;background:#ffffff70}.demo-auth-left h1{margin:0 0 12px;font-size:clamp(1.2rem,2vw,1.9rem);line-height:1.15;font-family:Montserrat,Inter,sans-serif;color:#5f81d0;text-align:center}.demo-auth-right h2{margin:0;font-size:1.2rem;font-family:Montserrat,Inter,sans-serif;color:#5f81d0;text-align:center}.demo-dropzone{margin-top:4px;flex:1;min-height:0;border-radius:16px;border:none;--demo-drop-dash-color: rgba(170, 184, 201, .82);background:#f8fafcc7;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;position:relative;transition:background .2s ease,box-shadow .2s ease}.demo-dropzone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(90deg,var(--demo-drop-dash-color) 0 18px,transparent 18px 30px) left top / 100% 2px no-repeat,repeating-linear-gradient(90deg,var(--demo-drop-dash-color) 0 18px,transparent 18px 30px) left bottom / 100% 2px no-repeat,repeating-linear-gradient(180deg,var(--demo-drop-dash-color) 0 18px,transparent 18px 30px) left top / 2px 100% no-repeat,repeating-linear-gradient(180deg,var(--demo-drop-dash-color) 0 18px,transparent 18px 30px) right top / 2px 100% no-repeat;transition:background .2s ease}.demo-dropzone.has-preview:before{display:none}.demo-dropzone.is-dragging,.demo-dropzone:hover{--demo-drop-dash-color: #ff9f2e;background:#fffaf2e0;box-shadow:0 10px 24px #ff8a0029}.demo-drop-placeholder,.demo-preview-frame{width:100%;height:100%}.demo-dropzone:focus-visible{outline:none;--demo-drop-dash-color: #22a6de;box-shadow:0 0 0 3px #0284c73d,0 12px 24px #0284c729}.demo-drop-placeholder{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;width:100%;height:100%}.demo-drop-placeholder strong{font-size:clamp(1.02rem,1.6vw,1.35rem);font-weight:500;line-height:1.2;font-family:Montserrat,Inter,sans-serif;color:#6b7280}.demo-drop-placeholder span{color:#6b7280;font-size:.84rem;font-family:Montserrat,Inter,sans-serif}.demo-preview-frame{position:relative;width:100%;aspect-ratio:16 / 9;min-height:0;display:flex;align-items:center;justify-content:center}.demo-processing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#0f172a75;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:8}.demo-processing-core{width:88px;height:88px;position:relative;display:flex;align-items:center;justify-content:center}.demo-processing-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;border:2px solid rgba(255,255,255,.2);border-top-color:#22d3ee;border-left-color:#0ea5e9;animation:demo-spin 1.05s linear infinite}.demo-processing-ring.second{top:11px;right:11px;bottom:11px;left:11px;border-color:#ffffff29;border-right-color:#fb923c;border-bottom-color:#f59e0b;animation-duration:.85s;animation-direction:reverse}.demo-processing-scan{width:54px;height:54px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:radial-gradient(circle at center,rgba(34,211,238,.22),rgba(14,165,233,.05) 70%,transparent 71%);position:relative;overflow:hidden}.demo-processing-scan:after{content:"";position:absolute;left:6px;right:6px;height:2px;background:linear-gradient(90deg,transparent,#f8fafc,transparent);box-shadow:0 0 10px #f8fafcbf;animation:demo-scan 1.1s ease-in-out infinite}.demo-processing-text{margin:0;font-family:Montserrat,Inter,sans-serif;font-size:.95rem;font-weight:600;letter-spacing:.02em;color:#f8fafc;text-shadow:0 1px 8px rgba(15,23,42,.8)}.demo-preview-image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;display:block;border-radius:12px}.demo-overlay-rect{position:absolute;border:2px solid #ff8a00;background:#ff8a0024;border-radius:4px;box-shadow:0 0 0 1px #ff8a0033 inset;pointer-events:auto;transition:box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.demo-overlay-rect.is-hovered{border-color:#f97316;background:#f973163d;box-shadow:0 0 0 2px #f9731673,0 0 18px #f9731659}.demo-overlay-label{position:absolute;left:-1px;top:auto;bottom:calc(100% + 4px);background:#ff8a00;color:#1f2937;border-radius:6px;padding:2px 8px;font-family:Inconsolata,Share Tech Mono,Roboto Mono,monospace;font-size:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-feature-settings:"zero" 1;font-variant-numeric:slashed-zero}.demo-overlay-label.is-below{bottom:auto;top:calc(100% + 4px)}.demo-actions{margin-top:8px;display:flex;align-items:center;gap:8px;min-height:28px}.demo-file-name{color:#6b7280;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Montserrat,Inter,sans-serif}.demo-status{margin:0;color:#0284c7;font-weight:600;font-size:.84rem}.demo-results-grid{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;align-items:center;overflow-y:auto;overflow-x:hidden;padding-right:4px}.demo-result-item{display:flex;justify-content:flex-start;align-items:flex-start;width:100%;animation:demo-slide-up .26s ease-out both;border-radius:10px;transition:background-color .16s ease,box-shadow .16s ease}.demo-result-item.is-hovered{background:#f9731624;box-shadow:0 0 0 1px #f9731640}.demo-result-media{width:110px;display:flex;flex-direction:column;gap:4px;margin:0 auto}.demo-result-image{width:110px;height:auto;max-height:50px;object-fit:contain;border-radius:8px;border:1px solid rgba(15,23,42,.12);background:transparent;display:block}.demo-result-text{width:100%;text-align:center;font-family:Inconsolata,Share Tech Mono,Roboto Mono,monospace;font-size:1.05rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#0f172a;font-feature-settings:"zero" 1;font-variant-numeric:slashed-zero;border:1px solid rgba(15,23,42,.12);border-radius:7px;background:#ffffffb8;padding:4px;line-height:1.15}.demo-result-meta{width:100%;display:grid;grid-template-columns:1fr;gap:2px;text-align:center;font-family:Montserrat,Inter,sans-serif;font-size:.66rem;color:#64748b;line-height:1.25}.demo-result-meta span{display:block;width:100%;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word}.demo-hidden-count{margin:0;color:#64748b;font-size:.78rem;text-align:center}@media (max-width: 1100px){.demo-auth-card{grid-template-columns:1fr;grid-template-rows:1fr 1fr;height:calc(100vh - 32px)}.demo-auth-left{border-right:none;border-bottom:1px solid rgba(15,23,42,.08)}.demo-results-grid{align-items:stretch}}@media (max-width: 720px){.demo-auth-wrapper.demo-light{padding:10px}.demo-auth-card{height:calc(100vh - 20px);border-radius:16px}.demo-auth-left,.demo-auth-right{padding:12px}.demo-auth-left h1{font-size:clamp(1rem,5vw,1.42rem)}}@keyframes demo-spin{to{transform:rotate(360deg)}}@keyframes demo-scan{0%{top:8px;opacity:.5}50%{opacity:1}to{top:44px;opacity:.5}}@keyframes demo-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes demo-slide-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}:root{--bg: #0b1221;--panel: #0f192f;--panel-strong: #0a1426;--muted: #8ba2c7;--text: #e9f1ff;--border: #1f2a44;--accent: #2dd4bf;--accent-strong: #0ea5e9;--danger: #f87171;--success: #34d399;--shadow: 0 18px 50px rgba(5, 9, 20, .35);--body-bg: radial-gradient(circle at 12% 20%, #0f223d, #0a1224 45%), radial-gradient(circle at 85% 10%, #13253f, #0a1224 40%), radial-gradient(circle at 50% 80%, #111f35, #0a1224 35%), #0a1224;--header-bg: linear-gradient(90deg, rgba(17, 45, 93, .5), rgba(30, 41, 59, .4));--page-bg: rgba(13, 22, 39, .85);--tab-active-bg: linear-gradient(135deg, rgba(45, 212, 191, .15), rgba(14, 165, 233, .18));--card-bg: linear-gradient(155deg, rgba(45, 212, 191, .08), rgba(14, 165, 233, .05)), rgba(255, 255, 255, .01);--auth-hero-bg: linear-gradient(180deg, rgba(45, 212, 191, .18), rgba(14, 165, 233, .14));--table-th-bg: rgba(255, 255, 255, .01);--url-chip-bg: rgba(15, 23, 42, .6);--status-chip-bg: rgba(5, 13, 28, .55);--export-btn-h: 46px;--content-width: 1340px}html[data-theme=light]{--bg: #f8fafc;--panel: #ffffff;--panel-strong: #f1f5f9;--muted: #64748b;--text: #0f172a;--border: #e2e8f0;--accent: #0d9488;--accent-strong: #0284c7;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--body-bg: #f8fafc;--header-bg: #ffffff;--page-bg: #ffffff;--tab-active-bg: rgba(13, 148, 136, .1);--card-bg: #ffffff;--auth-hero-bg: #f1f5f9;--table-th-bg: #f8fafc;--url-chip-bg: #f1f5f9;--status-chip-bg: #f1f5f9}html[data-theme=light] .status-indicator{background:#f1f5f9;border-color:#e2e8f0;color:#475569}html[data-theme=light] .status-indicator.allowed{background:#dcfce7;border-color:#bbf7d0;color:#166534}html[data-theme=light] .status-indicator.blocked{background:#fee2e2;border-color:#fecaca;color:#991b1b}html[data-theme=light] .status-indicator.neutral{background:#f1f5f9;border-color:#e2e8f0;color:#475569}html[data-theme=light] .direction-indicator{background:#f8fafc;border-color:#e2e8f0;color:#64748b}html[data-theme=light] .pagination{background:#f8fafc;border-top-color:#e2e8f0}html[data-theme=light] .url-chip,html[data-theme=light] .stream-url{background:#f1f5f9;border-color:#dbe2ea;color:#334155}html[data-theme=light] .table-wrapper{background:#fff;border-color:#e2e8f0;box-shadow:0 14px 30px -24px #0f172a4d}html[data-theme=light] .data-table th{color:#475569;background:#f8fafc;border-bottom-color:#e2e8f0}html[data-theme=light] .data-table td{color:#0f172a;border-bottom-color:#e2e8f0}html[data-theme=light] .data-table tbody tr{background:#fff}html[data-theme=light] .data-table tbody tr:nth-child(2n){background:#f8fafc}html[data-theme=light] .data-table.hoverable tbody tr:hover{background:#eef6ff}html[data-theme=light] .table-filter-row input:not(.table-search-input),html[data-theme=light] .table-filter-row select,html[data-theme=light] .page-size-select,html[data-theme=light] .table-toolbar-field select{background:#fff;border-color:#d6dee8;color:#0f172a}html[data-theme=light] .plate-text{background:#f8fafc;border:1px solid #dbe2ea;color:#0f172a}html[data-theme=light] .plate-letters-white{color:#0f172a}html[data-theme=light] .plate-digits{color:#0f172acc}html[data-theme=light] .list-card.glass{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}html[data-theme=light] .list-switch{background:#f8fafc;border-color:#e2e8f0}html[data-theme=light] .switch-pill{color:#64748b}html[data-theme=light] .switch-pill.active{background:#0d94881f;border-color:#0d94884d;color:#0f172a}html[data-theme=light] .switch-count{background:#0d94881f;color:#0f172a}html[data-theme=light] .list-telegram,html[data-theme=light] .list-form{background:#f8fafc;border-color:#e2e8f0}html[data-theme=light] .list-form input,html[data-theme=light] .list-edit-input,html[data-theme=light] .list-search-input{background:#fff;border-color:#d6dee8;color:#0f172a}html[data-theme=light] .list-search-input::placeholder{color:#94a3b8}html[data-theme=light] .list-search-input:focus{background:#fff;border-color:#38bdf8;box-shadow:0 0 0 3px #0284c726}html[data-theme=light] .list-table{background:#fff;border-color:#e2e8f0}html[data-theme=light] .list-row.is-editing{background:#eef6ff}html[data-theme=light] .list-stat,html[data-theme=light] .list-count{background:#fff;border-color:#e2e8f0}html[data-theme=light] .filter-input,html[data-theme=light] .filter-select{background:#fff;border-color:#cbd5e1;color:#0f172a;color-scheme:light}html[data-theme=light] .table-inline-filters th{background:#f1f5f9;border-bottom-color:#cbd5e1}html[data-theme=light] .filter-input:focus,html[data-theme=light] .filter-select:focus{background:#fff;border-color:#38bdf8;box-shadow:0 0 0 4px #0284c71f}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--body-bg);color:var(--text);font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.4}a{color:inherit;text-decoration:none}#root{min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;background:var(--header-bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.brand{display:flex;align-items:center}.brand-title{font-weight:700;font-size:18px;letter-spacing:.02em}.brand-subtitle{display:none}.user-meta{display:flex;align-items:center;gap:20px;color:var(--text)}.user-info-group{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.user-account-name{font-weight:700;font-size:14px;color:var(--text)}.user-email{font-size:12px;color:var(--muted)}.nav-tabs{display:flex;gap:12px;padding:14px 24px;background:var(--panel-strong);border-bottom:1px solid var(--border)}.tab{padding:10px 16px;border-radius:12px;border:1px solid var(--border);color:var(--muted);transition:all .2s ease}.tab.active{background:var(--tab-active-bg);color:var(--text);border-color:#2dd4bf59}.tab.disabled{opacity:.5;cursor:not-allowed}.page-container{padding:28px;flex:1}.page{background:var(--page-bg);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow);max-width:var(--content-width);margin:0 auto;width:100%}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--muted);margin:0 0 4px}.page h2{margin:0}.page-loading{display:flex;align-items:center;gap:12px;color:var(--muted);padding:24px}.loader{width:16px;height:16px;border:2px solid rgba(45,212,191,.35);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px}.auth-card{width:min(960px,100%);display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:var(--page-bg);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.auth-hero{padding:32px;background:var(--auth-hero-bg);border-right:1px solid var(--border)}.auth-hero h1{margin:12px 0 8px;font-size:32px}.auth-hero p{margin:0;color:var(--muted)}.auth-form{padding:32px;display:flex;flex-direction:column;gap:14px}.form-field{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:14px}.form-field input,.form-field select{background:var(--panel-strong);border:1px solid var(--border);border-radius:12px;padding:12px 14px;color:var(--text);font-size:15px}.form-field input:focus,.form-field select:focus{outline:2px solid rgba(45,212,191,.5);border-color:#2dd4bf66}.checkbox-field{display:flex;align-items:center;gap:8px;color:var(--text)}.primary-button,.ghost-button{padding:10px 16px;border-radius:12px;border:1px solid transparent;cursor:pointer;font-weight:600;color:var(--text);background:transparent;transition:all .2s ease}.primary-button{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#04101f;box-shadow:0 10px 30px #0ea5e959}.primary-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.ghost-button{border-color:var(--border);color:var(--text);background:#ffffff05}.ghost-button.small,.primary-button.small{padding:8px 12px;font-size:13px}.ghost-button:hover{border-color:#2dd4bf73}.ghost-button.danger{border-color:#f8717159;color:#fca5a5}.table-wrapper{border:1px solid var(--border);border-radius:16px;overflow-x:auto;overflow-y:hidden}.camera-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,360px));gap:16px;justify-content:flex-start}.camera-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:18px;background:var(--card-bg);box-shadow:var(--shadow);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.camera-card:hover{border-color:#2dd4bf73;box-shadow:0 24px 60px #00000073}.card-media{position:relative;aspect-ratio:16 / 9;background:#030712;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease,opacity .2s ease}.card-media:hover img{transform:scale(1.03)}.card-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.45))}.card-media-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-between;padding:12px;pointer-events:none;align-items:flex-start}.status-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.1);color:#f8fafc;background:var(--status-chip-bg);box-shadow:0 16px 40px #00000040;align-self:flex-end}.status-chip.ok{border-color:#34d39973;color:#bbf7d0}.status-chip.muted{color:#cbd5f5;border-color:#ffffff14}.media-hint{align-self:flex-start;padding:6px 10px;border-radius:10px;background:#00000073;color:#cbd5f5;font-size:12px;letter-spacing:.02em;margin-top:auto}.camera-card-body{padding:16px;display:flex;flex-direction:column;gap:12px}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.card-title{margin:0}.url-chip{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:13px;color:#c7d2fe;padding:10px 12px;background:var(--url-chip-bg);border:1px dashed var(--border);border-radius:12px;word-break:break-all}.card-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.camera-meta-inline{display:flex;flex-direction:column;gap:8px;align-items:flex-start;line-height:1.4}.camera-meta-inline .camera-meta-item{display:grid;grid-template-columns:130px 1fr;column-gap:12px;align-items:baseline;width:100%;white-space:normal}.camera-meta-inline .detail-label{text-transform:none;letter-spacing:.02em;font-size:12px;font-weight:600;color:var(--muted);min-width:0}.camera-meta-inline .detail-value{font-size:15px;font-weight:600;color:var(--text)}.camera-meta-item.primary .detail-value{font-size:14px;font-weight:600}.status-value{display:inline-flex;align-items:center;gap:8px}.card-actions{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap}.glass-pill{box-shadow:inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left}.data-table th{font-weight:600;color:var(--muted);background:var(--table-th-bg)}.data-table tr:last-child td{border-bottom:none}.data-table.hoverable tr:hover{background:#2dd4bf0f}.data-table .rtsp-column,.data-table .api-column{max-width:200px;width:200px;white-space:normal;word-break:break-all;overflow-wrap:anywhere}.data-table .rtsp-column *{word-break:break-all;overflow-wrap:anywhere}@media (max-width: 1200px){.data-table .rtsp-column,.data-table .api-column{display:none}}.monitoring-table-wrapper{max-width:1400px;margin:0 auto;overflow-x:hidden}.data-table.monitoring-table{font-size:15px;border:1px solid var(--border);border-radius:12px;overflow:hidden}.data-table.monitoring-table.large th,.data-table.monitoring-table.large td{padding:10px 12px}.data-table.monitoring-table .event-column-header{min-width:200px;text-align:left}.data-table.monitoring-table td.event-column-cell{padding-left:12px;padding-right:12px}.event-column-datetime{font-weight:600;display:block}.event-column-label{margin-top:4px;display:block;font-size:13px;color:var(--muted);white-space:normal;word-break:break-word}.data-table.compact th,.data-table.compact td{padding:10px;font-size:13px}.table-filter-row{background:#ffffff05}.table-filter-row input:not(.table-search-input),.table-filter-row select{width:100%;background:var(--panel-strong);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:6px 8px;font-size:12px}.table-filter-row .table-filter{display:grid;gap:6px}.export-menu button.ghost-button{height:var(--export-btn-h);padding:0 16px;font-size:14px;font-weight:600}.table-filter.filter-inline{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}.with-clear{padding-right:28px}.input-with-clear{position:relative}.input-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:14px;line-height:1;padding:2px}.table-inline-filters th{padding:12px 14px!important;background:var(--table-th-bg);border-bottom:2px solid var(--border);vertical-align:middle}.table-inline-filters .event-filter{min-width:200px}.date-filter-group{display:flex;flex-direction:column;gap:6px;min-width:150px;max-width:160px}.filter-input,.filter-select{width:100%;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:#0f172af2;color:var(--text);font-size:15px;transition:all .2s ease;color-scheme:dark}.direction-filter .filter-select{max-width:140px}.filter-input:focus,.filter-select:focus{outline:none;border-color:#38bdf880;background:var(--panel-strong);box-shadow:0 0 0 3px #38bdf826}.filter-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%238ba2c7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 4.5 6 7.5 9 4.5'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.th-center,.td-center{text-align:center!important}.filter-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.filter-clear{position:absolute;right:6px;background:transparent;border:none;color:var(--muted);cursor:pointer;padding:4px;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s}.filter-clear:hover{opacity:1;color:var(--text)}.filter-cell.empty-filter,.filter-cell.status-filter,.filter-cell.actions-filter{pointer-events:none}.table-loading-row td{border-bottom:none}.table-loader{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.table-loader .loader.small{width:18px;height:18px;border-width:3px}.monitoring-thumb{width:128px;height:auto;object-fit:cover;border-radius:10px;border:1px solid var(--border);display:block}.monitoring-thumb.plate-thumb{width:100%;max-width:96px;height:auto}.monitoring-thumb.vehicle-thumb{position:static;width:100%;height:auto;object-fit:cover;border:none}.autocorrect-db-images{display:flex;gap:8px;flex-wrap:wrap}.autocorrect-plate-block{display:flex;flex-direction:column;gap:6px}.autocorrect-plate-row{display:flex;align-items:center;gap:8px}.autocorrect-plate-text{font-weight:600;letter-spacing:.04em}.autocorrect-similarity{display:flex;flex-direction:column;gap:4px}.autocorrect-compare{display:flex;align-items:center;gap:10px}.autocorrect-compare-meta{display:flex;flex-direction:column;gap:4px}.autocorrect-compare-text{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.autocorrect-arrow{color:var(--muted)}.autocorrect-event-photos{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.autocorrect-threshold{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.autocorrect-threshold input{width:110px;min-width:90px;padding:8px 10px;border-radius:10px;background:var(--panel-strong);border:1px solid var(--border);color:var(--text);font-size:14px}.autocorrect-threshold input:focus{outline:2px solid rgba(45,212,191,.5);border-color:#2dd4bf66}.thumb-wrapper{display:inline-flex;position:relative;overflow:hidden;width:128px;height:auto;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--border);background:#020712}.vehicle-thumb-wrapper{cursor:zoom-in;padding:0;background:transparent;border:none}.vehicle-thumb-wrapper:focus-visible{outline:2px solid rgba(45,212,191,.7);outline-offset:2px}.vehicle-thumb-wrapper .monitoring-thumb{pointer-events:none}.crop-thumb{width:128px;height:auto;border-radius:10px;border:1px solid var(--border);background:#020712;display:block}.crop-thumb.plate-crop{width:100%;max-width:96px;height:auto}.crop-button{padding:0;background:transparent;border:none;cursor:zoom-in}.status-cell{display:flex;flex-direction:column;gap:4px;align-items:center}.status-indicator{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:20px;font-size:.9em;font-weight:500;background:#ffffff0f;border:1px solid rgba(255,255,255,.05);color:#cbd5e1;white-space:nowrap;width:fit-content}.status-indicator.allowed{background:#22c55e24;border-color:#22c55e59;color:#bbf7d0}.status-indicator.blocked{background:#f8717124;border-color:#f8717159;color:#fecaca}.status-indicator.neutral{background:#94a3b81f;border-color:#94a3b847;color:#cbd5e1}.status-comment{max-width:240px;white-space:normal;word-wrap:break-word;text-align:center;font-size:.85em;color:var(--muted);line-height:1.3}.lists-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.lists-grid.modern{gap:20px}.lists-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lists-shell{display:flex;flex-direction:column;gap:20px}.list-control-header h3,.list-panel-header h3{margin:0}.list-panel-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.list-panel-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.list-add-button{align-self:flex-start;display:inline-flex;width:auto;white-space:nowrap}.list-switch{display:flex;gap:8px;padding:6px;border-radius:999px;border:1px solid var(--border);background:#ffffff05}.switch-pill{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--muted);font-weight:600;cursor:pointer;transition:all .2s ease}.switch-pill.active{background:var(--tab-active-bg);color:var(--text);border-color:#2dd4bf59;box-shadow:0 10px 24px #0ea5e92e}.switch-pill:focus-visible{outline:2px solid rgba(45,212,191,.6);outline-offset:2px}.switch-count{font-size:12px;padding:2px 8px;border-radius:999px;background:#ffffff14;color:var(--text)}.list-form.compact{padding:12px;gap:10px}.list-form-actions.compact{align-items:center}.list-table-controls.compact{margin-top:4px}.list-telegram{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:12px;border:1px solid var(--border);background:#ffffff05}.list-telegram-title{font-weight:600}.list-telegram-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.list-table-panel{min-height:100%}.lists-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.list-stat{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:8px 12px;border-radius:12px;border:1px solid var(--border);background:#ffffff05;min-width:120px}.list-stat-value{font-size:20px;font-weight:700;color:var(--text)}.list-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 14px 38px #00000040}.telegram-card{margin-bottom:20px}.telegram-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.list-card.glass{background:linear-gradient(135deg,#2dd4bf0f,#0ea5e914),var(--panel-strong);border:1px solid rgba(255,255,255,.06)}.list-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.list-card-header h3{margin:0}.list-card-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.list-count{display:flex;flex-direction:column;align-items:flex-end;padding:6px 10px;border-radius:12px;border:1px solid var(--border);background:#ffffff05;min-width:84px}.list-count-value{font-size:18px;font-weight:700;color:var(--text);line-height:1}.list-loading{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.list-loading .loader.small{width:14px;height:14px;border-width:2px}.list-form{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:12px;border:1px solid var(--border);background:#ffffff05}.list-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.list-form input{min-width:160px;flex:1;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:10px 12px;font-size:14px}.list-form input:focus{outline:2px solid rgba(45,212,191,.5);border-color:#2dd4bf66}.list-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.list-form-buttons{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.list-form-hint{color:var(--muted);font-size:12px}.list-table-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;width:100%}.list-table-meta{display:flex;align-items:center;gap:10px}.list-search{position:relative;width:min(340px,100%);flex:1}.list-search-input{width:100%;height:40px;border-radius:12px;padding:10px 36px 10px 40px;font-size:14px;color:var(--text);caret-color:var(--text);background:#02061759;border:1px solid rgba(148,163,184,.18);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.list-search-input::placeholder{color:#94a3b8bf}.list-search-input:focus{outline:none;background:#02061780;border-color:#38bdf88c;box-shadow:0 0 0 3px #38bdf826}.list-search .input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8d9;pointer-events:none;display:inline-flex;align-items:center;justify-content:center}.list-search .input-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:14px;line-height:1;padding:4px;border-radius:8px}.list-search .input-clear:hover{background:#ffffff0f;color:#e2e8f0}.list-table{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#ffffff03}.list-row.is-editing{background:#2dd4bf14}.list-edit-input{width:100%;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px}.list-edit-input:focus{outline:2px solid rgba(45,212,191,.4);border-color:#2dd4bf59}.list-edit-input.mono{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;letter-spacing:.05em}.list-plate{font-size:.85rem;letter-spacing:.04em}.list-comment{font-size:13px;color:var(--text)}.empty-title{color:var(--text);font-weight:600}.list-panel-header{border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.lists-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 1024px){.lists-grid{grid-template-columns:1fr}}@media (max-width: 900px){.lists-shell{gap:18px}.lists-summary,.lists-meta{width:100%;justify-content:flex-start}.list-panel-header{align-items:flex-start}.list-panel-actions,.list-card-meta{width:100%;justify-content:space-between}.list-form,.list-table-controls,.list-form-actions{align-items:stretch}.list-form button,.list-form-actions .primary-button{width:100%}}.data-table.subdued th,.data-table.subdued td{background:transparent}.data-table.compact{border-radius:12px;overflow:hidden}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:var(--shadow)}.stat-card-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.stat-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.stat-list.compact{gap:6px;margin-top:8px}.stat-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:#ffffff05}.stat-list.compact li{padding:6px 8px;font-size:12px}.stat-list .pill.small-pill{padding:4px 8px;font-size:12px}.stat-row-right{display:flex;align-items:center;gap:10px}.bucket-types{margin-top:10px}.stats-section{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.section-header h4{margin:0}.section-header p{margin:4px 0 0}.stat-row{position:relative}.stat-meta{display:flex;flex-direction:column;gap:2px}.thumb-preview{width:70px;height:48px;overflow:hidden;border-radius:8px;border:1px solid var(--border);transition:transform .18s ease,box-shadow .18s ease}.thumb-preview img{width:100%;height:100%;object-fit:cover;transition:transform .18s ease}.image-meta-wrapper{display:inline-flex;align-items:center}.thumb-preview .image-meta-wrapper{width:100%;height:100%}.cache-tree-grid{display:flex;flex-direction:column;gap:12px;padding:12px}.cache-tree{border:1px solid var(--border);border-radius:14px;background:#ffffff05;padding:10px 12px}.cache-tree summary{cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:12px;list-style:none}.cache-tree summary::-webkit-details-marker{display:none}.cache-summary{display:flex;flex-direction:column;gap:2px}.cache-summary-title{font-weight:600}.cache-events{display:flex;flex-direction:column;gap:12px;padding:10px 2px 4px}.cache-event-card{border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:10px}.cache-event-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.cache-event-title{font-weight:600}.cache-files-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.cache-file-card{display:flex;flex-direction:column;gap:6px;font-size:12px}.cache-thumb{width:100%;height:90px;object-fit:cover;border-radius:8px;border:1px solid var(--border);background:#020712}.cache-thumb.placeholder{display:flex;align-items:center;justify-content:center;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.cache-file-name{word-break:break-all;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;color:var(--text)}.tooltip-thumb .image-meta-wrapper{width:100%;height:100%}.image-meta-tooltip{position:fixed;z-index:1200;background:var(--panel-strong);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:12px;color:var(--text);box-shadow:var(--shadow);pointer-events:none;white-space:nowrap}.image-meta-row{line-height:1.4}.stat-row .thumb-preview{margin-left:auto;position:relative}.bar-row{gap:8px}.bar{flex:1;height:10px;border-radius:999px;background:#ffffff0d;overflow:hidden;border:1px solid var(--border)}.bar-fill{height:100%;background:linear-gradient(135deg,var(--accent),var(--accent-strong));transition:width .3s ease}.activity-card{display:flex;flex-direction:column;gap:12px}.activity-time-chart{display:flex;align-items:flex-end;gap:8px;overflow-x:auto;padding-bottom:4px}.activity-time-bar{display:flex;flex-direction:column;gap:6px;align-items:center;background:transparent;border:none;padding:0;color:inherit;cursor:pointer;flex:1 1 0;min-width:16px}.activity-time-count{font-size:10px;color:var(--muted);min-height:14px}.activity-time-bar:disabled{cursor:default;opacity:.6}.activity-time-track{height:160px;width:100%;border-radius:12px;background:#ffffff0a;border:1px solid var(--border);padding:6px;display:flex;align-items:flex-end}.activity-time-stack{width:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:2px}.activity-segment{width:100%;border-radius:6px;min-height:2px;display:block}.activity-segment.in{background:linear-gradient(160deg,#22c55e,#15803d)}.activity-segment.out{background:linear-gradient(160deg,#f97316,#c2410c)}.activity-segment.stop{background:linear-gradient(160deg,#38bdf8,#0284c7)}.activity-segment.total{background:linear-gradient(160deg,#38bdf8,#6366f1);height:100%}.activity-time-label{font-size:10px;color:var(--muted);min-height:14px;text-align:center}.activity-time-label.multiline{display:flex;flex-direction:column;align-items:center;min-height:28px;line-height:1.1}.activity-time-label-sub{font-size:9px;color:var(--muted);text-transform:lowercase}.activity-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted)}.activity-legend-item{display:inline-flex;align-items:center;gap:6px}.activity-legend-dot{width:10px;height:10px;border-radius:50%}.activity-legend-dot.in{background:#22c55e}.activity-legend-dot.out{background:#f97316}.activity-legend-dot.stop{background:#38bdf8}.activity-summary{text-align:right}.activity-modal-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.activity-summary-pill{border-radius:999px;padding:4px 10px;font-size:12px;border:1px solid var(--border);background:#ffffff0a}.activity-summary-pill.in{border-color:#22c55e66;color:#86efac}.activity-summary-pill.out{border-color:#f9731666;color:#fdba74}.activity-summary-pill.stop{border-color:#38bdf866;color:#7dd3fc}.activity-modal-body{display:flex;flex-direction:column;gap:12px;max-height:60vh;overflow:auto}.activity-detail-list{display:flex;flex-direction:column;gap:10px}.activity-detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#ffffff05;flex-wrap:wrap}.activity-detail-meta{display:flex;flex-direction:column;gap:2px;min-width:160px}.activity-detail-plate,.activity-detail-direction{min-width:120px}.activity-direction-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:12px;border:1px solid var(--border);background:#ffffff0a}.activity-direction-pill.in{border-color:#22c55e66;color:#86efac}.activity-direction-pill.out{border-color:#f9731666;color:#fdba74}.activity-direction-pill.stop{border-color:#38bdf866;color:#7dd3fc}.activity-direction-pill.unknown{color:var(--muted)}.activity-detail-thumbs{display:flex;align-items:center;gap:8px}.activity-thumb{width:64px;height:40px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#020712}.activity-thumb img{width:100%;height:100%;object-fit:cover}.activity-detail-note{text-align:right}.activity-time-bar:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px;border-radius:12px}@media (max-width: 720px){.activity-time-track{height:120px}.activity-time-chart{gap:6px}}.heatmap-card .heatmap-grid{display:flex;flex-direction:column;gap:6px}.heatmap-row{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:6px}.heatmap-label{font-size:12px;color:var(--muted);text-align:right}.heatmap-cells{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:2px}.heatmap-cell{display:block;height:18px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));border-radius:3px;position:relative;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px}.heatmap-legend{margin-top:6px}.heatmap-hours{display:grid;grid-template-columns:32px repeat(24,minmax(0,1fr));align-items:center;gap:6px 2px;margin-left:32px}.heatmap-hours span{text-align:center;display:flex;align-items:center;justify-content:center}.full-width-input{width:100%}.heatmap-count{pointer-events:none;line-height:1}.heatmap-tooltip{position:fixed;background:var(--panel-strong);border:1px solid var(--border);border-radius:12px;padding:12px;box-shadow:0 10px 30px #00000080;z-index:100;min-width:300px;pointer-events:none}.list-tooltip{max-width:360px}.tooltip-head{display:flex;flex-direction:column;gap:2px}.tooltip-title{font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--text)}.tooltip-subtitle{font-size:11px;color:var(--muted)}.tooltip-list{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:0}.tooltip-list li{display:flex;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08)}.tooltip-list li:last-child{border-bottom:0}.tooltip-thumb{width:67px;height:38px;border:1px solid var(--border);border-radius:6px;overflow:hidden;flex-shrink:0;background:#ffffff0a}.tooltip-thumb img{width:100%;height:100%;object-fit:cover}.tooltip-thumb-placeholder{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px}.tooltip-item-meta{min-width:0;display:flex;flex-direction:column;gap:4px;padding-top:2px}.tooltip-item-plate{font-family:JetBrains Mono,Share Tech Mono,monospace;font-size:.85rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:#f8fafc}.tooltip-item-sub{font-size:10px;letter-spacing:.08em;color:#e2e8f0;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tooltip-more-hint{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border);font-size:11px;color:var(--muted)}.tooltip-more-hint-icon{display:inline-flex;width:14px;height:14px;color:#9fb4d5}.tooltip-more-hint-icon svg{width:14px;height:14px}.stat-row.is-clickable,.activity-tooltip-table tbody tr.is-video-clickable td{cursor:pointer}.modal.top-frequent-gallery-modal{width:min(860px,94vw);max-height:calc(100vh - 40px);padding:0;background:#0f172aeb;border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 20px 40px #0006,inset 0 0 20px #6366f10d;overflow:hidden}.top-frequent-gallery-scroll{overflow-x:hidden;overflow-y:auto;padding:14px 16px 16px}.top-frequent-gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 10px;width:100%}.top-frequent-gallery-shot{display:flex;flex-direction:column;gap:6px;align-items:stretch;min-width:0}.top-frequent-gallery-shot.is-video-clickable{cursor:pointer}.top-frequent-gallery-shot.is-video-clickable .top-frequent-gallery-thumb{transition:border-color .18s ease,box-shadow .18s ease}.top-frequent-gallery-shot.is-video-clickable:hover .top-frequent-gallery-thumb{border-color:#5b92ffb3;box-shadow:0 0 0 1px #5b92ff59}.modal.video-preview.stats-video-preview-modal{width:auto;height:auto;max-width:min(96vw,1600px);max-height:92vh;background:transparent;border:none;box-shadow:none;overflow:hidden}.modal-backdrop.stats-video-modal-backdrop{z-index:10050!important}.modal.video-preview.stats-video-preview-modal .video-preview-body{flex:0 0 auto;min-height:0;padding:0;background:transparent;align-items:center;justify-content:center}.modal.video-preview.stats-video-preview-modal .image-modal-video-wrap{position:static;left:auto;bottom:auto;width:auto;height:auto;max-width:min(92vw,1500px);max-height:calc(92vh - 56px);aspect-ratio:auto;flex:0 0 auto;border-radius:0;border:none;box-shadow:none;background:transparent;display:flex;align-items:center;justify-content:center}.modal.video-preview.stats-video-preview-modal .image-modal-video{width:auto;height:auto;max-width:min(92vw,1500px);max-height:calc(92vh - 56px);object-fit:contain;background:transparent}@media (max-width: 900px){.modal.video-preview.stats-video-preview-modal .image-modal-video-wrap,.modal.video-preview.stats-video-preview-modal .image-modal-video{max-width:94vw;max-height:calc(100vh - 128px)}}.stats-unique-shot.is-video-clickable{cursor:pointer}.stats-unique-shot.is-video-clickable .stats-unique-thumb{transition:border-color .18s ease,box-shadow .18s ease}.stats-unique-shot.is-video-clickable:hover .stats-unique-thumb{border-color:#5b92ffb8;box-shadow:0 0 0 1px #5b92ff59}.top-frequent-gallery-thumb{width:100%;aspect-ratio:3 / 2;height:auto;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#0f172a99}.top-frequent-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}.top-frequent-gallery-thumb-placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:10px;color:var(--muted)}.top-frequent-gallery-date{font-size:.6rem;color:#94a3b8;white-space:nowrap;text-align:center}@media (max-width: 900px){.top-frequent-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 640px){.top-frequent-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.stat-total{font-size:36px;font-weight:700;margin:10px 0 4px}.monitoring-header{align-items:flex-start;gap:16px}.monitoring-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.monitoring-actions.center{justify-content:center}.monitoring-actions .form-field.inline{display:inline-flex;align-items:center;gap:8px}.resource-card{display:flex;flex-direction:column;gap:6px}.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.resource-row{display:flex;align-items:center;gap:10px}.resource-label{width:60px;font-size:12px;color:var(--muted);font-weight:600}.resource-bar{position:relative;flex:1;height:8px;background:var(--panel-strong);border-radius:999px;overflow:hidden}.resource-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--accent);transition:width .3s ease}.resource-value{min-width:78px;font-size:12px;text-align:right;display:flex;flex-direction:column;gap:2px}.resource-badges{display:flex;flex-wrap:wrap;gap:6px}.resource-badge{padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;font-size:11px;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace}.resource-meta{font-size:11px;color:var(--muted)}.row-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.row-actions.centered{justify-content:center;width:100%}.pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;letter-spacing:.02em}.pill.success{background:#34d39926;color:#86efac}.pill.muted{background:#ffffff0d;color:var(--muted)}.pill.accent{background:#0ea5e926;color:#7dd3fc}.pill.danger-pill{background:#f871712e;color:#fecdd3}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:var(--muted)}.status-dot.ok{background:#34d399}.status-dot.error{background:#f87171}.status-dot.unknown{background:var(--muted)}.muted-text{color:var(--muted)}.muted-text.small{font-size:12px}.info-box{padding:12px 14px;background:#ffffff08;border:1px solid var(--border);border-radius:12px;color:var(--muted);margin:12px 0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:16px;margin-bottom:16px;background:#ffffff05;border:1px solid var(--border);border-radius:14px}.filters-actions{display:flex;align-items:flex-end;gap:8px;justify-content:flex-end}.pagination{display:flex;align-items:center;justify-content:space-between;padding:14px;background:#ffffff05;border-top:1px solid var(--border)}.pagination-size{display:inline-flex;align-items:center;gap:8px}.page-size-select{background:var(--panel-strong);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:6px 10px}.pagination-nav{display:inline-flex;align-items:center;gap:10px}.empty-state{display:flex;align-items:center;gap:12px;padding:18px;border:1px dashed var(--border);border-radius:14px;color:var(--muted)}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#040a16a6;display:flex;align-items:center;justify-content:center;padding:20px;z-index:20}.stream-modal-backdrop{background:#020617e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{background:var(--panel-strong);border:1px solid var(--border);border-radius:16px;padding:20px;width:min(640px,100%);box-shadow:var(--shadow)}.modal.wide{width:min(960px,100%)}.modal.image-modal{width:min(980px,95vw)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.image-modal-body{display:flex;align-items:center;justify-content:center;max-height:70vh}.image-modal-body img{max-width:100%;max-height:70vh;width:auto;height:auto;border-radius:12px;border:1px solid var(--border);background:#000}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.stack{display:flex;flex-direction:column;gap:12px}.error-box,.success-box{padding:12px 14px;border-radius:12px;font-size:14px;margin:8px 0}.error-box{background:#f871711f;color:#fecdd3;border:1px solid rgba(248,113,113,.25)}.success-box{background:#34d3991f;color:#bbf7d0;border:1px solid rgba(52,211,153,.25)}.stream-modal{width:min(1180px,100%);background:#0f172aeb;border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:0;box-shadow:0 28px 68px #0009;overflow:hidden}.stream-modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 28px;border-bottom:1px solid rgba(255,255,255,.06);background:#ffffff05}.stream-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0}.stream-title{margin:0}.stream-modal-close{width:40px;height:40px;border-radius:999px;border:none;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease}.stream-modal-close:hover{background:#ffffff14;color:var(--text)}.stream-modal-close svg{width:22px;height:22px}html[data-theme=light] .stream-modal-backdrop{background:#e2e8f0b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}html[data-theme=light] .stream-modal{background:#fffffff2;border-color:#0f172a14;box-shadow:0 22px 50px #0f172a24}html[data-theme=light] .stream-modal-header{background:#0f172a08;border-bottom-color:#0f172a14}html[data-theme=light] .stream-modal-close{color:#475569}html[data-theme=light] .stream-modal-close:hover{background:#0f172a0f;color:#0f172a}html[data-theme=light] .stream-title-row .pill.accent.location-pill{background:#3b82f629;color:#1d4ed8;border:1px solid rgba(59,130,246,.22)}.stream-header-actions{display:flex;align-items:center;gap:10px}.stream-frame{position:relative;border:1px solid var(--border);border-radius:16px;overflow:hidden;aspect-ratio:16 / 9;min-height:360px;background:radial-gradient(circle at 20% 20%,rgba(45,212,191,.08),transparent 40%),#030712;box-shadow:inset 0 0 24px #00000073}.stream-frame img{width:100%;height:100%;object-fit:contain;display:block;background:#000}.live-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#ef444429;color:#fecdd3;border:1px solid rgba(248,113,113,.35);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 16px 40px #ef44441f}.live-chip.floating{position:absolute;top:14px;left:14px}.live-dot{width:10px;height:10px;background-color:#ef4444;border-radius:50%;box-shadow:0 0 #ef4444a6;animation:livePulse 1.8s ease-out infinite}@keyframes livePulse{0%{box-shadow:0 0 #ef4444b3}60%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}.stream-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.meta-card{padding:14px;border:1px solid var(--border);border-radius:14px;background:#ffffff08;box-shadow:inset 0 1px #ffffff05}.meta-card.full{grid-column:1 / -1}.stream-url{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:13px;word-break:break-all;color:#c7d2fe;padding:10px 12px;border-radius:10px;background:#0f172a99;border:1px dashed var(--border)}.status-pill{display:inline-flex;align-items:center;gap:8px}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.detail-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.detail-value{font-weight:600}.clickable{cursor:pointer}.toast{position:fixed;bottom:20px;right:20px;padding:10px 14px;background:#0ea5e926;border:1px solid rgba(14,165,233,.4);border-radius:12px;color:#bfe5ff;box-shadow:var(--shadow)}.auth-card{grid-template-columns:1.2fr 1fr}@media (max-width: 900px){.auth-card{grid-template-columns:1fr}.auth-hero{border-right:none;border-bottom:1px solid var(--border)}.stream-modal-header{flex-direction:column;align-items:flex-start}.stream-header-actions{width:100%;justify-content:space-between}.stream-layout{gap:12px}.stream-frame{min-height:240px}}@media (max-width: 720px){.nav-tabs{flex-wrap:wrap}.page-container,.page{padding:16px}.filters{grid-template-columns:1fr}.page-header{align-items:flex-start}.list-switch{flex-direction:column;border-radius:14px}}.admin-login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f8fafc,#eef2ff);color:#0f172a}.admin-login .auth-card{max-width:840px;width:min(840px,100%);background:#fff;border:1px solid #e2e8f0;box-shadow:0 20px 60px #0f172a1f}.admin-login .auth-hero{background:linear-gradient(135deg,#1e293b,#0f172a);color:#e2e8f0;padding:32px}.admin-login .auth-hero h2{color:#fff}.admin-login .auth-form{padding:28px;background:#fff}.admin-login .form-field input{background:#f8fafc;border-color:#e2e8f0;color:#0f172a}.admin-login .primary-button{background:#0f172a;border-color:#0f172a;color:#fff}.admin-login .primary-button:hover{background:#111827;border-color:#111827}.admin-login .error-box{background:#fef2f2;border-color:#fecdd3;color:#b91c1c}.header-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.tab-content{width:100%}.fade-in{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.full-heatmap{padding:24px!important}.heatmap-container{padding-bottom:12px}.heatmap-card.full-heatmap .heatmap-grid{width:100%}.hour-label{font-size:9px;white-space:nowrap;display:flex;justify-content:center;align-items:center;margin-top:4px}.heatmap-hours{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:6px;height:20px;border-top:1px solid rgba(255,255,255,.05);padding-top:8px}.heatmap-hours-list{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));align-items:center;gap:2px;width:100%}.heatmap-desc{margin-top:-12px;margin-bottom:24px}.heatmap-legend{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.stream-modal.wide{max-width:1100px;background:#0f172aeb;border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 64px -12px #000000b3;overflow:hidden;display:flex;flex-direction:column}.stream-modal-header{padding:22px 28px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center}.stream-title{font-size:20px;font-weight:700;margin:0}.stream-layout{display:flex;flex-direction:column;gap:0}.stream-viewport{position:relative;width:100%;background:radial-gradient(circle at 15% 15%,rgba(99,102,241,.12),transparent 45%),#020712;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center;overflow:hidden}.stream-viewport img{width:100%;height:100%;object-fit:contain}.stream-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#020617a6;color:#cbd5f5;font-size:14px;letter-spacing:.02em;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:5}.stream-loading.is-visible{opacity:1}.stream-spinner{width:38px;height:38px;border-radius:999px;border:3px solid rgba(148,163,184,.25);border-top-color:#a855f7;border-right-color:#6366f1;animation:streamSpin 1s linear infinite;box-shadow:0 0 18px #6366f159}@keyframes streamSpin{to{transform:rotate(360deg)}}.stream-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fca5a5;font-weight:600;background:#020617b3;z-index:6}.stream-controls-overlay{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);display:flex;justify-content:flex-end;gap:12px;opacity:0;transition:opacity .3s ease;z-index:20}.stream-viewport:hover .stream-controls-overlay{opacity:1}.control-btn{width:44px;height:44px;border-radius:12px;background:#1e293bb3;border:1px solid rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.control-btn:hover{background:var(--primary);transform:scale(1.05);box-shadow:0 0 15px #0ea5e966}.stream-indicators{position:absolute;top:20px;left:20px;display:flex;gap:12px;z-index:10}.indicator-pill{padding:6px 12px;border-radius:6px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;gap:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1)}.indicator-pill.live{background:#ef4444cc;color:#fff;animation:pulse-red 2s infinite}.indicator-pill.stats{background:#0f172a99;color:#94a3b8}@keyframes pulse-red{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.stream-info-grid{display:none}.info-card{padding:16px;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:14px;min-width:220px;flex:0 0 auto}.info-label{font-size:11px;color:var(--muted);text-transform:uppercase;margin-bottom:4px}.info-value{font-weight:700;font-size:15px}.flash-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:0;pointer-events:none;z-index:100}.flash-active{animation:flashEffect .4s ease-out}@keyframes flashEffect{0%{opacity:.8}to{opacity:0}}.plate-text{font-family:Share Tech Mono,monospace;font-weight:600;letter-spacing:.05em;font-size:1rem;background:#ffffff08;padding:4px 8px;border-radius:4px;display:inline-flex;align-items:center}.plate-letters-white{color:#fff}.plate-digits{color:#e9f1ffcc}.direction-indicator{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:20px;font-size:.9em;font-weight:500;background:#ffffff0f;color:#94a3b8;border:1px solid rgba(255,255,255,.05)}.direction-indicator svg{opacity:.7}.direction-stack{display:flex;flex-direction:column;gap:4px}.td-center .direction-stack{align-items:center}.direction-meta{line-height:1.2}.monitoring-table-container{max-width:1400px;margin:0 auto}.monitoring-table thead tr.table-filter-row th{background:#0f172acc;padding:16px 8px;border-bottom:2px solid var(--border)}.monitoring-table thead tr:not(.table-filter-row) th{font-size:.9rem;font-weight:500;color:#fff;padding:16px 12px;text-transform:none;letter-spacing:.05em;background:#0f172a99;border-bottom:1px solid var(--border)}.monitoring-table td{vertical-align:middle}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.sortable-header:hover{background:#ffffff0d!important}.table-toolbar{display:flex;align-items:center;gap:14px;width:100%}.table-toolbar-left{display:flex;flex-direction:column;align-items:flex-start;min-width:220px}.table-title{font-size:1.15rem;font-weight:600;color:#fff}.table-toolbar-center{flex:1;display:flex;justify-content:center}.table-toolbar-center .centered-search{max-width:230px}.table-toolbar-right{display:flex;justify-content:flex-end;min-width:220px}.table-toolbar-field{display:flex;flex-direction:column;gap:6px}.table-toolbar-field select{width:auto;min-width:170px}.table-toolbar .muted-text.small{font-weight:300}.centered-search-container{display:flex;justify-content:center;width:100%;padding:8px 0}.centered-search{width:100%;max-width:400px}@media (max-width: 900px){.table-toolbar{flex-direction:column;align-items:stretch}.table-toolbar-left,.table-toolbar-right{min-width:0}.table-toolbar-center{justify-content:stretch}.table-toolbar-center .centered-search{max-width:none}}.plate-column{max-width:160px;white-space:normal;word-wrap:break-word}.plate-column-header{width:160px}.plate-stack-cell{padding-top:10px;padding-bottom:10px}.plate-stack{display:grid;grid-template-rows:auto auto;gap:6px;justify-items:center}.plate-stack-image{display:flex;justify-content:center;width:100%}.plate-stack-text{width:96px;max-width:100%;display:flex;justify-content:center;text-align:center}.plate-column .plate-text,.plate-column .plate-letters-white,.plate-column .plate-digits{font-family:Share Tech Mono,monospace}.date-time{display:flex;flex-direction:column;gap:4px;line-height:1.15}.date-time-time{font-weight:600}.date-time-date{color:var(--muted);font-size:.85em}.vehicle-cell{display:flex;flex-direction:column;gap:4px;justify-content:flex-start;line-height:1.15}.vehicle-primary{font-weight:600;line-height:1.15}.vehicle-secondary{color:var(--muted);font-size:.85em;line-height:1.15}.table-search-input{height:40px;border-radius:12px;padding:10px 36px 10px 40px;font-size:14px;color:var(--text);caret-color:var(--text);background:#02061759;border:1px solid rgba(148,163,184,.18);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.table-search-input::placeholder{color:#94a3b8bf}.table-search-input:focus{outline:none;background:#02061780;border-color:#38bdf88c;box-shadow:0 0 0 3px #38bdf826}.table-toolbar .input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8d9;pointer-events:none;display:inline-flex;align-items:center;justify-content:center}.table-toolbar .input-clear{right:10px;width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.table-toolbar .input-clear:hover{background:#ffffff0f;color:#e2e8f0}.monitoring-table-wrapper .filter-inline{display:flex;gap:4px}.monitoring-table-wrapper .filter-inline input[type=date]{width:100%;min-width:125px}.monitoring-table-wrapper .filter-inline input[type=time]{width:100%;min-width:100px}.monitoring-table .full-width-input{width:100%}.image-modal{max-width:90vw;max-height:90vh;margin:auto;display:flex;flex-direction:column;animation:modalEnter .25s ease-out}@keyframes modalEnter{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.image-modal-body{padding:0;overflow:hidden;display:flex;justify-content:center;align-items:center;background:#000;position:relative}.image-modal-body img{max-width:100%;max-height:calc(90vh - 60px);object-fit:contain}.image-modal-video-wrap{position:absolute;left:16px;bottom:16px;width:min(32.5vw,calc(32.5vh * 16 / 9));max-height:32.5vh;aspect-ratio:16 / 9;border-radius:10px;border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 30px #00000073;background:#000;z-index:2;overflow:hidden}.image-modal-video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.image-modal-video-meta{position:absolute;left:12px;bottom:12px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:6px 8px;border-radius:8px;font-size:11px;color:#e2e8f0;background:#0f172a99;border:1px solid rgba(255,255,255,.12);letter-spacing:.02em;pointer-events:none}.image-modal-video-meta-row{display:flex;align-items:baseline;gap:8px}.image-modal-video-meta-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.image-modal-video-meta-value{font-size:12px;font-weight:600;color:#e2e8f0}.image-modal-video-progress{position:absolute;left:0;right:0;bottom:0;height:18px;display:flex;align-items:flex-end;z-index:4}.image-modal-video-progress-bar{position:absolute;left:0;right:0;bottom:0;height:100%;width:0%;max-height:4px;background:linear-gradient(90deg,#2dd4bfe6,#0ea5e9e6);pointer-events:none}.image-modal-video-seek{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;z-index:5;width:100%;height:18px;margin:0;background:transparent;cursor:pointer}.image-modal-video-seek:disabled{cursor:default}.image-modal-video-seek::-webkit-slider-runnable-track{height:4px;background:#fff3}.image-modal-video-seek::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-top:-4px;width:12px;height:12px;border-radius:50%;border:none;background:#e2e8f0;box-shadow:0 0 0 1px #00000059}.image-modal-video-seek::-moz-range-track{height:4px;background:#fff3;border:none}.image-modal-video-seek::-moz-range-thumb{width:12px;height:12px;border-radius:50%;border:none;background:#e2e8f0;box-shadow:0 0 0 1px #00000059}.modal.video-preview{width:50vw;height:60vh;max-height:70vh;padding:0;border-radius:10px;border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 30px #00000073;background:#000;display:flex;flex-direction:column;overflow:hidden}.video-preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#0f172ae6;border-bottom:1px solid rgba(255,255,255,.12)}.video-preview-title{font-size:14px;font-weight:600;color:#e2e8f0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.video-preview-close{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:#e2e8f0;cursor:pointer;transition:background .15s ease,color .15s ease}.video-preview-close:hover{background:#ffffff1f;color:#fff}.video-preview-body{flex:1;min-height:0;background:#000;display:flex;flex-direction:column}.modal.video-preview .image-modal-video-wrap{position:relative;left:auto;bottom:auto;width:100%;max-height:none;aspect-ratio:auto;flex:1;min-height:0;border-radius:0;border:none;box-shadow:none}.modal.video-preview .image-modal-video{object-fit:contain}.video-preview-controls{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;display:flex;align-items:center;justify-content:center;background:transparent;pointer-events:none;z-index:3}.video-preview-controls .control-btn{pointer-events:auto}.video-preview-controls-right{position:absolute;right:16px;bottom:12px;display:flex;align-items:center;gap:8px}.video-control-download,.video-control-fullscreen{position:static}@media (max-width: 720px){.image-modal-video-wrap{left:12px;bottom:12px}}.modal-backdrop.fullscreen{padding:0;background:#000}.image-modal.fullscreen{max-width:100vw;max-height:100vh;width:100vw;height:100vh;border-radius:0;border:none;padding:0;animation:none}.image-modal.fullscreen .image-modal-body{max-height:none}.image-modal.fullscreen .image-modal-body img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.image-modal.fullscreen .modal-header{position:relative;z-index:10;background:#0f172ae6;border-bottom:1px solid var(--border)}.image-modal.fullscreen .image-modal-body{flex-grow:1;background:#000}.image-modal-actions{display:flex;gap:8px}.fullscreen-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;transition:all .2s}.fullscreen-toggle:hover{background:#ffffff1a}.pagination{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#0f172a66;border-top:1px solid var(--border);gap:20px}.pagination-left,.pagination-right{flex:1}.pagination-right{display:flex;justify-content:flex-end}.pagination-center{flex:2;display:flex;justify-content:center}.pagination-nav-modern{display:flex;align-items:center;gap:8px}.pagination-pages{display:flex;align-items:center;gap:6px}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 8px;border-radius:12px;border:1px solid var(--border);background:#ffffff08;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.pagination-btn:hover:not(:disabled){background:#ffffff14;color:var(--text);border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.pagination-btn.active{background:var(--accent);color:#064e3b;border-color:var(--accent);font-weight:700;box-shadow:0 0 20px #2dd4bf4d}.pagination-btn.active:hover{transform:none}.pagination-btn:disabled{opacity:.3;cursor:not-allowed;filter:grayscale(1)}.arrow-btn{color:var(--accent);background:#2dd4bf0d}.page-size-select.small{padding:8px 12px;font-size:13px;border-radius:10px;height:40px}html[data-theme=light] .pagination{background:#f1f5f9;border-top-color:#cbd5e1}html[data-theme=light] .pagination-btn{background:#fff;border-color:#cbd5e1;color:#475569}html[data-theme=light] .pagination-btn:hover:not(:disabled){background:#fff;border-color:#38bdf8;color:#0369a1;box-shadow:0 4px 12px #38bdf826}.event-log-list{display:flex;flex-direction:column;gap:18px}.event-log-entry__meta-row{display:flex;flex-wrap:wrap;gap:10px;font-size:.85rem;color:var(--muted)}.event-log-entry__media-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px}.event-log-thumb{width:auto;height:auto;max-width:100%;border-radius:10px;border:1px solid var(--border);object-fit:contain}.event-log-entry__meta-row span{border:1px solid var(--border);border-radius:999px;padding:4px 10px}.event-log-entry__payload{margin:0;padding:12px;background:#ffffff05;border-radius:12px;border:1px solid var(--border);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.8rem;max-height:320px;overflow:auto;white-space:pre-wrap}.stream-viewport[data-fullscreen=true] .stream-controls-overlay{background:transparent}:root{--primary: #6366f1;--primary-light: #818cf8;--secondary: #a855f7;--dark: #0f172a;--light: #f8fafc;--glass: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .1);--glass-hover: rgba(255, 255, 255, .07);--active-tab-bg: rgba(56, 189, 248, .1);--active-tab-border: #38bdf8;--live-bg: rgba(16, 185, 129, .2);--live-color: #10b981;--text-main: #e2e8f0;--text-muted: #94a3b8;--bg-color: var(--dark)}html[data-theme=light],body.light-mode{--bg-color: #f1f5f9;--text-main: #1e293b;--text-muted: #64748b;--glass: rgba(255, 255, 255, .6);--glass-border: rgba(0, 0, 0, .08);--glass-hover: rgba(255, 255, 255, .8);--active-tab-bg: rgba(99, 102, 241, .1);--active-tab-border: var(--primary)}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-color)!important;background:var(--bg-color)!important;color:var(--text-main);min-height:100vh;transition:background-color .4s ease;overflow-x:hidden}.background-blobs{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;filter:blur(80px);opacity:.3;pointer-events:none}.background-blobs .blob{animation:none}.blob-1{width:40vw;height:40vw;background:var(--primary);top:-10%;right:-5%}.blob-2{width:35vw;height:35vw;background:var(--secondary);bottom:-10%;left:-5%;animation-duration:25s}@keyframes move{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.header-glass{max-width:calc(var(--content-width) - 48px);margin:0 auto;padding:0 24px;min-height:70px;background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 8px 32px #0003;transition:all .3s ease;width:100%}.app-header{display:block!important;background:transparent!important;border:none!important;box-shadow:none!important;padding:0 28px!important;margin:0!important;position:sticky;top:15px!important;z-index:1000!important}.logo-text{display:flex;align-items:center;gap:8px;font-size:1.5rem;font-weight:800;background:linear-gradient(to right,var(--primary-light),var(--secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-decoration:none;font-family:Inter,sans-serif}nav{display:flex;gap:8px;margin:0 20px;position:relative}.nav-link{position:relative;z-index:2;text-decoration:none;color:var(--text-muted);padding:8px 16px;border-radius:12px;font-size:.9rem;font-weight:500;transition:color .3s ease;border:none;background:transparent}.nav-link:hover,.nav-link.active{color:var(--text-main)}.nav-bubble{position:absolute;height:100%;border-radius:12px;background:var(--active-tab-bg);border:1px solid var(--active-tab-border);box-shadow:0 0 15px #38bdf81a;transition:all .4s cubic-bezier(.25,1,.5,1);z-index:1;pointer-events:none;top:0}.nav-link:hover:not(.active){background:#ffffff1a}html[data-theme=light] .nav-link:hover:not(.active){background:#0000000d}.nav-right{display:flex;align-items:center;gap:15px;flex-shrink:0}.user-block{display:flex;flex-direction:column;text-align:right;padding-right:15px;border-right:1px solid var(--glass-border);gap:0}.username-new{font-weight:600;font-size:.85rem;color:var(--text-main)}.email-new{font-size:.75rem;color:var(--text-muted)}.icon-btn{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-main);width:38px;height:38px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn:hover{background:var(--glass-hover);transform:translateY(-2px);border-color:var(--primary-light)}.logout-btn{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-main);padding:8px 16px;border-radius:10px;font-weight:600;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.logout-btn:hover{background:#ef44441a;border-color:#ef444466}@media (max-width: 1100px){.header-glass{min-height:64px;padding:10px 16px;gap:10px;flex-wrap:wrap}nav{width:100%;order:3;margin:4px 0 0;padding:4px;overflow-x:auto;scrollbar-width:thin}.nav-link{white-space:nowrap;padding:8px 12px;font-size:.85rem}.nav-right{order:2;margin-left:auto;gap:10px}.user-block{display:none}}@media (max-width: 640px){.app-header{padding:0 16px!important;top:10px!important}.header-glass{padding:10px 12px;border-radius:16px}.logo-text{font-size:1.2rem}.logout-btn span{display:none}}.user-info-new{display:contents}.username-new{font-weight:600;font-size:.95rem;color:var(--text-main);font-family:Inter,sans-serif}.email-new{font-size:.75rem;color:var(--text-muted);font-family:Inter,sans-serif}.action-btn{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-main);padding:8px 16px;border-radius:12px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:8px;font-family:Inter,sans-serif}.action-btn:hover{background:var(--glass-hover);border-color:var(--primary-light);transform:translateY(-2px)}.theme-toggle-btn{width:40px;height:40px;padding:0;border-radius:12px}.icon-svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}.plate-text{font-weight:500!important}.plate-stack-text-lines{display:flex;flex-direction:column;align-items:center;gap:4px}.plate-stack-text{flex-direction:column;gap:6px;align-items:center}.embedding-check-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;border:1px solid var(--border);color:#94a3b8;background:#0f172a59}.embedding-check-badge.matched{color:#8faea4;border-color:#8faea499}.embedding-check-badge.no-match{color:#9aa3b2;border-color:#94a3b873}.plate-alt-text{font-family:Share Tech Mono,monospace;font-size:12px;letter-spacing:.04em;color:var(--muted)}.monitoring-table th.th-center{text-align:center}.data-table.monitoring-table{overflow:visible}.history-page .monitoring-table-wrapper{max-width:100%;width:100%;margin:0 auto;background:transparent;border:0!important;box-shadow:none!important;backdrop-filter:none;-webkit-backdrop-filter:none;overflow-x:auto;padding:0}.page.history-page{background:transparent!important;border:0!important;box-shadow:none!important;padding:24px 28px!important}.history-page .data-table.monitoring-table{width:100%;border:1px solid var(--glass-border)!important;border-radius:16px 16px 0 0!important;border-bottom:0!important;background:#0f172a8c!important;box-shadow:none!important;border-collapse:separate;border-spacing:0;overflow:visible}.history-page .history-header-section{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;flex-wrap:wrap}.history-page .history-header-right{display:flex;align-items:center}.history-page .history-title{margin:0;color:var(--text);font-size:24px;font-weight:600}.history-page .history-controls{display:flex;gap:12px;align-items:center;background:var(--glass);padding:10px 14px;border-radius:16px;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-wrap:wrap}.history-page .history-toggle{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-muted);cursor:pointer;white-space:nowrap}.history-page .history-toggle input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:2px solid var(--glass-border);border-radius:4px;cursor:pointer;position:relative;transition:all .2s}.history-page .history-toggle input[type=checkbox]:checked{background-color:var(--primary);border-color:var(--primary)}.history-page .history-toggle input[type=checkbox]:checked:after{content:"✓";position:absolute;color:#fff;font-size:12px;left:3px;top:-2px;line-height:1}.history-page .history-search-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px;background:var(--glass);border:1px solid var(--glass-border);border-radius:16px;padding:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.history-page .history-date-range{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;background:#ffffff0a;border:1px solid var(--glass-border);border-radius:12px;padding:0 6px;min-width:240px}.history-page .history-search-toggles{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;margin-left:auto;flex:0 0 auto;justify-content:flex-end}.history-page .history-search-field{display:flex;flex-direction:column;gap:6px;min-width:160px;flex:0 1 auto}.history-page .history-search-field label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.history-page .history-date-range:focus-within{border-color:#6366f18c;box-shadow:0 0 0 4px #6366f11f}.history-page .history-date-range .filter-input-wrapper{width:auto;flex:1 1 auto}.history-page .history-date-range .filter-input{border:0;background:transparent;border-radius:0;padding:10px 14px;min-width:112px;max-width:140px}.history-page .history-date-range .filter-input:focus{box-shadow:none}.history-page .history-date-divider{color:var(--text-muted);padding:0 4px}.history-page .history-search-bar .filter-input.small.with-icon{min-width:112px;max-width:128px}.history-page .history-search-field--plate{min-width:120px;max-width:144px}.history-page .history-search-field--direction{min-width:152px;max-width:184px}.history-page .history-search-field--brand{min-width:168px;max-width:192px}.history-page input[type=date]::-webkit-calendar-picker-indicator{opacity:0}.history-page .filter-select{background:#ffffff0a;border-color:var(--glass-border);color:var(--text-main);color-scheme:dark;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 4.5 6 7.5 9 4.5'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px;padding-right:32px}.history-page .filter-select option{background:#1e293b;color:#e2e8f0}.history-page .export-menu .ghost-button{background:linear-gradient(to right,var(--primary),var(--secondary));border:0;color:#fff;height:40px;padding:0 14px;border-radius:10px;font-weight:700;letter-spacing:.2px}.history-page .export-menu .ghost-button:active{transform:translateY(1px)}.history-page .monitoring-table thead tr th{background:#ffffff0d;border-bottom:1px solid var(--glass-border);color:var(--text-muted);padding:16px;font-size:.75rem;text-transform:uppercase;letter-spacing:1px}.history-page .monitoring-table thead tr th:first-child{border-top-left-radius:16px}.history-page .monitoring-table thead tr th:last-child{border-top-right-radius:16px}.history-page .monitoring-table tbody td{background:#ffffff03;border-bottom:1px solid var(--glass-border);padding:16px;font-size:.9rem;vertical-align:middle}.history-page .monitoring-table tbody tr:nth-child(2n) td{background:#ffffff08}.history-page .monitoring-thumb.vehicle-thumb{max-height:90px;object-fit:cover}.history-page .monitoring-thumb.plate-thumb{max-height:56px}.history-page .crop-thumb.vehicle-crop{max-height:190px;height:auto}.history-page .data-table.monitoring-table.hoverable tbody tr:hover td{background:var(--glass-hover)}.history-page .filter-input,.history-page .filter-select{background:#ffffff0a;border:1px solid var(--glass-border);border-radius:12px;color:var(--text-main)}.history-page .filter-input:focus,.history-page .filter-select:focus{border-color:#6366f18c;box-shadow:0 0 0 4px #6366f11f}html[data-theme=light] .history-page .monitoring-table-wrapper{background:transparent;border-color:transparent;box-shadow:none}html[data-theme=light] .history-page .monitoring-table thead tr th{background:#f8fafce0;border-bottom-color:#94a3b83d;color:#64748b}html[data-theme=light] .history-page .data-table.monitoring-table{background:#ffffffe6!important;border:1px solid rgba(15,23,42,.08)!important;border-bottom:0!important;border-radius:16px 16px 0 0!important;box-shadow:none!important}html[data-theme=light] .history-page .monitoring-table tbody td{background:#fffffff0;border-bottom-color:#94a3b833}html[data-theme=light] .history-page .monitoring-table tbody tr:nth-child(2n) td{background:#f8fafceb}html[data-theme=light] .history-page .data-table.monitoring-table.hoverable tbody tr:hover td{background:#6366f11f}html[data-theme=light] .history-page .history-controls,html[data-theme=light] .history-page .history-search-bar{background:#ffffffe6;border-color:#0f172a14}html[data-theme=light] .history-page .history-date-range{background:#fffffff5;border-color:#94a3b870}html[data-theme=light] .history-page .pagination{background:#f8fafce0;border:1px solid rgba(15,23,42,.08);border-top:0;border-radius:0 0 16px 16px;box-shadow:none}html[data-theme=light] .history-page .pagination-btn.active{background:#94a3b833;border-color:#94a3b866;color:#0f172a;box-shadow:none}html[data-theme=light] .history-page .history-toggle input[type=checkbox]{border-color:#0f172a33}html[data-theme=light] .history-page .filter-input,html[data-theme=light] .history-page .filter-select{background:#fffffff5;border-color:#94a3b870;color:#0f172a}html[data-theme=light] .history-page .filter-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%230f172a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 4.5 6 7.5 9 4.5'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px;padding-right:32px;color-scheme:light}html[data-theme=light] .history-page .filter-select option{background:#fff;color:#0f172a}.history-actions-header{width:72px}.table-toolbar-actions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;justify-content:flex-end}.monitoring-table-wrapper .filter-input-wrapper.has-icon{position:relative}.monitoring-table-wrapper .filter-input-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}.monitoring-table-wrapper .date-icon-button{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;padding:0;background:transparent;cursor:pointer;z-index:2}.monitoring-table-wrapper .filter-input-icon{z-index:1}.history-page .monitoring-table-wrapper .filter-input-icon{color:#fff}html[data-theme=light] .history-page .monitoring-table-wrapper .filter-input-icon{color:#0f172a}.history-page .history-date-range .filter-input-icon{left:auto;right:10px}.history-page .history-date-range .date-icon-button{left:auto;right:6px}.history-page .history-date-range .filter-input.with-icon,.history-page .history-date-range .filter-input.small.with-icon{padding-left:14px;padding-right:34px}.monitoring-table-wrapper .filter-input.with-icon,.monitoring-table-wrapper .filter-select.with-icon{padding-left:34px}.monitoring-table-wrapper .filter-input.small.with-icon{padding-left:32px}.history-page .thumb-empty{border:1px dashed var(--glass-border);background:#0f172a99;color:var(--text-muted);font-size:11px;font-weight:400;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;padding:6px;border-radius:10px}.history-page .thumb-empty:after{content:attr(data-placeholder);white-space:pre-line}.history-page .plate-stack-image.thumb-empty{width:100%;max-width:96px;aspect-ratio:5 / 3}.history-page .vehicle-thumb-wrapper.thumb-empty{width:128px;min-height:90px;max-height:190px;border:1px dashed var(--glass-border);background:#0f172a99}html[data-theme=light] .history-page .thumb-empty{background:#ffffffeb;border-color:#0f172a29;color:#64748b}.export-menu{position:relative;display:inline-flex;align-items:center;gap:8px}.export-progress{white-space:nowrap}.export-menu-popover{min-width:240px;width:max-content}.history-actions-cell{text-align:center}.history-menu{position:relative;display:inline-flex;align-items:center;justify-content:center}.history-menu-toggle{width:34px;height:34px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.history-menu-toggle:hover{background:#ffffff0f;border-color:var(--border)}.history-menu-toggle:focus-visible{outline:2px solid rgba(45,212,191,.5);outline-offset:2px}.history-menu-popover{position:absolute;right:0;top:calc(100% + 6px);min-width:220px;width:max-content;background:var(--panel-strong);border:1px solid var(--border);border-radius:12px;padding:6px;box-shadow:var(--shadow);z-index:6}.history-menu-item{width:100%;padding:10px 16px;border-radius:10px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer;font-size:14px;white-space:nowrap;display:flex;align-items:center}.history-menu-item:hover{background:#ffffff0f}.history-menu-item:disabled{opacity:.5;cursor:not-allowed}.history-minimal-modal{width:min(430px,100%);padding:24px;border-radius:20px;background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow);position:relative;overflow:hidden}.history-minimal-modal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;border:1px solid rgba(45,212,191,.14);pointer-events:none}.history-minimal-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.history-minimal-modal-title{display:flex;align-items:center;gap:10px;color:var(--text)}.history-minimal-modal-title h3{margin:0;font-size:1rem;font-weight:600}.history-minimal-modal-close{width:32px;height:32px;border:0;border-radius:999px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,color .2s ease,background .2s ease}.history-minimal-modal-close:hover{transform:rotate(90deg);color:var(--text);background:#2dd4bf24}.history-minimal-modal-close:disabled{opacity:.5;cursor:not-allowed}.history-minimal-plate-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;border:1px solid rgba(45,212,191,.28);background:#0ea5e924;font-family:Share Tech Mono,Roboto Mono,monospace;font-size:15px;font-weight:700;margin-bottom:10px}.history-minimal-status-row{margin-bottom:8px}.history-minimal-form{display:flex;flex-direction:column;gap:14px;margin-top:8px}.history-minimal-group{display:flex;flex-direction:column;gap:8px}.history-minimal-group span{font-size:12px;font-weight:500;color:var(--muted);padding-left:2px}.history-minimal-group textarea{width:100%;min-height:88px;resize:vertical;border-radius:10px;border:1px solid var(--border);background:var(--panel-strong);color:var(--text);padding:11px 12px;font-size:14px}.history-minimal-group textarea:focus{outline:none;border-color:#2dd4bf73;background:var(--panel-strong);box-shadow:0 0 0 3px #2dd4bf24}.history-minimal-action-btn{width:100%;border:0;border-radius:12px;padding:12px 14px;background:linear-gradient(135deg,#0ea5e9,#14b8a6);color:#f8fafc;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .1s ease}.history-minimal-action-btn:hover{filter:brightness(1.04)}.history-minimal-action-btn:active{transform:scale(.985)}.history-minimal-action-btn:disabled{opacity:.6;cursor:not-allowed}.history-profile-modal{width:min(980px,95vw);max-height:calc(100vh - 56px);padding:24px;border-radius:20px;background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow);position:relative;overflow:hidden;display:flex;flex-direction:column}.history-profile-modal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;border:1px solid rgba(45,212,191,.14);pointer-events:none}.history-profile-shell{border-radius:18px;border:1px solid var(--border);background:linear-gradient(135deg,#2dd4bf14,#0ea5e914),var(--panel-strong);padding:18px;min-height:0;overflow:auto}.history-profile-card{border-radius:16px;border:1px solid var(--border);background:var(--panel);padding:16px}.history-profile-card-header{display:grid;grid-template-columns:160px minmax(0,1fr);gap:18px}.history-profile-image-container{position:relative;width:160px;height:160px}.history-profile-image-container img{width:100%;height:100%;object-fit:cover;border-radius:12px;border:1px solid rgba(148,163,184,.24);display:block;cursor:pointer}.history-profile-photo-empty{width:100%;height:100%;border-radius:12px;border:1px solid var(--border);background:var(--panel-strong);display:flex;align-items:center;justify-content:center;text-align:center;padding:8px}.history-profile-plate-badge{position:absolute;left:50%;bottom:-12px;transform:translate(-50%);background:#facc15;color:#111827;border:1px solid rgba(17,24,39,.9);border-radius:8px;padding:3px 11px;font-family:Share Tech Mono,Roboto Mono,monospace;font-size:.98rem;font-weight:700;letter-spacing:.06em;white-space:nowrap}.history-profile-main-info{min-width:0}.history-profile-main-info h2{margin:0;font-size:1.25rem;line-height:1.25;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-weight:600}.history-profile-year{font-size:1.15rem;font-weight:300;color:var(--text-muted)}.history-profile-color-tag{margin-top:8px;display:flex;align-items:center;gap:8px;color:var(--text-main);font-size:.9rem;font-weight:600}.history-profile-color-dot{width:14px;height:14px;border-radius:999px;border:1px solid rgba(148,163,184,.6);flex:0 0 auto}.history-profile-status-row{margin-top:8px;display:flex;align-items:center;gap:8px}.history-profile-kpi-card{margin-top:14px}.history-profile-kpi-card h3{margin:0;font-size:.73rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.history-profile-kpi-list{margin-top:6px;display:flex;flex-direction:column;gap:4px;font-size:1rem;color:var(--text-main)}.history-profile-kpi-list b{font-weight:700}.history-profile-divider{border:0;border-top:1px solid rgba(148,163,184,.2);margin:14px 0}.history-profile-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.history-profile-stats-section h3{margin:0 0 8px;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.history-profile-stats-section ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;font-size:.98rem}.history-profile-hours-list{display:flex;flex-wrap:wrap;gap:8px}.history-profile-hour-tag{border-radius:999px;border:1px solid rgba(45,212,191,.22);background:#2dd4bf1a;color:var(--text-main);font-size:.75rem;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-weight:500}.history-profile-hour-tag.hot{border-color:#0ea5e973;background:#0ea5e933;color:#e0f2fe}html[data-theme=light] .history-minimal-modal,html[data-theme=light] .history-profile-modal{background:var(--panel);border-color:var(--border)}html[data-theme=light] .history-minimal-modal:before,html[data-theme=light] .history-profile-modal:before{border-color:#0284c729}html[data-theme=light] .history-minimal-modal-title,html[data-theme=light] .history-minimal-modal-close{color:#334155}html[data-theme=light] .history-minimal-modal-close:hover{color:#0f172a;background:#0284c71f}html[data-theme=light] .history-minimal-plate-badge{background:#0284c714;border-color:#0284c73d;color:#0f172a}html[data-theme=light] .history-minimal-group textarea{background:var(--panel-strong);border-color:var(--border);color:#0f172a}html[data-theme=light] .history-minimal-action-btn{background:linear-gradient(135deg,#0284c7,#0d9488);color:#f8fafc}html[data-theme=light] .history-profile-shell{background:linear-gradient(135deg,#0ea5e914,#14b8a614),var(--panel-strong);border-color:var(--border)}html[data-theme=light] .history-profile-card{background:var(--panel);border-color:var(--border)}html[data-theme=light] .history-profile-main-info h2,html[data-theme=light] .history-profile-color-tag,html[data-theme=light] .history-profile-kpi-list,html[data-theme=light] .history-profile-stats-section ul{color:#0f172a}html[data-theme=light] .history-profile-hour-tag{border-color:#0284c742;background:#0284c71f;color:#0f172a}html[data-theme=light] .history-profile-hour-tag.hot{border-color:#0284c759;background:#0284c724;color:#0c4a6e}.list-modal-plate{display:flex;align-items:center;gap:10px}.form-field textarea{background:var(--panel-strong);border:1px solid var(--border);border-radius:12px;padding:12px 14px;color:var(--text);font-size:15px;resize:vertical;min-height:90px}.form-field textarea:focus{outline:2px solid rgba(45,212,191,.5);border-color:#2dd4bf66}.history-modal{display:flex;flex-direction:column;max-height:calc(100vh - 80px);overflow:hidden}.history-modal-body{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:16px;flex:1;min-height:0;overflow:hidden}.history-card{border:1px solid var(--border);border-radius:14px;padding:16px;background:var(--panel);display:flex;flex-direction:column;gap:12px;min-height:0;overflow:auto}.history-main{display:flex;flex-direction:column;gap:12px;min-height:0}.history-insights{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.history-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.history-card-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.history-image-card{margin:0;display:flex;flex-direction:column;gap:6px}.history-image-card figcaption{text-align:center;font-size:12px;color:var(--muted)}.history-card-images img{width:100%;height:auto;object-fit:contain;display:block;border-radius:12px;border:1px solid var(--border);background:#0f172a}.history-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.history-stat{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#ffffff08;display:flex;flex-direction:column;gap:6px}.history-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.history-stat-value{font-size:16px;font-weight:700}.history-stat-hint{font-size:12px;color:var(--muted)}.history-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.history-breakdown-row{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;padding:8px 10px;border:1px dashed var(--border);border-radius:10px;background:#0f172a66}.history-breakdown-label{font-size:12px;color:var(--muted)}.history-breakdown-value{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text);justify-content:flex-start}.history-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start}.history-chip{padding:4px 8px;border-radius:999px;border:1px solid var(--border);font-size:12px;color:var(--text);background:#ffffff0a}.history-chip.in{border-color:#34d39980;color:#bbf7d0}.history-chip.out{border-color:#f8717180;color:#fecdd3}.history-chip.other{border-color:#94a3b873;color:#cbd5f5}.history-meta-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.history-events{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1}.history-events-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.history-thumb{width:72px;height:44px;object-fit:cover;border-radius:8px;border:1px solid var(--border);background:#0f172a}.history-pagination{justify-content:space-between;gap:12px}.history-page .pagination{background:#ffffff0d;border:1px solid var(--glass-border);border-top:0;border-radius:0 0 16px 16px;padding:12px 16px;margin-top:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.history-page .pagination-btn.active{background:#ffffff14;border-color:#94a3b859;color:#e2e8f0;box-shadow:none}.history-events-table{flex:1;min-height:0;overflow:auto}.history-direction-card{border:1px solid var(--border);border-radius:12px;padding:8px 10px;background:#ffffff05;display:flex;flex-direction:column;gap:6px}.history-direction-card__body{display:flex;flex-wrap:wrap;gap:8px}.history-direction-card__variant{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:2px 6px;font-size:12px;color:var(--muted)}.history-direction-card__variant--in{color:#8fb8aa}.history-direction-card__variant--out{color:#c2a2a2}.history-direction-card__icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.history-direction-card__icon svg{width:20px;height:20px}@media (max-width: 900px){.history-profile-modal{width:min(96vw,96vw);max-height:calc(100vh - 28px);padding:16px}.history-profile-card-header{grid-template-columns:1fr}.history-profile-image-container{width:min(220px,100%);height:150px}.history-profile-stats-grid{grid-template-columns:1fr}.history-modal{max-height:calc(100vh - 40px)}.history-modal-body{grid-template-columns:1fr;overflow:auto}.history-stats,.history-insights,.history-breakdown{grid-template-columns:1fr}.history-card{overflow:visible}}.login-card{width:100%;max-width:400px;padding:40px;background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 25px 50px -12px #00000080;text-align:center;animation:cardAppear .6s ease-out;margin:0 auto}@keyframes cardAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-card h2{font-size:1.2rem;font-weight:500;margin-bottom:30px;color:var(--text-main)}.input-group{text-align:left;margin-bottom:20px}.input-group label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:8px;margin-left:4px}.login-card .input-wrapper{position:relative;display:flex;align-items:center}.login-card .input-icon,.login-card .main-icon{position:absolute;left:16px;width:18px;height:18px;color:var(--text-muted);z-index:1;stroke:currentColor;fill:none;stroke-width:2;pointer-events:none;transition:color .2s ease,transform .2s ease}.login-card .input-group:focus-within .input-icon,.login-card .input-group:focus-within .main-icon{color:var(--primary-light);transform:scale(1.08)}.login-card .input-group input{width:100%;padding:14px 44px 14px 46px;background:var(--glass);border:1px solid var(--glass-border);border-radius:12px;color:var(--text-main);font-size:.95rem;transition:all .3s ease}.login-card .input-group input:focus{outline:none;border-color:var(--primary-light);background:var(--glass-hover);box-shadow:0 0 0 4px #6366f11a}.login-card .toggle-password-btn{position:absolute;right:12px;width:34px;height:34px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease}.login-card .toggle-password-btn:hover{color:var(--text-main);background:var(--glass-hover);border-color:var(--glass-border)}.login-card .toggle-password-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #6366f140}.login-card .toggle-password-btn .toggle-icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}.login-btn{width:100%;padding:14px;margin-top:10px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border:none;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px}.login-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px -5px #6366f166;filter:brightness(1.1)}.login-btn:active{transform:translateY(0)}.login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:loginSpin .8s linear infinite;display:none}.login-spinner.is-visible{display:inline-block}@keyframes loginSpin{to{transform:rotate(360deg)}}.theme-toggle-fixed{position:fixed;top:20px;right:20px;background:var(--glass);border:1px solid var(--glass-border);color:var(--text-main);width:40px;height:40px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;z-index:50}.theme-toggle-fixed:hover{background:var(--glass-hover);transform:rotate(15deg)}.error-msg{color:#f87171;font-size:.9rem;margin-bottom:15px;padding:10px;background:#f871711a;border-radius:8px;border:1px solid rgba(248,113,113,.2)}.login-container{min-height:100vh;display:flex;flex-direction:column;width:100%;position:relative;overflow:hidden;font-family:Inter,sans-serif}.login-content{flex:1;display:flex;justify-content:center;align-items:center;width:100%;padding:32px 20px}.background-blobs.login-blobs{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;filter:blur(80px);opacity:.3;pointer-events:none}.login-container .background-blobs.login-blobs .blob{animation:login-move 20s infinite alternate}.login-container .background-blobs.login-blobs .blob-2{animation-duration:25s}.login-logo{font-size:1.8rem;font-weight:800;justify-content:center;margin-bottom:30px;display:inline-block}.login-logo .logo-ai{-webkit-text-fill-color:var(--text-main);font-weight:300}.app-footer{color:#94a3b8;font-family:Inter,sans-serif;font-size:12.8px;font-weight:400;line-height:1.3;text-align:center;padding:18px 24px 28px;width:100%}html[data-theme=light] .app-footer{color:#64748b}.app-footer-login{padding-top:8px}.login-fade-out{animation:loginFadeOut .6s forwards cubic-bezier(.4,0,.2,1)}.app-fade-in{animation:appFadeIn .8s forwards cubic-bezier(.4,0,.2,1)}@keyframes loginFadeOut{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-30px) scale(.95);filter:blur(10px)}}@keyframes appFadeIn{0%{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes login-move{0%{transform:translate(0) scale(1)}to{transform:translate(100px,100px) scale(1.1)}}.theme-toggle-login{position:fixed;top:20px;right:20px;background:var(--glass);border:1px solid var(--glass-border);color:var(--text-main);width:40px;height:40px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;z-index:1000}.theme-toggle-login:hover{background:var(--glass-hover);transform:rotate(15deg);border-color:var(--glass-border)}.theme-toggle-login .icon-svg{width:20px;height:20px}.blob-1.login-blob-1{width:45vw;height:45vw;top:-10%;right:-5%}.blob-2.login-blob-2{width:40vw;height:40vw;bottom:-10%;left:-5%}.footer{margin-top:25px;font-size:.85rem}.footer a{color:var(--primary-light);text-decoration:none;transition:color .2s}.footer a:hover{color:var(--secondary);text-decoration:underline}.cameras-page{background:transparent;border:none;box-shadow:none;max-width:var(--content-width);margin:0 auto;padding:24px}.cameras-page .page-header{align-items:flex-end;margin-bottom:20px}.cameras-page .page-header h1{font-size:24px;font-weight:600;margin:0}.cameras-page .page-header .muted-text{margin:4px 0 0}.cameras-page .add-camera-btn{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;padding:12px 24px;border-radius:14px;font-weight:600;font-size:.9rem;box-shadow:0 10px 20px -5px #6366f166;transition:all .3s ease;border:none}.cameras-page .add-camera-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.1)}.cameras-page .camera-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}.cameras-page .camera-card{background:#0f172ab8;border:1px solid var(--glass-border);border-radius:24px;padding:20px;transition:border-color .2s ease,background .2s ease}html[data-theme=light] .cameras-page .camera-card{background:#ffffffd9;border-color:#00000014}.cameras-page .camera-card:hover{border-color:var(--primary-light)}.cameras-page .camera-card-body{padding:0}.cameras-page .camera-preview{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:16px;overflow:hidden;margin-bottom:20px;background:#000}.cameras-page .card-media:after{display:none}.cameras-page .camera-preview img{width:100%;height:100%;object-fit:cover;opacity:.8}.cameras-page .card-media-overlay{padding:12px;align-items:stretch}.cameras-page .status-chip{border-radius:20px;padding:4px 10px;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;gap:6px}.cameras-page .status-chip.ok{background:var(--live-bg);color:var(--live-color);border-color:#10b98140}.cameras-page .status-chip.muted{background:#94a3b826;color:#94a3b8;border-color:#94a3b840}.cameras-page .status-chip .status-dot{width:6px;height:6px}.cameras-page .live-dot{background:var(--live-color);box-shadow:0 0 8px var(--live-color);animation:none}.cameras-page .preview-hint{align-self:center;color:var(--text-muted);font-size:.8rem;background:#0f172a59;padding:6px 10px;border-radius:10px}@keyframes camera-pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.cameras-page .camera-info{display:grid;grid-template-columns:110px 1fr;gap:8px;margin-bottom:24px}.cameras-page .camera-meta-item{display:contents}.cameras-page .detail-label{color:var(--text-muted);font-size:.98rem}.cameras-page .detail-value{color:var(--text-main);font-size:.98rem;font-weight:600}.cameras-page .ai-status{display:inline-flex;align-items:center;gap:6px;color:#10b981}.cameras-page .ai-status .status-dot{width:8px;height:8px;background:#10b981;border-radius:50%}.cameras-page .card-actions{margin-top:6px}.cameras-page .camera-actions{width:100%;gap:12px;justify-content:flex-start}.cameras-page .camera-actions .ghost-button{flex:1;padding:10px;border-radius:12px;font-size:.99rem;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid var(--glass-border);background:var(--glass);color:var(--text-main)}.cameras-page .camera-actions .ghost-button:hover{background:var(--glass-hover);border-color:var(--primary-light)}.cameras-page .camera-actions .ghost-button.danger{color:#f87171}.cameras-page .camera-actions .ghost-button.danger:hover{background:#ef44441a;border-color:#ef444466}.lists-page{max-width:var(--content-width);margin:0 auto;padding:24px 28px;position:relative}.lists-page .background-blobs.lists-blobs{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;filter:blur(80px);opacity:.3;pointer-events:none}.lists-page .page-header{align-items:flex-end;margin-bottom:20px}.lists-page .page-header h1{font-size:24px;font-weight:600;margin:0}.lists-page .page-header .muted-text{margin:4px 0 0}.lists-page .lists-title-wrap{display:flex;flex-direction:column;gap:4px}.lists-page .lists-title-row{display:inline-flex;align-items:center;gap:10px}.lists-page .lists-info-trigger{width:26px;height:26px;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:help;transition:color .2s ease,border-color .2s ease,background .2s ease}.lists-page .lists-info-trigger.is-unread{color:#facc15;border-color:#facc15a6;box-shadow:0 0 #facc1573;animation:lists-info-soft-shadow 2s infinite}.lists-page .lists-info-trigger:hover,.lists-page .lists-info-trigger:focus-visible{color:var(--text-main);border-color:var(--primary-light);background:var(--glass-hover);outline:none}.lists-page .list-info-tooltip{max-width:420px;white-space:normal;line-height:1.45;z-index:1300}@keyframes lists-info-soft-shadow{0%{box-shadow:0 0 #facc156b}70%{box-shadow:0 0 0 10px #facc1500}to{box-shadow:0 0 #facc1500}}.lists-page .telegram-btn{background:#229ed9;color:#fff;padding:12px 24px;border-radius:14px;text-decoration:none;font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:10px;box-shadow:0 10px 20px -5px #229ed94d;transition:all .3s ease}.lists-page .telegram-btn:hover{transform:translateY(-2px);filter:brightness(1.1)}.lists-page .lists-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:30px}.lists-page .list-container{background:var(--glass);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid var(--glass-border);border-radius:24px;padding:24px}.lists-page .list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.lists-page .list-title-group{display:flex;align-items:center;gap:12px}.lists-page .list-title-group h2{font-size:1.2rem;font-weight:700;margin:0}.lists-page .list-badge{background:var(--glass-border);padding:2px 10px;border-radius:8px;font-size:.8rem;color:var(--text-muted)}.lists-page .add-btn{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-main);padding:8px 16px;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.lists-page .add-btn:hover{background:var(--glass-hover);border-color:var(--primary-light)}.lists-page .list-table-wrapper{width:100%;overflow-x:auto}.lists-page .list-table{width:100%;border-collapse:collapse;text-align:left}.lists-page .list-table th{color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:1px;padding:12px 16px;border-bottom:1px solid var(--glass-border)}.lists-page .list-table .th-actions{text-align:right}.lists-page .list-table td{padding:16px;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.02)}.lists-page .list-row:last-child td{border-bottom:none}.lists-page .list-empty{text-align:center;padding:40px 0;color:var(--text-muted);font-style:italic}.lists-page .muted-italic{color:var(--text-muted);font-style:italic}.lists-page .list-plate{background:#fff;color:#1a1a1a;padding:4px 8px;border-radius:4px;font-weight:700;display:inline-flex;align-items:center;gap:6px;border:1px solid #ddd;height:auto;box-shadow:none}.lists-page .list-plate .flag-side{width:15px;height:10px;border-radius:1px;background:#0057b7;position:relative;overflow:hidden}.lists-page .list-plate .flag-stripe{position:absolute;left:0;bottom:0;width:100%;height:50%;background:gold}.lists-page .list-plate .number{padding:0;background:transparent;color:#1a1a1a;font-size:.95rem;font-weight:700;letter-spacing:.04em}.lists-page .actions-cell{display:flex;justify-content:flex-end;align-items:center;gap:8px}.lists-page .icon-btn{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-main);width:34px;height:34px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s}.lists-page .icon-btn:hover{background:var(--glass-hover);border-color:var(--primary-light)}.lists-page .icon-btn.delete:hover{color:#f87171;border-color:#ef444466;background:#ef44440d}html[data-theme=light] .lists-page .lists-info-trigger{border-color:#0f172a24;background:#ffffffe6;color:#64748b}html[data-theme=light] .lists-page .lists-info-trigger.is-unread{color:#a16207;border-color:#ca8a049e}html[data-theme=light] .lists-page .lists-info-trigger:hover,html[data-theme=light] .lists-page .lists-info-trigger:focus-visible{color:#0f172a;border-color:#0284c773;background:#0284c714}.stats-page{background:transparent;border:none;box-shadow:none;max-width:var(--content-width);margin:0 auto;padding:16px;position:relative;font-family:Inter,sans-serif;--stats-block-title-color: #e2e8f0}@media (min-width: 768px){.stats-page{padding:32px}}.stats-shell{display:flex;flex-direction:column;gap:32px;position:relative;z-index:1}.stats-content{display:flex;flex-direction:column;gap:32px}.stats-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.stats-hero-title h1{margin:0;font-size:24px;font-weight:700;letter-spacing:-.02em}.stats-hero-title h1 span{color:var(--primary-light)}.stats-hero-title p{margin-top:6px}.stats-range-toggle{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d}.stats-range-btn{border:none;background:transparent;color:var(--text-muted);padding:8px 14px;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.stats-range-btn:hover{background:#ffffff0f;color:var(--text-main)}.stats-range-btn.is-active{background:var(--primary);color:#fff;box-shadow:none}.stats-page .stats-grid{display:grid;gap:24px}.stats-page .stats-grid.stats-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-page .stats-grid.stats-duo{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.stats-page .stats-grid.stats-single{grid-template-columns:minmax(0,1fr)}.stats-page .stats-grid.stats-quad{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-page .stats-grid.stats-plates{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.stats-page .stats-grid.stats-featured{grid-template-columns:minmax(0,1.05fr) minmax(0,1.6fr) minmax(0,1.05fr);grid-template-rows:auto;align-items:stretch}.stats-page .stats-grid.stats-featured .top-frequent-card,.stats-page .stats-grid.stats-featured .top-brands-card,.stats-page .stats-grid.stats-featured .regions-pie-card{grid-column:auto;grid-row:auto}.stats-page .stats-grid.stats-featured>.stat-card{height:100%;display:flex;flex-direction:column}.stats-page .stats-mini-card{grid-column:span 3}.stats-page .monthly-activity-card{grid-column:span 1}.stats-page .stats-mini-card{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:none;padding:24px}.stats-page .stats-mini-card .stats-panel-header{margin-bottom:12px}.stats-page .stats-mini-card .stats-panel-title{font-size:1.125rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--stats-block-title-color)}.stats-page .stats-mini-card .stats-panel-meta{font-size:.875rem;font-weight:400;color:#94a3b8}.stats-page .stats-span-2{grid-column:span 2}.stats-page .stats-panel,.stats-page .stat-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:20px;padding:24px;box-shadow:0 18px 40px #00000040;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .2s ease,box-shadow .2s ease}.stats-page .stats-panel:hover,.stats-page .stat-card:hover{border-color:#fff3}.stats-page .stats-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.stats-page .stats-panel-title-row{display:flex;align-items:center;gap:10px}.stats-page .stats-panel-heading{margin:0;font-size:1.125rem;font-weight:400;letter-spacing:0;color:var(--stats-block-title-color)}.stats-page .stats-panel-title{font-size:1.125rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--stats-block-title-color)}.stats-page .stats-panel-meta{font-size:.75rem;color:var(--primary-light);font-weight:600;white-space:nowrap}.stats-page .stats-metric-label{display:flex;align-items:center;gap:10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted);margin-bottom:12px;font-weight:700}.stats-page .stats-metric-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}.stats-page .stats-metric-icon{width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:#e2e8f0;background:radial-gradient(circle at 20% 20%,#818cf880,#6366f126);border:1px solid rgba(129,140,248,.45);box-shadow:0 12px 24px #6366f140}.stats-page .stats-metric-icon svg{width:22px;height:22px}.stats-page .stats-metric-title{display:flex;flex-direction:column;gap:4px}.stats-page .stats-metric-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);font-weight:700}.stats-page .stats-metric-sub{font-size:.75rem;color:var(--text-muted)}.stats-page .stats-metric-value-row{display:flex;align-items:baseline;gap:12px}.stats-page .stats-metric-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;flex-wrap:wrap}.stats-page .stats-metric-24h{display:flex;flex-direction:column;gap:4px}.stats-page .stats-metric-24h-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em}.stats-page .stats-metric-24h-value{font-size:1rem;font-weight:700;color:var(--primary-light)}.stats-page .stats-metric-delta{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;padding:6px 10px;border-radius:999px;border:1px solid transparent}.stats-page .stats-metric-delta-icon{display:inline-flex;width:14px;height:14px}.stats-page .stats-metric-delta-icon svg{width:14px;height:14px}.stats-page .stats-metric-delta.positive{color:#34d399;background:#10b9811f;border-color:#10b98159}.stats-page .stats-metric-delta.negative{color:#f87171;background:#f871711f;border-color:#f8717159}.stats-page .stats-metric-delta.neutral{color:var(--text-muted);background:#94a3b81f;border-color:#94a3b840}.stats-page .stats-metric-compact{display:flex;flex-direction:column;gap:14px}.stats-page .stats-metric-compact-header,.stats-page .stats-metric-compact-title-row{display:inline-flex;align-items:center;gap:10px}.stats-page .stats-metric-compact-title-row .stats-icon{width:20px;height:20px}.stats-page .stats-metric-compact-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:#fff}.stats-page .stats-metric-compact-icon svg{width:100%;height:100%}.stats-page .stats-metric-compact-title{font-size:1.125rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--stats-block-title-color)}.stats-page .stats-metric-link{border:none;background:transparent;color:#5b92ff;font-size:.8rem;font-weight:500;letter-spacing:0;text-transform:none;cursor:pointer;padding:4px 6px;margin-top:8px;border-radius:8px;align-self:flex-start;transition:color .2s ease,background .2s ease}.stats-page .stats-metric-link:hover:not(:disabled){color:#e2e8f0;background:#6366f11f}.stats-page .stats-metric-link:disabled{opacity:.5;cursor:not-allowed}.stats-page .stats-metric-compact-value{font-size:3rem;font-weight:700;letter-spacing:.02em}.stats-page .stats-metric-compact-delta{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:#34d399}.stats-page .stats-metric-compact-delta-icon{display:inline-flex;width:20px;height:20px}.stats-page .stats-metric-compact-delta-icon svg{width:100%;height:100%}.stats-page .stats-metric-compact-delta.positive{color:#34d399}.stats-page .stats-metric-compact-delta.negative{color:#f87171}.stats-page .stats-metric-compact-delta.neutral{color:var(--text-muted)}.stats-page .stats-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:0;background:transparent;border:none;color:#fff}.stats-page .stats-icon svg{width:100%;height:100%}.stats-page .stats-icon.small{width:20px;height:20px}.stats-page .stats-icon.small svg{width:100%;height:100%}.stats-page .stats-icon.indigo,.stats-page .stats-icon.emerald,.stats-page .stats-icon.yellow,.stats-page .stats-icon.rose,.stats-page .stats-icon.violet{color:inherit}.stats-page .stats-metric-note{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:.7rem;color:#34d399}.stats-page .stats-metric-note svg{width:20px;height:20px}.stats-page .muted-text{color:var(--text-muted)}.stats-page .stat-value{font-size:2.5rem;font-weight:800;background:linear-gradient(to right,#fff,var(--primary-light));-webkit-background-clip:text;background-clip:text;color:transparent}.stats-page .stats-metric-card,.stats-page .stats-mini-card{min-height:170px}.stats-page .mini-activity-chart{height:136px;position:relative;width:100%}.stats-page .monthly-activity-card .mini-activity-chart{height:170px}.stats-page .mini-activity-chart canvas{width:100%!important;height:100%!important;display:block}.stats-page .mini-activity-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;gap:4px;padding:4px 0;pointer-events:none}.stats-page .mini-activity-fallback-bar{flex:1;border-radius:4px;background:#6366f1cc}.stats-page .mini-activity-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3}.stats-page .mini-activity-hover{position:absolute;top:0;bottom:0;border-radius:6px;background:#6366f11f;z-index:2;pointer-events:none}.stats-page .mini-activity-tooltip{position:absolute;z-index:4;background:#0f172af2;color:#e2e8f0;border-radius:8px;padding:8px 10px;font-size:12px;box-shadow:0 8px 20px #00000059;pointer-events:none;white-space:nowrap}.stats-page .mini-activity-tooltip-title{display:block;font-size:11px;color:#94a3b8}.stats-page .mini-activity-tooltip-value{display:block;font-size:13px;font-weight:600;color:#e2e8f0}.stats-page .mini-activity-labels{display:grid;gap:4px;margin-top:8px}.stats-page .mini-activity-values{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;z-index:4;pointer-events:none}.stats-page .mini-activity-value-cell{position:relative}.stats-page .mini-activity-value{position:absolute;left:50%;transform:translate(-50%);font-size:10px;color:#64748b;font-variant-numeric:tabular-nums;letter-spacing:.01em;line-height:1}.stats-page .mini-activity-value.is-active{color:#e2e8f0}.stats-page .mini-activity-label{font-size:10px;color:#64748b;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.01em}.stats-page .mini-activity-label.is-active{color:#e2e8f0}.stats-page .weekly-activity-card .stats-panel-header{margin-bottom:14px}.stats-page .weekly-activity-card .stats-panel-title{color:var(--stats-block-title-color)}.stats-page .weekly-activity-card .stats-panel-meta{font-size:.875rem;font-weight:400;color:#94a3b8}.stats-page .weekly-activity-chart-wrap{margin-top:6px}.stats-page .weekly-activity-chart{height:300px;position:relative;width:100%;border-radius:0;border:0;background:transparent;padding:0}.stats-page .weekly-activity-chart svg{width:100%!important;height:100%!important;display:block}.stats-page .weekly-line{fill:none;stroke:#a855f7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.stats-page .weekly-area{fill:#a855f72e}.stats-page .weekly-point{fill:#a855f7}.stats-page .weekly-axis-grid{stroke:#ffffff0d;stroke-width:1}.stats-page .weekly-axis-label{fill:#94a3b8;font-size:11px}.stats-page .weekly-axis-date{fill:#94a3b8;font-size:10px}.stats-page .weekly-activity-chart .mini-activity-overlay{border-radius:10px}.stats-page .weekly-activity-hover{border-radius:12px;background:#a855f72e;border:1px solid rgba(168,85,247,.3)}.stats-page .stats-mini-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.stats-page .mini-activity-bar{flex:1;background:#6366f129;border-radius:4px;transition:transform .2s ease,background .2s ease}.stats-page .mini-activity-bar.is-active{background:#6366f180}.stats-page .mini-activity-bar.is-strong{background:var(--primary);box-shadow:0 0 12px #6366f199}.stats-page .activity-chart{background:transparent;border:none;padding:0;box-shadow:none}.stats-page .stat-card-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.stats-page .stat-card-header h3{margin:0;font-size:1.125rem;font-weight:400;letter-spacing:0;color:var(--stats-block-title-color)}.stats-page .stat-list li{padding:12px;border-radius:14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.05)}.stats-page .stat-empty{background:transparent;border:none;padding:0;display:block}.stats-page .stat-meta{flex-direction:column;align-items:flex-start;gap:4px}.stats-page .stat-label{font-size:.9rem;font-weight:600}.stats-page .stat-row-right{gap:12px}.stats-page .stat-count{font-family:Inconsolata,monospace;font-weight:700;color:var(--primary-light);font-variant-numeric:tabular-nums}.stats-page .thumb-preview{width:48px;height:36px;border-radius:10px;border-color:#ffffff1a}.stats-page .top-frequent-card .stat-list-media-bar{gap:10px}.stats-page .top-frequent-card .stat-list li{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:0;overflow:hidden}.stats-page .top-frequent-card .stat-list li+li{border-top:0}.stats-page .top-frequent-card .stat-row-media-bar{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(110px,34%);align-items:center;gap:10px;padding:6px 8px;margin:0;border-radius:10px}.stats-page .top-frequent-card .stat-row-media-bar.is-clickable{cursor:pointer;transition:background .18s ease,box-shadow .18s ease}.stats-page .top-frequent-card .stat-row-media-bar.is-clickable:hover,.stats-page .top-frequent-card .stat-row-media-bar.is-clickable:focus-visible{background:#3b82f629;box-shadow:inset 0 0 0 1px #60a5fa73}.stats-page .top-frequent-card .stat-row-media-bar.is-clickable:hover .stat-row-thumb,.stats-page .top-frequent-card .stat-row-media-bar.is-clickable:focus-visible .stat-row-thumb{border-color:#93c5fdb8}.stats-page .top-frequent-card .stat-row-thumb{width:80px;height:58px;margin-left:0;border-radius:10px;border-color:#ffffff1f;background:#0f172a5c}.stats-page .top-frequent-card .stat-meta{gap:2px}.stats-page .top-frequent-card .stat-label{font-size:.84rem}.stats-page .top-frequent-card .stat-meta .micro{line-height:1.1;font-size:.6rem}.stats-page .top-frequent-card .thumb-preview-placeholder{display:grid;place-items:center;width:100%;height:100%}.stats-page .top-frequent-card .stat-row-chart{display:flex;flex-direction:column;gap:4px;min-width:0}.stats-page .top-frequent-card .stat-row-chart .stat-count{align-self:flex-end;font-size:.8rem;color:#f8fafc}.stats-page .top-frequent-card .stat-row-bar{height:5px;background:#ffffff14;border-radius:999px;overflow:hidden}.stats-page .top-frequent-card .stat-row-bar-fill{height:100%;border-radius:inherit;background:#38bdf8}html[data-theme=light] .stats-page .top-frequent-card .stat-row-media-bar.is-clickable:hover,html[data-theme=light] .stats-page .top-frequent-card .stat-row-media-bar.is-clickable:focus-visible{background:#3b82f61a;box-shadow:inset 0 0 0 1px #3b82f64d}.stats-page .regions-pie-layout{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);align-items:center;gap:24px}.stats-page .regions-pie-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;justify-content:center;position:relative}.stats-page .regions-pie-card{position:relative;overflow:hidden}.stats-page .regions-pie-card:before{display:none}.stats-page .regions-pie-chart-box{width:min(240px,100%);aspect-ratio:1 / 1;position:relative}.stats-page .regions-pie-donut{width:100%;height:100%;transform:rotate(-90deg)}.stats-page .regions-pie-track{fill:none;stroke:#94a3b833;stroke-width:3.2}.stats-page .regions-pie-unit{fill:none;stroke-width:3.6;stroke-linecap:round;transition:stroke-width .2s ease,opacity .2s ease;cursor:pointer}.stats-page .regions-pie-unit.is-active{stroke-width:4.4}.stats-page .regions-pie-unit.is-muted{opacity:.28;stroke-width:3.2}.stats-page .regions-pie-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60%;aspect-ratio:1 / 1;border-radius:50%;background:#0f172ad6;border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;pointer-events:none}.stats-page .regions-pie-center-total{font-size:2rem;font-weight:800;line-height:1;letter-spacing:-.02em;background:linear-gradient(180deg,#fff,#94a3b8 95%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.stats-page .regions-pie-center-label{font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#94a3b8}.stats-page .regions-pie-chart-total{display:inline-flex;align-items:baseline;gap:8px}.stats-page .regions-pie-chart-total strong{font-family:Inconsolata,monospace;font-size:1rem;line-height:1;color:var(--primary-light)}.stats-page .regions-pie-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.stats-page .regions-pie-legend-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);transition:background .2s ease,border-color .2s ease,opacity .2s ease;cursor:pointer}.stats-page .regions-pie-legend-row:hover,.stats-page .regions-pie-legend-row.is-active{background:#ffffff14;border-color:#ffffff26}.stats-page .regions-pie-legend-row.is-muted{opacity:.45}.stats-page .regions-pie-legend-main{display:flex;align-items:center;gap:10px;min-width:0}.stats-page .regions-pie-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;box-shadow:none}.stats-page .regions-pie-legend-text{display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:100%;min-width:0}.stats-page .regions-pie-label{font-size:.88rem;font-weight:500;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-page .regions-pie-percent{font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.stats-page .regions-pie-count{font-family:Inconsolata,monospace;font-size:1rem;font-weight:700;color:#f8fafc}.stats-page .activity-time-chart{gap:6px}.stats-page .activity-time-track{height:180px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:4px}.stats-page .activity-time-count,.stats-page .activity-time-label,.stats-page .activity-time-label-sub{color:var(--text-muted)}.stats-page .activity-time-label-sub{font-size:9px}.stats-page .dwell-list{display:flex;flex-direction:column;gap:16px}.stats-page .top-brands-card .dwell-list{gap:12px}.stats-page .top-brands-card .dwell-row{cursor:pointer}.stats-page .top-brands-value{display:inline-flex;align-items:baseline;gap:8px}.stats-page .top-brands-percent{font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.stats-page .top-brands-count{font-family:Inconsolata,monospace;font-size:1rem;font-weight:700;color:#f8fafc}.stats-page .dwell-row-head{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--text-muted);margin-bottom:6px}.stats-page .dwell-row-value{color:#f8fafc;font-weight:700}.stats-page .dwell-bar{height:6px;background:#ffffff14;border-radius:999px;overflow:hidden}.stats-page .dwell-bar-fill{height:100%;background:var(--primary)}.stats-page .heatmap-container{overflow-x:auto}.stats-page .heatmap-desc{margin-top:-6px;margin-bottom:16px}.stats-page .calendar-heatmap-top-labels{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:6px;margin-bottom:8px}.stats-page .heatmap-label-spacer{width:56px}.stats-page .calendar-heatmap-days{display:grid;grid-template-columns:repeat(31,minmax(18px,1fr));gap:3px;min-width:860px}.stats-page .calendar-heatmap-days .day-label{margin-top:0;font-size:9px;text-align:center}.stats-page .calendar-heatmap-grid{display:flex;flex-direction:column;gap:6px;min-width:860px}.stats-page .calendar-heatmap-row{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:6px}.stats-page .calendar-heatmap-month{font-size:10px;font-weight:700;color:var(--text-muted);text-align:right}.stats-page .calendar-heatmap-cells{display:grid;grid-template-columns:repeat(31,minmax(18px,1fr));gap:3px}.stats-page .calendar-heatmap-cell{height:14px;border-radius:3px;background:#6366f11a;transition:opacity .2s ease,background .2s ease}.stats-page .calendar-heatmap-cell.is-empty{opacity:0;pointer-events:none}.stats-page .calendar-heatmap-cell.heat-med{background:#6366f180}.stats-page .calendar-heatmap-cell.heat-high{background:var(--primary)}.stats-page .calendar-heatmap-cell:not(.is-empty):hover{opacity:1!important}.stats-page .calendar-heatmap-cell:not(.is-empty){cursor:pointer}.stats-page .activity-modal-actions{display:flex;align-items:center;gap:10px}.activity-tooltip-modal{padding:0;background:#0f172aeb;border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 20px 40px #0006,inset 0 0 20px #6366f10d;overflow:hidden}.activity-events-modal{width:min(560px,92vw);max-height:calc(100vh - 40px)}.activity-tooltip-header{padding:18px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff08}.activity-tooltip-title{display:flex;flex-direction:column;gap:6px}.activity-tooltip-title-main{font-size:1rem;text-transform:none;letter-spacing:0;color:#fff;font-weight:700;font-family:inherit}.activity-tooltip-range{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:#e2e8f0}.activity-tooltip-subline{font-size:.8rem;color:#cbd5e1}.activity-tooltip-range-dot{color:#94a3b899}.activity-tooltip-actions{display:inline-flex;align-items:center;gap:8px}.activity-tooltip-count{font-size:.6rem;padding:6px 10px;border-radius:999px;background:#ffffff14;color:#cbd5f5;text-transform:uppercase;letter-spacing:.14em}.activity-tooltip-body{padding:10px 10px 8px}.activity-tooltip-scroll{max-height:450px;overflow:auto;padding:4px}.activity-tooltip-scroll::-webkit-scrollbar{width:4px}.activity-tooltip-scroll::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.activity-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:12px;border-bottom:1px solid rgba(255,255,255,.03);transition:background .2s ease}.activity-tooltip-row:hover{background:#ffffff08}.activity-tooltip-row:last-child{border-bottom:none}.activity-tooltip-meta{display:flex;flex-direction:column;gap:4px}.activity-tooltip-plate{font-family:JetBrains Mono,Share Tech Mono,monospace;font-size:.85rem;font-weight:700;letter-spacing:-.02em;color:#f8fafc}.activity-tooltip-sub{font-size:.72rem;color:#94a3b8;font-weight:500;letter-spacing:.04em}.activity-tooltip-thumb{width:80px;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#0f172a99;display:flex;align-items:center;justify-content:center}.activity-tooltip-thumb img{width:80px;height:auto;max-height:64px;object-fit:cover;display:block}.activity-tooltip-thumb-placeholder{font-size:.6rem;color:#64748b;padding:10px 0}.activity-tooltip-table{width:100%;min-width:0;border-collapse:separate;border-spacing:0;table-layout:fixed}.activity-tooltip-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:middle;font-size:.82rem;color:#e2e8f0;white-space:normal}.activity-tooltip-table tbody tr:hover td{background:#ffffff08}.activity-tooltip-main-cell{min-width:0;max-width:none;width:auto;white-space:normal}.activity-tooltip-main-cell .activity-tooltip-plate,.activity-tooltip-main-cell .activity-tooltip-sub{display:block}.activity-tooltip-main-cell .activity-tooltip-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-tooltip-direction-cell{width:56px;max-width:56px;text-align:center}.activity-direction-arrow{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}.activity-direction-arrow.in{color:#8fb8aa}.activity-direction-arrow.out{color:#c2a2a2}.activity-direction-arrow.unknown{color:var(--muted);font-size:.85rem}.activity-tooltip-time-cell{width:72px;max-width:72px;white-space:nowrap;font-variant-numeric:tabular-nums}.activity-tooltip-frame-cell{width:92px;max-width:92px}.stats-unique-modal{width:min(1108px,96vw);padding:0;background:#0f172aeb;border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 20px 40px #0006,inset 0 0 20px #6366f10d;overflow:hidden}.stats-unique-modal-header{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff08}.stats-unique-modal-title{display:flex;flex-direction:column;gap:6px}.stats-unique-modal-title-main{font-size:1rem;text-transform:none;letter-spacing:0;color:#fff;font-weight:700;font-family:inherit}.stats-unique-modal-sub{font-size:.75rem;color:#e2e8f0}.stats-unique-modal-body{padding:10px}.stats-unique-list{list-style:none;margin:0;padding:0 4px;max-height:520px;overflow-y:auto;display:flex;flex-direction:column;gap:0}.stats-unique-list::-webkit-scrollbar{width:4px}.stats-unique-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.stats-unique-row{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:16px;align-items:start;padding:10px 6px;border:0;border-radius:0;background:transparent;position:relative;transition:background .2s ease}.stats-unique-row+.stats-unique-row:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:#ffffff14}.stats-unique-row:hover{background:#ffffff08}.stats-unique-thumb{width:72px;height:48px;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#0f172a99;display:flex;align-items:center;justify-content:center}.stats-unique-thumb img{width:72px;height:48px;object-fit:cover;display:block}.stats-unique-thumb-placeholder{font-size:.6rem;color:#64748b}.stats-unique-meta{display:flex;flex-direction:column;gap:6px;min-width:0}.stats-unique-brand{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:#94a3b8;font-weight:600}.stats-unique-plate{font-size:.95rem}.stats-unique-gallery{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.stats-unique-gallery::-webkit-scrollbar{height:4px}.stats-unique-gallery::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}.stats-unique-shot{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:72px}.stats-unique-date{font-size:.6rem;color:#94a3b8}.stats-unique-empty{padding:6px 0}.page-loading.compact{padding:0}@media (max-width: 1100px){.stats-page .stats-grid.stats-summary,.stats-page .stats-grid.stats-duo,.stats-page .stats-grid.stats-plates,.stats-page .stats-grid.stats-featured{grid-template-columns:minmax(0,1fr)}.stats-page .stats-grid.stats-featured .top-frequent-card,.stats-page .stats-grid.stats-featured .top-brands-card,.stats-page .stats-grid.stats-featured .regions-pie-card{grid-column:auto;grid-row:auto}.stats-page .stats-mini-card{grid-column:span 1}.stats-page .stats-grid.stats-quad{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-page .activity-time-track{height:150px}.stats-page .top-frequent-card .stat-row-media-bar{grid-template-columns:75px minmax(0,1fr) minmax(96px,32%);gap:10px}.stats-page .top-frequent-card .stat-row-thumb{width:75px;height:53px}.stats-page .regions-pie-layout{grid-template-columns:minmax(0,1fr);gap:14px}.stats-page .regions-pie-chart-box{width:190px}.stats-unique-row{grid-template-columns:minmax(0,1fr)}.stats-range-toggle{width:100%;justify-content:flex-start;overflow-x:auto;scrollbar-width:thin}}@media (max-width: 720px){.stats-page{padding:20px 16px}.stats-hero-title h1{font-size:24px}.stats-page .stats-grid.stats-quad{grid-template-columns:minmax(0,1fr)}.stats-page .activity-time-track{height:130px}.stats-page .weekly-activity-chart{height:250px;padding:0}.stats-page .top-frequent-card .stat-row-media-bar{grid-template-columns:56px minmax(0,1fr)}.stats-page .top-frequent-card .stat-row-chart{grid-column:1 / -1}.stats-page .regions-pie-chart-box{width:168px}.stats-page .regions-pie-legend-row{padding:8px 10px}}html[data-theme=light] .stats-range-toggle{background:#0f172a0a;border-color:#0f172a14}html[data-theme=light] .stats-page{--stats-block-title-color: #0f172a}html[data-theme=light] .stats-range-btn:hover{background:#0f172a0f;color:#0f172a}html[data-theme=light] .stats-page .stats-panel,html[data-theme=light] .stats-page .stat-card{background:#ffffffe6;border-color:#0f172a14;box-shadow:0 18px 40px #0f172a1f}html[data-theme=light] .stats-page .weekly-activity-chart{background:transparent}html[data-theme=light] .stats-page .weekly-activity-hover{background:#6366f129;border-color:#6366f147}html[data-theme=light] .stats-page .stats-icon,html[data-theme=light] .stats-page .stats-metric-compact-icon{color:#0f172a}html[data-theme=light] .stats-page .stat-value{background:linear-gradient(to right,#0f172a,var(--primary));-webkit-background-clip:text;background-clip:text;color:transparent}html[data-theme=light] .stats-page .mini-activity-label{color:#64748b}html[data-theme=light] .stats-page .mini-activity-label.is-active{color:#0f172a}html[data-theme=light] .stats-page .regions-pie-card:before{display:none}html[data-theme=light] .stats-page .regions-pie-track{stroke:#0f172a24}html[data-theme=light] .stats-page .regions-pie-center{background:#fffffff5;border-color:#0f172a1a}html[data-theme=light] .stats-page .regions-pie-center-total{background:linear-gradient(180deg,#0f172a,#64748b 95%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}html[data-theme=light] .stats-page .regions-pie-count,html[data-theme=light] .stats-page .top-brands-count,html[data-theme=light] .stats-page .regions-pie-label{color:#0f172a}html[data-theme=light] .stats-page .regions-pie-legend-row{background:#0f172a08;border-color:#0f172a0f}html[data-theme=light] .stats-page .regions-pie-legend-row:hover,html[data-theme=light] .stats-page .regions-pie-legend-row.is-active{background:#0f172a14;border-color:#0f172a1f}html[data-theme=light] .stats-page .calendar-heatmap-cell{background:#0f172a0f}html[data-theme=light] .stats-page .calendar-heatmap-cell.heat-med{background:#4f46e56b}html[data-theme=light] .stats-page .calendar-heatmap-cell.heat-high{background:#4f46e5}html[data-theme=light] .stats-page .mini-activity-tooltip{background:#0f172aeb;color:#f8fafc;box-shadow:0 10px 24px #0f172a40}html[data-theme=light] .stats-page .mini-activity-tooltip-title{color:#e2e8f0b3}html[data-theme=light] .stats-page .stats-metric-icon{color:#0f172a;background:radial-gradient(circle at 20% 20%,#6366f159,#6366f114);border-color:#6366f159;box-shadow:0 12px 24px #0f172a14}html[data-theme=light] .stats-page .stats-metric-24h-value{color:#4f46e5}html[data-theme=light] .stats-page .stats-metric-delta.positive{color:#059669;background:#10b9811f;border-color:#10b98147}html[data-theme=light] .stats-page .stats-metric-delta.negative{color:#dc2626;background:#f871711f;border-color:#f871714d}html[data-theme=light] .stats-page .stats-metric-compact-icon{color:#0f172a;background:#0f172a0a;border-color:#0f172a1f}html[data-theme=light] .stats-page .stats-metric-compact-delta.positive{color:#059669}html[data-theme=light] .stats-page .stats-metric-compact-delta.negative{color:#dc2626}html[data-theme=light] .stats-page .stats-metric-link{color:#5b92ff}html[data-theme=light] .stats-page .stats-metric-link:hover:not(:disabled){color:#1d4ed8;background:#3b82f61f}html[data-theme=light] .stats-unique-modal{background:#fff;border-color:#0f172a1f;box-shadow:0 18px 36px #0f172a26}html[data-theme=light] .stats-unique-modal-header{background:#0f172a08;border-bottom-color:#0f172a14}html[data-theme=light] .stats-unique-modal-title-main{color:#0f172a}html[data-theme=light] .stats-unique-modal-sub{color:#475569}html[data-theme=light] .stats-unique-row{background:transparent;border:0}html[data-theme=light] .stats-unique-row:hover{background:#0f172a0a}html[data-theme=light] .stats-unique-row+.stats-unique-row:before{background:#0f172a14}html[data-theme=light] .stats-unique-thumb{background:#f1f5f9;border-color:#0f172a14}html[data-theme=light] .stats-unique-brand,html[data-theme=light] .stats-unique-date{color:#64748b}html[data-theme=light] .stats-page .stats-hero-title h1,html[data-theme=light] .stats-page .stats-panel-title,html[data-theme=light] .stats-page .stats-panel-heading,html[data-theme=light] .stats-page .stat-card-header h3,html[data-theme=light] .stats-page .stat-label,html[data-theme=light] .stats-page .regions-pie-center-total,html[data-theme=light] .stats-page .dwell-row-head span:first-child{color:#0f172a}html[data-theme=light] .stats-page .stats-hero-title p,html[data-theme=light] .stats-page .stats-panel-meta,html[data-theme=light] .stats-page .muted-text,html[data-theme=light] .stats-page .heatmap-desc,html[data-theme=light] .stats-page .activity-time-label,html[data-theme=light] .stats-page .activity-time-label-sub,html[data-theme=light] .stats-page .mini-activity-label,html[data-theme=light] .stats-page .weekly-axis-label,html[data-theme=light] .stats-page .weekly-axis-date,html[data-theme=light] .stats-page .calendar-heatmap-month,html[data-theme=light] .stats-page .calendar-heatmap-days .day-label,html[data-theme=light] .stats-page .regions-pie-percent,html[data-theme=light] .stats-page .dwell-row-value,html[data-theme=light] .stats-page .top-brands-percent,html[data-theme=light] .stats-page .top-frequent-card .stat-meta .micro{color:#475569}html[data-theme=light] .stats-page .stats-panel,html[data-theme=light] .stats-page .stat-card{background:#fff;border-color:#d9e2ef;box-shadow:0 12px 28px #0f172a1a}html[data-theme=light] .stats-page .stats-panel-header{border-bottom-color:#0f172a14}html[data-theme=light] .stats-page .stat-list li,html[data-theme=light] .stats-page .regions-pie-legend-row,html[data-theme=light] .stats-page .dwell-row{background:#f8fafc;border-color:#0f172a14}html[data-theme=light] .stats-page .top-frequent-card .stat-list li+li{border-top-color:#0f172a1a}html[data-theme=light] .stats-page .weekly-line{stroke:#2563eb;stroke-width:2.4}html[data-theme=light] .stats-page .weekly-point{fill:#2563eb}html[data-theme=light] .stats-page .weekly-area{fill:#2563eb26}html[data-theme=light] .stats-page .weekly-axis-grid{stroke:#0f172a1f}html[data-theme=light] .stats-page .mini-activity-value{color:#0f172a;background:#fffffff2;border-color:#0f172a1f}html[data-theme=light] .stats-page .mini-activity-value.is-active{color:#1d4ed8;border-color:#2563eb59}html[data-theme=light] .stats-page .mini-activity-hover,html[data-theme=light] .stats-page .weekly-activity-hover{background:#2563eb1a;border-color:#2563eb3d}html[data-theme=light] .stats-page .calendar-heatmap-cell{border-color:#0f172a14}html[data-theme=light] .stats-page .calendar-heatmap-cell:not(.is-empty):hover{box-shadow:0 0 0 1px #2563eb80 inset}html[data-theme=light] .heatmap-tooltip,html[data-theme=light] .list-tooltip{background:#fff;border-color:#0f172a24;box-shadow:0 16px 34px #0f172a33}html[data-theme=light] .tooltip-title,html[data-theme=light] .tooltip-item-plate{color:#0f172a}html[data-theme=light] .tooltip-subtitle,html[data-theme=light] .tooltip-item-sub,html[data-theme=light] .tooltip-more-hint{color:#475569}html[data-theme=light] .tooltip-list li{border-bottom-color:#0f172a14}html[data-theme=light] .tooltip-thumb{background:#f1f5f9;border-color:#0f172a1f}html[data-theme=light] .tooltip-more-hint{border-top-color:#0f172a1a}html[data-theme=light] .activity-tooltip-modal,html[data-theme=light] .modal.top-frequent-gallery-modal{background:#fff;border-color:#0f172a24;box-shadow:0 20px 42px #0f172a33}html[data-theme=light] .activity-tooltip-header,html[data-theme=light] .video-preview-header{background:#f8fafc;border-bottom-color:#0f172a1a}html[data-theme=light] .activity-tooltip-title-main,html[data-theme=light] .video-preview-title,html[data-theme=light] .activity-tooltip-plate,html[data-theme=light] .activity-tooltip-table td,html[data-theme=light] .top-frequent-gallery-date{color:#0f172a}html[data-theme=light] .activity-tooltip-subline,html[data-theme=light] .activity-tooltip-sub,html[data-theme=light] .activity-tooltip-range{color:#475569}html[data-theme=light] .activity-tooltip-table td{border-bottom-color:#0f172a14}html[data-theme=light] .activity-tooltip-table tbody tr:hover td{background:#0f172a09}html[data-theme=light] .activity-tooltip-thumb,html[data-theme=light] .top-frequent-gallery-thumb{background:#f1f5f9;border-color:#0f172a1f}html[data-theme=light] .activity-tooltip-scroll::-webkit-scrollbar-thumb,html[data-theme=light] .top-frequent-gallery-scroll::-webkit-scrollbar-thumb,html[data-theme=light] .stats-unique-list::-webkit-scrollbar-thumb,html[data-theme=light] .stats-unique-gallery::-webkit-scrollbar-thumb{background:#0f172a2e}.lists-form-modal{width:min(520px,100%);padding:32px;border-radius:24px;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow)}.modal-backdrop{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:camera-modal-backdrop-in .25s ease;z-index:9999}body:has(.modal-backdrop),body:has(.logout-modal-overlay.active){overflow:hidden}body:has(.modal-backdrop) .app-header,body:has(.logout-modal-overlay.active) .app-header{z-index:0!important;pointer-events:none}.modal:not(.camera-modal){transform:scale(1) translateY(0);animation:camera-modal-in .3s cubic-bezier(.34,1.56,.64,1) both}.camera-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:1;z-index:9999;animation:camera-modal-backdrop-in .25s ease}.camera-modal{max-width:520px;width:100%;background:var(--glass);background-color:#ffffff0d;border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 25px 50px -12px #00000080;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);overflow:hidden;transform:scale(1) translateY(0);animation:camera-modal-in .3s cubic-bezier(.34,1.56,.64,1) both}html[data-theme=light] .camera-modal{background:#fffc;border-color:#00000014}.camera-modal-header{display:flex;align-items:center;justify-content:space-between;padding:26px 32px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff0a}html[data-theme=light] .camera-modal-header{border-bottom-color:#0000000f}.camera-modal-header-main{display:flex;align-items:center;gap:16px}.camera-modal-icon{width:48px;height:48px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:#6366f11a;color:#818cf8;border:1px solid rgba(99,102,241,.2)}.camera-modal-icon svg{width:24px;height:24px}.camera-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-main)}.camera-modal-header p{margin:4px 0 0;font-size:10px;text-transform:uppercase;letter-spacing:.2em;font-weight:700;color:var(--text-muted)}.camera-modal-close{width:40px;height:40px;border-radius:999px;border:none;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease}.camera-modal-close:hover{background:#ffffff1f;color:var(--text-main)}.camera-modal-close svg{width:22px;height:22px}.camera-modal-form{padding:28px 32px 32px;display:flex;flex-direction:column;gap:20px}@keyframes camera-modal-backdrop-in{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes camera-modal-in{0%{transform:scale(.92) translateY(18px)}to{transform:scale(1) translateY(0)}}.camera-modal-field{display:flex;flex-direction:column;gap:8px}.camera-modal-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);margin-left:4px}.camera-modal-input{background:#ffffff08;border:1px solid rgba(255,255,255,.12);color:var(--text-main);padding:12px 16px;border-radius:14px;font-size:.95rem;transition:all .3s ease}.camera-modal-input::placeholder{color:#94a3b8b3}html[data-theme=light] .camera-modal-input{background:#fff;border-color:#00000014;color:#1e293b}.camera-modal-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #6366f166}.camera-modal-input-wrap{position:relative}.camera-modal-prefix{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:.75rem;font-weight:600;color:#818cf8}.camera-modal-input.has-prefix{padding-left:80px}.camera-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media (max-width: 640px){.camera-modal-grid{grid-template-columns:1fr}}.camera-modal-select-wrap{position:relative}.camera-modal-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:36px}.camera-modal-select-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#94a3b8cc;pointer-events:none}.camera-modal-checkbox{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:#6366f114;border:1px solid rgba(99,102,241,.18)}.camera-modal-checkbox-input{width:20px;height:20px;border-radius:6px;border:2px solid rgba(255,255,255,.2);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;position:relative;background:#ffffff08;transition:all .2s ease}html[data-theme=light] .camera-modal-checkbox-input{border-color:#0003;background:#fff}.camera-modal-checkbox-input:checked{background-color:var(--primary);border-color:var(--primary)}.camera-modal-checkbox-input:checked:after{content:"âœ“";position:absolute;color:#fff;font-size:14px;top:50%;left:50%;transform:translate(-50%,-50%)}.camera-modal-checkbox-text{font-size:.95rem;font-weight:600;color:var(--text-main)}.camera-modal-actions{display:flex;align-items:center;gap:16px;padding-top:8px}.camera-modal-cancel{flex:1;padding:12px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:transparent;color:var(--text-muted);font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}html[data-theme=light] .camera-modal-cancel{border-color:#00000014}.camera-modal-cancel:hover{background:#ffffff0d;color:var(--text-main)}.camera-modal-submit{flex:1.5;padding:12px 16px;border-radius:14px;border:none;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 10px 20px -5px #6366f166;transition:transform .2s ease,box-shadow .2s ease}.camera-modal-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px -8px #6366f166}.camera-modal-submit:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.logout-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#0006;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);opacity:0;pointer-events:none;transition:opacity .3s ease,backdrop-filter .3s ease;z-index:9999}.logout-modal-overlay.active{opacity:1;pointer-events:all;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.logout-modal{width:min(400px,100%);padding:40px;border-radius:24px;text-align:center;background:var(--glass);background-color:#ffffff0d;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);box-shadow:0 25px 50px -12px #00000080;transform:scale(.9) translateY(20px);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.logout-modal-overlay.active .logout-modal{transform:scale(1) translateY(0)}html[data-theme=light] .logout-modal{background-color:#fffc}.logout-modal-icon{width:60px;height:60px;border-radius:50%;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;background:#ef444426;color:#ef4444}.logout-modal h3{margin:0 0 12px;font-size:1.5rem;color:var(--text-main)}.logout-modal p{color:var(--text-muted);margin-bottom:30px;line-height:1.5}.logout-actions{display:flex;gap:12px}.logout-btn-cancel{flex:1;padding:12px;border-radius:12px;font-weight:600;cursor:pointer;border:1px solid var(--glass-border);background:var(--glass);color:var(--text-main);transition:all .2s}.logout-btn-cancel:hover{background:var(--glass-hover)}.logout-btn-confirm{flex:1;padding:12px;border-radius:12px;font-weight:600;cursor:pointer;border:1px solid transparent;background:#ef4444;color:#fff;box-shadow:0 4px 15px #ef44444d;transition:all .2s}.logout-btn-confirm:hover{filter:brightness(1.1);transform:translateY(-2px)}.background-blobs{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;filter:blur(80px);opacity:.15;pointer-events:none;overflow:hidden}.blob{position:absolute;border-radius:50%;animation:move 20s infinite alternate}.blob-1{width:400px;height:400px;background:#6366f1;top:-10%;right:-5%}.blob-2{width:350px;height:350px;background:#a855f7;bottom:-10%;left:-5%}@keyframes move{0%{transform:translate(0)}to{transform:translate(80px,80px)}}.glass{background:#0f172af2;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.12);border-radius:24px;position:relative;z-index:10}.ua-plate{display:inline-flex;align-items:center;background:#fff;color:#000;border:1.5px solid #333;border-radius:4px;overflow:hidden;font-family:Monaco,Consolas,monospace;box-shadow:0 4px 12px #0006;height:38px}.ua-plate .flag-side{background:#0057b7;width:12px;align-self:stretch;position:relative}.ua-plate .flag-side:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:50%;background:gold}.ua-plate .number{padding:2px 12px;font-size:1.25rem;font-weight:700;letter-spacing:1px;line-height:1}.stat-bubble{background:#ffffff0a;padding:18px;border-radius:16px;border:1px solid rgba(255,255,255,.12);transition:border-color .3s ease}.stat-bubble:hover{border-color:#ffffff40}.glass-table-wrapper{overflow-x:auto;width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#ffffff03}.glass-table{width:100%;border-collapse:collapse}.glass-table th{padding:14px 20px;color:#94a3b8;text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid rgba(255,255,255,.12)}.glass-table td{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.05);font-size:.85rem;color:#e2e8f0}.glass-table tr:last-child td{border-bottom:none}.custom-scroll::-webkit-scrollbar{width:6px}.custom-scroll::-webkit-scrollbar-track{background:transparent}.custom-scroll::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.user-login-modal{max-width:min(1240px,96vw)}.user-login-modal-body{max-height:min(84vh,920px);overflow:auto}.user-login-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.user-login-kpi-card{padding:12px;background:linear-gradient(150deg,#2dd4bf14,#0ea5e90d)}.user-login-kpi-card .detail-value{margin-top:6px;margin-bottom:4px;font-size:1.08rem}.user-login-note{margin-top:-6px}.user-login-modal .table-wrapper{margin-top:6px}.user-login-modal .data-table td,.user-login-modal .data-table th{vertical-align:middle;padding:9px 10px}.user-login-modal .stack>div>h4{margin-bottom:0;font-size:.96rem;font-weight:700}.user-login-modal .data-table th{white-space:nowrap}.user-login-path-cell{max-width:320px;word-break:break-word;overflow-wrap:anywhere;font-family:Share Tech Mono,Roboto Mono,monospace;font-size:.82rem;line-height:1.4}@media (max-width: 900px){.user-login-modal{width:100%;max-width:100%}.user-login-modal-body{max-height:calc(100vh - 120px)}.user-login-modal .data-table th,.user-login-modal .data-table td{padding:10px}}.search-page{min-height:100%}.search-page .search-query-panel{position:relative;z-index:20;width:min(400px,100%);padding:0;border:none;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;margin:0 auto;align-self:center}.search-page .search-centered{max-width:100%;margin:0 auto}.search-page .stats-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:center}.search-page .search-label{display:inline-block;margin-bottom:8px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted)}.search-page .search-input-wrap{position:relative;z-index:30}.search-page .search-input-row{position:relative;display:flex;align-items:center}.search-page .search-input-leading{position:absolute;left:14px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;pointer-events:none}.search-page .search-input-icon{color:var(--text-muted);opacity:.9}.search-page .search-input{width:100%;height:54px;border-radius:18px;border:1px solid rgba(148,163,184,.25);background:#15253d;color:var(--text-main);padding:0 98px 0 42px;font-size:.96rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.search-page .search-input::placeholder{color:#94a3b8cc}.search-page .search-input:focus{outline:none;border-color:#38bdf899;box-shadow:0 0 0 4px #38bdf824;background:#1a2b45}.search-page .search-input-trailing{position:absolute;top:50%;right:14px;display:inline-flex;align-items:center;gap:6px;transform:translateY(-50%)}.search-page .search-input-spinner{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:#38bdf8f2;transition:opacity .2s ease,transform .2s ease}.search-page .search-input-spinner-svg{width:18px;height:18px;animation:search-spin .9s linear infinite}.search-page .search-input-spinner.is-hidden{opacity:0;transform:scale(.85);pointer-events:none}.search-page .search-clear-button{width:26px;height:26px;border:1px solid rgba(148,163,184,.28);border-radius:999px;background:#0f172a6b;color:var(--text-main);cursor:pointer;padding:0;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.search-page .search-clear-button:hover{background:#38bdf826;border-color:#38bdf866}.search-page .search-clear-button.is-hidden{opacity:0;pointer-events:none;transform:scale(.82)}.search-page .search-query-hint{margin-top:8px}@keyframes search-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.search-page .search-suggest-list{position:absolute;top:calc(100% + 8px);left:0;right:0;margin:0;padding:6px;list-style:none;border-radius:12px;border:1px solid var(--glass-border);background:#15253d;box-shadow:0 16px 34px #02061780;z-index:120;max-height:min(420px,56vh);overflow:auto}.search-page .search-suggest-item{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:center;border-radius:10px;padding:8px;cursor:pointer;transition:background .12s ease}.search-page .search-suggest-item:hover,.search-page .search-suggest-item.is-active{background:#38bdf81f}.search-page .search-suggest-thumb{width:56px;height:40px;border-radius:8px;border:1px solid var(--glass-border);overflow:hidden;background:#0f172a6b;display:flex;align-items:center;justify-content:center}.search-page .search-suggest-thumb img{width:100%;height:100%;object-fit:cover;display:block}.search-page .search-suggest-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.search-page .search-suggest-plate{font-family:Share Tech Mono,Roboto Mono,monospace;font-size:.9rem;font-weight:700;letter-spacing:.04em;color:var(--text-main)}.search-page .search-suggest-sub{color:var(--text-muted);font-size:.68rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}.search-page .search-vehicle-panel{position:relative;z-index:1;padding:20px 24px}.search-page .search-panels-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.search-page .search-vehicle-card{border:none;background:transparent;padding:0}.search-page .search-recent-card{border-radius:20px;border:1px solid rgba(148,163,184,.2);background:#0f172a4d;padding:18px}.search-page .search-recent-panel{padding:20px 24px;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.search-page .search-vehicle-panel{height:100%}.search-page .search-vehicle-card-header{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:18px}.search-page .search-vehicle-image-container{position:relative;width:fit-content;max-width:200px;height:148px}.search-page .search-vehicle-image-container img{width:auto;max-width:100%;height:100%;object-fit:fill;border-radius:12px;border:1px solid rgba(148,163,184,.24);display:block}.search-page .search-vehicle-photo-empty{width:100%;height:100%;border-radius:12px;border:1px solid rgba(148,163,184,.24);background:#0206177a;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px}.search-page .search-vehicle-plate-badge{position:absolute;left:50%;bottom:-12px;transform:translate(-50%);background:#facc15;color:#111827;border:1px solid rgba(17,24,39,.9);border-radius:8px;padding:3px 11px;font-family:Share Tech Mono,Roboto Mono,monospace;font-size:.98rem;font-weight:700;letter-spacing:.06em;white-space:nowrap}.search-page .search-vehicle-main-info{min-width:0}.search-page .search-vehicle-main-info h2{margin:0;font-size:1.1rem;line-height:1.25;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-weight:600}.search-page .search-vehicle-year{font-size:1.1rem;font-weight:300;color:var(--text-muted)}.search-page .search-vehicle-color-tag{margin-top:10px;display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--text-main);font-weight:500}.search-page .search-vehicle-color-dot{width:12px;height:12px;border-radius:999px;border:1px solid rgba(148,163,184,.55)}.search-page .search-vehicle-status-summary{margin-top:14px;display:flex;align-items:flex-start;justify-content:flex-start;gap:24px;flex-wrap:wrap}.search-page .search-vehicle-stat-item{min-width:0}.search-page .search-vehicle-stat-item.is-peak{min-width:120px}.search-page .search-vehicle-stat-item.is-peak .search-vehicle-stat-value{font-size:.85rem;font-weight:700}.search-page .search-vehicle-stat-label{display:block;color:var(--text-muted);font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.search-page .search-vehicle-stat-value{display:block;margin-top:2px;color:var(--text-main);font-size:.82rem;font-weight:600}.search-page .search-vehicle-stat-value.primary{color:#60a5fa}.search-page .search-vehicle-kpi-card h3{margin:0 0 14px;color:var(--text-muted);font-size:.78rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.search-page .search-vehicle-kpi-card{min-width:0}.search-page .search-vehicle-divider{margin:18px 0;border:0;border-top:1px solid rgba(148,163,184,.22)}.search-page .search-vehicle-card-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.search-page .search-vehicle-bubble{border-radius:16px;border:1px solid rgba(148,163,184,.24);background:#ffffff0d;padding:16px;min-height:100%}.search-page .search-vehicle-bubble-title{display:flex;align-items:center;gap:8px}.search-page .search-vehicle-bubble-title svg{color:#fff;flex:0 0 auto}.search-page .search-vehicle-stats-section h3{margin:0 0 14px;color:var(--text-muted);font-size:.78rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.search-page .search-vehicle-stats-section ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:.8rem}.search-page .search-vehicle-stats-section strong{font-weight:600}.search-page .search-vehicle-kpi-list{display:flex;flex-direction:column;gap:10px;font-size:.86rem}.search-page .search-vehicle-kpi-list b{font-weight:600}.search-page .search-vehicle-stat-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.search-page .search-vehicle-stat-label{color:var(--text-muted);font-size:.84rem}.search-page .search-vehicle-stat-value{font-size:.875rem;font-weight:600}.search-page .search-vehicle-stat-value.is-in{color:#4ade80}.search-page .search-vehicle-stat-value.is-out{color:#f87171}.search-page .search-vehicle-hours-section{margin-top:0}.search-page .search-vehicle-hours-section h3{margin:0 0 14px;color:var(--text-muted);font-size:.78rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.search-page .search-vehicle-hours-list{display:flex;flex-direction:column;gap:8px}.search-page .search-vehicle-hour-tag{border-radius:8px;border:1px solid rgba(59,130,246,.3);background:#3b82f633;color:var(--text-main);font-size:.78rem;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;font-weight:500}.search-page .search-vehicle-hour-tag.hot{border-color:#3b82f666;background:#3b82f642;color:#dbeafe}.search-page .search-vehicle-hour-tag strong{font-weight:600}.search-page .search-vehicle-timeline-item{margin-bottom:12px}.search-page .search-vehicle-timeline-item:last-child{margin-bottom:0}.search-page .search-vehicle-timeline-label{display:block;font-size:11px;color:var(--text-muted)}.search-page .search-vehicle-timeline-value{display:block;margin-top:2px;font-size:.875rem;font-weight:600}.search-page .search-recent-gallery{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;flex:1;min-height:0;overflow:hidden;align-content:start}.search-page .search-recent-gallery .search-recent-shot:nth-child(n+46){display:none}.search-page .search-recent-shot{display:flex;flex-direction:column;gap:4px}.search-page .search-recent-shot.is-video-clickable{cursor:pointer}.search-page .search-recent-shot.is-video-clickable .search-recent-thumb{transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.search-page .search-recent-shot.is-video-clickable:hover .search-recent-thumb{transform:translateY(-1px);border-color:#38bdf88c;box-shadow:0 8px 20px #02061759}.search-page .search-recent-shot.is-video-clickable:hover .search-recent-date{color:var(--text-main)}.search-page .search-recent-thumb{width:100%;aspect-ratio:4 / 3;border-radius:8px;border:1px solid rgba(148,163,184,.24);overflow:hidden;background:#0206177a}.search-page .search-recent-thumb img{width:100%;height:100%;object-fit:cover;display:block}.search-page .search-recent-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:.62rem;color:var(--text-muted);padding:4px}.search-page .search-recent-date{display:block;text-align:center;font-size:.62rem;color:var(--text-muted);line-height:1.2}.search-page .calendar-heatmap-cell{display:inline-flex;align-items:center;justify-content:center;width:100%;height:auto;min-height:18px;aspect-ratio:1 / 1;border-radius:6px;border:1px solid rgba(100,116,139,.32);background:#1e293b59}.search-page .calendar-heatmap-cell.has-events{background:#0ea5e96b;border-color:#0ea5e99e}.search-page .calendar-heatmap-cell.is-empty{background:#1e293b59;border-color:#64748b52}.search-page .calendar-heatmap-cell.has-events:hover{background:#0ea5e96b;border-color:#0ea5e99e}.search-page .calendar-heatmap-count{font-family:Inconsolata,monospace;font-size:12px;font-weight:700;line-height:1;color:#f1f5f9f2;pointer-events:none;-webkit-user-select:none;user-select:none}html[data-theme=light] .search-page .calendar-heatmap-cell{border-color:#94a3b880;background:#cbd5e17a}html[data-theme=light] .search-page .calendar-heatmap-cell.has-events{background:#0ea5e940;border-color:#0ea5e980}html[data-theme=light] .search-page .calendar-heatmap-cell.is-empty{background:#cbd5e17a;border-color:#94a3b880}html[data-theme=light] .search-page .calendar-heatmap-count{color:#0f172a}html[data-theme=light] .search-page .search-input{background:#fff;border-color:#d6dee8;color:#0f172a}.search-page .search-suggest-empty{margin:0;padding:12px 14px;border-radius:10px;color:var(--text-muted);font-size:.85rem}.stats-hero-title h1,.stats-hero-title p,.page-header h1,.page-header h2,.page-header .muted-text{font-family:Inter,sans-serif}html[data-theme=light] .search-page .search-clear-button{background:#f8fafc;border-color:#d6dee8;color:#0f172a}html[data-theme=light] .search-page .search-input-spinner{color:#0284c7}html[data-theme=light] .search-page .search-suggest-empty{color:#64748b}html[data-theme=light] .search-page .search-suggest-list{background:#fff;border-color:#d6dee8;box-shadow:0 18px 34px #0f172a29}html[data-theme=light] .search-page .search-suggest-item:hover,html[data-theme=light] .search-page .search-suggest-item.is-active{background:#38bdf81f}html[data-theme=light] .search-page .search-suggest-thumb{background:#f1f5f9;border-color:#d6dee8}html[data-theme=light] .search-page .search-suggest-plate,html[data-theme=light] .search-page .search-vehicle-main-info h2{color:#0f172a}html[data-theme=light] .search-page .search-suggest-sub{color:#475569}html[data-theme=light] .search-page .search-vehicle-image-container img,html[data-theme=light] .search-page .search-vehicle-photo-empty,html[data-theme=light] .search-page .search-recent-panel,html[data-theme=light] .search-page .search-recent-card,html[data-theme=light] .search-page .search-recent-thumb{border-color:#d6dee8;background:#f8fafc}html[data-theme=light] .search-page .search-vehicle-bubble{border-color:#d6dee8;background:#fff}html[data-theme=light] .search-page .search-vehicle-bubble-title svg{color:#0f172a}html[data-theme=light] .search-page .search-vehicle-hour-tag{border-color:#0284c738;background:#0284c71a;color:#0f172a}html[data-theme=light] .search-page .search-vehicle-hour-tag.hot{border-color:#0284c759;background:#0284c724;color:#0c4a6e}@media (max-width: 1280px){.search-page .search-vehicle-card-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 980px){.search-page .search-panels-grid,.search-page .search-vehicle-card-header{grid-template-columns:1fr}.search-page .search-vehicle-status-summary{gap:14px}.search-page .search-vehicle-image-container{width:min(220px,100%);height:136px}.search-page .search-vehicle-card-stats-grid{grid-template-columns:1fr}.search-page .search-recent-gallery{grid-template-columns:repeat(6,minmax(0,1fr))}.search-page .search-recent-gallery .search-recent-shot:nth-child(n+31){display:none}}@media (max-width: 760px){.search-page .search-query-panel{padding:0}.search-page .search-vehicle-panel{padding:16px}.search-page .search-vehicle-card{padding:14px}.search-page .search-vehicle-status-summary{gap:10px}.search-page .search-recent-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.search-page .search-recent-gallery .search-recent-shot:nth-child(n+21){display:none}}
