:root{--text:#4b5563;--text-h:#111827;--bg:#f9fafb;--card-bg:#fff;--border:#e5e7eb;--accent:#2563eb;--accent-hover:#1d4ed8;--error:#dc2626;--success:#16a34a;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/1.6 var(--sans);color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}#root{max-width:960px;min-height:100svh;margin:0 auto;padding:0 20px 20px}.navbar{border-bottom:1px solid var(--border);background:var(--card-bg);margin:0 -20px 20px;padding:0 20px}.nav-inner{justify-content:space-between;align-items:center;height:56px;display:flex}.nav-brand{color:var(--text-h);font-size:1.1rem;font-weight:600;text-decoration:none}.nav-links{align-items:center;gap:4px;display:flex}.nav-link{color:var(--text);border-radius:6px;padding:8px 14px;font-size:.95rem;text-decoration:none;transition:background .15s,color .15s}.nav-link:hover{color:var(--text-h);background:#f3f4f6}.nav-link.active{background:var(--accent);color:#fff}.nav-profile-link{color:var(--text);border-left:1px solid var(--border);border-radius:6px;align-items:center;gap:6px;margin-left:8px;padding:6px 12px;font-size:.95rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-profile-link:hover{color:var(--text-h);background:#f3f4f6}.nav-profile-link.active{background:var(--accent);color:#fff}.nav-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:26px;height:26px}.nav-avatar-placeholder{background:var(--border);color:var(--text);justify-content:center;align-items:center;display:inline-flex}.nav-logout{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;margin-left:4px;padding:6px 14px;font-size:.85rem}.nav-logout:hover{color:var(--text-h);background:#f3f4f6}.nav-hamburger{cursor:pointer;background:0 0;border:none;padding:8px;display:none}.hamburger{background:var(--text-h);width:20px;height:2px;display:block;position:relative}.hamburger:before,.hamburger:after{content:"";background:var(--text-h);width:20px;height:2px;transition:transform .2s;position:absolute;left:0}.hamburger:before{top:-6px}.hamburger:after{top:6px}.hamburger.open{background:0 0}.hamburger.open:before{top:0;transform:rotate(45deg)}.hamburger.open:after{top:0;transform:rotate(-45deg)}@media (width<=640px){.nav-hamburger{display:block}.nav-links{background:var(--card-bg);border-bottom:1px solid var(--border);z-index:100;flex-direction:column;gap:8px;padding:12px 20px;display:none;position:absolute;top:56px;left:0;right:0}.nav-links-open{display:flex}.nav-link{width:100%;padding:10px 14px}.nav-profile-link{border-left:none;width:100%;margin-left:0;padding:10px 14px}.nav-logout{text-align:center;width:100%}.navbar{position:relative}}h1,h2{color:var(--text-h);font-weight:600}h1{margin:0 0 16px;font-size:2rem}h2{margin:0 0 12px;font-size:1.4rem}.btn{background:var(--accent);color:#fff;cursor:pointer;text-align:center;border:none;border-radius:6px;padding:10px 20px;font-size:1rem;text-decoration:none;transition:background .2s;display:inline-block}.btn:hover{background:var(--accent-hover)}.btn-secondary{color:var(--accent);border:1px solid var(--accent);background:0 0}.btn-secondary:hover{background:var(--accent);color:#fff}.auth-page{max-width:400px;margin:40px auto}.back-link{color:var(--accent);margin-bottom:16px;text-decoration:none;display:inline-block}.auth-card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:32px}.auth-card h1{text-align:center}.auth-card form{flex-direction:column;gap:8px;display:flex}.auth-card label{color:var(--text-h);margin-top:8px;font-weight:500}.auth-card input{border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:1rem}.auth-card button[type=submit]{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:16px;padding:10px;font-size:1rem}.auth-card button[type=submit]:hover{background:var(--accent-hover)}.auth-card button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.error-msg{color:var(--error);margin:8px 0 0}.success-msg{color:var(--success);margin:8px 0 0}.toggle-msg{text-align:center;margin-top:20px}.toggle-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:1rem;text-decoration:underline}.home-page{max-width:700px;margin:0 auto}.home-header{text-align:center;padding:40px 0 24px}.home-header h1{margin-bottom:8px;font-size:2.4rem}.subtitle{color:var(--text);margin-bottom:24px;font-size:1.1rem}.home-nav{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.home-about,.home-disclaimer{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;margin-bottom:20px;padding:24px}.home-disclaimer{color:var(--text);font-size:.9rem}.pending-page{text-align:center;max-width:500px;margin:60px auto}.pending-page p{margin-bottom:16px}.loading{text-align:center;color:var(--text);padding:60px 20px}.form-card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;margin-bottom:24px;padding:24px}.form-card form{flex-direction:column;gap:8px;display:flex}.form-card label{color:var(--text-h);margin-top:8px;font-weight:500}.form-card input,.form-card select,.form-card textarea{border:1px solid var(--border);border-radius:6px;width:100%;padding:10px 12px;font-family:inherit;font-size:1rem}.form-card textarea{resize:vertical}.form-card select:disabled{color:var(--text);background:#f3f4f6}.form-card .btn{margin-top:16px}.form-card .btn:disabled{opacity:.6;cursor:not-allowed}.field-note{color:var(--text);margin:4px 0 0;font-size:.85rem}.warning-msg{color:#d97706;margin:4px 0 0;font-size:.9rem}.financing-fieldset{border:1px solid var(--border);border-radius:6px;margin-top:8px;padding:12px 16px}.financing-fieldset legend{color:var(--text-h);padding:0 4px;font-weight:500}.checkbox-label{align-items:center;gap:8px;margin-top:4px;font-weight:400;display:flex}.checkbox-label input[type=checkbox]{width:auto}.image-preview-list{flex-direction:column;gap:6px;margin-top:8px;display:flex}.image-preview-item{border:1px solid var(--border);background:#f9fafb;border-radius:4px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.9rem;display:flex}.image-preview-item span{text-overflow:ellipsis;white-space:nowrap;max-width:250px;overflow:hidden}.remove-img-btn{color:var(--error);cursor:pointer;background:0 0;border:none;font-size:.85rem}.sellers-page{max-width:700px;margin:0 auto}.my-listings{margin-top:32px}.listing-card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;gap:16px;margin-bottom:12px;padding:16px;display:flex}.listing-thumb{object-fit:cover;border-radius:6px;flex-shrink:0;width:120px;height:90px}.listing-info h3{color:var(--text-h);margin:0 0 4px;font-size:1.1rem}.listing-price{color:var(--accent);margin:0 0 4px;font-weight:600}.listing-meta{color:var(--text);font-size:.85rem}.profile-form-wrapper{max-width:500px}.buyers-page{max-width:800px;margin:0 auto}.filters-bar{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:16px;display:flex}.filter-group{flex-direction:column;flex:1;gap:4px;min-width:140px;display:flex}.filter-group label{color:var(--text-h);font-size:.85rem;font-weight:500}.filter-group select{border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:.95rem}.no-results{text-align:center;color:var(--text);background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:40px 20px}.property-grid{flex-direction:column;gap:16px;display:flex}.property-card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.pc-summary{cursor:pointer;align-items:flex-start;gap:16px;padding:16px;transition:background .15s;display:flex}.pc-summary:hover{background:#f3f4f6}.pc-thumb{object-fit:cover;border-radius:6px;flex-shrink:0;width:140px;height:105px}.pc-no-image{background:var(--border);color:var(--text);justify-content:center;align-items:center;font-size:.85rem;display:flex}.pc-info{flex:1;min-width:0}.pc-info h3{color:var(--text-h);margin:0 0 4px;font-size:1.1rem}.pc-price{color:var(--accent);margin:0 0 4px;font-size:1.15rem;font-weight:600}.pc-details{text-transform:capitalize;margin:0 0 4px}.pc-meta{color:var(--text);text-transform:capitalize;margin:0;font-size:.85rem}.pc-expand-icon{color:var(--text);flex-shrink:0;padding-top:4px;font-size:.8rem}.pc-detail{border-top:1px solid var(--border);padding:20px}.pc-gallery{margin-bottom:16px}.pc-gallery-img{object-fit:contain;background:#f3f4f6;border-radius:6px;width:100%;max-height:400px}.pc-gallery-nav{color:var(--text);justify-content:center;align-items:center;gap:16px;margin-top:8px;font-size:.9rem;display:flex}.pc-gallery-btn{border:1px solid var(--border);cursor:pointer;color:var(--accent);background:0 0;border-radius:4px;padding:4px 12px;font-size:.9rem}.pc-gallery-btn:hover{background:var(--accent);color:#fff}.pc-description{margin-bottom:16px}.pc-description h4,.pc-seller h4{color:var(--text-h);margin:0 0 6px;font-size:1rem}.pc-description p{white-space:pre-wrap;margin:0}.pc-extras{margin-bottom:16px}.pc-extras p{margin:0 0 4px}.pc-extras a{color:var(--accent)}.pc-seller{border-top:1px solid var(--border);padding-top:12px}.pc-seller p{margin:0 0 2px}.pc-brokerage{color:var(--text);font-size:.85rem}.admin-page{max-width:800px;margin:0 auto}.admin-section{margin-bottom:32px}.admin-empty{color:var(--text);background:var(--card-bg);border:1px solid var(--border);text-align:center;border-radius:8px;padding:16px}.admin-card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;padding:14px 16px;display:flex}.admin-card-info{flex-wrap:wrap;flex:1;align-items:center;gap:8px 16px;min-width:0;display:flex}.admin-card-info strong{color:var(--text-h)}.admin-card-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.btn-sm{padding:6px 14px;font-size:.85rem}.btn-danger{background:var(--error)}.btn-danger:hover{background:#b91c1c}.role-select{border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-family:inherit;font-size:.85rem}.admin-badge{text-transform:capitalize;border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:600}.badge-pending{color:#92400e;background:#fef3c7}.badge-member{color:#065f46;background:#d1fae5}.badge-admin{color:#1e40af;background:#dbeafe}.profile-page{max-width:700px;margin:0 auto}.profile-avatar-section{align-items:center;gap:20px;margin-bottom:24px;display:flex}.profile-avatar-lg{object-fit:cover;border-radius:50%;flex-shrink:0;width:100px;height:100px}.profile-avatar-placeholder{background:var(--border);color:var(--text);justify-content:center;align-items:center;display:flex}.avatar-upload-btn{cursor:pointer}.form-row{gap:12px;display:flex}.form-field{flex-direction:column;flex:1;gap:4px;display:flex}.form-field label{color:var(--text-h);margin-top:8px;font-weight:500}.form-field input{border:1px solid var(--border);border-radius:6px;width:100%;padding:10px 12px;font-family:inherit;font-size:1rem}.investment-areas{margin-top:4px}.investment-area-item{border:1px solid var(--border);background:#f9fafb;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:6px 10px;font-size:.9rem;display:flex}.investment-area-add{align-items:flex-end;margin-top:6px}.investment-area-add input{border:1px solid var(--border);border-radius:6px;flex:1;padding:8px 10px;font-family:inherit;font-size:.9rem}.profile-actions{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.profile-section{margin-bottom:24px}.profile-notice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:20px;padding:20px}.profile-notice h2{color:#1e40af;margin-bottom:8px}.profile-warning{color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;margin-bottom:20px;padding:16px;font-size:.9rem}.profile-warning p{margin:0}@media (width<=640px){.form-row{flex-direction:column;gap:0}.profile-avatar-section{flex-direction:column;align-items:flex-start}}
