.modal-content.city-modal-wrapper .modal-header{display:none!important;padding:0!important;border:none!important}.modal-content.city-modal-wrapper .modal-body{padding:16px!important}.city-modal-container{display:flex;flex-direction:column;max-height:80vh;min-height:400px;width:100%}.city-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #f1f5f9;margin-bottom:16px}.city-modal-title-section{display:flex;align-items:center;gap:16px;flex:1 1}.city-modal-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#e74b3c,#cc3d3d);border-radius:12px;color:#fff;flex-shrink:0}.city-modal-title{font-size:20px;font-weight:700;color:#1e293b;margin:0 0 4px;line-height:1.2}.city-modal-subtitle{font-size:14px;color:#64748b;margin:0;line-height:1.4}.city-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;transition:all .2s ease;flex-shrink:0}.city-modal-close:hover{background:#e74b3c;border-color:#e74b3c;color:#fff;transform:scale(1.05)}.city-modal-body{flex:1 1;overflow:hidden;display:flex;flex-direction:column;padding:0}.city-search-section{margin-bottom:16px;padding:0 20px}.city-search-wrapper{position:relative;display:flex;align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:12px 16px;transition:all .2s ease}.city-search-wrapper:focus-within{border-color:#e74b3c;background:#fff;box-shadow:0 0 0 3px rgba(231,75,60,.1)}.city-search-icon{width:20px;height:20px;color:#9ca3af;margin-right:12px;flex-shrink:0}.city-search-input{flex:1 1;border:none;outline:none;background:transparent;font-size:16px;color:#1e293b;font-weight:500}.city-search-input::placeholder{color:#9ca3af;font-weight:400}.city-search-clear{background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-left:8px}.city-search-clear:hover{background:#e2e8f0;color:#6b7280}.city-search-results{font-size:12px;color:#64748b;margin-top:8px;padding:4px 0;font-weight:500}.city-list-section{flex:1 1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.city-list-section::-webkit-scrollbar{width:6px}.city-list-section::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.city-list-section::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px;-webkit-transition:background .2s ease;transition:background .2s ease}.city-list-section::-webkit-scrollbar-thumb:hover{background:#94a3b8}.city-region-group{margin-bottom:12px}.city-region-group:last-child{margin-bottom:0}.city-region-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:8px 8px 0 0;margin-bottom:2px}.city-region-name{font-size:14px;font-weight:600;color:#374151}.city-region-count{font-size:11px;color:#6b7280;background:#e5e7eb;padding:2px 8px;border-radius:10px;font-weight:500;min-width:20px;text-align:center}.city-region-cities{border:1px solid #e2e8f0;border-top:none;border-radius:0 0 8px 8px;background:#fff;overflow:hidden}.city-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;background:transparent;border:none;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:all .2s ease;text-align:left;position:relative}.city-item:last-child{border-bottom:none}.city-item:hover{background:#f8fafc;transform:translateX(4px)}.city-item:focus{outline:none;background:#f1f5f9;box-shadow:inset 0 0 0 2px #e74b3c}.city-item.current{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#0ea5e9}.city-item.current:hover{background:linear-gradient(135deg,#e0f2fe,#bae6fd)}.city-item.loading{pointer-events:none;opacity:.7}.city-item:disabled{pointer-events:none;opacity:.6}.city-item-content{display:flex;flex-direction:column;gap:4px;flex:1 1;min-width:0}.city-item-main{display:flex;align-items:center;gap:8px}.city-name{font-size:15px;font-weight:600;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.city-current-badge{font-size:10px;font-weight:700;color:#0ea5e9;background:#e0f2fe;padding:2px 6px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px;border:1px solid #0ea5e9;flex-shrink:0}.city-selected-indicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#0ea5e9;border-radius:50%;color:#fff;flex-shrink:0}.city-loading-spinner{width:20px;height:20px;border:2px solid #e2e8f0;border-top-color:#e74b3c;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.city-no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#64748b}.city-no-results-icon{width:48px;height:48px;color:#d1d5db;margin-bottom:16px}.city-no-results h3{font-size:16px;font-weight:600;color:#374151;margin:0 0 8px}.city-no-results p{font-size:14px;color:#9ca3af;margin:0;max-width:280px;line-height:1.4}@media (max-width:768px){.city-modal-container{max-height:85vh;min-height:350px}.city-modal-header{padding:20px 20px 0;margin-bottom:16px}.city-modal-title-section{gap:12px}.city-modal-icon{width:40px;height:40px}.city-modal-title{font-size:18px}.city-modal-subtitle{font-size:13px}.city-modal-body{padding:0 20px 20px}.city-search-wrapper{padding:10px 14px}.city-search-input{font-size:16px}.city-region-header{padding:6px 14px}.city-region-name{font-size:13px}.city-item{padding:12px 14px}.city-item:hover{transform:translateX(2px)}.city-name{font-size:14px}.city-current-badge{font-size:9px;padding:1px 4px}.city-no-results{padding:32px 16px}.city-no-results-icon{width:40px;height:40px}.city-no-results h3{font-size:15px}.city-no-results p{font-size:13px}}@media (max-width:480px){.city-modal-container{max-height:90vh;min-height:320px}.city-modal-header{padding:16px 16px 0;margin-bottom:12px}.city-modal-body{padding:0 16px 16px}.city-search-section{margin-bottom:16px}.city-region-group{margin-bottom:12px}.city-item{padding:10px 12px}.city-item:hover{transform:none}}@media (prefers-contrast:high){.city-item.current{background:#000;color:#fff;border:2px solid #fff}.city-item:focus{outline:2px solid #000;outline-offset:2px}}@media (prefers-reduced-motion:reduce){.city-item,.city-modal-close,.city-search-wrapper{transition:none}.city-item:hover{transform:none}.city-loading-spinner{animation:none}}@tailwind base;@tailwind components;@tailwind utilities;.home-page{min-height:calc(100vh - 200px)}.feature-icon{font-size:3rem;margin-bottom:20px}.error-boundary-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.error-boundary-content{max-width:600px;width:100%;background:#fff;border-radius:16px;padding:48px 32px;box-shadow:0 10px 40px rgba(0,0,0,.1);text-align:center}.error-boundary-icon{width:80px;height:80px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fee2e2,#fecaca);border-radius:50%;color:#dc2626}.error-boundary-title{font-size:28px;font-weight:700;color:#1f2937;margin-bottom:16px;line-height:1.2}.error-boundary-description{font-size:16px;color:#6b7280;line-height:1.6;margin-bottom:32px}.error-boundary-details{text-align:left;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:32px}.error-boundary-details summary{cursor:pointer;font-weight:600;color:#374151;margin-bottom:8px}.error-boundary-stack{font-size:12px;color:#dc2626;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}.error-boundary-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.error-boundary-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.error-boundary-btn-primary{background:linear-gradient(135deg,#e74b3c,#cc3d3d);color:#fff;box-shadow:0 4px 12px rgba(231,75,60,.3)}.error-boundary-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(231,75,60,.4)}.error-boundary-btn-secondary{background:#fff;color:#374151;border:2px solid #e5e7eb}.error-boundary-btn-secondary:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-2px)}@media (max-width:640px){.error-boundary-content{padding:32px 24px}.error-boundary-title{font-size:24px}.error-boundary-description{font-size:14px}.error-boundary-actions{flex-direction:column}.error-boundary-btn{width:100%;justify-content:center}}