*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f7fa;color:#1a1a2e;line-height:1.6}.container{max-width:1800px;margin:0 auto;padding:0 24px}.app-header{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;padding:24px 0;box-shadow:0 2px 12px #00000026}.app-header h1{font-size:28px;font-weight:700;letter-spacing:-.5px}.app-header .subtitle{color:#a0aec0;font-size:14px;margin-top:4px}.layout{display:flex;gap:24px;margin-top:24px;align-items:flex-start}.sidebar{width:380px;flex-shrink:0;position:sticky;top:24px}.content{flex:1;min-width:0}.sidebar-right{width:360px;flex-shrink:0;position:sticky;top:24px;display:none}.search-form{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #00000014}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.form-header h2{font-size:18px;font-weight:600}.listing-type-toggle{display:flex;background:#f0f0f5;border-radius:8px;overflow:hidden}.toggle-btn{padding:6px 16px;border:none;background:transparent;cursor:pointer;font-size:13px;font-weight:500;color:#666;transition:all .2s}.toggle-btn.active{background:#1a1a2e;color:#fff;border-radius:6px}.form-row{display:flex;gap:12px;margin-bottom:16px}.form-group{flex:1;display:flex;flex-direction:column}.location-group{position:relative}.form-group label{font-size:12px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.form-group input,.form-group select{padding:10px 12px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .2s;background:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:#1a1a2e}.location-confirmed{font-size:11px;color:#38a169;margin-top:4px;font-weight:500}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:100;max-height:240px;overflow-y:auto;margin-top:4px}.suggestion-item{display:block;width:100%;padding:10px 14px;border:none;background:none;text-align:left;cursor:pointer;font-size:14px;font-family:inherit;color:#333;transition:background .15s}.suggestion-item:hover{background:#f5f7fa}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#1a1a2e;color:#fff}.btn-primary:hover:not(:disabled){background:#2d2d4a}.btn-secondary{background:#f0f0f5;color:#333}.btn-secondary:hover:not(:disabled){background:#e0e0e8}.btn-outline{background:transparent;border:1.5px solid #1a1a2e;color:#1a1a2e;text-decoration:none;text-align:center;display:inline-block;font-size:13px;padding:8px 16px}.btn-outline:hover{background:#1a1a2e;color:#fff}.property-actions{display:flex;gap:8px;margin-top:12px}.property-actions .btn-outline{flex:1}.btn-sms{flex:1;padding:8px 16px;border:1.5px solid #38a169;background:transparent;color:#38a169;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s}.btn-sms:hover:not(:disabled){background:#38a169;color:#fff}.btn-sms:disabled{opacity:.5;cursor:not-allowed}.btn-sms-sent{background:#38a169;color:#fff;border-color:#38a169}.sms-error{font-size:11px;color:#c53030;margin-top:6px}.btn-small{padding:6px 12px;font-size:12px}.btn-danger{background:#fee;color:#c53030}.btn-danger:hover{background:#fdd}.form-actions{display:flex;gap:12px;margin-top:8px}.form-actions .btn{flex:1}.saved-searches{background:#fff;border-radius:12px;padding:20px;margin-top:16px;box-shadow:0 1px 3px #00000014}.saved-searches h3{font-size:16px;font-weight:600;margin-bottom:12px}.saved-search-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f0f0f5}.saved-search-item:last-child{border-bottom:none}.saved-search-info strong{display:block;font-size:14px}.saved-search-meta{font-size:12px;color:#888}.saved-search-actions{display:flex;gap:6px}.property-grid-container{min-height:400px}.grid-header{margin-bottom:16px}.grid-header h3{font-size:16px;color:#555;font-weight:500}.property-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.property-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #00000014;transition:box-shadow .2s,transform .2s}.property-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.property-image{position:relative;height:200px;background:#eee;overflow:hidden}.property-image img{width:100%;height:100%;object-fit:cover}.no-image{display:flex;align-items:center;justify-content:center;height:100%;color:#999;font-size:14px}.property-source{position:absolute;top:10px;right:10px;background:#000000b3;color:#fff;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.property-details{padding:16px}.property-price{font-size:22px;font-weight:700;color:#1a1a2e;margin-bottom:4px}.property-title{font-size:14px;font-weight:600;color:#333;margin-bottom:2px}.property-address{font-size:13px;color:#666;margin-bottom:10px}.property-features{display:flex;gap:16px;margin-bottom:10px}.feature{display:flex;align-items:center;gap:4px;font-size:13px;color:#555}.feature svg{color:#888}.property-description{font-size:13px;color:#666;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.property-footer{display:flex;justify-content:space-between;font-size:12px;color:#888}.property-agent{font-weight:500}.grid-message{text-align:center;padding:80px 24px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014}.grid-message h3{font-size:20px;margin-bottom:8px}.grid-message p{color:#666;font-size:14px}.error-message h3{color:#c53030}.spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#1a1a2e;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:16px 0}.page-info{font-size:14px;color:#666}.alerts-panel{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #00000014}.alerts-panel h2{font-size:18px;font-weight:600;margin-bottom:2px}.alerts-subtitle{font-size:13px;color:#888;margin-bottom:20px}.alert-create{border:1.5px dashed #d0d0d8;border-radius:10px;padding:16px;margin-bottom:20px}.alert-criteria{margin-bottom:14px}.alert-criteria-label{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.alert-criteria-value{font-size:13px;color:#333;font-weight:500;line-height:1.5}.alert-criteria-empty{font-size:13px;color:#aaa;font-style:italic}.alert-phone-row{margin-bottom:12px}.alert-phone-row label{display:block;font-size:12px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.alert-phone-row input{width:100%;padding:10px 12px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .2s}.alert-phone-row input:focus{outline:none;border-color:#1a1a2e}.alert-create-btn{width:100%}.alert-sms-note{font-size:11px;color:#aaa;margin-top:10px;line-height:1.4;text-align:center}.alert-list{margin-top:4px}.alert-list h3{font-size:14px;font-weight:600;color:#555;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.alert-item{border:1px solid #eee;border-radius:10px;padding:14px;margin-bottom:12px;transition:opacity .2s}.alert-item.alert-disabled{opacity:.5}.alert-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.alert-item-info strong{display:block;font-size:14px;line-height:1.3}.alert-item-phone{font-size:12px;color:#888}.alert-item-criteria{font-size:12px;color:#666;margin-bottom:6px;line-height:1.4}.alert-item-status{font-size:11px;color:#aaa;margin-bottom:8px}.alert-item-actions{display:flex;gap:6px}.alert-toggle{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0;cursor:pointer}.alert-toggle input{opacity:0;width:0;height:0}.alert-toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#ccc;border-radius:22px;transition:background .2s}.alert-toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s}.alert-toggle input:checked+.alert-toggle-slider{background:#38a169}.alert-toggle input:checked+.alert-toggle-slider:before{transform:translate(18px)}.alert-new-matches{background:#f0fff4;border:1px solid #c6f6d5;border-radius:8px;padding:10px;margin-bottom:8px}.alert-new-matches-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.alert-new-badge{background:#38a169;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px}.alert-match-list{list-style:none;padding:0}.alert-match-list li{margin-bottom:6px}.alert-match-list li:last-child{margin-bottom:0}.alert-match-list a{display:flex;flex-direction:column;text-decoration:none;padding:6px 8px;border-radius:6px;transition:background .15s}.alert-match-list a:hover{background:#e6ffed}.match-price{font-size:13px;font-weight:700;color:#1a1a2e}.match-address{font-size:11px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-more{font-size:11px;color:#888;text-align:center;padding-top:4px}.ai-search-container{margin-top:24px}.ai-search-box{background:#fff;border-radius:14px;padding:24px 28px;box-shadow:0 2px 12px #00000014;border:1.5px solid #e8e8f0}.ai-search-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.ai-icon{width:36px;height:36px;background:linear-gradient(135deg,#1a1a2e,#2d2d5e);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.ai-search-header h2{font-size:17px;font-weight:600;color:#1a1a2e}.ai-search-input-wrap{display:flex;gap:10px;align-items:flex-end}.ai-search-input{flex:1;padding:12px 14px;border:1.5px solid #e0e0e8;border-radius:10px;font-size:15px;font-family:inherit;resize:none;line-height:1.5;transition:border-color .2s,box-shadow .2s;background:#fafafe}.ai-search-input:focus{outline:none;border-color:#1a1a2e;box-shadow:0 0 0 3px #1a1a2e14;background:#fff}.ai-search-input::placeholder{color:#aaa}.ai-search-btn{width:44px;height:44px;border:none;border-radius:10px;background:#1a1a2e;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,transform .1s}.ai-search-btn:hover:not(:disabled){background:#2d2d4a;transform:scale(1.05)}.ai-search-btn:disabled{opacity:.4;cursor:not-allowed}.ai-search-spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.ai-interpretation{margin-top:14px;padding:10px 14px;background:#f0f7ff;border:1px solid #d0e3ff;border-radius:8px;font-size:13px;color:#1a1a2e;line-height:1.5}.ai-interpretation-error{background:#fff5f5;border-color:#fdd}.ai-interpretation-label{font-weight:600;color:#4a7ddb}.ai-interpretation-error .ai-interpretation-label{color:#c53030}.ai-interpretation-hint{margin-top:6px;font-size:12px;color:#c53030}.ai-examples{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ai-examples-label{font-size:12px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px}.ai-example-chip{padding:6px 12px;border:1px solid #e0e0e8;border-radius:20px;background:#fafafe;font-size:12px;color:#555;cursor:pointer;font-family:inherit;transition:all .15s;white-space:nowrap}.ai-example-chip:hover{background:#1a1a2e;color:#fff;border-color:#1a1a2e}@media (max-width: 1400px){.sidebar-right{width:320px}}@media (max-width: 1200px){.layout{flex-wrap:wrap}.sidebar{width:100%;position:static}.sidebar-right{width:100%;position:static;order:-1}.content{width:100%}.form-row{flex-wrap:wrap}.form-group{min-width:calc(50% - 6px)}}@media (max-width: 640px){.form-group{min-width:100%}.property-grid{grid-template-columns:1fr}.app-header h1{font-size:22px}.header-row{flex-direction:column;gap:12px}.header-nav{flex-wrap:wrap}}.header-row{display:flex;justify-content:space-between;align-items:center}.header-nav{display:flex;align-items:center;gap:16px}.nav-btn{color:#fff;text-decoration:none;font-size:14px;font-weight:600;padding:8px 20px;border-radius:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);transition:background .2s,border-color .2s}.nav-btn:hover{background:#fff3;border-color:#ffffff59}.nav-btn-active{background:#3b82f6;border-color:#3b82f6}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);padding:24px}.login-card{background:#fff;border-radius:16px;padding:48px 40px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d;text-align:center}.login-logo{color:#1a1a2e;margin-bottom:16px}.login-card h1{font-size:28px;font-weight:700;color:#1a1a2e;margin-bottom:4px}.login-subtitle{color:#888;font-size:14px;margin-bottom:32px}.login-field{text-align:left;margin-bottom:20px}.login-field label{display:block;font-size:12px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.login-field input{width:100%;padding:12px 14px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:15px;font-family:inherit;transition:border-color .2s}.login-field input:focus{outline:none;border-color:#1a1a2e}.login-error{color:#c53030;font-size:13px;margin-bottom:16px;text-align:left;background:#fff5f5;padding:10px 14px;border-radius:8px;border:1px solid #fdd}.login-btn{width:100%;padding:12px;font-size:15px;margin-top:8px}.sms-phone-panel{background:#fff;border-radius:12px;padding:20px;margin-top:16px;box-shadow:0 1px 3px #00000014}.sms-phone-panel h3{font-size:16px;font-weight:600;margin-bottom:12px}.sms-phone-note{font-size:11px;color:#aaa;margin-top:10px;line-height:1.4}.results-toolbar{display:flex;justify-content:flex-end;margin-bottom:16px;gap:12px}.btn-watch-created{background:#38a169;color:#fff;cursor:default}.watches-main{margin-top:24px;padding-bottom:48px}.watches-header{margin-bottom:24px}.watches-header h2{font-size:24px;font-weight:700;color:#1a1a2e;margin-bottom:4px}.watches-description{font-size:14px;color:#666}.watches-error{background:#fff5f5;border:1px solid #fdd;color:#c53030;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.watches-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:16px}.watch-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014;transition:box-shadow .2s}.watch-card:hover{box-shadow:0 4px 16px #0000001f}.watch-paused{opacity:.7}.watch-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.watch-name{font-size:16px;font-weight:600;color:#1a1a2e;margin-bottom:6px}.watch-status-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 10px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.status-active{background:#c6f6d5;color:#276749}.status-paused{background:#fefcbf;color:#975a16}.status-deleted{background:#fed7d7;color:#9b2c2c}.watch-criteria{font-size:13px;color:#555;margin-bottom:10px;line-height:1.5}.watch-meta{display:flex;gap:16px;font-size:12px;color:#aaa;margin-bottom:12px}.watch-actions{display:flex;gap:8px;margin-top:12px}.match-source{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.5px}
