body{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);min-height:100vh}.container{max-width:1400px;margin:0 auto;padding:20px}.data-update-info{text-align:center;margin-bottom:30px;opacity:0.2 !important;cursor:default;font-size:0.9em !important}.header{text-align:center;color:white;margin-bottom:30px}.header h1{font-size:2.5rem;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,0.3)}.header p{font-size:1.1rem;opacity:0.9}.controls{background:rgba(255,255,255,0.95);border-radius:15px;padding:25px;margin-bottom:20px;box-shadow:0 10px 30px rgba(0,0,0,0.2);backdrop-filter:blur(10px)}.control-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.control-group{display:flex;flex-direction:column;gap:8px}.control-group label{font-weight:600;color:#333;font-size:0.9rem}.search-input,.filter-select{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all 0.3s ease;min-width:200px}.search-input:focus,.filter-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,0.1)}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.3s ease;margin:5px}.btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,0,0,0.2)}.btn.btn-primary{background:linear-gradient(45deg, #667eea, #764ba2);color:white}.btn.btn-secondary{background:#6c757d;color:white}.btn.btn-info{background:linear-gradient(45deg, #4facfe, #00f2fe);color:white}.stats{display:flex;gap:15px;margin-top:15px;flex-wrap:wrap}.stat-card{background:linear-gradient(45deg, #4facfe, #00f2fe);color:white;padding:15px 20px;border-radius:10px;text-align:center;min-width:120px;box-shadow:0 4px 15px rgba(0,0,0,0.1)}.stat-number{font-size:1.8rem;font-weight:bold;display:block}.stat-label{font-size:0.9rem;opacity:0.9}.map-container{background:white;border-radius:15px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,0.2);height:600px;position:relative;overflow:hidden}#map{height:100%;border-radius:10px}.legend{position:absolute;top:30px;right:30px;background:rgba(255,255,255,0.95);padding:15px;border-radius:10px;box-shadow:0 4px 15px rgba(0,0,0,0.2);z-index:1000;backdrop-filter:blur(10px)}.legend h4{margin-bottom:10px;color:#333;font-size:1rem}.legend-item{display:flex;align-items:center;margin-bottom:5px;font-size:0.9rem}.legend-color{width:16px;height:16px;border-radius:50%;margin-right:8px;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,0.3)}.no-results{text-align:center;color:#666;font-style:italic;margin:20px 0}.charts-container{background:rgba(255,255,255,0.95);border-radius:15px;padding:25px;margin-bottom:20px;box-shadow:0 10px 30px rgba(0,0,0,0.2);backdrop-filter:blur(10px)}.charts-header{text-align:center;margin-bottom:25px}.charts-header h2{color:#333;font-size:1.8rem;margin-bottom:8px;font-weight:bold}.charts-header p{color:#666;font-size:1rem;margin:0}.charts-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:20px}.charts-grid .chart-card{background:white;border-radius:12px;padding:20px;box-shadow:0 4px 15px rgba(0,0,0,0.1);transition:transform 0.3s ease, box-shadow 0.3s ease}.charts-grid .chart-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.15)}.charts-grid .chart-card.chart-card-wide{grid-column:1 / -1}.charts-grid .chart-title{font-size:1.1rem;font-weight:bold;color:#333;margin-bottom:15px;text-align:center;padding-bottom:10px;border-bottom:2px solid #f0f0f0}.charts-grid .chart-container{height:550px;width:100%;min-height:300px}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,0.95);display:flex;align-items:center;justify-content:center;z-index:2000;border-radius:10px;backdrop-filter:blur(5px)}.loading-content{text-align:center;padding:30px;background:white;border-radius:15px;box-shadow:0 10px 30px rgba(0,0,0,0.2);min-width:250px}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.loading-text{font-size:1.1rem;color:#333;margin-bottom:15px;font-weight:500}.loading-progress{width:100%}.loading-progress .progress-bar{width:100%;height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.loading-progress .progress-bar .progress-fill{height:100%;background:linear-gradient(45deg, #667eea, #764ba2);border-radius:4px;transition:width 0.3s ease}.loading-progress .progress-text{font-size:0.9rem;color:#666;font-weight:500}@media (max-width: 768px){.container{padding:15px}.controls{padding:20px 15px}.control-row{flex-direction:column;gap:15px}.control-group{width:100%}.control-group:last-child div{display:flex;gap:10px;justify-content:center}.search-input,.filter-select{min-width:100%;width:100%;font-size:16px}.btn{flex:1;padding:14px 20px;font-size:0.95rem;min-width:120px}.stats{display:grid;grid-template-columns:repeat(2, 1fr);gap:12px;justify-items:center}.stat-card{width:100%;min-width:auto;padding:12px 15px}.stat-number{font-size:1.5rem}.stat-label{font-size:0.8rem}.charts-container{padding:15px;margin-bottom:15px}.charts-header{margin-bottom:20px}.charts-header h2{font-size:1.5rem}.charts-header p{font-size:0.9rem}.charts-grid{grid-template-columns:1fr;gap:15px}.charts-grid .chart-card{padding:15px}.charts-grid .chart-card.chart-card-wide{grid-column:1}.charts-grid .chart-container{height:75dvh;min-height:250px;max-height:400px}.loading-content{padding:20px;min-width:200px}.loading-spinner{width:30px;height:30px;margin-bottom:10px}.loading-text{font-size:1rem;margin-bottom:10px}.header h1{font-size:2rem}.header p{font-size:1rem}.map-container{padding:15px;height:500px}.legend{position:relative;margin-bottom:15px;top:auto;right:auto;width:100%;text-align:center}}@media (max-width: 480px){.container{padding:10px}.controls{padding:15px 10px}.header h1{font-size:1.8rem}.btn{padding:12px 16px;font-size:0.9rem;min-width:100px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:10px 12px}.stat-number{font-size:1.3rem}.stat-label{font-size:0.75rem}.map-container{padding:10px;height:400px}}.custom-marker{background:#ff6b6b;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,0.3)}.leaflet-popup-content-wrapper{border-radius:10px;box-shadow:0 5px 20px rgba(0,0,0,0.2)}.leaflet-popup-content{margin:15px;font-family:inherit}.popup-title{font-weight:bold;color:#333;margin-bottom:8px;font-size:1.1rem}.popup-info{color:#666;line-height:1.4}

/*# sourceMappingURL=appStreetLightLocation.css.map */