.map-container[data-v-f83e8fd1]{border-radius:8px;margin:20px 0;position:relative;overflow:hidden}.map-controls[data-v-f83e8fd1]{z-index:1000;align-items:center;gap:10px;display:flex;position:absolute;top:10px;right:10px}.search-location[data-v-f83e8fd1]{background:#fff;border-radius:4px;gap:5px;padding:4px;display:flex;box-shadow:0 2px 4px #0000001a}.location-input[data-v-f83e8fd1]{border:none;border-radius:4px;outline:none;width:180px;padding:6px 10px;font-size:14px}.search-btn[data-v-f83e8fd1],.location-btn[data-v-f83e8fd1]{cursor:pointer;background:#fff;border:none;border-radius:4px;padding:6px 12px;font-size:14px;transition:all .2s}.search-btn[data-v-f83e8fd1]:hover,.location-btn[data-v-f83e8fd1]:hover{background:#f0f0f0}.search-btn[data-v-f83e8fd1]:disabled,.location-btn[data-v-f83e8fd1]:disabled{opacity:.6;cursor:not-allowed}.header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.user-menu{align-items:center;gap:10px;display:flex}.username{color:#1890ff;font-weight:700}.profile-link,.favorites-link{color:#1890ff;margin-right:5px;text-decoration:none}.profile-link:hover,.favorites-link:hover{text-decoration:underline}.login-btn,.register-btn,.logout-btn{cursor:pointer;border:none;border-radius:4px;padding:6px 15px}.login-btn{color:#fff;background:#1890ff}.register-btn{color:#fff;background:#52c41a}.logout-btn{color:#fff;background:#e4393c}.modal{z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{background:#fff;border-radius:8px;width:320px;padding:30px;position:relative}.modal-content h3{margin-bottom:20px}.modal-content input{border:1px solid #ddd;border-radius:4px;width:100%;margin-bottom:15px;padding:10px}.modal-content button{color:#fff;cursor:pointer;background:#1890ff;border:none;border-radius:4px;width:100%;padding:10px}.close{cursor:pointer;font-size:24px;position:absolute;top:10px;right:15px}.modal-footer{text-align:center;margin-top:15px}.forgot-link{color:#999;cursor:pointer;font-size:12px;text-decoration:none}.forgot-link:hover{color:#1890ff}#app{max-width:1200px;margin:0 auto;padding:20px;font-family:Arial,sans-serif}.view-switch{text-align:center;margin:20px 0}.view-switch button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;margin:0 5px;padding:8px 20px}.view-switch button.active{color:#fff;background:#1890ff}.search-bar{justify-content:center;gap:10px;margin-bottom:30px;display:flex}.search-bar input{border:1px solid #ddd;border-radius:6px;width:300px;padding:10px}.search-bar button{color:#fff;cursor:pointer;background:#409eff;border:none;border-radius:6px;padding:10px 20px}.house-list{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;display:grid}.house-card{cursor:pointer;border:1px solid #ddd;border-radius:8px;transition:transform .2s;overflow:hidden}.house-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.house-card img{object-fit:cover;width:100%;height:200px}.house-card .info{padding:15px}.house-card .price{color:#e4393c;margin:10px 0;font-size:20px;font-weight:700}.pagination{justify-content:center;align-items:center;gap:10px;margin-top:30px;display:flex}.pagination button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;padding:6px 12px}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination button:hover:not(:disabled){color:#fff;background:#1890ff;border-color:#1890ff}.page-info{color:#666;font-size:14px}.detail-container[data-v-922ea162]{max-width:800px;margin:0 auto;padding:20px}.loading[data-v-922ea162],.error[data-v-922ea162]{text-align:center;color:#666;padding:50px;font-size:18px}.house-detail[data-v-922ea162]{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 10px #0000001a}h1[data-v-922ea162]{color:#333;margin:0 0 10px}.price[data-v-922ea162]{color:#e4393c;margin-bottom:20px;font-size:28px;font-weight:700}.info-grid[data-v-922ea162]{background:#f5f5f5;border-radius:8px;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:20px;padding:15px;display:grid}.info-item .label[data-v-922ea162]{color:#666;font-weight:400}.info-item .value[data-v-922ea162]{color:#333;margin-left:5px;font-weight:700}.detail-image[data-v-922ea162]{object-fit:cover;border-radius:8px;width:100%;max-height:400px;margin:20px 0}.back-btn[data-v-922ea162]{color:#fff;cursor:pointer;background:#409eff;border:none;border-radius:6px;padding:10px 20px;font-size:14px}.back-btn[data-v-922ea162]:hover{background:#337ecc}
