:root{--spot-primary: #002080;--spot-primary-light: #3366cc;--spot-primary-dark: #001a66;--listing-active: #059669;--listing-pending: #d97706;--listing-sold: #7c3aed;--listing-rented: #0891b2;--listing-draft: #6b7280;--listing-inactive: #9ca3af;--hover-bg: #f8fafc;--hover-border: #e2e8f0;--focus-ring: #3b82f6;--rent-accent: #059669;--sale-accent: #dc2626;--property-title-size: 1.125rem;--property-title-weight: 600;--property-price-size: 1.25rem;--property-price-weight: 700;--property-meta-size: .875rem;--property-meta-weight: 500;--property-address-size: .8125rem;--property-address-weight: 400;--filter-label-size: .875rem;--filter-label-weight: 500;--card-padding-x: 1.25rem;--card-padding-y: 1rem;--card-gap: 1rem;--card-border-radius: 12px;--filter-gap: .75rem;--filter-padding: .5rem .75rem;--card-shadow: 0 1px 3px rgba(0, 0, 0, .1);--card-hover-shadow: 0 10px 25px -5px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--filter-shadow: 0 2px 4px rgba(0, 0, 0, .1)}.property-card{background:#fff;border-radius:var(--card-border-radius);overflow:hidden;box-shadow:var(--card-shadow);border:1px solid #f1f5f9;transition:all .2s ease}.property-card:hover{box-shadow:var(--card-hover-shadow);transform:translateY(-1px)}.property-title{font-size:var(--property-title-size);font-weight:var(--property-title-weight);line-height:1.3}.property-price{font-size:var(--property-price-size);font-weight:var(--property-price-weight);line-height:1.2}.property-meta{font-size:var(--property-meta-size);font-weight:var(--property-meta-weight);line-height:1.4}.property-address{font-size:var(--property-address-size);font-weight:var(--property-address-weight);line-height:1.4;color:#64748b}.btn-primary{background:var(--spot-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.875rem;transition:all .2s ease;box-shadow:0 2px 4px #0020801a}.btn-primary:hover{background:var(--spot-primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px #00208026}.btn-secondary{background:#fff;color:var(--spot-primary);border:1px solid var(--spot-primary);padding:.75rem 1.5rem;border-radius:8px;font-weight:500;font-size:.875rem;transition:all .2s ease}.btn-secondary:hover{background:var(--spot-primary);color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #0020801a}.filter-bar{background:#fff;border-radius:12px;border:1px solid #f1f5f9;padding:1rem 1.5rem;box-shadow:var(--filter-shadow)}.filter-button{display:inline-flex;align-items:center;gap:.5rem;padding:var(--filter-padding);border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:var(--filter-label-size);font-weight:var(--filter-label-weight);transition:all .2s ease;cursor:pointer}.filter-button:hover{border-color:var(--spot-primary);background:#f8fafc}.filter-button.active{background:#eff6ff;border-color:var(--spot-primary);color:var(--spot-primary)}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:500;border:1px solid}.status-badge.listed{background:#f0fdf4;color:#166534;border-color:#bbf7d0}.status-badge.pending{background:#fffbeb;color:#92400e;border-color:#fde68a}.status-badge.sold{background:#faf5ff;color:#6b21a8;border-color:#e9d5ff}.status-badge.rented{background:#ecfeff;color:#155e75;border-color:#a5f3fc}.search-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--spot-primary);box-shadow:0 0 0 3px #3b82f61a}.loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes layoutShift{0%{opacity:.8;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.animate-slideIn{animation:slideIn .3s ease-out forwards}.animate-slideOut{animation:slideOut .3s ease-in forwards}.animate-bounceIn{animation:bounceIn .4s ease-out forwards}.animate-layoutShift{animation:layoutShift .3s ease-out forwards}.will-change-transform{will-change:transform}.will-change-auto{will-change:auto}@keyframes layoutModeTransition{0%{opacity:.8;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.animate-layoutModeTransition{animation:layoutModeTransition .3s cubic-bezier(.4,0,.2,1) forwards}.sticky-header-scrolled{box-shadow:0 2px 8px #0000001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media (prefers-reduced-motion: no-preference){.layout-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.layout-column-transition{transition:width .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}}@media (prefers-reduced-motion: reduce){.animate-layoutModeTransition,.animate-slideIn,.animate-slideOut,.animate-bounceIn,.animate-layoutShift{animation:none}.layout-transition,.layout-column-transition{transition:none}}@media (max-width: 768px){:root{--card-padding-x: 1rem;--card-padding-y: .875rem;--property-title-size: 1rem;--property-price-size: 1.125rem}}
