/* Loading Screen */ .loading-screen { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); z-index: 1000; justify-content: center; align-items: center; } .loading-content { background: white; padding: 20px 30px; border-radius: 8px; text-align: center; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); } .loading-content i { color: #17a2b8; margin-bottom: 15px; } .loading-content p { margin: 0; font-size: 1.1rem; color: #333; } /* Error Message */ .error-message { background: #f8d7da; color: #721c24; padding: 15px; border-radius: 5px; border: 1px solid #f5c6cb; transition: opacity 1s; opacity: 1; text-align: center; margin: 10px 0; } /* General Container */ .coordinates-container { margin: 20px 0; max-width: 1200px; margin-left: auto; margin-right: auto; } /* Coordinate Card */ .coordinate-card { background: white; border-radius: 8px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); margin-bottom: 15px; padding: 15px; display: flex; justify-content: space-between; align-items: center; transition: transform 0.2s ease; } .coordinate-card:hover { transform: translateY(-2px); } .coord-info { display: grid; grid-template-columns: auto 1fr; gap: 8px 15px; align-items: center; } .coord-label { font-size: 0.9rem; color: #666; } .coord-value { font-weight: 500; color: #333; } .coord-actions { display: flex; gap: 12px; align-items: center; } /* Button Styles */ .predict-btn, .delete-btn, .scan-btn { padding: 8px 16px; font-size: 0.9rem; border: none; border-radius: 6px; cursor: pointer; color: white; display: inline-flex; align-items: center; gap: 8px; transition: all 0.3s ease; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .predict-btn { background: #17a2b8; } .predict-btn:hover { background: #138496; transform: translateY(-1px); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15); } .scan-btn { background: #5adbb5; } .scan-btn:hover { background: #4bb897; transform: translateY(-1px); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15); } .predict-btn:active { transform: translateY(0); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .delete-btn { background: #dc3545; } .delete-btn:hover { background: #c82333; transform: translateY(-1px); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15); } .delete-btn:active { transform: translateY(0); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .predict-btn i, .delete-btn i { font-size: 1rem; } /* Predict All Button */ .predict-all-container { margin: 20px 0; text-align: center; } .predict-all-btn { background: #28a745; color: white; padding: 12px 25px; border: none; border-radius: 6px; font-size: 1rem; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: all 0.3s ease; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .predict-all-btn:hover { background: #218838; transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); } .predict-all-btn:active { transform: translateY(0); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .predict-all-btn i { font-size: 1rem; } /* No Coordinates Message */ .no-coordinates { text-align: center; color: #6c757d; padding: 20px; background: #f8f9fa; border-radius: 8px; margin: 20px 0; font-size: 1rem; } /* Flash Messages */ .flash-container { margin: 15px 0; min-height: 50px; } .success-message { background: #d4edda; color: #155724; padding: 15px; border-radius: 5px; border: 1px solid #c3e6cb; transition: opacity 1s; opacity: 1; text-align: center; } /* Temporary Marker */ .temp-marker { background: white; padding: 4px 8px; border-radius: 4px; border: 2px solid #0078A8; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3); font-weight: bold; text-align: center; color: #0078A8; } /* Responsive Design */ @media (max-width: 768px) { .coordinate-card { flex-direction: column; align-items: flex-start; padding: 12px; } .coord-actions { margin-top: 12px; width: 100%; justify-content: space-between; } .predict-btn, .delete-btn { width: 48%; padding: 10px; font-size: 0.85rem; } .predict-all-btn { width: 100%; padding: 12px; } .no-coordinates { margin: 15px 0; padding: 15px; } .loading-content { padding: 15px 20px; } .loading-content p { font-size: 1rem; } } #map { height: 500px; width: 100%; border-radius: 12px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); border: 1px solid rgba(0, 0, 0, 0.1); margin-bottom: 2rem; transition: all 0.3s ease; } #map:hover { box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2); } .leaflet-control-zoom { border: none !important; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2) !important; border-radius: 8px !important; overflow: hidden; } .leaflet-control-zoom a { background-color: white !important; color: #333 !important; border-bottom: 1px solid #eee !important; width: 36px !important; height: 36px !important; line-height: 36px !important; font-size: 18px !important; } .leaflet-control-zoom a:hover { background-color: #f8f9fa !important; } .leaflet-control-geocoder { border-radius: 8px !important; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2) !important; font-family: inherit; } .leaflet-control-geocoder a { border-radius: 8px !important; } .leaflet-control-geocoder-form input { padding: 8px 12px !important; font-size: 14px !important; } .leaflet-control-fullscreen { border-radius: 8px !important; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2) !important; } .leaflet-popup-content { font-family: inherit; font-size: 14px; padding: 10px; } .leaflet-popup-content-wrapper { border-radius: 8px !important; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important; } .temp-marker { background-color: rgba(255, 255, 255, 0.9); padding: 4px 8px; border-radius: 16px; border: 2px solid #4CAF50; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); font-weight: bold; color: #333; text-align: center; white-space: nowrap; transform: translate(-50%, -50%); } .marker-cluster-small { background-color: rgba(181, 226, 140, 0.6) !important; } .marker-cluster-small div { background-color: rgba(110, 204, 57, 0.6) !important; } .marker-cluster-medium { background-color: rgba(241, 211, 87, 0.6) !important; } .marker-cluster-medium div { background-color: rgba(240, 194, 12, 0.6) !important; } .marker-cluster-large { background-color: rgba(253, 156, 115, 0.6) !important; } .marker-cluster-large div { background-color: rgba(241, 128, 23, 0.6) !important; }