:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400}body{margin:0;min-width:320px;background:#f8fafc}a{color:inherit}*{margin:0;padding:0;box-sizing:border-box}body,html,#root{height:100%;width:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden;overflow-y:auto;transition:background-color .3s ease}body[data-theme=dark]{background-color:#050505;color:#e0e0e0;color-scheme:dark}body[data-theme=light]{background-color:#f5f7fb;color:#1b1f29;color-scheme:light}.app-container{display:flex;flex-direction:column;height:100vh;transition:background .3s ease,color .3s ease;color:var(--text-color);background:var(--body-bg)}.app-container.dark{--body-bg: #050505;--header-bg: #000;--panel-bg: #111;--panel-alt-bg: #1b1b1f;--border-color: #333;--text-color: #e0e0e0;--muted-text: #8a8f98;--accent: #00ff73;--danger: #ff5a5f;--input-bg: #1e1e1e;--menu-bg: #0f0f0f;--menu-border: #1f1f1f;--shadow-color: rgba(0, 0, 0, .65);--map-bg: #000000}.app-container.light{--body-bg: #eef1f6;--header-bg: rgba(250, 250, 250, .96);--panel-bg: rgba(236, 238, 244, .96);--panel-alt-bg: rgba(226, 229, 238, .95);--border-color: #c7cfdf;--text-color: #12131f;--muted-text: #5a6275;--accent: #0f5fd4;--danger: #c72338;--input-bg: rgba(255, 255, 255, .95);--menu-bg: rgba(238, 240, 246, .98);--menu-border: #cdd4e5;--shadow-color: rgba(63, 70, 97, .14);--map-bg: #d9dfe8}.app-header{position:fixed;top:0;left:0;right:0;height:60px;background:var(--header-bg);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;padding:0 20px;z-index:100000}.header-left{display:flex;align-items:center;gap:12px}.logo{font-weight:700;font-size:1.2rem;color:var(--text-color);position:absolute;left:50%;transform:translate(-50%)}.zoom-display{background:var(--panel-alt-bg);padding:5px 12px;border-radius:8px;font-family:monospace;font-weight:700}.ui-feedback{display:flex;align-items:center;gap:13px}.status-badge{background:var(--panel-alt-bg);padding:4px 10px;border-radius:6px;font-size:.85rem;font-weight:600;border:1px solid transparent}.reload-btn{border:1px solid var(--border-color);background:var(--panel-alt-bg);color:var(--text-color);border-radius:10px;padding:6px 10px;cursor:pointer;font-weight:700;font-size:1.4rem;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .1s ease;box-shadow:0 2px 6px var(--shadow-color)}.reload-btn:hover{background:var(--accent);color:#031b0f;border-color:transparent;transform:translateY(1px)}.recording-active{animation:pulse-record 1s infinite}@keyframes pulse-record{0%{background:#ff4d4f;color:#fff;box-shadow:0 0 #ff4d4f80}50%{background:#ff9a9c;color:#3b0000;box-shadow:0 0 0 8px #ff4d4f00}to{background:#ff4d4f;color:#fff;box-shadow:0 0 #ff4d4f00}}.status-badge.status-ready{color:#1faa59}.status-badge.status-alert{color:#ff4d4f}.settings-wrapper{position:relative;display:inline-block}.settings-btn{border:1px solid var(--border-color);background:var(--panel-alt-bg);color:var(--text-color);border-radius:12px;padding:8px 14px;cursor:pointer;font-weight:700;font-size:1.1rem;transition:background .2s ease,color .2s ease,border-color .2s ease}.settings-btn:hover{background:var(--accent);color:#031b0f;border-color:transparent}.settings-menu{position:absolute;width:260px;background:var(--menu-bg);border:1px solid var(--menu-border);border-radius:16px;box-shadow:0 15px 40px var(--shadow-color);padding:16px;display:flex;flex-direction:column;gap:12px;animation:fadeIn .2s ease;z-index:5000}.settings-layer{position:fixed;inset:0;pointer-events:none;z-index:4000}.settings-layer .settings-menu{pointer-events:auto}.fav-modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:6000}.fav-modal{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:14px;padding:18px;width:min(420px,90vw);box-shadow:0 18px 40px var(--shadow-color);display:flex;flex-direction:column;gap:10px}.fav-modal h3{margin:0 0 6px}.fav-label{font-size:.9rem;color:var(--muted-text)}.fav-field{position:relative}.fav-field input{width:100%;padding:10px;border-radius:10px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-color)}.fav-suggestions{position:absolute;bottom:110%;left:0;right:0;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:10px;list-style:none;padding:0;margin:0 0 6px;max-height:220px;overflow-y:auto;box-shadow:0 10px 30px var(--shadow-color);z-index:10}.fav-suggestions li{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border-color)}.fav-suggestions li:last-child{border-bottom:none}.fav-suggestions li:hover{background:var(--panel-alt-bg);color:var(--accent)}.fav-modal input[type=text]{width:100%;padding:10px;border-radius:10px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-color)}.fav-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.fav-select{width:100%;padding:10px;border-radius:10px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-color)}.tuv-list{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:4px 6px;border:1px solid var(--border-color);border-radius:10px;background:var(--panel-bg)}.tuv-option{display:flex;align-items:center;gap:8px;color:var(--text-color);font-size:.95rem}.tuv-option input{accent-color:var(--accent)}.settings-menu-header{display:flex;align-items:center;justify-content:space-between;font-weight:600}.settings-label{font-size:.85rem;color:var(--muted-text);margin-bottom:6px;display:block}.settings-close{border:none;background:transparent;color:var(--muted-text);font-size:1.1rem;cursor:pointer}.settings-group{display:flex;flex-direction:column;gap:8px}.theme-toggle-btn{border:1px solid var(--border-color);background:var(--panel-alt-bg);color:var(--text-color);border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:600;text-align:left;display:flex;align-items:center;gap:10px;transition:background .2s ease,color .2s ease,border-color .2s ease}.theme-toggle-btn:hover{background:var(--accent);color:#031b0f;border-color:transparent}.save-origin-btn{border:1px solid var(--border-color);background:var(--panel-alt-bg);color:var(--text-color);border-radius:10px;padding:8px 12px;cursor:pointer;font-weight:600;transition:background .2s ease,color .2s ease,border-color .2s ease;text-align:left}.save-origin-btn:disabled{opacity:.6;cursor:not-allowed}.save-origin-btn:hover:not(:disabled){background:var(--accent);color:#031b0f;border-color:transparent}.fav-icon-grid{display:flex;gap:10px;overflow-x:auto;padding:4px 2px;scrollbar-width:thin}.fav-icon-grid::-webkit-scrollbar{height:8px}.fav-icon-grid::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}.fav-icon-btn{border:1px solid var(--border-color);background:var(--panel-alt-bg);color:var(--text-color);border-radius:12px;padding:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-weight:700;transition:background .2s ease,border-color .2s ease,transform .15s ease}.fav-icon-btn .fav-icon-emoji{font-size:1.3rem}.fav-icon-btn.active{background:var(--accent);border-color:transparent;color:#031b0f;box-shadow:inset 0 3px 6px #0003;transform:translateY(1px)}.settings-fav-list{list-style:none;padding-left:0;margin:0;display:flex;flex-direction:column;gap:4px;color:var(--text-color);font-size:.9rem}.theme-inline-btn{border:1px solid var(--border-color);background:var(--panel-alt-bg);color:var(--text-color);border-radius:10px;padding:6px 14px;cursor:pointer;font-weight:600;transition:background .2s ease,color .2s ease,border-color .2s ease}.theme-inline-btn:hover{background:var(--accent);color:#031b0f;border-color:transparent}.countdown{color:var(--muted-text);font-size:.8rem}.app-container.light .status-badge{background:#ffffffeb;border:1px solid #d7e0f3}.app-container.light .filter-toggle{background:#f6f8fcfa;border-color:#cfd7ea;color:#12131f}.app-container.light .filter-icon{background:#f7f9fd;border-color:#cfd7ea;color:#12131f;box-shadow:inset 0 2px 4px #00000014}.app-container.light .filter-icon.stop-sign{background:#c00;color:#fff;border-color:#c00}.app-container.light .filter-icon.zone-sign{background:#fff;color:#000;border-color:#c00}.app-container.light .filter-icon.traffic-light-icon{background:#000}.app-container.light .traffic-sign{background:#1f5fbf;border-color:#fff}.crossing-sign{width:38px;height:34px;background:#0d4fbf;border:2px solid #ffffff;border-radius:4px;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='34' viewBox='0 0 38 34'%3E%3Crect width='38' height='34' rx='4' fill='%230d4fbf'/%3E%3Cpolygon points='19,6 7,26 31,26' fill='%23ffffff'/%3E%3Ccircle cx='19' cy='16' r='2' fill='%23000000'/%3E%3Cpath d='M19 18 L16 22 L17.5 22 L15 26 L17 26 L19.5 22 L21 22 Z' fill='%23000000'/%3E%3Crect x='11' y='27' width='16' height='3' fill='%23ffffff'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:cover}.priority-sign{width:38px;height:34px;background:#0d4fbf;border:2px solid #ffffff;border-radius:4px;position:relative;display:grid;place-items:center}.priority-sign:before{content:"";width:26px;height:22px;background:#c00;clip-path:polygon(50% 100%,0 0,100% 0)}.priority-sign:after{content:"";position:absolute;width:20px;height:16px;background:#fff;clip-path:polygon(50% 100%,0 0,100% 0)}.app-container.light .filter-label{color:#12131f}.app-container.light .filter-toggle .filter-state{color:#5a6275}.app-container.light .leaflet-pane .leaflet-tile{filter:grayscale(1) brightness(.92) contrast(1.35)}.app-container.light .theme-inline-btn,.app-container.light .reset-btn,.app-container.light .filter-toggle,.app-container.light .search-container,.app-container.light .suggestions-list,.app-container.light .sidebar{box-shadow:0 18px 40px #4a567829;-webkit-backdrop-filter:saturate(160%) blur(18px);backdrop-filter:saturate(160%) blur(18px)}.app-container.light .theme-inline-btn,.app-container.light .reset-btn{border-color:#cad4eb}.app-container.light .search-container input{background:#ffffffeb}.app-container.light .suggestions-list{border-color:#c8d5f0}.app-container.light .status-badge{background:#ffffffeb;border-color:#d7e0f3}.filter-toggle{width:100%;border:1px solid var(--border-color);background:var(--panel-alt-bg);color:var(--text-color);border-radius:12px;padding:10px 14px;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;gap:14px;font-weight:600;transition:background .2s ease,color .2s ease,transform .15s ease,border-color .2s ease,box-shadow .15s ease;margin-bottom:12px;box-shadow:0 2px 6px var(--shadow-color)}.filter-icon{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--panel-bg);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:var(--text-color);box-shadow:inset 0 2px 4px #0003}.filter-icon.crossing-sign{border-radius:8px;border-color:#fff;background:#0d4fbf;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Crect width='48' height='48' rx='6' fill='%230d4fbf'/%3E%3Cpolygon points='24,10 8,36 40,36' fill='%23ffffff'/%3E%3Ccircle cx='24' cy='22' r='3' fill='%23000000'/%3E%3Cpath d='M24 25 L20 32 L22.5 32 L19 38 L22 38 L25.5 32 L28 32 Z' fill='%23000000'/%3E%3Crect x='12' y='38' width='24' height='4' fill='%23ffffff'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:cover}.filter-icon.priority-sign{border-radius:8px;border-color:#fff;background:#0d4fbf;display:grid;place-items:center;position:relative}.filter-icon.priority-sign:before{content:"";width:30px;height:26px;background:#c00;clip-path:polygon(50% 100%,0 0,100% 0)}.filter-icon.priority-sign:after{content:"";position:absolute;width:22px;height:18px;background:#fff;clip-path:polygon(50% 100%,0 0,100% 0)}.filter-text{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.filter-label{font-size:.95rem}.filter-toggle .filter-state{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-text)}.filter-toggle:hover{border-color:#2d8f5b}.filter-toggle.active{background:#17e27f;border-color:transparent;color:#052315;box-shadow:inset 0 3px 6px #00000040;transform:translateY(1px)}.filter-toggle.active .filter-state{color:#052315}.sidebar-divider{margin:16px 0;border-top:1px solid var(--border-color);opacity:.75}.favorite-row{display:flex;flex-direction:column;gap:8px;align-items:stretch}.favorite-primary{width:100%}.favorite-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%}.icon-inline-btn{border:1px solid var(--border-color);background:var(--panel-alt-bg);color:var(--text-color);border-radius:10px;padding:6px 8px;cursor:pointer;font-size:.95rem;box-shadow:0 2px 6px var(--shadow-color);transition:background .2s ease,color .2s ease,border-color .2s ease,transform .1s ease}.icon-inline-btn:hover{background:var(--accent);color:#031b0f;border-color:transparent;transform:translateY(1px)}.icon-btn{background:#222;border:1px solid #444;border-radius:6px;padding:5px 7px;color:#f5f5f5;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .1s ease}.icon-btn:hover{background:#2f2f2f}.icon-btn.delete:hover{border-color:#f44;color:#fcc}.icon-btn.eye-active{background:#0f02;border-color:#0f0;color:#0f0}.recording-card{background:#1a1a1a;border:1px solid #333;border-radius:10px;padding:12px;margin-bottom:12px;transition:border-color .2s ease}.recording-card:hover{border-color:#444}.recording-info{cursor:pointer;margin-bottom:10px}.rec-title{display:block;font-weight:700;font-size:.9rem;margin-bottom:4px;color:#fff}.rec-meta{font-size:.75rem;color:#888}.status-passed{color:#0f0;font-weight:700}.status-failed{color:#f44;font-weight:700}.action-row{display:flex;gap:8px;border-top:1px solid #333;padding-top:10px}.action-btn{background:#222;border:1px solid #444;border-radius:6px;width:36px;height:36px;display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:1rem;transition:all .2s ease;color:#f5f5f5}.action-btn:hover{background:#333;border-color:#666}.action-btn.active{background:#00ff0026;border-color:#0f0;box-shadow:0 0 8px #0f03}.action-btn.delete:hover{background:#ff44441a;border-color:#f44}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content{background:#121212;border:1px solid #333;border-radius:12px;padding:24px;max-width:520px;width:90%;color:#f5f5f5;box-shadow:0 10px 30px #0006}.school-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:16px}.school-btn{background:#1f1f1f;border:1px solid #444;border-radius:10px;padding:12px;color:#fff;cursor:pointer;transition:background .2s ease,border-color .2s ease}.school-btn:hover{background:#2a2a2a;border-color:#00ff8c}.blurred{filter:blur(2px);pointer-events:none;-webkit-user-select:none;user-select:none}.status-btn{flex:1;padding:10px;background:#222;border:1px solid #444;color:#fff;border-radius:8px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.status-btn.passed{border-color:#0f0;background:#030}.status-btn.failed{border-color:#f44;background:#300}.traffic-sign{width:78px;height:40px;border-radius:2px;background:#1f5fbf;border:2px solid #ffffff;position:relative;overflow:hidden}.traffic-sign:before{content:"";position:absolute;inset:1px;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40' viewBox='0 0 78 40'%3E%3Crect x='6' y='14' width='46' height='12' rx='2' fill='%23ffffff'/%3E%3Cpolygon points='48,10 72,20 48,30' fill='%23ffffff'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain}.traffic-light{width:18px;height:18px;border-radius:50%;margin:0 auto;opacity:.7}.traffic-light.red{background:#ff4d4d}.traffic-light.yellow{background:#ffd84d}.traffic-light.green{background:#5be071}.main-layout{display:flex;height:calc(100vh - 60px);padding-top:0;width:100%}.sidebar{width:300px;background:var(--panel-bg);border-right:1px solid var(--border-color);padding:12px 20px 20px;display:flex;flex-direction:column;gap:8px;height:calc(100vh - 60px);margin-top:60px;overflow-y:auto}.tool-box{margin-top:0}.tool-box h3{font-size:.9rem;text-transform:uppercase;color:var(--text-color);margin:0 0 12px;font-weight:700}.ctrl-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;cursor:pointer;color:var(--text-color)}.reset-btn{padding:12px;background:var(--panel-alt-bg);border:1px solid var(--border-color);color:var(--text-color);border-radius:8px;cursor:pointer;transition:background .2s ease,color .2s ease}.reset-btn:hover{background:var(--accent);color:#031b0f}.favorites-list{display:flex;flex-direction:column;gap:8px}.map-holder{flex:1;width:100%;height:calc(100vh - 60px);margin-top:60px;position:relative;min-height:400px}.user-heading-icon{background:transparent}.user-arrow{width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:26px solid #00d26a;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4));transform-origin:50% 70%;transition:transform .15s ease,border-bottom-color .2s ease}.speed-meter,.recenter-stack{display:none}.recenter-container{position:absolute;left:20px;bottom:120px;z-index:1200}.recenter-btn-new{width:50px;height:50px;border-radius:50%;background:var(--panel-bg);border:2px solid var(--border-color);color:var(--text-color);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;box-shadow:0 4px 15px var(--shadow-color);transition:all .2s ease}.recenter-btn-new:hover{background:var(--accent);color:#000;border-color:transparent;transform:scale(1.05)}.speed-display{position:absolute;left:20px;bottom:25px;width:80px;height:80px;background:#000000d9;color:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px solid #007AFF;box-shadow:0 8px 25px #00000080;z-index:1200;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.speed-value{font-size:28px;font-weight:900;line-height:1}.speed-unit{font-size:10px;font-weight:700;text-transform:uppercase;color:#aaa;margin-top:2px}.admin-controls{position:absolute;top:100px;right:20px;z-index:1200}.admin-toolbar{position:absolute;top:80px;right:20px;z-index:1200;display:flex;flex-direction:column;gap:10px;align-items:flex-end}.mode-toggle{padding:12px 20px;border-radius:25px;border:none;background:#1a1a1a;color:#fff;font-weight:700;cursor:pointer;box-shadow:0 4px 15px #0006;transition:all .3s ease}.mode-toggle.active{background:#007aff;transform:scale(1.05)}.hint{background:#000000b3;color:#fff;padding:5px 12px;border-radius:5px;font-size:12px}.scan-btn{background:#007affe6;color:#fff;border:none;padding:10px 15px;border-radius:8px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #0003;transition:transform .2s ease,background .2s ease}.scan-btn:hover{transform:scale(1.05);background:#0056b3}.practice-center-icon{background:transparent}.practice-cross{width:18px;height:18px;border:2px solid #a020f0;position:relative;border-radius:4px;box-shadow:0 2px 6px #0006;background:#a020f01f}.practice-cross:before,.practice-cross:after{content:"";position:absolute;background:#a020f0;left:50%;top:50%;transform:translate(-50%,-50%)}.practice-cross:before{width:2px;height:14px}.practice-cross:after{width:14px;height:2px}.practice-float{position:fixed;z-index:11000;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:14px;padding:12px;width:320px;box-shadow:0 18px 40px var(--shadow-color)}.practice-header{display:flex;align-items:center;justify-content:space-between;cursor:move;font-weight:700;color:var(--text-color)}.search-overlay{position:absolute;left:50%;bottom:25px;transform:translate(-50%);z-index:1000;width:min(450px,90vw)}.search-container{background:var(--panel-bg);border:2px solid var(--border-color);border-radius:25px;padding:5px 15px;box-shadow:0 10px 30px var(--shadow-color);width:100%;display:flex;flex-direction:column;gap:10px}.search-container-v2{display:flex;flex-direction:column;gap:8px;width:100%}.search-row{display:flex;gap:8px;align-items:stretch}.search-field-main{flex:1;position:relative}.search-field-main input{width:100%;height:45px;padding:0 15px;border-radius:12px;border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-color);font-size:.95rem}.side-clear-btn{width:45px;height:45px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--panel-alt-bg);border:1px solid var(--border-color);border-radius:12px;color:var(--text-color);font-size:1.5rem;cursor:pointer;transition:all .2s ease}.side-clear-btn:hover{background:var(--danger);color:#fff;border-color:transparent}.fade-in{animation:fadeInSearch .3s ease-out}@keyframes fadeInSearch{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-field{position:relative}.search-container input{width:100%;background:var(--input-bg);border:none;color:var(--text-color);padding:10px;font-size:1rem;outline:none;border-radius:12px}.clear-input-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:var(--panel-alt-bg);border:1px solid var(--border-color);color:var(--text-color);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;line-height:1;box-shadow:0 2px 6px var(--shadow-color)}.clear-input-btn:hover{background:var(--accent);color:#031b0f;border-color:transparent}.suggestions-list{position:absolute;bottom:calc(100% + 5px);left:0;right:0;background:var(--panel-bg);border:2px solid var(--border-color);border-radius:15px;list-style:none;max-height:250px;overflow-y:auto;box-shadow:0 5px 20px var(--shadow-color);z-index:9999}.suggestions-list li{padding:12px 15px;font-size:.9rem;border-bottom:1px solid var(--border-color);cursor:pointer;color:var(--text-color)}.suggestions-list li:hover{background:var(--panel-alt-bg);color:var(--accent)}.stop-tooltip{background:transparent!important;border:none!important;box-shadow:none!important;color:#fff!important;font-weight:700!important;font-size:11px!important;pointer-events:none}.zone-tooltip{background:#0a1824d9!important;color:#fff!important;border-radius:6px!important;border:none!important;font-size:11px!important;font-weight:600!important;padding:4px 8px!important;box-shadow:0 4px 10px #0006!important}.leaflet-control-attribution{display:none!important}.error-bar{background:var(--danger);color:#fff;text-align:center;padding:5px;font-size:.8rem;z-index:100}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.filter-toggle{display:flex;align-items:center;gap:15px;width:100%;background:#1a1a1a;border:1px solid #333;padding:10px;border-radius:12px;cursor:pointer;margin-bottom:10px;transition:all .2s ease}.filter-toggle.active{border-color:#0f0;background:#1a2a1a}.filter-text{display:flex;flex-direction:column;align-items:flex-start}.filter-label{font-size:.9rem;font-weight:700;color:#fff}.filter-state{font-size:.75rem;color:#888}.zone-sign{width:38px;height:38px;background:#fff;border:4px solid #cc0000;border-radius:50%;display:flex;justify-content:center;align-items:center;color:#000;font-weight:900;font-size:15px}.stop-sign{width:38px;height:38px;background:#c00;color:#fff;display:flex;justify-content:center;align-items:center;font-weight:800;font-size:8px;clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%)}.traffic-light-icon{width:20px;height:40px;background:#333;border-radius:4px;display:flex;flex-direction:column;justify-content:space-around;align-items:center;padding:4px 0}.traffic-light-icon .light{width:8px;height:8px;border-radius:50%}.light.red{background:#f44;box-shadow:0 0 5px #f44}.light.yellow{background:#fc0}.light.green{background:#0f0}
