*{box-sizing:border-box;margin:0;padding:0}html,body,#root{color:#e2e8f0;background:#07090e;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{width:100%;height:100%;display:flex;position:relative}.dashboard-layout{height:100vh;display:flex;overflow:hidden}.dashboard-sidebar{background:#0d1117;border-right:1px solid #ffffff0f;flex-direction:column;width:200px;min-width:200px;padding:16px 0;display:flex;overflow-y:auto}.dashboard-logo{color:#e2e8f0;cursor:pointer;letter-spacing:.5px;padding:4px 20px 20px;font-size:18px;font-weight:700}.dashboard-nav-item{color:#94a3b8;cursor:pointer;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:block}.dashboard-nav-item:hover{color:#e2e8f0;background:#ffffff0a}.dashboard-nav-item.active{color:#3b82f6;background:#3b82f614;border-right:2px solid #3b82f6}.dashboard-nav-group{flex-direction:column;display:flex}.dashboard-nav-group-header{text-transform:uppercase;letter-spacing:.5px;color:#64748b;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;display:flex}.dashboard-nav-group-header.has-active{color:#94a3b8}.dashboard-nav-caret{color:#475569;font-size:9px}.dashboard-nav-sub{padding-left:34px;font-size:13px}.dashboard-content{flex:1;min-width:0;overflow-y:auto}.dashboard-mobile-header,.dashboard-mobile-overlay{display:none}@media (width<=768px){.dashboard-layout{flex-direction:column}.dashboard-mobile-header{background:#0d1117;border-bottom:1px solid #ffffff0f;flex-shrink:0;align-items:center;gap:12px;height:48px;padding:0 16px;display:flex}.dashboard-hamburger{color:#e2e8f0;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex}.dashboard-mobile-title{color:#e2e8f0;font-size:15px;font-weight:600}.dashboard-sidebar{z-index:2000;border-right:1px solid #ffffff14;width:240px;min-width:240px;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.dashboard-sidebar.mobile-open{transform:translate(0)}.dashboard-mobile-overlay{z-index:1999;background:#0009;display:block;position:fixed;inset:0}.dashboard-content{flex:1;min-height:0;overflow-y:auto}.dashboard-content h1{font-size:18px!important}.ant-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.ant-table{min-width:600px}.ant-modal{max-width:calc(100vw - 16px)!important;margin:8px!important}.ant-modal .ant-modal-content{padding:16px!important}.ant-statistic .ant-statistic-content-value{font-size:16px!important}.ant-statistic-title{font-size:11px!important}.ant-table-cell{padding:8px!important;font-size:12px!important}.ant-table-thead .ant-table-cell{padding:6px 8px!important;font-size:11px!important}.ant-picker-dropdown{max-width:calc(100vw - 16px)!important;left:8px!important}.ant-picker-panels{flex-direction:column!important}.ant-picker-panel-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.ant-picker-presets{min-width:auto!important;max-height:120px!important;overflow-y:auto!important}.ant-picker-presets ul{flex-wrap:wrap!important;gap:4px!important;display:flex!important}.ant-picker-presets li{border:1px solid #ffffff1a!important;border-radius:4px!important;padding:4px 8px!important;font-size:11px!important}.ant-select-dropdown{max-width:calc(100vw - 16px)!important}.ant-modal-close{width:40px!important;height:40px!important}.ant-modal-footer{flex-wrap:wrap!important;gap:8px!important;display:flex!important}.ant-modal-footer .ant-btn{flex:1!important;min-width:80px!important}.ant-drawer-title{font-size:14px!important}.ant-drawer-header{padding:12px 16px!important}.ant-drawer-body{padding:12px!important}.ant-btn{touch-action:manipulation}.ant-input,.ant-input-password input,.ant-select-selector,.ant-picker-input input{font-size:16px!important}.ant-tooltip{max-width:calc(100vw - 16px)!important}.ant-pagination{flex-wrap:wrap!important;gap:4px!important}.ant-pagination-options{display:none!important}.ant-tag{margin-inline-end:4px!important;padding:0 5px!important;font-size:11px!important}}.stop-datetime-input.ant-picker{background:#ffffff0d!important;border:1px solid #ffffff1a!important;border-radius:6px!important;padding:6px 10px!important;font-size:13px!important}.stop-datetime-input.ant-picker:hover,.stop-datetime-input.ant-picker-focused{border-color:#3b82f6!important}.stop-datetime-input .ant-picker-input>input{color:#e2e8f0!important;font-size:13px!important}.stop-datetime-input .ant-picker-suffix{color:#475569!important}.stop-datetime-popup .ant-picker-time-panel-column{height:224px!important;overflow-y:auto!important}.stop-datetime-popup .ant-picker-time-panel-column:after{display:none!important}.stop-datetime-popup .ant-picker-time-panel{overflow:visible!important}.stop-datetime-popup .ant-picker-datetime-panel{display:flex!important}.stop-datetime-popup .ant-picker-time-panel-column::-webkit-scrollbar{width:4px}.stop-datetime-popup .ant-picker-time-panel-column::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.map-container{flex:1;height:100%}.mapboxgl-canvas{outline:none}.search-panel{z-index:11;width:calc(100% - 70px);max-width:380px;position:absolute;top:10px;left:10px}@media (width>=768px){.search-panel{width:380px;top:16px;left:16px}}.search-row{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#07090ee6;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:0;display:flex;overflow:hidden}.search-mode-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-right:1px solid #ffffff0f;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;transition:all .15s;display:flex}.search-mode-btn:hover{color:#e2e8f0;background:#ffffff0d}.search-mode-btn.active{color:#3b82f6;background:#3b82f61a}.search-row input{color:#e2e8f0;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:12px 14px;font-size:15px}.search-row input::placeholder{color:#64748b}.search-clear-btn{color:#64748b;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;margin-right:4px;font-size:16px;display:flex}.search-clear-btn:hover{color:#e2e8f0}.search-suggestions{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f1219fa;border:1px solid #ffffff1a;border-radius:14px;max-height:260px;margin-top:4px;overflow:hidden auto;box-shadow:0 12px 40px #0009}.search-suggestion{cursor:pointer;border-bottom:1px solid #ffffff0a;align-items:center;gap:10px;padding:10px 14px;transition:background .1s;display:flex}.search-suggestion:last-child{border-bottom:none}.search-suggestion:hover{background:#3b82f614}.search-suggestion-icon{color:#64748b;flex-shrink:0}.search-suggestion-text{flex:1;min-width:0}.search-suggestion-main{color:#e2e8f0;font-size:13px;font-weight:600;display:block}.search-suggestion-sub{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;display:block;overflow:hidden}.search-stops{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#07090ee6;border:1px solid #ffffff14;border-radius:14px;margin-top:4px;overflow:visible}.search-stop{border-bottom:1px solid #ffffff0f;align-items:center;gap:10px;padding:14px 12px 14px 8px;transition:background .1s;display:flex;position:relative}.search-stop:last-child{border-bottom:none}.search-stop.dragging{opacity:.85;border:1px solid #3b82f64d;box-shadow:0 4px 16px #0006}.search-stop-grip{color:#334155;cursor:grab;touch-action:none;flex-shrink:0;justify-content:center;align-items:center;width:16px;transition:color .15s;display:flex}.search-stop-grip:active{cursor:grabbing}.search-stop:hover .search-stop-grip{color:#64748b}.search-stop-letter{color:#fff;background:#3b82f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:flex;box-shadow:0 2px 8px #3b82f666}.search-stop-name{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;cursor:text;border-radius:6px;flex:1;min-width:0;padding:4px 6px;font-size:14px;font-weight:600;transition:background .15s;overflow:hidden}.search-stop-name:hover{background:#ffffff0f}.search-stop-edit-wrap{flex:1;min-width:0;position:relative}.search-stop-edit{color:#e2e8f0;background:#3b82f614;border:1px solid #3b82f680;border-radius:6px;outline:none;width:100%;padding:3px 6px;font-size:13px;font-weight:600}.search-stop-edit-suggestions{z-index:60;background:#0f1219fa;border:1px solid #ffffff1a;border-radius:10px;max-height:180px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden auto;box-shadow:0 8px 30px #0009}.search-stop-leg{color:#94a3b8;white-space:nowrap;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:11px}.search-stop-x{color:#ff3b52;cursor:pointer;opacity:0;background:#ff3b5214;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:18px;transition:all .15s;display:flex}.search-stop:hover .search-stop-x{opacity:1}.search-stop-x:hover{color:#fff;background:#ff3b52}.search-stop-footer{background:#ffffff05;border-top:1px solid #ffffff0f;align-items:center;gap:8px;padding:12px;display:flex}.search-route-summary{color:#3b82f6;flex:1;align-items:center;gap:6px;display:flex}.search-route-summary svg{flex-shrink:0}.search-route-total{color:#e2e8f0;font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700}.search-route-sep{color:#475569;font-size:12px}.search-route-stops{color:#64748b;margin-left:auto;font-size:11px}.search-route-calc{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:10px;flex:1;padding:8px 12px;font-size:12px;font-weight:700;transition:all .15s}.search-route-calc:hover{background:#2563eb}.search-route-calc:disabled{opacity:.6;cursor:not-allowed}.search-route-clear{color:#ff3b52;cursor:pointer;background:#ff3b521a;border:none;border-radius:10px;flex-shrink:0;padding:8px 14px;font-size:12px;font-weight:700;transition:all .15s}.search-route-clear:hover{color:#fff;background:#ff3b52}.search-route-assign{color:#22c55e;cursor:pointer;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:10px;width:calc(100% - 24px);margin:0 12px 8px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s;display:block}.search-route-assign:hover{background:#22c55e33}.search-assign-form{background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;margin:0 12px 12px;padding:12px}.search-assign-label{color:#64748b;margin-top:8px;margin-bottom:4px;font-size:11px;display:block}.search-assign-label:first-child{margin-top:0}.search-assign-select,.search-assign-input{color:#e2e8f0;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;outline:none;width:100%;padding:8px 10px;font-size:13px}.search-assign-select:focus,.search-assign-input:focus{border-color:#3b82f6}.search-assign-dropdown{z-index:100;background:#1e293b;border:1px solid #ffffff1a;border-radius:6px;max-height:160px;margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.search-assign-dropdown-item{color:#e2e8f0;cursor:pointer;padding:8px 10px;font-size:13px}.search-assign-dropdown-item:hover{background:#ffffff14}.search-assign-stops{color:#94a3b8;flex-direction:column;gap:4px;margin-top:8px;font-size:12px;display:flex}.search-assign-stop{align-items:center;gap:6px;display:flex}.search-assign-submit{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;width:100%;margin-top:10px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s}.search-assign-submit:hover{background:#2563eb}.search-assign-submit:disabled{opacity:.5;cursor:default}.filter-bar{z-index:10;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding:8px 12px;display:flex;position:absolute;top:54px;left:0;right:0;overflow-x:auto}.filter-bar::-webkit-scrollbar{display:none}.filter-chip{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#94a3b8;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#07090ed9;border:1px solid #ffffff1a;border-radius:12px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.filter-chip:hover{background:#ffffff14}.filter-chip.active{border-color:var(--chip-color);background:var(--chip-bg);color:var(--chip-color)}.filter-chip .emoji{font-size:16px}@media (width>=768px){.filter-bar{background:#07090ed9;border:1px solid #ffffff14;border-radius:16px;top:16px;left:50%;right:auto;overflow-x:visible;transform:translate(-50%)}}.truck-panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:15;background:#07090eeb;border-right:1px solid #ffffff14;flex-direction:column;width:280px;animation:.2s ease-out slideIn;display:flex;position:absolute;top:0;bottom:0;left:0}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.truck-panel-header{border-bottom:1px solid #ffffff14;align-items:center;gap:8px;padding:16px;display:flex}.truck-panel-title{color:#e2e8f0;font-size:15px;font-weight:700}.truck-panel-subtitle{color:#22c55e;font-size:12px;font-weight:500}.truck-panel-header .close-btn{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin-left:auto;font-size:14px;display:flex}.truck-panel-header .close-btn:hover{background:#ffffff1f}.truck-search{border-bottom:1px solid #ffffff14;padding:8px 12px}.truck-search input{color:#e2e8f0;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;outline:none;width:100%;padding:7px 12px;font-size:13px}.truck-search input::placeholder{color:#64748b}.truck-search input:focus{border-color:#fff3}.truck-empty{text-align:center;color:#64748b;padding:20px 16px;font-size:13px}.dispatcher-bar{border-bottom:1px solid #ffffff14;align-items:center;gap:6px;padding:8px 12px;display:flex}.dispatcher-select{color:#e2e8f0;cursor:pointer;appearance:none;background:#ffffff0a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 8px center no-repeat;border:1px solid #ffffff14;border-radius:8px;outline:none;flex:1;padding:6px 28px 6px 10px;font-size:13px}.dispatcher-select:focus{border-color:#fff3}.dispatcher-select option{color:#e2e8f0;background:#1a1f2e}.dispatcher-manage-btn{color:#94a3b8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.dispatcher-manage-btn:hover{color:#e2e8f0;background:#ffffff1a}.dispatcher-manage{border-bottom:1px solid #ffffff14;max-height:300px;padding:8px 12px;overflow-y:auto}.dispatcher-add{gap:6px;margin-bottom:8px;display:flex}.dispatcher-input{color:#e2e8f0;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;outline:none;flex:1;padding:6px 10px;font-size:13px}.dispatcher-input::placeholder{color:#64748b}.dispatcher-input:focus{border-color:#fff3}.dispatcher-add-btn{color:#fff;cursor:pointer;background:#22c55e;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;display:flex}.dispatcher-add-btn:disabled{opacity:.4;cursor:default}.dispatcher-list{flex-direction:column;gap:4px;display:flex}.dispatcher-item{background:#ffffff05;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.dispatcher-name{color:#e2e8f0;font-size:13px}.dispatcher-count{color:#64748b;margin-left:auto;font-size:11px}.dispatcher-edit-btn,.dispatcher-delete-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #ffffff0f;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.dispatcher-edit-btn:hover{color:#3b82f6;background:#3b82f61a}.dispatcher-delete-btn:hover{color:#ef4444;background:#ef44441a}.dispatcher-empty{color:#64748b;text-align:center;padding:8px;font-size:12px}.dispatcher-edit-trucks{width:100%}.dispatcher-edit-header{color:#94a3b8;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.dispatcher-save-btn{color:#fff;cursor:pointer;background:#22c55e;border:none;border-radius:6px;margin-left:auto;padding:3px 10px;font-size:11px}.dispatcher-cancel-btn{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:6px;padding:3px 10px;font-size:11px}.dispatcher-truck-search{color:#e2e8f0;box-sizing:border-box;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;outline:none;width:100%;margin-bottom:6px;padding:5px 10px;font-size:12px}.dispatcher-truck-search::placeholder{color:#64748b}.dispatcher-truck-search:focus{border-color:#fff3}.dispatcher-truck-list{grid-template-columns:1fr 1fr;gap:2px 8px;max-height:200px;display:grid;overflow-y:auto}.dispatcher-truck-check{cursor:pointer;color:#94a3b8;border-radius:4px;align-items:center;gap:6px;padding:3px 4px;font-size:12px;display:flex}.dispatcher-truck-check:hover{background:#ffffff0a}.dispatcher-truck-check input[type=checkbox]{accent-color:#22c55e}.truck-list{scrollbar-width:thin;scrollbar-color:#ffffff1a transparent;flex:1;overflow-y:auto}.truck-item{cursor:pointer;border-bottom:1px solid #ffffff0a;flex-direction:column;gap:3px;padding:8px 16px;transition:background .1s;display:flex}.truck-item-top{align-items:center;gap:10px;display:flex}.truck-item-assignment{align-items:center;gap:8px;padding-left:18px;display:flex}.truck-item-status{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600}.truck-item-eta{color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:10px}.truck-item:hover{background:#ffffff0d}.truck-item.selected{background:#22c55e1f;border-left:3px solid #22c55e;padding-left:13px}.truck-status{border-radius:50%;flex-shrink:0;width:8px;height:8px}.truck-name{color:#e2e8f0;flex:1;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600}.truck-meta{white-space:nowrap;align-items:center;gap:8px;display:flex}.truck-fuel{font-family:JetBrains Mono,monospace;font-size:11px}.truck-speed{color:#64748b;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:11px}@media (width<=767px){.truck-panel{border-top:1px solid #ffffff14;border-right:none;border-top-left-radius:20px;border-top-right-radius:20px;width:100%;max-height:50vh;top:auto;bottom:0}}.detail-panel{z-index:20;background:#0f1219;border:1px solid #ffffff14;border-bottom:none;border-top-left-radius:20px;border-top-right-radius:20px;max-height:55vh;padding:20px 24px 32px;animation:.2s ease-out slideUp;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}@media (width>=768px){.detail-panel{border:1px solid #ffffff14;border-radius:20px;width:380px;max-height:none;inset:20px 20px 20px auto}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.detail-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.detail-header .emoji{font-size:26px}.detail-header .name{color:#e2e8f0;letter-spacing:.5px;flex:1;font-size:20px;font-weight:700}.detail-header .close-btn{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;transition:background .15s;display:flex}.detail-header .close-btn:hover{background:#ffffff1f}.detail-coords{color:#64748b;cursor:pointer;margin-bottom:12px;font-family:JetBrains Mono,monospace;font-size:12px}.detail-coords:hover{color:#f59e0b}.detail-coords.copied{color:#27c97e;transition:color .15s}.stats-row{flex-wrap:wrap;gap:12px;margin-bottom:14px;display:flex}.stat-badge{border-radius:8px;padding:4px 10px;font-size:13px;font-weight:500}.approval-bar{align-items:center;gap:10px;margin-bottom:14px;display:flex}.approval-track{background:#ffffff0f;border-radius:3px;flex:1;height:6px;overflow:hidden}.approval-fill{background:#27c97e;border-radius:3px;height:100%}.approval-pct{color:#27c97e;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600}.approval-votes{color:#64748b;font-family:JetBrains Mono,monospace;font-size:13px}.amenity-section-title{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-top:6px;margin-bottom:10px;font-size:12px;font-weight:600}.amenity-grid{background:#ffffff08;border-radius:14px;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:14px;padding:10px;display:grid}.amenity-cell{flex-direction:column;align-items:center;gap:3px;padding:8px 2px;display:flex}.amenity-cell .icon-row{align-items:center;gap:3px;display:flex}.amenity-cell .emoji{font-size:18px}.amenity-cell .state{font-size:12px}.amenity-cell .label{color:#64748b;text-align:center;font-size:11px;font-weight:500}.badge-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.badge{border-radius:8px;padding:3px 10px;font-size:12px;font-weight:500}.theft-warning{background:#ff3b5224;border:1px solid #ff3b524d;border-radius:12px;align-items:center;gap:10px;margin-bottom:14px;padding:12px;display:flex}.theft-warning .emoji{font-size:22px}.theft-warning .text{color:#ff3b52;font-size:14px;font-weight:600}.loading-spinner{color:#f59e0b;justify-content:center;align-items:center;padding:40px;display:flex}.style-toggle{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#e2e8f0;cursor:pointer;background:#07090ed9;border:1px solid #ffffff14;border-radius:12px;width:42px;height:42px;font-size:13px;font-weight:700;transition:all .15s;position:absolute;bottom:40px;right:20px}.style-toggle:hover{background:#ffffff14}.dispo-toggle{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f59e0b;cursor:pointer;background:#07090ed9;border:1px solid #f59e0b59;border-radius:12px;height:42px;padding:0 14px;font-size:13px;font-weight:700;transition:all .15s;position:absolute;bottom:90px;right:20px}.dispo-toggle:hover{background:#f59e0b26;border-color:#f59e0b99}.dispo-toggle .shortcut-hint{color:#fbbf24;background:#f59e0b2e;border:1px solid #f59e0b66;border-radius:5px;margin-left:8px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;animation:.15s ease-out shortcut-fade}.dispo-toggle.show-shortcut{border-color:#f59e0b99}@keyframes shortcut-fade{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.dashboard-toggle{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#e2e8f0;cursor:pointer;background:#07090ed9;border:1px solid #ffffff14;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;transition:all .15s;display:flex;position:absolute;bottom:140px;right:20px}.dashboard-toggle:hover{color:#fff;background:#ffffff14}.truck-detail{--drag-x:0px;--drag-y:0px;transform:translate(calc(-50% + var(--drag-x)), var(--drag-y));z-index:25;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform-origin:bottom;background:#07090ead;border:1px solid #ffffff14;border-radius:16px;width:780px;max-width:calc(100% - 40px);max-height:calc(100vh - 80px);padding:16px;animation:.34s cubic-bezier(.16,1,.3,1) truckDetailIn;position:absolute;bottom:20px;left:50%;overflow-y:auto}@keyframes truckDetailIn{0%{transform:translate(calc(-50% + var(--drag-x)), calc(var(--drag-y) + 18px)) scale(.96);opacity:0;filter:blur(4px)}60%{opacity:1;filter:blur()}to{transform:translate(calc(-50% + var(--drag-x)), var(--drag-y)) scale(1);opacity:1;filter:blur()}}.truck-detail.closing{pointer-events:none;animation:.26s cubic-bezier(.4,0,1,1) forwards truckDetailOut}.truck-detail.compact{width:440px;transition:width .25s cubic-bezier(.16,1,.3,1)}.truck-detail.compact .truck-detail-columns{display:block}.truck-detail.compact .truck-detail-left{display:none}@keyframes truckDetailOut{0%{transform:translate(calc(-50% + var(--drag-x)), var(--drag-y)) scale(1);opacity:1;filter:blur()}to{transform:translate(calc(-50% + var(--drag-x)), calc(var(--drag-y) + 14px)) scale(.97);opacity:0;filter:blur(3px)}}.truck-detail-columns{gap:16px;display:flex}.truck-detail-left{flex:1;min-width:0}.truck-detail-right{border-left:1px solid #ffffff0f;flex:1.3;min-width:0;padding-left:16px}@media (width<=700px){.truck-detail{-webkit-overflow-scrolling:touch;border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:70vh;padding:14px;animation:.34s cubic-bezier(.16,1,.3,1) truckDetailInMobile;bottom:0;left:0;overflow-y:auto;transform:none}@keyframes truckDetailInMobile{0%{opacity:0;filter:blur(4px);transform:translateY(22px)}60%{opacity:1;filter:blur()}to{opacity:1;filter:blur();transform:translateY(0)}}.truck-detail.closing{animation:.26s cubic-bezier(.4,0,1,1) forwards truckDetailOutMobile}@keyframes truckDetailOutMobile{0%{opacity:1;filter:blur();transform:translateY(0)}to{opacity:0;filter:blur(3px);transform:translateY(18px)}}.truck-detail-columns{flex-direction:column}.truck-detail-right{border-top:1px solid #ffffff0f;border-left:none;padding-top:8px;padding-left:0}.truck-detail-grid{grid-template-columns:1fr 1fr}.assignment-quick-status{grid-template-columns:1fr 1fr 1fr 1fr}.assignment-quick-btn,.assignment-status-btn{padding:8px;font-size:12px}.assignment-btn{padding:10px 14px;font-size:13px}.order-card-header{padding:10px 12px}.order-card-body{padding:10px 12px 12px}.assignment-input{padding:10px 12px;font-size:14px}.assignment-status-badge{padding:6px 10px;font-size:11px}}.truck-detail-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.truck-detail .close-btn{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:all .15s;display:flex}.truck-detail .close-btn:hover{color:#ef4444;background:#ef444426;border-color:#ef44444d}.truck-detail .compact-btn{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;line-height:1;transition:all .15s;display:flex}.truck-detail .compact-btn:hover{color:#3b82f6;background:#3b82f626;border-color:#3b82f64d}.truck-detail .compact-btn.active{color:#3b82f6;background:#3b82f626;border-color:#3b82f659}.truck-detail-icon{font-size:28px}.truck-detail-title{flex-direction:column;flex:1;display:flex}.truck-detail-name-row{align-items:center;gap:8px;display:flex}.truck-detail-name{color:#e2e8f0;font-family:JetBrains Mono,monospace;font-size:16px;font-weight:700}.truck-type-badge{cursor:pointer;letter-spacing:.5px;border:none;border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700}.truck-type-badge.standard{color:#94a3b8;background:#ffffff1a}.truck-type-badge.mega{color:#f59e0b;background:#f59e0b33}.truck-type-tag{border-radius:3px;flex-shrink:0;padding:1px 4px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700}.truck-type-tag.mega{color:#f59e0b;background:#f59e0b33}.truck-detail-status{font-size:13px;font-weight:600}.truck-detail-status.moving{color:#22c55e}.truck-detail-status.parked{color:#64748b}.truck-detail-coords{color:#64748b;cursor:pointer;margin-bottom:4px;font-family:JetBrains Mono,monospace;font-size:11px;transition:color .15s}.truck-detail-coords:hover{color:#f59e0b}.truck-detail-coords.copied{color:#22c55e}.truck-detail-updated{color:#64748b;margin-bottom:12px;font-size:11px}.truck-detail-grid{background:#ffffff0f;border-radius:10px;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:4px;display:grid;overflow:hidden}.truck-stats-more-toggle{text-align:center;color:#64748b;cursor:pointer;margin-bottom:8px;padding:6px 0;font-size:11px}.truck-stats-more-toggle:hover{color:#94a3b8}.truck-stat{background:#07090e99;flex-direction:column;gap:2px;padding:6px 10px;display:flex}.truck-stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:500}.truck-stat-value{color:#e2e8f0;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600}.truck-detail-driver-section{background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;padding:8px 10px}.truck-detail-driver{color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:12px}.driver-card-out{color:#ef4444;font-size:11px}.truck-driver-activity{align-items:center;gap:8px;display:flex}.driver-activity-badge{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.driver-activity-badge.activity-0{color:#94a3b8;background:#64748b33}.driver-activity-badge.activity-1{color:#3b82f6;background:#3b82f626}.driver-activity-badge.activity-2{color:#f59e0b;background:#f59e0b26}.driver-activity-badge.activity-3{color:#22c55e;background:#22c55e26}.driver-activity-time{color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:12px}.driver-warning{color:#ef4444;background:#ef444426;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.truck-detail-vin{color:#64748b;margin-top:4px;font-family:JetBrains Mono,monospace;font-size:11px}.doc-expiry-bar{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.doc-expiry-item{white-space:nowrap;border-radius:3px;align-items:center;gap:3px;padding:1px 5px;font-size:10px;display:inline-flex}.doc-expiry-label{opacity:.8;font-weight:600}.doc-expiry-days{font-size:10px;font-weight:700}.assignment-status-badge{border-radius:6px;justify-content:space-between;align-items:center;gap:8px;margin:6px 0;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;display:flex}.assignment-badge-text{flex:1;min-width:0}.assignment-badge-refresh{color:inherit;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:8px;flex-shrink:0;align-items:center;gap:4px;padding:6px 12px;font-size:11px;font-weight:600;line-height:1;display:flex}.assignment-badge-refresh:hover{background:#fff3}.assignment-badge-refresh:disabled{opacity:.5;cursor:default}.assignment-quick-status{grid-template-columns:1fr 1fr 1fr 1fr;gap:4px;margin-bottom:6px;display:grid}.assignment-quick-btn{cursor:pointer;color:#94a3b8;white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.assignment-quick-btn:hover{background:#ffffff1a}.assignment-quick-btn.active{border-color:#0000}.assignment-quick-btn:disabled{opacity:.5;cursor:default}.assignment-status-row{grid-template-columns:1fr 1fr;gap:4px;margin-bottom:10px;display:grid}.assignment-status-btn{cursor:pointer;color:#94a3b8;white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:4px 8px;font-size:11px}.assignment-status-btn:hover{background:#ffffff1a}.assignment-status-btn.active{border-color:#0000}.assignment-header{cursor:pointer;justify-content:space-between;align-items:center;padding:4px 0;display:flex}.assignment-title{color:#e2e8f0;font-size:13px;font-weight:600}.assignment-toggle{color:#64748b;font-size:10px}.assignment-body{max-height:40vh;padding-top:8px;overflow-y:auto}.show-more-orders-btn{color:#60a5fa;background:#3b82f614;border:1px dashed #3b82f64d;width:100%;margin-top:6px;font-size:12px}.show-more-orders-btn:hover{background:#3b82f626}.assignment-label{color:#64748b;margin-top:8px;margin-bottom:4px;font-size:11px;display:block}.assignment-label:first-child{margin-top:0}.assignment-input{color:#e2e8f0;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;outline:none;width:100%;padding:8px 10px;font-size:13px}.assignment-input:focus{border-color:#3b82f6}.assignment-dropdown{z-index:100;background:#1e293b;border:1px solid #ffffff1a;border-radius:6px;max-height:180px;margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.assignment-dropdown-item{cursor:pointer;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.assignment-dropdown-item:hover{background:#ffffff0d}.assignment-place-name{color:#e2e8f0;font-size:13px}.assignment-place-addr{color:#64748b;font-size:11px}.assignment-actions{gap:6px;margin-top:10px;display:flex}.assignment-btn{cursor:pointer;color:#fff;background:#3b82f6;border:none;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:500}.assignment-btn:disabled{opacity:.5;cursor:default}.assignment-btn.secondary{color:#94a3b8;background:#ffffff14}.assignment-btn.danger{color:#ef4444;background:#ef444426}.assignment-btn-sm{cursor:pointer;color:#94a3b8;background:#ffffff14;border:none;border-radius:4px;padding:2px 8px;font-size:14px;line-height:1}.assignment-eta-bar{color:#22c55e;align-items:center;gap:12px;padding:6px 0;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;display:flex}.assignment-eta{background:#22c55e14;border:1px solid #22c55e26;border-radius:6px;margin-top:10px;padding:8px 10px}.assignment-eta-row{justify-content:space-between;padding:3px 0;display:flex}.assignment-eta-label{color:#94a3b8;font-size:12px}.assignment-eta-value{color:#22c55e;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600}.assignment-eta-updated{color:#64748b;margin-top:4px;font-size:11px}.order-card{background:#0f172a66;border:1px solid #ffffff14;border-radius:8px;margin-bottom:8px;overflow:hidden}.order-card-header{cursor:pointer;align-items:center;gap:6px;padding:8px 10px;display:flex}.order-card-header.compact{align-items:flex-start;gap:5px;padding:6px 8px}.order-card-header:hover{background:#ffffff08}.order-card-title{flex-wrap:wrap;flex:1;align-items:center;gap:6px;display:flex}.order-card-main{flex-direction:column;flex:1;gap:3px;min-width:0;padding-top:1px;display:flex}.order-card-row-1{align-items:center;gap:6px;min-width:0;display:flex}.order-card-row-2{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.order-card-row-2 .order-card-customer{flex-shrink:1;max-width:140px}.order-card-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.order-card-ref{color:#e2e8f0;white-space:nowrap;font-size:12px;font-weight:600}.order-card-status-label{white-space:nowrap;font-size:10px;font-weight:600}.order-card-actions-mini{flex-shrink:0;align-items:center;gap:8px;display:flex}.order-card-eta{white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600}.order-card-body{border-top:1px solid #ffffff0f;padding:8px 10px 10px}.order-card-footer{border-top:1px solid #ffffff0f;gap:6px;margin-top:10px;padding-top:8px;display:flex}.order-drag-wrapper.dragging{opacity:.85;z-index:10}.order-drag-wrapper.dragging .order-card{border-color:#3b82f6;box-shadow:0 4px 16px #0006}.order-drag-handle{cursor:grab;color:#475569;-webkit-user-select:none;user-select:none;touch-action:none;flex-shrink:0;padding:0 2px;font-size:12px}.order-drag-handle:hover{color:#94a3b8}.order-drag-handle:active{cursor:grabbing}.order-card.order-waiting{opacity:.6;border-style:dashed}.order-waiting-badge{color:#64748b;text-align:center;background:#ffffff08;border-radius:6px;margin-bottom:8px;padding:6px 10px;font-size:11px}.order-ref-price-row{gap:8px;display:flex}.order-ref-price-field{flex:1;min-width:0;max-width:90px}.order-ref-price-field:first-child{flex:2;max-width:none}.order-price-field{flex:0 0 90px}.order-price-input-wrap{position:relative}.order-price-input-wrap .assignment-input{padding-right:24px}.order-price-currency{color:#64748b;pointer-events:none;font-size:13px;font-weight:600;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.order-card-price{color:#22c55e;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.customer-dropdown{z-index:100;background:#1e293b;border:1px solid #ffffff1a;border-radius:6px;max-height:160px;margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.customer-dropdown-item{color:#e2e8f0;cursor:pointer;padding:8px 10px;font-size:13px}.customer-dropdown-item:hover{background:#ffffff14}.customer-dropdown-add{color:#3b82f6;border-top:1px solid #ffffff0f}.order-card-route{color:#3b82f6;white-space:nowrap;background:#3b82f61a;border-radius:3px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600}.order-card-customer{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;background:#ffffff0f;border-radius:3px;max-width:200px;padding:1px 6px;font-size:10px;display:inline-block;overflow:hidden}.order-card-date{color:#f59e0b;white-space:nowrap;background:#f59e0b1a;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.stop-price-wrap{margin-top:2px;position:relative}.stop-price-input{width:100%;padding-right:22px;font-size:12px}.stop-price-currency{color:#94a3b8;pointer-events:none;font-size:12px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.assignment-comments{resize:vertical;min-height:40px;font-family:inherit}.order-card.new-order{border-style:dashed;border-color:#ffffff1f;padding:10px}.assignment-btn.complete{color:#22c55e;background:#22c55e26}.assignment-btn.complete:hover{background:#22c55e40}.add-order-btn{color:#94a3b8;background:#ffffff0d;border:1px dashed #ffffff26;width:100%;margin-top:4px}.add-order-btn:hover{color:#e2e8f0;background:#ffffff14}.assignment-badge-count{opacity:.7;margin-left:4px;font-size:10px}.assignment-badge-updated{opacity:.5;margin-left:6px;font-size:10px}.order-history{border-top:1px solid #ffffff0f;margin-top:12px;padding-top:8px}.order-history-header{cursor:pointer;color:#64748b;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;font-weight:600;display:flex}.order-history-header:hover{color:#94a3b8}.order-history-list{margin-top:6px}.order-history-item{background:#ffffff05;border-radius:6px;flex-direction:column;gap:2px;margin-bottom:4px;padding:6px 8px;display:flex}.order-history-ref{color:#94a3b8;font-size:12px;font-weight:600}.order-history-meta{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.order-history-km{gap:4px;font-size:10px;display:flex}.order-history-date{color:#475569;font-size:10px}.fuel-section{margin-top:12px}.fuel-body{max-height:400px;overflow-y:auto}.fuel-filters{gap:6px;margin-bottom:8px;display:flex}.fuel-filter-btn{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #2a2d38;border-radius:12px;padding:3px 10px;font-size:11px}.fuel-filter-btn.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.fuel-list{flex-direction:column;gap:2px;display:flex}.fuel-item{border-bottom:1px solid #ffffff0f;padding:6px 0}.fuel-item-top{justify-content:space-between;align-items:center;display:flex}.fuel-product{color:#e2e8f0;font-size:12px;font-weight:600}.fuel-price{color:#22c55e;font-size:12px;font-weight:600}.fuel-item-bottom{gap:8px;margin-top:2px;font-size:11px;display:flex}.fuel-station{color:#94a3b8}.fuel-liters{color:#3b82f6;font-weight:600}.fuel-date{color:#64748b;margin-left:auto}.dest-marker{cursor:pointer;filter:drop-shadow(0 2px 4px #00000080)}.dest-marker svg{display:block}.truck-marker-count{opacity:.7;margin-left:2px;font-size:8px}.assignment-status-btn{font-weight:600}.truck-marker{cursor:pointer;flex-direction:column;align-items:center;transition:transform .5s ease-out;display:flex}.truck-marker-icon{filter:drop-shadow(0 2px 4px #00000080);display:flex}.truck-marker-icon svg{transition:transform .5s ease-out}.truck-marker-name{color:#fff;white-space:nowrap;background:#000c;border-radius:4px;margin-top:-2px;padding:3px 7px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700}.truck-marker-status{white-space:nowrap;background:#000c;border-radius:3px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.truck-marker-updated{color:#94a3b8;white-space:nowrap;background:#000000bf;border-radius:2px;padding:2px 5px;font-family:JetBrains Mono,monospace;font-size:9px}.truck-marker.zoomed-out .truck-marker-status,.truck-marker.zoomed-out .truck-marker-updated,.truck-marker.label-hidden .truck-marker-name,.truck-marker.label-hidden .truck-marker-status,.truck-marker.label-hidden .truck-marker-updated{display:none}.truck-toggle{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#22c55e;cursor:pointer;background:#07090ed9;border:1px solid #22c55e4d;border-radius:12px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s;position:absolute;bottom:90px;left:20px}.truck-toggle:hover{background:#22c55e1f}.as24-toggle{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#64748b;cursor:pointer;background:#07090ed9;border:1px solid #3b82f64d;border-radius:12px;padding:8px 14px;font-size:13px;font-weight:600;position:absolute;bottom:140px;left:20px}.as24-toggle.active{color:#3b82f6;border-color:#3b82f680}.as24-toggle:hover{background:#3b82f61f}.workshop-toggle{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#64748b;cursor:pointer;background:#07090ed9;border:1px solid #f973164d;border-radius:12px;padding:8px 14px;font-size:13px;font-weight:600;position:absolute;bottom:186px;left:20px}.workshop-toggle.active{color:#f97316;border-color:#f9731680}.workshop-toggle:hover{background:#f973161f}.as24-station-marker{cursor:pointer;font-size:28px;line-height:1}.poi-count{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#64748b;background:#07090ed9;border:1px solid #ffffff14;border-radius:10px;padding:6px 14px;font-family:JetBrains Mono,monospace;font-size:12px;position:absolute;bottom:40px;left:20px}.mapboxgl-popup-content{color:#e2e8f0!important;background:#0f1219!important;border:1px solid #ffffff1a!important;border-radius:12px!important;padding:10px 14px!important;font-size:13px!important;box-shadow:0 8px 32px #00000080!important}.mapboxgl-popup-tip{border-top-color:#0f1219!important}.route-marker{color:#fff;cursor:grab;background:#3b82f6;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;font-weight:700;transition:box-shadow .15s,transform .15s;display:flex;box-shadow:0 2px 10px #3b82f680}.route-marker:hover{transform:scale(1.1);box-shadow:0 4px 16px #3b82f6b3}.route-marker:active{cursor:grabbing;transform:scale(1.15)}.route-marker-edit{cursor:grab;background:#f59e0b;border-color:#fff;font-size:16px;box-shadow:0 2px 12px #f59e0b99}.route-marker-edit:active{cursor:grabbing;transform:scale(1.15)}.route-marker-drag{opacity:.9;pointer-events:none;background:#f59e0b;border-color:#fff;font-size:18px;box-shadow:0 2px 10px #f59e0b80}.add-poi-panel{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#07090ef2;border:1px solid #ffffff14;border-radius:18px;width:400px;max-width:calc(100% - 40px);padding:18px;animation:.2s ease-out slideUp;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.add-poi-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.add-poi-title{color:#e2e8f0;font-size:16px;font-weight:700}.add-poi-header .close-btn{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-left:auto;font-size:16px;transition:all .15s;display:flex}.add-poi-header .close-btn:hover{color:#ef4444;background:#ef444426;border-color:#ef44444d}.add-poi-coords{color:#64748b;flex:1;font-family:JetBrains Mono,monospace;font-size:11px}.add-poi-categories{gap:6px;margin-bottom:12px;display:flex}.add-poi-cat{color:#94a3b8;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.add-poi-cat:hover{background:#ffffff0f}.add-poi-cat.active{border-color:var(--cat-color);background:color-mix(in srgb, var(--cat-color) 15%, transparent);color:var(--cat-color)}.add-poi-input{color:#e2e8f0;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;outline:none;width:100%;margin-bottom:10px;padding:10px 12px;font-size:13px;transition:border-color .15s}.add-poi-input::placeholder{color:#64748b}.add-poi-input:focus{border-color:#fff3}.add-poi-amenities{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.add-poi-amenity{color:#64748b;cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:4px;padding:6px 10px;font-size:12px;transition:all .15s;display:flex}.add-poi-amenity:hover{background:#ffffff0f}.add-poi-amenity.active{color:#22c55e;background:#22c55e1a;border-color:#22c55e66}.add-poi-amenity-emoji{font-size:14px}.add-poi-amenity-label{font-weight:500}.add-poi-error{color:#ff3b52;background:#ff3b521a;border:1px solid #ff3b5233;border-radius:10px;margin-bottom:10px;padding:8px 12px;font-size:12px}.add-poi-submit{color:#fff;cursor:pointer;background:#22c55e;border:none;border-radius:12px;width:100%;padding:12px;font-size:14px;font-weight:700;transition:all .15s}.add-poi-submit:hover{background:#16a34a}.add-poi-submit:disabled{opacity:.6;cursor:not-allowed}.detail-edit-btn{color:#3b82f6;cursor:pointer;background:#3b82f61a;border:1px solid #3b82f633;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:flex}.detail-edit-btn:hover{background:#3b82f633}.detail-edit{flex-direction:column;gap:6px;display:flex;overflow:visible}.detail-edit-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:11px;font-weight:600}.detail-edit-cats{gap:4px;display:flex}.detail-edit-cat{color:#94a3b8;cursor:pointer;text-align:center;background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;flex:1;padding:8px 6px;font-size:12px;font-weight:600;transition:all .15s}.detail-edit-cat.active{border-color:var(--cat-color);background:color-mix(in srgb, var(--cat-color) 15%, transparent);color:var(--cat-color)}.detail-edit-row{gap:6px;display:flex}.detail-edit-input{color:#e2e8f0;box-sizing:border-box;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;outline:none;width:100%;min-width:0;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:13px}.detail-edit-row .detail-edit-input{flex:1;width:auto}.detail-edit-input::placeholder{color:#475569}.detail-edit-input:focus{border-color:#fff3}.detail-edit-coords-hint{color:#3b82f6;cursor:default;font-size:11px}.detail-edit-amenities{flex-wrap:wrap;gap:4px;display:flex}.detail-edit-amenity{color:#64748b;cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:3px;padding:5px 8px;font-size:11px;transition:all .15s;display:flex}.detail-edit-amenity.yes{color:#22c55e;background:#22c55e14;border-color:#22c55e4d}.detail-edit-amenity.no{color:#ff3b52;background:#ff3b5214;border-color:#ff3b524d}.detail-edit-amenity-state{font-size:10px}.detail-edit-error{color:#ff3b52;background:#ff3b521a;border-radius:8px;padding:6px 10px;font-size:12px}.detail-edit-actions{gap:6px;margin-top:4px;display:flex}.detail-edit-save{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:10px;flex:1;padding:10px;font-size:13px;font-weight:700;transition:all .15s}.detail-edit-save:hover{background:#2563eb}.detail-edit-save:disabled{opacity:.6;cursor:not-allowed}.detail-edit-cancel{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:none;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600;transition:all .15s}.detail-edit-cancel:hover{background:#ffffff14}.stops-editor{flex-direction:column;gap:8px;display:flex}.stop-row{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;padding:8px 10px}.stop-row-header{align-items:center;gap:4px;margin-bottom:2px;display:flex;gap:8px!important}.stop-row-header .place-search{flex:1;min-width:0}.stop-drag-handle{cursor:grab;color:#475569;-webkit-user-select:none;user-select:none;touch-action:none;padding:2px 4px;font-size:12px}.stop-drag-handle:hover{color:#94a3b8}.stop-row.stop-dragging{opacity:.85;border-color:#3b82f6;box-shadow:0 4px 16px #0006}.stop-type-select{color:#e2e8f0;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;border-radius:6px;flex:1;padding:4px 8px;font-size:12px}.stop-remove-btn{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:16px;line-height:1}.stop-remove-btn:hover{background:#ef444426}.stop-add-buttons{flex-wrap:wrap;gap:6px;display:flex}.stop-add-btn{color:#94a3b8;cursor:pointer;background:0 0;border:1px dashed #ffffff26;border-radius:6px;padding:6px 10px;font-size:11px;transition:all .15s}.stop-add-btn:hover{color:#e2e8f0;background:#ffffff0d}.stop-progress{background:#ffffff08;border-radius:8px;flex-direction:column;gap:4px;margin-bottom:8px;padding:8px;display:flex}.stop-progress-item{color:#94a3b8;align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.stop-progress-item.current{color:#e2e8f0}.stop-progress-item.done{opacity:.5}.stop-progress-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.stop-progress-label{text-transform:uppercase;font-size:11px;font-weight:600}.stop-progress-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.stop-progress-check{color:#22c55e;font-weight:700}.stop-progress-here{color:#f59e0b;text-transform:uppercase;background:#f59e0b26;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}
