:root{--paper: #fbfaf6;--paper-raised: #ffffff;--ink: #1e2124;--ink-soft: #5a5f66;--hairline: #dad6cc;--gold: #a9782f;--gold-deep: #8a5f22;--teal: #3f6b64;--danger: #a3402f;--font-display: "Source Serif 4", Georgia, serif;--font-body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.5}h1,h2,h3{font-family:var(--font-display);font-weight:600;margin:0 0 .5em}h1{font-size:1.9rem}h2{font-size:1.25rem;margin-top:2rem}h3{font-size:1rem;color:var(--ink-soft)}a{color:inherit;text-decoration:none}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}button,select,input{font-family:var(--font-body);font-size:.9rem}.nav{border-bottom:1px solid var(--hairline);background:var(--paper-raised)}.nav-inner{max-width:960px;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;gap:2rem}.nav-brand{font-family:var(--font-display);font-weight:700;font-size:1.15rem}.nav-links{display:flex;gap:1.25rem;flex:1}.nav-link{color:var(--ink-soft);padding-bottom:.2rem;border-bottom:2px solid transparent}.nav-link.active{color:var(--ink);border-bottom-color:var(--gold)}.nav-user{display:flex;align-items:center;gap:.75rem;color:var(--ink-soft);font-size:.85rem}.app-main{max-width:960px;margin:0 auto;padding:2rem 1.5rem 4rem}.page-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.page-state{padding:4rem 0;text-align:center;color:var(--ink-soft)}.page-state-error{color:var(--danger)}.result-count{color:var(--ink-soft);font-size:.85rem;margin:0 0 1rem}.empty-state{color:var(--ink-soft);padding:2rem 0}.btn-primary{background:var(--gold);color:var(--paper);border:none;padding:.6rem 1.25rem;cursor:pointer}.btn-primary:hover{background:var(--gold-deep)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{background:transparent;border:1px solid var(--hairline);color:var(--ink);padding:.6rem 1.25rem;cursor:pointer}.btn-text{background:none;border:none;color:var(--ink-soft);text-decoration:underline;cursor:pointer;padding:0;font-size:.85rem}select,input[type=number],input[type=text],input[type=email],input[type=password]{border:1px solid var(--hairline);background:var(--paper-raised);padding:.5rem .6rem;color:var(--ink)}.auth-page{min-height:70vh;display:flex;align-items:center;justify-content:center}.auth-card{width:320px}.auth-subtitle{color:var(--ink-soft);margin-top:0;margin-bottom:1.5rem}.auth-card form{display:flex;flex-direction:column;gap:1rem}.auth-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--ink-soft)}.form-error{color:var(--danger);font-size:.85rem;margin:0}.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;padding:1rem 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);margin-bottom:1rem}.sort-controls{display:flex;gap:.5rem}.listing-list{display:flex;flex-direction:column}.listing-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--hairline);transition:padding-left .15s ease,border-color .15s ease}.listing-row:hover{border-color:var(--gold)}a.listing-row:hover{padding-left:.4rem}.listing-row-link{flex:1;display:flex}.listing-row-title{font-size:1rem;margin:0 0 .2rem}.listing-row-meta{margin:0;color:var(--ink-soft);font-size:.85rem}.listing-row-side{display:flex;align-items:center;gap:.75rem}.listing-row-price{text-align:right;white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end}.listing-row-price .num{font-weight:600}.listing-row-price-label{font-size:.75rem;color:var(--ink-soft)}.save-toggle{background:none;border:1px solid var(--hairline);color:var(--ink-soft);width:2.2rem;height:2.2rem;border-radius:50%;cursor:pointer;font-size:1.1rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:transform .1s ease,color .15s ease,border-color .15s ease}.save-toggle:hover{border-color:var(--gold);color:var(--gold)}.save-toggle:active{transform:scale(.9)}.save-toggle-active{color:var(--danger);border-color:var(--danger)}.save-toggle:disabled{opacity:.5;cursor:default}.save-toggle-wrap{display:flex;flex-direction:column;align-items:center;gap:.2rem}.save-error{font-size:.65rem;color:var(--danger);white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem 0;color:var(--ink-soft);font-size:.85rem}.pagination button{border:1px solid var(--hairline);background:var(--paper-raised);padding:.4rem .9rem;cursor:pointer}.pagination button:disabled{opacity:.4;cursor:default}.detail-page{max-width:640px}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin:1.5rem 0 1rem}.detail-locality{color:var(--ink-soft);margin:0}.detail-price{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.3rem}.detail-price .num{font-size:1.4rem;font-weight:600}.badge-verified{font-size:.7rem;color:var(--teal);border:1px solid var(--teal);padding:.1rem .5rem}.badge-mismatch{font-size:.7rem;color:var(--danger);border:1px solid var(--danger);padding:.1rem .4rem;margin-left:.5rem}.detail-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem 1.5rem;margin:1.5rem 0;padding:1.25rem 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.detail-facts dt{font-size:.75rem;color:var(--ink-soft);margin-bottom:.15rem}.detail-facts dd{margin:0}.detail-description{color:var(--ink-soft)}.detail-contact{margin-top:1.5rem}.amenities{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}.amenity-pill{border:1px solid var(--hairline);padding:.25rem .6rem;font-size:.8rem;color:var(--ink-soft)}.similar-section{margin-top:2rem}.insights-section{margin-bottom:2.5rem}.insights-note{color:var(--ink-soft);font-size:.85rem;margin-top:-.4rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.stat{background:var(--paper-raised);padding:1rem;display:flex;flex-direction:column;gap:.3rem}.stat-label{font-size:.75rem;color:var(--ink-soft)}.stat-value{font-size:1.3rem;font-weight:600}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th,.data-table td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--hairline)}.data-table td.num,.data-table th:last-child{text-align:right}.flag-list{margin:.5rem 0 1.5rem;padding-left:1.2rem;color:var(--ink-soft);font-size:.85rem}@media (max-width: 640px){.nav-inner{flex-wrap:wrap;gap:.75rem}.nav-links{order:3;width:100%;overflow-x:auto}.detail-facts{grid-template-columns:1fr}}
