.center-marker-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;pointer-events:none}.center-marker-container,.center-marker-crosshair{display:flex;align-items:center;justify-content:center}.center-marker-crosshair{position:relative}.center-marker-crosshair.small{width:20px;height:20px}.center-marker-crosshair.medium{width:30px;height:30px}.center-marker-crosshair.large{width:40px;height:40px}.crosshair-horizontal{position:absolute;width:100%;height:2px;top:50%;left:0;transform:translateY(-50%)}.crosshair-vertical{position:absolute;width:2px;height:100%;left:50%;top:0;transform:translateX(-50%)}.crosshair-center{position:absolute;width:6px;height:6px;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px white}.center-marker-icon.pin.small{width:24px;height:24px}.center-marker-icon.pin.medium{width:32px;height:32px}.center-marker-icon.pin.large{width:40px;height:40px}.center-marker-icon.pin{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));animation:pinBounce 2s ease-in-out infinite}@keyframes pinBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.center-marker-circle{border-radius:50%;position:relative;box-shadow:0 0 0 3px rgba(255,255,255,.8);animation:pulse 2s ease-in-out infinite}.center-marker-circle.small{width:16px;height:16px}.center-marker-circle.medium{width:20px;height:20px}.center-marker-circle.large{width:24px;height:24px}.center-marker-circle-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50%;height:50%;background-color:white;border-radius:50%}@media (max-width:768px){.center-marker-crosshair.small{width:18px;height:18px}.center-marker-crosshair.medium{width:26px;height:26px}.center-marker-crosshair.large{width:34px;height:34px}.center-marker-icon.pin.small{width:20px;height:20px}.center-marker-icon.pin.medium{width:28px;height:28px}.center-marker-icon.pin.large{width:36px;height:36px}}.search-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px}.search-popup{background:white;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.2);width:100%;max-width:500px;max-height:80vh;height:auto;display:flex;flex-direction:column;overflow:hidden;transform:translateZ(0);-webkit-transform:translateZ(0)}.samsung-browser .search-popup{max-height:75vh;height:calc(100vh - 100px)}@media (max-width:768px){.search-popup{max-height:85vh}.samsung-browser .search-popup{max-height:80vh;height:calc(100vh - 80px)}@media (max-height:600px){.search-popup{max-height:90vh}.samsung-browser .search-popup{max-height:85vh;height:calc(100vh - 60px)}}}.search-popup-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;border-bottom:1px solid #eee}.search-popup-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.close-button{font-size:20px;padding:4px;border-radius:4px;transition:all .2s}.close-button:hover{color:#333}.filter-section{padding:16px 24px;border-bottom:1px solid #eee}.filter-tabs{gap:4px;margin-top:12px}.filter-tab{flex:1 1;padding:10px 16px;background:#f8f9fa;border-radius:8px;font-size:14px;transition:all .2s}.filter-tab:hover{background:#e9ecef}.filter-tab.active{background:#3498db;border-color:#3498db}.filter-tab.active:hover{background:#2980b9;border-color:#2980b9}.filter-input{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:14px;outline:none;transition:all .2s;background:#fafafa}.filter-input:focus{border-color:#3498db;background:white;box-shadow:0 0 0 3px rgba(52,152,219,.1)}.filter-input::placeholder{color:#999}.search-popup-content{flex:1 1;overflow-y:auto;padding:16px 24px 24px}.empty-state,.error-state,.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#666}.loading-state{gap:12px}.loading-spinner{width:24px;height:24px;border:2px solid #eee;border-top-color:#3498db;border-radius:50%;animation:spin 1s linear infinite}.error-state{color:#e74c3c}.results-list{display:flex;flex-direction:column;gap:12px}.result-item{border:1px solid #eee;border-radius:8px;padding:16px;cursor:pointer;transition:all .2s}.result-item:hover{border-color:#3498db;box-shadow:0 2px 8px rgba(52,152,219,.1);transform:translateY(-1px)}.result-header{justify-content:space-between;margin-bottom:12px}.result-header,.shop-info{display:flex;align-items:flex-start}.shop-info{gap:12px;flex:1 1}.shop-logo{width:40px;height:40px;border-radius:6px;object-fit:cover;flex-shrink:0;transition:opacity .2s ease-in-out}.shop-details{flex:1 1;min-width:0}.shop-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-address{margin:0;line-height:1.4}.result-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.distance{font-size:14px;color:#3498db;font-weight:500;flex-shrink:0}.navigation-button{background:#4285f4;border-radius:6px;padding:6px 12px;transition:all .2s;box-shadow:0 1px 3px rgba(66,133,244,.3)}.navigation-button:hover{background:#3367d6;box-shadow:0 2px 6px rgba(66,133,244,.4)}.navigation-button:active{box-shadow:0 1px 3px rgba(66,133,244,.3)}.battery-info{display:flex;gap:16px;padding-top:12px;border-top:1px solid #f5f5f5}.battery-stat{display:flex;flex-direction:column;align-items:center;flex:1 1}.stat-label{font-size:12px;color:#666;margin-bottom:4px}.stat-value{font-size:16px;font-weight:600}.stat-value.available{color:#27ae60}.stat-value.total{color:#3498db}.stat-value.return{color:#f39c12}@media (max-width:768px){.search-popup-overlay{padding:10px}.search-popup{max-height:85vh;width:calc(100vw - 20px);max-width:none}.samsung-browser .search-popup{max-height:80vh;height:calc(100vh - 80px);width:calc(100vw - 16px)}.search-popup-header{padding:16px 20px 12px}.search-popup-header h3{font-size:16px}.filter-section{padding:12px 20px}.filter-tabs{gap:3px;margin-top:10px}.filter-tab{padding:8px 12px;font-size:13px}.filter-input{padding:10px 12px;font-size:16px}.search-popup-content{padding:12px 20px 20px;max-height:calc(100vh - 200px);overflow-y:auto}.result-item{padding:12px}.shop-info{gap:8px}.shop-logo{width:32px;height:32px}.shop-name{font-size:14px}.shop-address{font-size:13px}.battery-info{gap:12px}.stat-value{font-size:14px}.result-actions{gap:6px}.navigation-button{padding:5px 8px;font-size:11px}@media (max-height:600px){.search-popup{max-height:90vh}.samsung-browser .search-popup{max-height:85vh;height:calc(100vh - 60px)}.search-popup-content{max-height:calc(100vh - 160px)}.search-popup-header{padding:12px 20px 8px}.filter-section{padding:8px 20px}}}@media (min-width:1200px){.search-popup{max-width:600px}}.samsung-browser .search-popup-overlay{align-items:flex-start;padding-top:40px}.samsung-browser .search-popup{transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform;-webkit-will-change:transform;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.samsung-browser .search-popup-content{-webkit-overflow-scrolling:touch;overflow-scrolling:touch}.map-container{position:relative;overflow:hidden}.map,.map-container{width:100%;height:100%}.map-loading,.map-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;background:#f5f5f5;color:#666;font-size:16px;z-index:100}.map-loading-overlay{background:rgba(245,245,245,.9)}.map-loading div,.map-loading-overlay div{display:flex;align-items:center}.map-loading div:after,.map-loading-overlay div:after{content:"";width:20px;height:20px;margin-left:10px;border:2px solid #ddd;border-top-color:#3498db;border-radius:50%;animation:spin 1s linear infinite}.control-buttons{display:flex;flex-direction:column;gap:10px}.control-buttons button{transition:all .2s ease}.control-buttons button:hover:not(:disabled){transform:translateY(-1px)}.query-controls,.relocate-controls{transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.query-controls.with-service-point{bottom:160px!important}.relocate-controls.with-service-point{bottom:100px!important}.samsung-browser .query-controls,.samsung-browser .relocate-controls{transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform;-webkit-will-change:transform;box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.samsung-browser .query-controls button:hover,.samsung-browser .relocate-controls button:hover{transform:translate3d(0,-2px,0);-webkit-transform:translate3d(0,-2px,0);box-shadow:0 4px 12px rgba(0,0,0,.15)}.query-controls.hidden,.relocate-controls.hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:scale(.8)!important;transition:all .3s ease!important}.samsung-browser .query-controls.hidden,.samsung-browser .relocate-controls.hidden{transform:translate3d(0,20px,0) scale(.8)!important;-webkit-transform:translate3d(0,20px,0) scale(.8)!important}.query-controls.with-service-point,.relocate-controls.with-service-point{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:scale(.8) translateY(20px)!important;transition:all .3s ease!important}.samsung-browser .query-controls.with-service-point,.samsung-browser .relocate-controls.with-service-point{transform:translate3d(0,30px,0) scale(.8)!important;-webkit-transform:translate3d(0,30px,0) scale(.8)!important}@media (max-width:768px){.map-loading,.map-loading-overlay{font-size:14px}.relocate-controls.with-service-point{display:none}.query-controls,.relocate-controls{position:fixed!important;right:20px!important;z-index:100!important}}.service-point-info{position:fixed;bottom:0;left:0;right:0;background:white;border-radius:16px 16px 0 0;box-shadow:0 -4px 20px rgba(0,0,0,.15);z-index:1000;max-height:75vh;min-height:35vh;height:auto;overflow-y:auto;animation:slideUp .3s ease-out;transform:translateZ(0);-webkit-transform:translateZ(0)}.samsung-browser .service-point-info{max-height:60vh;height:auto;min-height:auto}@media (max-width:768px){.samsung-browser .service-point-info{max-height:65vh;height:auto;min-height:auto}@media (max-height:600px){.samsung-browser .service-point-info{max-height:70vh;height:auto;min-height:auto}}}.samsung-browser .service-point-info-content{padding:16px}.samsung-browser .service-point-details,.samsung-browser .service-point-header{margin-bottom:16px}.samsung-browser .service-point-actions{gap:12px}.samsung-browser .service-point-title h3{font-size:18px;margin-bottom:6px}.samsung-browser .detail-item{margin-bottom:12px}.samsung-browser .navigate-button,.samsung-browser .rent-button{padding:10px 16px;font-size:14px}.samsung-browser .status-badge{padding:3px 10px;font-size:11px}.samsung-browser .detail-slots{gap:8px}.samsung-browser .available-slots,.samsung-browser .total-slots{font-size:13px}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.service-point-info-content{padding:20px 20px 100px}.service-point-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.service-point-title{flex:1 1}.service-point-title h3{margin:0 0 6px;font-size:18px;font-weight:600;color:#333}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase}.status-badge.green{background:#d4edda;color:#155724}.status-badge.orange{background:#fff3cd;color:#856404}.status-badge.red{background:#f8d7da;color:#721c24}.status-badge.gray{background:#e2e3e5;color:#6c757d}.close-button{background:none;border:none;padding:8px;cursor:pointer;color:#666;border-radius:50%;transition:background .2s}.close-button:hover{background:#f5f5f5}.service-point-details{margin-bottom:24px}.detail-item{display:flex;align-items:flex-start;margin-bottom:16px}.detail-item:last-child{margin-bottom:0}.detail-icon{margin-right:12px;margin-top:2px;color:#666;flex-shrink:0}.detail-content{flex:1 1}.detail-text{font-size:14px;color:#333;margin-bottom:2px}.detail-distance,.detail-time{font-size:12px;color:#666}.detail-slots{display:flex;align-items:baseline}.available-slots{font-size:18px;font-weight:600;color:#27ae60}.total-slots{font-size:14px;color:#666;margin-left:2px}.service-point-actions{display:none}.navigate-button,.rent-button{flex:1 1;padding:12px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.navigate-button{background:#60c1bd;color:white;border:none;box-shadow:0 1px 3px rgba(96,193,189,.3)}.navigate-button:hover:not(:disabled){background:#4fa8a4;transform:translateY(-1px);box-shadow:0 2px 6px rgba(96,193,189,.4)}.navigate-button:active{transform:translateY(0);box-shadow:0 1px 3px rgba(66,133,244,.3)}.navigate-button:disabled{opacity:.5;cursor:not-allowed}.fixed-navigate-button{position:fixed;bottom:30px;right:30px;z-index:1001;background:white;color:#60c1bd;border:2px solid #60c1bd;border-radius:50px;padding:14px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 12px rgba(96,193,189,.2);min-width:160px;height:52px;line-height:1}.navigate-icon{font-size:16px;animation:pulse 2s infinite}.navigate-icon img{width:16px;height:16px}.fixed-navigate-button:hover:not(:disabled){background:white;color:#4a9c99;border-color:#4a9c99;transform:translateY(-2px);box-shadow:0 6px 18px rgba(96,193,189,.3)}.fixed-navigate-button:active{background:white;color:#4a9c99;border-color:#4a9c99;transform:translateY(0);box-shadow:0 2px 8px rgba(96,193,189,.2)}.fixed-navigate-button:disabled{opacity:.5;cursor:not-allowed}.fixed-navigate-button.fade-in{animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rent-button{background:#3498db;color:white}.rent-button:hover{background:#2980b9}.service-point-notice{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:12px;text-align:center}.service-point-notice p{margin:0;font-size:14px;color:#856404}@media (max-width:768px){.service-point-info{max-height:70vh;min-height:40vh}.samsung-browser .service-point-info{max-height:60vh;height:auto;min-height:auto}@media (max-height:600px){.service-point-info{max-height:75vh}.samsung-browser .service-point-info{max-height:65vh;height:auto;min-height:auto}}@media (max-height:500px){.service-point-info{max-height:80vh}.samsung-browser .service-point-info{max-height:70vh;height:auto;min-height:auto}}.service-point-info-content{padding:16px 16px 80px}.service-point-title h3{font-size:16px}.service-point-actions{flex-direction:column}.navigate-button,.rent-button{width:100%}.fixed-navigate-button{bottom:30px;right:25px;padding:12px 16px;font-size:13px;min-width:140px;height:44px}}.top-search-bar{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:1000;width:90%;max-width:500px;background:white;border-radius:24px;box-shadow:0 4px 16px rgba(0,0,0,.15);min-width:280px;box-sizing:border-box}.search-form{width:100%}.search-input-container{display:flex;align-items:center;position:relative;width:100%}.search-input{flex:1 1;height:48px;padding:0 140px 0 20px;border:none;border-radius:24px;font-size:16px;outline:none;background:transparent;color:#333}.search-input::placeholder{color:#999}.clear-button{position:absolute;right:100px;width:32px;height:32px;border:none;border-radius:50%;background:#f0f0f0;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s ease}.clear-button:hover{background:#e0e0e0;transform:scale(1.05)}.search-button{position:absolute;right:52px;width:40px;height:40px;border:none;border-radius:50%;background:#60c1bd;color:white;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.search-button:hover{background:#4fa8a4;transform:scale(1.05)}.search-button:disabled{background:#ccc;cursor:not-allowed;transform:none}.query-location-button{position:absolute;right:4px;width:40px;height:40px;border:none;border-radius:50%;background:#60c1bd;color:white;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.query-location-button:hover{background:#4fa8a4;transform:scale(1.05)}.search-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:white;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}.search-results-container{border-top:1px solid #eee;max-height:min(400px,calc(100vh - 120px));overflow-y:auto;border-radius:0 0 24px 24px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.filter-tabs{display:flex;padding:12px 16px 8px;gap:8px;background:transparent;border-radius:0 0 24px 24px}.filter-tab{padding:6px 16px;border:1px solid #ddd;background:white;color:#666;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:50px;text-align:center}.filter-tab:hover{background:#f5f5f5;border-color:#bbb}.filter-tab.active{background:#60c1bd;border-color:#60c1bd;color:white}.filter-tab.active:hover{background:#4fa8a4;border-color:#4fa8a4}.search-empty,.search-error,.search-loading{padding:20px;text-align:center;color:#666;display:flex;align-items:center;justify-content:center;gap:10px}.search-error{color:#dc3545}.search-results-list{padding:8px 0}.search-result-item{display:flex;align-items:center;padding:12px 20px;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid #f0f0f0}.search-result-item:hover{background-color:#f8f9fa}.search-result-item:last-child{border-bottom:none}.result-info{flex:1 1}.shop-name{margin:0 0 4px;font-size:16px;font-weight:600;color:#333}.shop-address{margin:0 0 8px;font-size:14px;color:#666;line-height:1.3}.shop-stats{display:flex;gap:12px;align-items:center;font-size:12px}.stat{padding:2px 8px;border-radius:12px;font-weight:500}.stat.available{background:#e3f2fd;color:#1976d2}.stat.return{background:#f3e5f5;color:#7b1fa2}.distance{color:#999;font-size:12px}.navigation-button{margin-left:12px;padding:8px 12px;background:#60c1bd;color:white;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;transition:all .2s ease;white-space:nowrap;min-width:60px}.navigation-button:hover{background:#4fa8a4;transform:translateY(-1px)}.navigation-button:active{transform:translateY(0)}@media (max-width:768px){.top-search-bar{width:calc(100% - 20px);max-width:none;top:10px;left:10px;right:10px;transform:none}.search-input{font-size:16px;height:44px;padding:0 130px 0 16px}.clear-button{right:88px;width:30px;height:30px}.search-button{right:46px;width:36px;height:36px}.query-location-button{right:4px;width:36px;height:36px}.search-results-container{max-height:calc(100vh - 200px);overflow-y:auto}.shop-stats{flex-wrap:wrap;gap:8px}.stat{font-size:11px;padding:1px 6px}.navigation-button{padding:6px 10px;font-size:11px;min-width:50px}.search-result-item{padding:16px 20px}.filter-tabs{padding:10px 12px 6px;gap:6px}.filter-tab{padding:8px 14px;font-size:12px;min-width:45px}}@media (max-width:480px){.top-search-bar{width:calc(100% - 16px);top:8px;left:8px;right:8px}.search-results-container{max-height:calc(100vh - 150px)}.search-result-item{padding:12px 16px}.shop-name{font-size:15px}.shop-address{font-size:13px}.filter-tabs{padding:8px 10px 4px;gap:4px}.filter-tab{padding:6px 12px;font-size:11px;min-width:40px}}.app{height:100vh;width:100vw;display:flex;flex-direction:column;position:relative}.app-content{flex:1 1;position:relative;overflow:hidden}.error-message{position:fixed;top:15px;left:15px;right:15px;background:#ff4757;color:white;padding:12px 15px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;z-index:1001;box-shadow:0 2px 8px rgba(255,71,87,.3)}.error-message button{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);color:white;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.error-message button:hover{background:rgba(255,255,255,.3)}.scan-rental-button-container{position:fixed;bottom:30px;left:20px;right:80px;z-index:1000;pointer-events:none;display:flex;justify-content:center;transition:all .3s ease}.scan-rental-button-container.with-service-info{bottom:30px;left:30px;right:auto;justify-content:flex-start}.scan-rental-button{background:linear-gradient(135deg,#60c1bd,#4a9c99);border:none;border-radius:50px;color:white;padding:14px 20px;font-size:14px;font-weight:500;cursor:pointer;box-shadow:0 4px 12px rgba(96,193,189,.4);transition:all .3s ease;display:flex;align-items:center;gap:8px;min-width:160px;height:52px;line-height:1;justify-content:center;pointer-events:auto}.scan-rental-button:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(96,193,189,.5);background:linear-gradient(135deg,#6dcac7,#52a5a2)}.scan-rental-button:active{transform:translateY(0);box-shadow:0 2px 8px rgba(96,193,189,.4)}.scan-icon{font-size:16px;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.button-text{font-size:14px;font-weight:500;letter-spacing:.5px}@media (max-width:768px){.error-message{top:10px;left:10px;right:10px;padding:10px 12px;font-size:14px}.scan-rental-button-container{bottom:30px;left:40%;right:auto;transform:translateX(-30%);justify-content:center}.scan-rental-button-container.with-service-info{left:25px;right:auto;transform:none;justify-content:flex-start}.scan-rental-button{width:100%;min-width:140px;padding:12px 16px;font-size:13px;height:44px;border-radius:50px}.scan-icon{font-size:16px}.button-text{font-size:13px}}