.globe-container{width:100%;height:100%;cursor:grab;overflow:hidden;background:#0f0f1a}.globe-container:active{cursor:grabbing}.globe-container canvas{display:block}.search-input{padding:16px}.search-input__form{display:flex;gap:8px}.search-input__field{flex:1;padding:10px 12px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;color:var(--text-primary);font-size:14px;outline:none;transition:border-color .2s}.search-input__field:focus{border-color:var(--accent)}.search-input__field::placeholder{color:var(--text-secondary)}.search-input__btn{padding:10px 20px;background:var(--accent);border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.search-input__btn:hover{background:var(--accent-hover)}.search-input__dropdown{position:absolute;left:16px;right:16px;margin-top:4px;background:#1e1e3a;border:1px solid var(--input-border);border-radius:6px;max-height:300px;overflow-y:auto;z-index:100;box-shadow:0 8px 24px #0006}.search-input__option{padding:8px 10px;cursor:pointer;transition:background .15s}.search-input__option:hover,.search-input__option--selected{background:#2a2a5a}.search-input__option-code{font-weight:700;color:var(--accent-secondary);margin-right:8px;font-size:14px}.search-input__option-name{color:var(--text-primary);font-size:13px}.search-input__option-city{color:var(--text-secondary);font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-input__hint{padding:8px 16px 0;color:var(--text-secondary);font-size:12px}.route-list{flex:1;overflow-y:auto;padding:0 16px}.route-list__empty{color:var(--text-secondary);font-size:13px;text-align:center;padding:24px 0}.route-segment{background:var(--card-bg);border-radius:8px;padding:12px;margin-bottom:8px}.route-segment__header{display:flex;align-items:center;justify-content:space-between}.route-segment__codes{font-size:15px;font-weight:600;letter-spacing:.5px}.route-segment__arrow{color:var(--accent);margin:0 6px}.route-segment__remove{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;padding:2px 6px;border-radius:4px;line-height:1;transition:color .2s,background .2s}.route-segment__remove:hover{color:var(--accent);background:#e74c3c26}.route-segment__distances{margin-top:6px;font-size:12px;color:var(--text-secondary)}.route-segment__leg{margin-top:3px}.route-segment__total{margin-top:4px;font-weight:600;color:var(--text-primary);font-size:13px}.route-list__grand-total{padding:12px 16px;border-top:1px solid var(--input-border);font-size:14px;font-weight:600}.route-list__actions{display:flex;gap:8px;padding:12px 16px}.route-list__action-btn{flex:1;padding:8px 12px;border:1px solid var(--input-border);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:13px;cursor:pointer;transition:background .2s}.route-list__action-btn:hover{background:#2a2a5a}.sidebar{display:flex;flex-direction:column;height:100%}.sidebar__header{padding:20px 16px 8px}.sidebar__title{font-size:22px;font-weight:700;letter-spacing:-.5px;margin:0}.sidebar__title-accent{color:var(--accent)}.sidebar__subtitle{color:var(--text-secondary);font-size:13px;margin-top:4px;line-height:1.4}.sidebar__label{padding:16px 16px 8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.layout{display:flex;height:100vh;width:100vw;overflow:hidden}.layout__sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--sidebar-bg);display:flex;flex-direction:column;overflow:hidden}.layout__map{flex:1;position:relative;background:var(--map-bg);overflow:hidden}@media(max-width:768px){.layout{flex-direction:column-reverse}.layout__sidebar{width:100%;max-height:40vh;overflow-y:auto}}:root{--sidebar-bg: #1a1a2e;--sidebar-width: 340px;--map-bg: #0f0f1a;--text-primary: #e0e0e0;--text-secondary: #888;--accent: #e74c3c;--accent-hover: #c0392b;--accent-secondary: #f39c12;--input-bg: #2a2a4a;--input-border: #444;--card-bg: #16213e;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font:16px/1.4 var(--font-sans);background:var(--map-bg);color:var(--text-primary);-webkit-font-smoothing:antialiased}
