:root{--bg:#f7f7f5;--surface:#fff;--border:#e4e2dd;--text:#1c1b19;--text-muted:#6b6862;--brand:#2f6e4e;--brand-dark:#234f39;--brand-light:#e7f2ec;--danger:#b3432f;--warning:#a9711b;--radius:10px;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--brand-dark)}button{cursor:pointer;font-family:inherit}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius);padding:.5rem 1rem;font-size:.9rem}.btn:hover{border-color:var(--brand)}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.page{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem;display:flex}.page-header h1{margin:0;font-size:1.4rem}.muted{color:var(--text-muted);font-size:.85rem}.error-banner{border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius);background:#fbeae6;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.loading{text-align:center;color:var(--text-muted);padding:2rem}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 1rem}input,select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:.45rem .6rem;font-family:inherit;font-size:.9rem}input:focus,select:focus{outline:2px solid var(--brand);outline-offset:-1px}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;gap:.6rem;margin-bottom:1.25rem;padding:1rem;display:flex}.filter-bar label{color:var(--text-muted);flex-direction:column;gap:.25rem;font-size:.75rem;display:flex}.card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;flex-direction:column;gap:.4rem;padding:1rem;text-decoration:none;display:flex;position:relative}.card:hover{border-color:var(--brand)}.card-title{font-size:1rem;font-weight:600}.card-locality{color:var(--text-muted);text-transform:capitalize;font-size:.85rem}.card-price{color:var(--brand-dark);font-size:1.1rem;font-weight:700}.card-meta{color:var(--text-muted);flex-wrap:wrap;gap:.6rem;font-size:.8rem;display:flex}.badge{background:var(--brand-light);color:var(--brand-dark);border-radius:999px;width:fit-content;padding:.15rem .5rem;font-size:.7rem;display:inline-block}.badge-verified{background:var(--brand-light);color:var(--brand-dark)}.badge-inactive{color:var(--warning);background:#f1e6d8}.fav-btn{border:1px solid var(--border);background:#fff;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1rem;line-height:1;display:flex;position:absolute;top:.75rem;right:.75rem}.fav-btn.active{color:var(--danger);border-color:var(--danger)}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.stat-card .value{font-size:1.5rem;font-weight:700}.stat-card .label{color:var(--text-muted);font-size:.8rem}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem;padding:1.25rem}.section h2{margin-top:0;font-size:1.05rem}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.4rem .6rem}th{color:var(--text-muted);font-size:.8rem;font-weight:600}.navbar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:1.5rem;padding:.75rem 1.5rem;display:flex}.navbar-brand{color:var(--brand-dark);font-weight:700}.navbar-links{flex:1;gap:1.1rem;display:flex}.navbar-links a{color:var(--text-muted);border-bottom:2px solid #0000;padding:.25rem 0;font-size:.9rem;text-decoration:none}.navbar-links a.active{color:var(--brand-dark);border-bottom-color:var(--brand);font-weight:600}.navbar-user{color:var(--text-muted);align-items:center;gap:.75rem;font-size:.85rem;display:flex}
