.lg-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem 0;color:var(--color-text-muted)}.lg-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-olive);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lg-error{text-align:center;padding:2rem;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);color:#991b1b}.lg-error-sub{font-size:.85rem;margin-top:.5rem;opacity:.7}.lg-filters{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius);padding:1.25rem 1.5rem;margin-bottom:2rem}.lg-filters-row{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.lg-filter{display:flex;flex-direction:column;gap:.25rem}.lg-filter span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-weight:600}.lg-filter select{padding:.6rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-btn);font-family:var(--font-body);font-size:.85rem;background:var(--color-surface);color:var(--color-text);cursor:pointer;min-width:130px}.lg-checks{display:flex;gap:1rem;align-items:center;padding-bottom:.25rem}.lg-check{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--color-text-muted);cursor:pointer}.lg-check input{accent-color:var(--color-olive)}.lg-count{font-size:.8rem;color:var(--color-text-muted);margin-top:.75rem}.lg-empty{text-align:center;padding:4rem 0;color:var(--color-text-muted)}.lg-reset-btn{margin-top:.75rem;padding:.55rem 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-btn);background:var(--color-surface);font-family:var(--font-body);font-size:.85rem;cursor:pointer;transition:border-color .15s}.lg-reset-btn:hover{border-color:var(--color-ink)}.lg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--gap)}.lg-card{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius);overflow:hidden;transition:border-color .25s,transform .25s}.lg-card:hover{border-color:var(--color-olive);transform:translateY(-3px)}.lg-card-top{padding:1rem 1.25rem 0}.lg-badge{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:999px;background:var(--color-surface-2);color:var(--color-ink)}.lg-badge-now{background:var(--color-olive);color:#fff}.lg-card-body{padding:.75rem 1.25rem 1.25rem}.lg-card-price-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem}.lg-card-rent{font-family:var(--font-display);font-size:1.5rem;font-weight:800;letter-spacing:-.03em;color:var(--color-olive)}.lg-card-specs{font-size:.85rem;color:var(--color-text-muted);font-weight:500}.lg-card-title{font-family:var(--font-body);font-size:.9rem;font-weight:600;line-height:1.35;margin-bottom:.3rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lg-card-addr{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.2rem}.lg-card-sqft{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.6rem}.lg-card-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.75rem}.lg-tag{font-size:.65rem;padding:2px 7px;border-radius:3px;background:var(--color-bg);color:var(--color-text-muted);font-weight:500}.lg-card-actions{display:flex;gap:.5rem}.lg-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:.5rem .75rem;font-family:var(--font-body);font-size:.8rem;font-weight:600;border-radius:var(--radius);text-decoration:none;transition:all .15s}.lg-btn-outline{border:1px solid var(--color-border);color:var(--color-text);background:transparent}.lg-btn-outline:hover{border-color:var(--color-olive);color:var(--color-olive)}.lg-btn-primary{background:var(--color-olive);color:#fff;border:1px solid var(--color-olive)}.lg-btn-primary:hover{background:var(--color-olive-dark)}@media(max-width:768px){.lg-filters-row{flex-direction:column;gap:.75rem}.lg-filter select{width:100%}.lg-grid{grid-template-columns:1fr}}
