.properties-list{min-height:200px;position:relative;transition:all .5s cubic-bezier(.4,0,.2,1)}.properties-list.is-loading .pagination-container,.properties-list.is-loading .row{filter:blur(2px) grayscale(.4);opacity:.35;pointer-events:none;transition:all .6s cubic-bezier(.4,0,.2,1)}.results-loading-overlay{align-items:center;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);background:radial-gradient(circle at center,hsla(0,0%,100%,.98) 0,hsla(0,0%,100%,.85) 30%,hsla(0,0%,100%,.4) 60%,transparent 85%);display:flex;flex-direction:column;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:opacity .6s cubic-bezier(.4,0,.2,1),visibility .6s cubic-bezier(.4,0,.2,1);visibility:hidden;width:100%;z-index:50}.results-loading-overlay.active,.results-loading-overlay:not([hidden]){display:flex!important;opacity:1;visibility:visible}.modern-loader-dots{display:flex;gap:12px;justify-content:center;margin-bottom:2rem}.modern-loader-dots .dot{animation:elegant-pulse 1.8s cubic-bezier(.4,0,.6,1) infinite;background:linear-gradient(135deg,var(--bs-primary,#1976d2) 0,var(--bs-info,#0dcaf0) 100%);border-radius:50%;box-shadow:0 0 8px rgba(13,110,253,.2);height:6px;opacity:.4;width:6px}.modern-loader-dots .dot:first-child{animation-delay:0s}.modern-loader-dots .dot:nth-child(2){animation-delay:.3s}.modern-loader-dots .dot:nth-child(3){animation-delay:.6s}@keyframes elegant-pulse{0%,to{opacity:.3;transform:scale(.7) translateY(0)}50%{opacity:1;transform:scale(1.2) translateY(-4px)}}.loading-text{animation:text-fade 2.5s ease-in-out infinite;color:hsla(208,7%,46%,.7);font-size:.75rem;font-weight:200;letter-spacing:3px;text-transform:uppercase}@keyframes text-fade{0%,to{opacity:.4}50%{opacity:.8}}@media(max-width:768px){.loading-text{font-size:.7rem;letter-spacing:2px}.modern-loader-dots{gap:10px}.modern-loader-dots .dot{height:5px;width:5px}}.property-empty-state{color:#495057;padding-bottom:3rem;padding-top:3rem}.property-empty-state-inner{margin:0 auto;max-width:480px}.property-empty-state .property-empty-title{color:#495057;font-size:1.5rem;font-weight:300;letter-spacing:.5px;margin-bottom:.75rem}.property-empty-state .property-empty-suggestion{color:#6c757d;font-size:.95rem;font-weight:300;line-height:1.6;margin-bottom:1rem}.property-empty-state .clear-filters-link{border-bottom:1px solid transparent;color:var(--bs-primary,#1976d2);display:inline-block;font-size:.9rem;font-weight:400;padding-bottom:2px;text-decoration:none;transition:all .2s ease}.property-empty-state .clear-filters-link:focus,.property-empty-state .clear-filters-link:hover{border-bottom-color:var(--bs-primary,#1976d2);color:var(--bs-dark,#212529);outline:none;text-decoration:none}.ai-empty-state{background:transparent;border:none;box-shadow:none;padding:2.5rem 1.5rem}.ai-empty-state .empty-state-icon{align-items:center;color:hsla(208,7%,46%,.35);display:inline-flex;height:48px;justify-content:center;margin-bottom:1rem;width:48px}.ai-empty-state .empty-state-title{color:#343a40;font-size:1.25rem;font-weight:300;margin-bottom:.5rem}.ai-empty-state .empty-state-text{color:#6c757d;font-weight:300;margin-bottom:1rem}.ai-empty-state .empty-state-actions{align-items:center;display:flex;justify-content:center}.ai-empty-state .clear-filters-link{border-bottom:1px solid transparent;color:var(--bs-primary,#1976d2);font-size:.95rem;font-weight:400;padding-bottom:2px;text-decoration:none;transition:all .2s ease}.ai-empty-state .clear-filters-link:focus,.ai-empty-state .clear-filters-link:hover{border-bottom-color:var(--bs-primary,#1976d2);color:var(--bs-dark,#212529);text-decoration:none}.property-ai-chat{background:#fff;border:1px solid #e9ecef;border-radius:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.06);overflow:hidden;transition:box-shadow .2s ease}.property-ai-chat:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}.ai-filter-toggle{align-items:center;background:transparent;border:1px solid #dee2e6;border-radius:.375rem;color:#495057;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1rem;transition:all .2s ease}.ai-filter-toggle:hover{background:#f8f9fa;border-color:#1976d2;color:#1976d2}.ai-filter-toggle i.bi-robot{color:#1976d2;font-size:1rem}.ai-filter-toggle.active{background:rgba(25,118,210,.08);border-color:#1976d2;color:#1976d2}.ai-filter-toggle.active i.bi-robot{color:#1976d2}.ai-filter-status-dot{background:#ced4da;border-radius:50%;display:inline-block;height:8px;width:8px}.ai-filter-status-dot.online{background:#1976d2}.ai-filter-section{background:transparent;padding:0;transition:all .2s ease}.ai-filter-section .property-filter-section{background:#fff;border:1px solid #e9ecef;border-radius:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.06);padding:2rem}.ai-chat-messages{background:#f8f9fa;border-bottom:1px solid #e9ecef;max-height:400px;min-height:280px;overflow-y:auto;padding:1.5rem;position:relative}.ai-chat-messages::-webkit-scrollbar{width:4px}.ai-chat-messages::-webkit-scrollbar-track{background:transparent}.ai-chat-messages::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:50rem}.ai-chat-messages::-webkit-scrollbar-thumb:hover{background:#ced4da}.ai-chat-message{color:#495057;font-size:.9375rem;line-height:1.7;margin-bottom:1.5rem}.ai-chat-message:last-child{margin-bottom:0}.ai-chat-message.user{background:#fff;border-left:2px solid #1976d2;border-radius:.375rem;color:#212529;font-weight:500;margin-bottom:1rem;padding:1rem 1.25rem}.ai-chat-message.bot{background:transparent;color:#495057;padding:0}.ai-chat-message.bot p{margin-bottom:1rem}.ai-chat-message.bot p:last-child{margin-bottom:0}.ai-chat-message.bot b,.ai-chat-message.bot strong{color:#212529;font-weight:600}.ai-chat-message.bot a{color:#1976d2;text-decoration:none;transition:color .2s ease}.ai-chat-message.bot a:hover{color:#145ca4;text-decoration:underline}.ai-chat-message.bot ol,.ai-chat-message.bot ul{margin:.75rem 0;padding-left:1.5rem}.ai-chat-message.bot ol li,.ai-chat-message.bot ul li{margin-bottom:.5rem}.ai-chat-typing{align-items:center;color:#212529;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 0}.ai-chat-typing .dot{animation:simplePulse 1.5s ease-in-out infinite;background:#ced4da;border-radius:50%;height:4px;width:4px}.ai-chat-typing .dot:nth-child(2){animation-delay:.2s}.ai-chat-typing .dot:nth-child(3){animation-delay:.4s}@keyframes simplePulse{0%,to{opacity:.3}50%{opacity:1}}.ai-chat-suggestions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.ai-chat-suggestions .ai-suggestion-btn{background:transparent;border:1px solid #dee2e6;border-radius:50rem;color:#495057;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.ai-chat-suggestions .ai-suggestion-btn:hover{background:#f8f9fa;border-color:#1976d2;color:#1976d2}.ai-chat-input-wrapper{background:#fff;padding:1.5rem}.ai-chat-input-container{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:.375rem;display:flex;position:relative;transition:all .2s ease}.ai-chat-input-container:focus-within{border-color:#1976d2;box-shadow:0 0 0 .2rem rgba(25,118,210,.15)}.ai-chat-input{background:transparent;border:none;color:#212529;flex:1;font-family:inherit;font-size:.9375rem;line-height:1.5;max-height:120px;min-height:48px;outline:none;padding:.75rem 1rem;resize:none;transition:all .2s ease;-ms-overflow-style:none;scrollbar-width:none}.ai-chat-input::placeholder{color:#212529}.ai-chat-input:focus{outline:none}.ai-chat-input:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.6}.ai-chat-input::-webkit-scrollbar{display:none}.ai-chat-send{align-items:center;background:#1976d2;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;opacity:0;position:absolute;right:.5rem;transform:scale(.8);transition:all .2s ease;visibility:hidden;width:36px}.ai-chat-send.show{opacity:1;transform:scale(1);visibility:visible}.ai-chat-send:hover:not(:disabled){background:#1562ae;transform:scale(1.05)}.ai-chat-send:active:not(:disabled){transform:scale(.95)}.ai-chat-send:disabled{background:#dee2e6;color:#212529;cursor:not-allowed;opacity:.4}.ai-chat-send i{font-size:1rem}.ai-apply-filters-btn{background:#1976d2;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-block;font-size:.875rem;font-weight:500;margin-top:1rem;padding:.625rem 1.25rem;transition:all .2s ease}.ai-apply-filters-btn:hover{background:#1562ae}.ai-match-badge{align-items:center;animation:aiMatchBadgeFadeIn .4s ease;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:1rem;box-shadow:0 2px 8px rgba(102,126,234,.3);color:#fff;display:flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.375rem .75rem;position:absolute;right:.5rem;top:.5rem;z-index:5}.ai-match-badge i{font-size:.875rem}@keyframes aiMatchBadgeFadeIn{0%{opacity:0;transform:translateY(-10px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.property-card.ai-filtered{border:2px solid #667eea!important;box-shadow:0 4px 16px rgba(102,126,234,.15)!important;position:relative}.property-card.ai-filtered:before{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:inherit;bottom:-2px;content:"";left:-2px;opacity:.1;pointer-events:none;position:absolute;right:-2px;top:-2px;z-index:0}.ai-filter-banner{animation:slideDown .25s ease-out;background:hsla(0,0%,100%,.95);border:1px solid rgba(222,226,230,.5);border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.04);margin:0 auto 20px;max-width:1300px;padding:10px 16px;transition:box-shadow .2s ease,background .2s ease}.ai-filter-banner:hover{background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.06)}@media(max-width:768px){.ai-filter-banner{border-radius:6px;margin:0 .5rem 16px;padding:8px 12px}}.ai-filter-banner__content{align-items:center;display:flex;gap:12px;justify-content:space-between}@media(max-width:768px){.ai-filter-banner__content{flex-wrap:wrap;gap:10px}}.ai-filter-banner__left{align-items:center;display:flex;flex:1;gap:10px;min-width:0}@media(max-width:768px){.ai-filter-banner__left{flex-wrap:wrap;gap:8px}}.ai-filter-banner__pill{align-items:center;background:linear-gradient(135deg,rgba(25,118,210,.08),rgba(25,118,210,.12));border:1px solid rgba(25,118,210,.15);border-radius:4px;color:#1669bb;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:600;gap:4px;letter-spacing:.02em;line-height:1.2;padding:3px 8px;text-transform:uppercase}.ai-filter-banner__pill i{font-size:.8125rem;margin-top:-1px}@media(max-width:768px){.ai-filter-banner__pill{font-size:.6875rem;padding:2px 6px}.ai-filter-banner__pill i{font-size:.75rem}}.ai-filter-banner__query{color:#343a40;flex:1;font-size:.875rem;font-weight:500;line-height:1.3;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.ai-filter-banner__query{flex-basis:100%;font-size:.8125rem;order:3}}.ai-filter-banner__count{align-items:center;background:rgba(248,249,250,.4);border:1px solid #e9ecef;border-radius:12px;color:#495057;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:600;line-height:1.2;padding:3px 10px;white-space:nowrap}@media(max-width:768px){.ai-filter-banner__count{font-size:.6875rem;padding:2px 8px}}.ai-filter-banner__actions{align-items:center;display:flex;flex-shrink:0;gap:8px}@media(max-width:768px){.ai-filter-banner__actions{gap:6px}}.ai-filter-banner__actions .btn{border-radius:6px;font-size:.875rem;line-height:1.3;padding:6px 12px;transition:all .2s ease}.ai-filter-banner__actions .btn i{font-size:1rem}@media(max-width:768px){.ai-filter-banner__actions .btn{font-size:.8125rem;padding:5px 10px}.ai-filter-banner__actions .btn i{font-size:.9375rem}}.ai-filter-banner__actions .btn-ghost{background:transparent;border:none;color:#6c757d;padding:6px 10px}.ai-filter-banner__actions .btn-ghost:hover{background:rgba(25,118,210,.08);color:#1976d2}@media(max-width:768px){.ai-filter-banner__actions .btn-ghost{padding:5px 8px}}.ai-filter-banner__actions .btn-outline-secondary{background:transparent;border:1px solid #dee2e6;color:#495057;font-weight:500}.ai-filter-banner__actions .btn-outline-secondary:hover{background:rgba(248,249,250,.5);border-color:#ced4da;color:#212529}.ai-filter-history{align-items:center;border-right:1px solid rgba(222,226,230,.5);display:flex;gap:4px;margin-right:6px;padding-right:8px}.btn-icon-mini{align-items:center;background:transparent;border:none;border-radius:4px;color:#adb5bd;cursor:pointer;display:inline-flex;justify-content:center;line-height:1;padding:4px;transition:all .15s ease}.btn-icon-mini i{font-size:.875rem}.btn-icon-mini:hover:not(:disabled){background:rgba(25,118,210,.08);color:#1976d2}.btn-icon-mini:disabled{cursor:not-allowed;opacity:.3}@media(max-width:768px){.btn-icon-mini{padding:3px}.btn-icon-mini i{font-size:.8125rem}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ai-filter-clear-btn{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:.375rem;color:#495057;cursor:pointer;display:flex;font-size:.8125rem;font-weight:500;gap:.375rem;padding:.5rem .875rem;transition:all .2s ease;white-space:nowrap}.ai-filter-clear-btn:hover{background:#f8f9fa;border-color:#ced4da;box-shadow:0 2px 4px rgba(0,0,0,.06);color:#212529;transform:translateY(-1px)}.ai-filter-clear-btn:active{transform:translateY(0)}.ai-filter-clear-btn:focus-visible{outline:2px solid #1976d2;outline-offset:2px}.ai-filter-clear-btn i{font-size:.75rem}@media(max-width:768px){.ai-filter-clear-btn{font-size:.75rem;justify-content:center;padding:.5rem .875rem;width:100%}}.ai-filter-actions{align-items:center;animation:fadeIn .3s ease;display:flex;gap:12px;margin-top:1rem;padding:0 1rem}.ai-filter-actions__primary{align-items:center;display:flex;flex:1;font-size:.9375rem;font-weight:500;gap:.5rem;justify-content:center;padding:.625rem 1.25rem;transition:all .2s ease}.ai-filter-actions__primary i{font-size:1rem}.ai-filter-actions__primary:hover{box-shadow:0 4px 12px rgba(25,118,210,.3);transform:translateY(-1px)}.ai-filter-actions__primary:active{transform:translateY(0)}.ai-filter-actions__secondary{align-items:center;background:transparent;border:1px solid rgba(0,0,0,.15);color:#495057;display:flex;flex:0 0 auto;font-size:.875rem;font-weight:400;gap:.375rem;padding:.625rem 1rem;transition:all .2s ease}.ai-filter-actions__secondary i{font-size:.875rem}.ai-filter-actions__secondary:hover{background:rgba(0,0,0,.02);border-color:rgba(0,0,0,.25);color:#212529}.ai-filter-actions__secondary:active{background:rgba(0,0,0,.05)}.ai-filter-actions.is-loading .ai-filter-actions__primary{opacity:.7;pointer-events:none}.ai-filter-actions.is-loading .ai-filter-actions__primary .ai-filter-actions__label{display:none}.ai-filter-actions.is-loading .ai-filter-actions__spinner{display:inline-block}.ai-filter-actions__spinner{animation:spin .6s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;display:none;height:14px;width:14px}@keyframes spin{to{transform:rotate(1turn)}}@media(max-width:640px){.ai-filter-actions{align-items:stretch;flex-direction:column;gap:10px}.ai-filter-actions__primary,.ai-filter-actions__secondary{justify-content:center;width:100%}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ai-active-filters-pills{animation:fadeIn .3s ease;display:flex;flex-wrap:wrap;gap:.75rem;margin:0 auto;max-width:1200px;padding:1rem 0}.ai-filter-pill{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:.375rem;box-shadow:0 1px 3px rgba(0,0,0,.08);display:inline-flex;font-size:.875rem;gap:.5rem;padding:.5rem .75rem;transition:all .2s ease}.ai-filter-pill:hover{border-color:#1976d2;box-shadow:0 2px 6px rgba(25,118,210,.15)}.ai-filter-pill .ai-pill-label{color:#495057;font-weight:600}.ai-filter-pill .ai-pill-value{color:#212529;font-weight:500}.ai-filter-pill .ai-pill-remove{align-items:center;background:transparent;border:none;border-radius:50%;color:#212529;cursor:pointer;display:flex;height:20px;justify-content:center;margin-left:.25rem;padding:.125rem;transition:all .2s ease;width:20px}.ai-filter-pill .ai-pill-remove:hover{background:#f8f9fa;color:#dc3545}.ai-filter-pill .ai-pill-remove i{font-size:.875rem}@media(max-width:768px){.ai-chat-messages{max-height:320px;min-height:240px;padding:1rem}.ai-chat-message{font-size:.875rem}.ai-chat-message.user{padding:.875rem 1rem}.ai-chat-input-wrapper{padding:1rem}.ai-chat-input{padding:.625rem .875rem}.ai-chat-input,.ai-chat-send{font-size:.875rem;min-height:44px}.ai-chat-send{padding:.625rem 1.25rem}}@media(max-width:480px){.filter-toggle-container .d-flex{flex-direction:column;gap:.5rem!important}.filter-toggle-container .d-flex .ai-filter-toggle,.filter-toggle-container .d-flex .filter-toggle{justify-content:center;width:100%}.ai-chat-input-container{flex-direction:column}.ai-chat-input-container .ai-chat-send{width:100%}}.ai-share-feedback{border-radius:.375rem;bottom:20px;box-shadow:0 4px 12px rgba(0,0,0,.3);padding:12px 20px;right:20px;transform:translateY(20px);transition:all .3s ease;z-index:9999}.ai-share-feedback.show{transform:translateY(0)}.ai-filter-presets{border-bottom:1px solid #e9ecef;padding:1rem}.ai-filter-presets h4{align-items:center;color:#495057;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:.75rem}.presets-grid{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.preset-button{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:.375rem;color:#495057;cursor:pointer;display:flex;flex-direction:column;font-size:.8125rem;gap:.5rem;padding:.75rem .5rem;transition:all .2s ease}.preset-button:hover{background:#f8f9fa;border-color:#1976d2;box-shadow:0 2px 8px rgba(25,118,210,.15);color:#1976d2;transform:translateY(-2px)}.preset-button:active{transform:translateY(0)}.preset-button .preset-icon{font-size:1.5rem;line-height:1}.preset-button .preset-name{font-weight:500;line-height:1.2;text-align:center}.ai-saved-searches{border-bottom:1px solid #e9ecef;padding:1rem}.ai-saved-searches h4{align-items:center;color:#495057;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:.75rem}.saved-searches-list{display:flex;flex-direction:column;gap:.5rem}.saved-search-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:.375rem;cursor:pointer;display:flex;gap:.5rem;padding:.75rem;transition:all .2s ease}.saved-search-item:hover{background:#fff;border-color:#1976d2;box-shadow:0 2px 6px rgba(25,118,210,.1)}.saved-search-item:hover .saved-search-query{color:#1976d2}.saved-search-item .saved-search-content{flex:1;min-width:0}.saved-search-item .saved-search-query{color:#343a40;font-size:.8125rem;font-weight:500;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease;white-space:nowrap}.saved-search-item .saved-search-meta{align-items:center;color:#6c757d;display:flex;font-size:.75rem;gap:.75rem}.saved-search-item .saved-search-count{align-items:center;display:inline-flex;gap:.25rem}.saved-search-item .saved-search-count:before{content:"•"}.saved-search-item .saved-search-delete{align-items:center;background:transparent;border:none;border-radius:.25rem;color:#ced4da;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;height:24px;justify-content:center;line-height:1;transition:all .2s ease;width:24px}.saved-search-item .saved-search-delete:hover{background:#dc3545;color:#fff}@media(max-width:768px){.presets-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.presets-grid{grid-template-columns:1fr}}.ai-share-menu{animation:slideDownFade .2s cubic-bezier(.4,0,.2,1);background:#fff;border:1px solid #e9ecef;border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06);min-width:180px;padding:.375rem 0;position:fixed;z-index:9999}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.share-option{align-items:center;background:transparent;border:none;color:#495057;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.625rem 1rem;text-align:left;transition:background .15s ease;width:100%}.share-option:hover{background:#f8f9fa;color:#1976d2}.share-option:hover i{color:#1976d2}.share-option i{align-items:center;color:#6c757d;display:flex;font-size:1.125rem;justify-content:center;transition:color .15s ease;width:20px}.share-option span{flex:1}.ai-share-feedback{background:#212529;border-radius:8px;bottom:24px;box-shadow:0 4px 12px rgba(0,0,0,.2);color:#fff;font-size:.875rem;font-weight:500;left:50%;opacity:0;padding:.75rem 1.25rem;position:fixed;transform:translateX(-50%) translateY(100px);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:10000}.ai-share-feedback.show{opacity:1;transform:translateX(-50%) translateY(0)}.ai-loading-overlay{align-items:center;animation:fadeIn .3s ease;backdrop-filter:blur(4px);background:hsla(0,0%,100%,.95);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:100}.ai-loading-content{padding:2rem;text-align:center}.ai-loading-spinner{animation:spin .8s linear infinite;border:4px solid #e9ecef;border-radius:50%;border-top-color:#1976d2;height:48px;margin:0 auto 1rem;width:48px}.ai-loading-text{color:#495057;font-size:.9375rem;font-weight:500;margin:0}.ai-empty-state{background:#fff;border:1px solid #e9ecef;border-radius:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.06);grid-column:1/-1;margin:2rem auto;max-width:720px;padding:3rem 2rem;text-align:center}.empty-state-icon{align-items:center;color:#ced4da;display:inline-flex;height:56px;justify-content:center;margin:0 auto 1.5rem;width:56px}.empty-state-icon svg{height:48px;width:48px}.empty-state-title{color:#212529;font-size:1.5rem;font-weight:600;line-height:1.3;margin-bottom:.75rem}.empty-state-text{color:#6c757d;font-size:.9375rem;line-height:1.6;margin:0 auto 2rem;max-width:60ch}.empty-state-suggestions{margin-bottom:2rem}.suggestions-label{color:#495057;font-size:.875rem;font-weight:500;margin-bottom:.75rem}.suggestion-chips{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.suggestion-chip{align-items:center;background:transparent;border:1px solid #dee2e6;border-radius:50rem;color:#495057;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.suggestion-chip:hover{background:#f8f9fa;border-color:#1976d2;color:#1976d2;transform:translateY(-1px)}.empty-state-actions{align-items:center;display:flex;flex-direction:column;gap:.75rem}.clear-filter-btn{align-items:center;display:inline-flex;gap:.5rem}.clear-filter-btn i{font-size:1rem}.btn-link-secondary{color:#6c757d;font-size:.875rem;text-decoration:none;transition:color .2s ease}.btn-link-secondary:hover{color:#1976d2;text-decoration:underline}@media(max-width:768px){.ai-empty-state{margin:1rem;padding:2rem 1.5rem}.empty-state-title{font-size:1.25rem}.suggestion-chips{flex-direction:column}.suggestion-chips .suggestion-chip{justify-content:center;width:100%}}.ai-quick-refine{border-top:1px solid #e9ecef;margin-top:.75rem;padding-top:.75rem}.refine-label{color:#495057;font-size:.8125rem;font-weight:600;margin-bottom:.5rem}.refine-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.refine-btn{background:#fff;border:1px solid #dee2e6;border-radius:.25rem;color:#495057;cursor:pointer;font-size:.8125rem;padding:.5rem .75rem;transition:all .2s ease;white-space:nowrap}.refine-btn:hover{background:#1976d2;border-color:#1976d2;color:#fff;transform:translateY(-1px)}.location-selector-popup{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.location-popup-content{background:#fff;border-radius:.5rem;box-shadow:0 8px 24px rgba(0,0,0,.2);max-width:500px;padding:2rem;width:90%}.location-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}.location-option{background:#f8f9fa;border:2px solid #dee2e6;border-radius:.375rem;color:#495057;cursor:pointer;font-size:.9375rem;font-weight:500;padding:1rem;transition:all .2s ease}.location-option:hover{background:#1976d2;border-color:#1976d2;color:#fff;transform:scale(1.05)}.close-popup{background:#e9ecef;border:none;border-radius:.375rem;color:#495057;cursor:pointer;font-size:.9375rem;font-weight:500;padding:.75rem;transition:all .2s ease;width:100%}