body{font-family:'Microsoft JhengHei', sans-serif}.loading-progress{position:fixed;top:0;left:0;right:0;z-index:9999;background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);padding:20px;box-shadow:0 2px 10px rgba(0,0,0,0.1);transition:opacity 0.3s ease, transform 0.3s ease}.loading-progress.hidden{opacity:0;transform:translateY(-100%);pointer-events:none}.loading-bar{width:100%;height:4px;background:rgba(102,126,234,0.2);border-radius:2px;overflow:hidden;margin-bottom:15px}.loading-fill{height:100%;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);border-radius:2px;width:0%;transition:width 0.3s ease;animation:loadingPulse 2s ease-in-out infinite}@keyframes loadingPulse{0%,100%{opacity:1}50%{opacity:0.7}}.loading-text{text-align:center;color:#667eea;font-weight:600;font-size:16px;display:flex;align-items:center;justify-content:center;gap:10px}.loading-text i{font-size:18px;color:#667eea}.dashboard-container{background:rgba(255,255,255,0.95);border-radius:20px;box-shadow:0 15px 35px rgba(0,0,0,0.1);margin:20px;padding:30px;backdrop-filter:blur(10px)}.stats-card{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:white;border-radius:15px;padding:20px;margin-bottom:20px;box-shadow:0 10px 25px rgba(102,126,234,0.3);transition:transform 0.3s ease;min-height:180px;display:flex;flex-direction:column;justify-content:center}.stats-card:hover{transform:translateY(-5px)}.stats-card small{font-size:0.75rem;margin-top:5px;display:block;font-weight:400}.chart-container{background:white;border-radius:15px;padding:20px;margin-bottom:20px;box-shadow:0 5px 15px rgba(0,0,0,0.08);position:relative;overflow:hidden}.chart-title{font-size:18px;font-weight:600;color:#667eea;margin-bottom:15px;text-align:center}.filter-container{background:rgba(102,126,234,0.05);border-radius:15px;padding:20px;margin-bottom:30px;border:1px solid rgba(102,126,234,0.1)}.search-container{position:relative}.search-container .input-group{box-shadow:0 2px 8px rgba(102,126,234,0.1);border-radius:10px;overflow:hidden}.search-container .input-group-text{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:white;border:none;font-weight:600}.search-container .form-control{border:none;padding:12px 15px;font-size:16px;background:white}.search-container .form-control:focus{box-shadow:none;border-color:transparent}.search-container .btn-outline-secondary{border:none;background:#f8f9fa;color:#6c757d;transition:all 0.3s ease}.search-container .btn-outline-secondary:hover{background:#e9ecef;color:#495057}.search-suggestions{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #dee2e6;border-radius:0 0 10px 10px;box-shadow:0 4px 12px rgba(0,0,0,0.15);z-index:1000;max-height:300px;overflow-y:auto}.search-suggestions-header{padding:8px 15px;background:#f8f9fa;border-bottom:1px solid #dee2e6}.search-suggestion-item{padding:12px 15px;cursor:pointer;border-bottom:1px solid #f8f9fa;transition:background-color 0.2s ease}.search-suggestion-item:hover,.search-suggestion-item.active{background:rgba(102,126,234,0.1)}.search-suggestion-item:last-child{border-bottom:none}.search-suggestion-title{font-weight:600;color:#667eea;margin-bottom:4px}.search-suggestion-details{font-size:14px;color:#6c757d;line-height:1.4}.search-suggestion-match{background:rgba(102,126,234,0.2);padding:1px 3px;border-radius:3px;font-weight:600}.search-no-results{padding:20px;text-align:center}.search-no-results i{font-size:2rem;display:block;margin-bottom:10px}.actions-btn{background:rgba(102,126,234,0.05) !important;font-weight:600 !important;font-size:20px !important;color:#667eea !important;border-radius:5px !important;margin-bottom:5px;width:100% !important;text-align:left}.scroll-hint{position:absolute;top:0;bottom:0;width:30px;pointer-events:none;z-index:10;display:flex;align-items:center;justify-content:center;font-size:18px;color:rgba(102,126,234,0.7)}.scroll-hint-left{left:0;background:linear-gradient(to right, rgba(255,255,255,0.9), transparent)}.scroll-hint-right{right:0;background:linear-gradient(to left, rgba(255,255,255,0.9), transparent)}#map{height:400px;border-radius:15px;margin-top:20px}.map-toggle-btn{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:white;border:none;border-radius:20px;padding:8px 16px;font-size:14px;font-weight:600;transition:all 0.3s ease;cursor:pointer;display:flex;align-items:center;gap:6px}.map-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(102,126,234,0.3);color:white}.map-toggle-btn.active{background:linear-gradient(135deg, #28a745 0%, #20c997 100%)}.map-toggle-btn.active:hover{box-shadow:0 5px 15px rgba(40,167,69,0.3)}.map-placeholder{height:400px;background-color:#f8f9fa;border:2px dashed #dee2e6;border-radius:15px;margin-top:20px;display:flex;align-items:center;justify-content:center}#mapContainer{margin-top:20px}.pagination-container{background:white;border-radius:15px;padding:20px;margin-top:30px;box-shadow:0 5px 15px rgba(0,0,0,0.08)}.detail-item{border:1px solid #e9ecef;border-radius:10px;padding:15px;margin-bottom:15px;background:#f8f9fa}.detail-title{color:#667eea;font-weight:600;font-size:16px}.detail-content{color:#666;margin-top:5px}.pagination-btn{background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);color:white;border:none;border-radius:25px;padding:10px 25px;margin:0 10px;font-weight:600;transition:all 0.3s ease}.pagination-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px rgba(102,126,234,0.3)}.pagination-btn:disabled{background:#ccc;cursor:not-allowed}.page-title{color:#667eea;font-weight:700}.filter-label{color:#667eea}.chart-height{height:400px}.detail-section-title{color:#667eea}@media (max-width: 768px){.dashboard-container{margin:10px;padding:20px}.stats-card{margin-bottom:15px}.chart-container{margin-bottom:15px}}

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