.map-container[data-v-e221d36a]{position:relative;width:100%;height:100%;min-height:500px;background:#e0e0e0;transition:all .3s ease}.map-container.fullscreen[data-v-e221d36a]{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;z-index:1;border-radius:0;min-height:100vh}.map-container.fullscreen .map[data-v-e221d36a]{border-radius:0}.map[data-v-e221d36a]{width:100%;height:100%;min-height:500px;border-radius:8px;display:block}.map-controls[data-v-e221d36a]{position:absolute;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px}.control-btn[data-v-e221d36a]{background:white;border:none;border-radius:8px;padding:10px 16px;box-shadow:0 2px 8px #00000026;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;transition:all .2s}.control-btn[data-v-e221d36a]:hover{background:#f5f5f5;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-icon[data-v-e221d36a]{font-size:18px}@media (max-width: 768px){.control-btn[data-v-e221d36a]{padding:8px 12px;font-size:12px}.btn-icon[data-v-e221d36a]{font-size:16px}}.popup-overlay[data-v-65c8a94b]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn-65c8a94b .3s}@keyframes fadeIn-65c8a94b{0%{opacity:0}to{opacity:1}}.popup-content[data-v-65c8a94b]{background:white;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;animation:slideUp-65c8a94b .3s}@keyframes slideUp-65c8a94b{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.popup-header[data-v-65c8a94b]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.popup-header h2[data-v-65c8a94b]{margin:0;color:#d32f2f;font-size:24px}.close-btn[data-v-65c8a94b]{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-btn[data-v-65c8a94b]:hover{background:#f5f5f5;color:#d32f2f}.rescue-form[data-v-65c8a94b]{padding:20px}.form-group[data-v-65c8a94b]{margin-bottom:20px}.form-group label[data-v-65c8a94b]{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group input[data-v-65c8a94b],.form-group textarea[data-v-65c8a94b],.form-group select[data-v-65c8a94b]{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input[data-v-65c8a94b]:focus,.form-group textarea[data-v-65c8a94b]:focus,.form-group select[data-v-65c8a94b]:focus{outline:none;border-color:#4285f4}.form-group textarea[data-v-65c8a94b]{resize:vertical;min-height:80px}.photo-section[data-v-65c8a94b]{display:flex;gap:10px;align-items:center}.photo-input[data-v-65c8a94b]{display:none}.camera-btn[data-v-65c8a94b]{background:#4285F4;color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;transition:background .2s}.camera-btn[data-v-65c8a94b]:hover{background:#357ae8}.photo-preview[data-v-65c8a94b]{position:relative;margin-top:10px;display:inline-block}.photo-preview img[data-v-65c8a94b]{max-width:200px;max-height:200px;border-radius:8px;border:1px solid #ddd}.helper-text[data-v-65c8a94b]{display:block;margin-top:4px;font-size:12px;color:#999}.remove-photo[data-v-65c8a94b]{position:absolute;top:-10px;right:-10px;background:#d32f2f;color:#fff;border:none;border-radius:50%;width:28px;height:28px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003}.location-info[data-v-65c8a94b]{background:#f5f5f5;padding:12px;border-radius:8px;margin-bottom:20px}.location-info p[data-v-65c8a94b]{margin:4px 0;font-size:14px;color:#666}.location-error[data-v-65c8a94b]{color:#ff9800!important;font-style:italic}.btn-manual-location[data-v-65c8a94b]{margin-top:8px;padding:8px 16px;background:#4285F4;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;transition:background .2s}.btn-manual-location[data-v-65c8a94b]:hover{background:#357ae8}.manual-location-input[data-v-65c8a94b]{margin-top:12px;padding:16px;background:#f9f9f9;border-radius:8px;border:1px solid #ddd}.btn-confirm-location[data-v-65c8a94b]{padding:10px 20px;background:#4caf50;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.btn-confirm-location[data-v-65c8a94b]:hover{background:#45a049}.form-actions[data-v-65c8a94b]{display:flex;gap:12px;justify-content:flex-end}.btn-cancel[data-v-65c8a94b],.btn-submit[data-v-65c8a94b]{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel[data-v-65c8a94b]{background:#f5f5f5;color:#666}.btn-cancel[data-v-65c8a94b]:hover{background:#e0e0e0}.btn-submit[data-v-65c8a94b]{background:#d32f2f;color:#fff}.btn-submit[data-v-65c8a94b]:hover{background:#c62828;transform:translateY(-2px);box-shadow:0 4px 12px #d32f2f4d}@media (max-width: 768px){.popup-content[data-v-65c8a94b]{width:95%;max-height:95vh}.popup-header h2[data-v-65c8a94b]{font-size:20px}.form-actions[data-v-65c8a94b]{flex-direction:column}.btn-cancel[data-v-65c8a94b],.btn-submit[data-v-65c8a94b]{width:100%}}.traffic-alert-container[data-v-d64a1abe]{position:fixed;bottom:100px;left:20px;right:20px;max-width:500px;background:white;border-radius:12px;box-shadow:0 4px 20px #0003;z-index:200;max-height:60vh;overflow:hidden;animation:slideUp-d64a1abe .3s ease-out}@keyframes slideUp-d64a1abe{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}.traffic-header[data-v-d64a1abe]{background:linear-gradient(135deg,#ff9800 0%,#f57c00 100%);color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.traffic-header h3[data-v-d64a1abe]{margin:0;font-size:18px;font-weight:600}.close-alert[data-v-d64a1abe]{background:rgba(255,255,255,.2);border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-alert[data-v-d64a1abe]:hover{background:rgba(255,255,255,.3)}.traffic-list[data-v-d64a1abe]{padding:12px;max-height:calc(60vh - 140px);overflow-y:auto}.traffic-item[data-v-d64a1abe]{display:flex;gap:12px;padding:12px;margin-bottom:8px;border-radius:8px;cursor:pointer;transition:all .2s;border-left:4px solid #ff9800}.traffic-item[data-v-d64a1abe]:hover{background:#f5f5f5;transform:translate(4px)}.traffic-item.critical[data-v-d64a1abe]{border-left-color:#d32f2f;background:#ffebee}.traffic-item.high[data-v-d64a1abe]{border-left-color:#ff9800;background:#fff3e0}.traffic-item.medium[data-v-d64a1abe]{border-left-color:#ffc107;background:#fffde7}.traffic-item.low[data-v-d64a1abe]{border-left-color:#4caf50;background:#e8f5e9}.traffic-icon[data-v-d64a1abe]{font-size:24px;display:flex;align-items:center}.traffic-info[data-v-d64a1abe]{flex:1;min-width:0}.traffic-info h4[data-v-d64a1abe]{margin:0 0 4px;font-size:16px;font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.traffic-info p[data-v-d64a1abe]{margin:0 0 8px;font-size:13px;color:#666;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.traffic-details[data-v-d64a1abe]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.level-badge[data-v-d64a1abe]{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.level-badge.critical[data-v-d64a1abe]{background:#d32f2f;color:#fff}.level-badge.high[data-v-d64a1abe]{background:#ff9800;color:#fff}.level-badge.medium[data-v-d64a1abe]{background:#ffc107;color:#333}.level-badge.low[data-v-d64a1abe]{background:#4caf50;color:#fff}.distance[data-v-d64a1abe]{font-size:12px;color:#666}.traffic-time[data-v-d64a1abe]{font-size:12px;color:#888;text-align:right;white-space:nowrap}.traffic-actions[data-v-d64a1abe]{padding:12px 20px;border-top:1px solid #eee}.btn-show-all[data-v-d64a1abe]{width:100%;padding:12px;background:#ff9800;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.btn-show-all[data-v-d64a1abe]:hover{background:#f57c00}@media (max-width: 768px){.traffic-alert-container[data-v-d64a1abe]{left:10px;right:10px;bottom:80px;max-height:50vh}.traffic-header h3[data-v-d64a1abe]{font-size:16px}.traffic-info h4[data-v-d64a1abe]{font-size:14px}.traffic-info p[data-v-d64a1abe]{font-size:12px}.traffic-item[data-v-d64a1abe]{flex-wrap:wrap}.traffic-time[data-v-d64a1abe]{width:100%;text-align:left;margin-top:4px}}.toast[data-v-6d7c6c03]{position:fixed;bottom:100px;right:20px;min-width:300px;max-width:500px;background:white;border-radius:8px;box-shadow:0 4px 16px #00000026;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;z-index:10000;animation:slideIn-6d7c6c03 .3s ease}.toast.success[data-v-6d7c6c03]{border-left:4px solid #4caf50}.toast.error[data-v-6d7c6c03]{border-left:4px solid #f44336}.toast.warning[data-v-6d7c6c03]{border-left:4px solid #ff9800}.toast.info[data-v-6d7c6c03]{border-left:4px solid #2196F3}.toast-content[data-v-6d7c6c03]{display:flex;align-items:center;gap:12px;flex:1}.toast-icon[data-v-6d7c6c03]{font-size:20px;font-weight:700;flex-shrink:0}.toast.success .toast-icon[data-v-6d7c6c03]{color:#4caf50}.toast.error .toast-icon[data-v-6d7c6c03]{color:#f44336}.toast.warning .toast-icon[data-v-6d7c6c03]{color:#ff9800}.toast.info .toast-icon[data-v-6d7c6c03]{color:#2196f3}.toast-message[data-v-6d7c6c03]{font-size:14px;color:#333;line-height:1.4}.toast-close[data-v-6d7c6c03]{background:none;border:none;font-size:18px;color:#999;cursor:pointer;padding:0;margin-left:12px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.toast-close[data-v-6d7c6c03]:hover{background:#f5f5f5;color:#333}@keyframes slideIn-6d7c6c03{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-enter-active[data-v-6d7c6c03],.toast-leave-active[data-v-6d7c6c03]{transition:all .3s ease}.toast-enter-from[data-v-6d7c6c03],.toast-leave-to[data-v-6d7c6c03]{transform:translate(400px);opacity:0}@media (max-width: 480px){.toast[data-v-6d7c6c03]{right:10px;left:10px;min-width:auto;max-width:calc(100vw - 20px)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5}#app{width:100%;min-height:100vh}.app-container{display:flex;flex-direction:column;min-height:100vh;position:relative}.app-header{background:linear-gradient(135deg,#d32f2f 0%,#f44336 100%);color:#fff;padding:20px;box-shadow:0 2px 8px #0000001a}.app-header.floating{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(211,47,47,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header-actions{display:flex;align-items:center;gap:12px}.app-header h1{font-size:28px;font-weight:600;margin:0}.traffic-toggle-btn{background:rgba(255,255,255,.2);border:none;color:#fff;padding:10px 16px;border-radius:50px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;transition:all .2s;position:relative}.traffic-toggle-btn:hover{background:rgba(255,255,255,.3)}.traffic-toggle-btn.active{background:rgba(255,255,255,.4)}.traffic-toggle-btn span:last-child{background:#ff5722;color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600}.danger-indicator{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.2);padding:10px 20px;border-radius:50px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.danger-pulse{width:12px;height:12px;background:#ffeb3b;border-radius:50%;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.danger-text{font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:1px}.main-content{flex:1;padding:20px;max-width:1200px;width:100%;margin:0 auto;transition:all .3s ease}.main-content.fullscreen-mode{padding:80px 0 0;max-width:100%;margin:0}.main-content.fullscreen-mode .map-wrapper{margin-bottom:0}.map-container{background:white;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;margin-bottom:20px;height:600px}.main-content.fullscreen-mode .map-container{background:transparent;box-shadow:none;border-radius:0;height:calc(100vh - 80px);margin-bottom:0}@media (max-width: 768px){.main-content.fullscreen-mode .map-container{height:calc(100vh - 70px)}}@media (max-width: 480px){.main-content.fullscreen-mode .map-container{height:calc(100vh - 60px)}}.rescue-btn{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#d32f2f;color:#fff;border:none;padding:18px 32px;border-radius:50px;font-size:18px;font-weight:600;cursor:pointer;box-shadow:0 4px 16px #d32f2f66;display:flex;align-items:center;gap:12px;transition:all .3s;z-index:100}.rescue-btn:hover{background:#c62828;transform:translate(-50%) translateY(-4px);box-shadow:0 6px 20px #d32f2f80}.rescue-btn.danger{animation:shake .5s;box-shadow:0 0 20px #d32f2f99}@keyframes shake{0%,to{transform:translate(-50%) translate(0)}25%{transform:translate(-50%) translate(-10px)}75%{transform:translate(-50%) translate(10px)}}.rescue-btn .btn-icon{font-size:24px;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (min-width: 768px) and (max-width: 1024px){.app-header h1{font-size:24px}.main-content{padding:16px}.rescue-btn{padding:16px 28px;font-size:16px}}@media (max-width: 767px){.app-header{padding:16px}.header-content{flex-direction:column;gap:12px;align-items:flex-start}.app-header h1{font-size:20px}.danger-indicator{padding:8px 16px;font-size:12px}.danger-text{font-size:11px}.main-content{padding:12px}.rescue-btn{bottom:20px;padding:14px 24px;font-size:14px}.rescue-btn .btn-icon{font-size:20px}.rescue-btn .btn-text{font-size:13px}}@media (max-width: 480px){.rescue-btn{width:calc(100% - 40px);max-width:100%;justify-content:center}.rescue-btn .btn-text{font-size:12px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
