.header{background:#fff;border-bottom:1px solid #e5e5e5;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #00000005}.header-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.logo{font-size:1.5rem;font-weight:700;color:#1a1a1a;text-decoration:none;transition:color .2s ease}.logo:hover{color:#06c}.nav{display:flex;gap:2rem;align-items:center;flex:1;justify-content:center}.nav-link{color:#333;text-decoration:none;font-size:1rem;font-weight:500;transition:color .2s ease;position:relative}.nav-link:hover{color:#06c}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:#06c;transition:width .3s ease}.nav-link:hover:after{width:100%}.login-button{padding:.625rem 1.5rem;border:1px solid #333;border-radius:6px;color:#333;text-decoration:none;font-size:1rem;font-weight:500;transition:all .2s ease;background:transparent}.login-button:hover{background:#333;color:#fff;border-color:#333}.header-user-actions{display:flex;align-items:center;gap:1rem}.create-property-link{color:#06c;text-decoration:none;font-size:1rem;font-weight:500;transition:color .2s ease;padding:.5rem 1rem;border:1px solid #0066cc;border-radius:6px}.create-property-link:hover{background:#06c;color:#fff}.profile-link{color:#333;text-decoration:none;font-size:1rem;font-weight:500;transition:color .2s ease}.profile-link:hover{color:#06c}.logout-button{padding:.625rem 1.5rem;border:1px solid #333;border-radius:6px;color:#333;font-size:1rem;font-weight:500;transition:all .2s ease;background:transparent;cursor:pointer;font-family:inherit}.logout-button:hover{background:#333;color:#fff;border-color:#333}@media (max-width: 768px){.header-container{flex-wrap:wrap;padding:1rem}.nav{order:3;width:100%;justify-content:flex-start;gap:1rem;margin-top:1rem}.login-button{padding:.5rem 1rem;font-size:.9rem}}.hero{padding:4rem 2rem;background:#fff}.hero-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-content{display:flex;flex-direction:column;gap:1.5rem;text-align:center;align-items:center}.hero-title{font-size:3rem;font-weight:700;line-height:1.2;color:#1a1a1a;margin:0;text-align:center}.hero-title-emphasis{font-size:3.5rem;font-style:italic;display:block;margin-top:.5rem}.hero-description{font-size:1.25rem;line-height:1.6;color:#666;margin:0}.hero-cta{display:inline-block;padding:1rem 2rem;border:1px solid #333;border-radius:6px;color:#333;text-decoration:none;font-size:1.125rem;font-weight:600;text-align:center;transition:all .2s ease;width:fit-content;margin-top:.5rem}.hero-cta:hover{background:#333;color:#fff;border-color:#333;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.hero-image{width:100%;height:100%;min-height:400px}.image-placeholder{width:100%;height:100%;background:#f9f9f9;border:1px solid #e5e5e5;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}@media (max-width: 968px){.hero-container{grid-template-columns:1fr;gap:2rem}.hero-title{font-size:2.25rem;text-align:center}.hero-title-emphasis{font-size:2.75rem}.hero-image{min-height:300px}}@media (max-width: 640px){.hero{padding:2rem 1rem}.hero-title{font-size:1.75rem;text-align:center}.hero-title-emphasis{font-size:2rem}.hero-description{font-size:1.125rem}.hero-cta{width:100%;padding:.875rem 1.5rem}}.features{padding:4rem 2rem;background:#fafafa}.features-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.feature-card{display:flex;flex-direction:column;gap:1rem;padding:2rem;background:#fff;border-radius:8px;border:1px solid #e5e5e5;transition:all .3s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a;border-color:#06c}.feature-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:#f5f5f5;border-radius:8px;margin-bottom:.5rem}.feature-title{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:0}.feature-description{font-size:1rem;line-height:1.6;color:#666;margin:0}@media (max-width: 968px){.features-container{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.features{padding:2rem 1rem}.features-container{grid-template-columns:1fr;gap:1.5rem}.feature-card{padding:1.5rem}}.search-filters{margin-bottom:2rem;padding:1.5rem;background:#fff;border:1px solid #e5e5e5;border-radius:8px}.filters-container{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.search-input{flex:1;min-width:200px;padding:.75rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s ease}.search-input:focus{outline:none;border-color:#06c}.price-filter{padding:.75rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;background:#fff;cursor:pointer;transition:border-color .2s ease;min-width:150px}.price-filter:focus{outline:none;border-color:#06c}.filter-checkboxes{display:flex;gap:1.5rem;align-items:center}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:1rem;color:#333;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#0066cc}.checkbox-label span{white-space:nowrap}.apply-filters-btn,.map-btn{padding:.75rem 1.5rem;border:1px solid #333;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.apply-filters-btn{background:#333;color:#fff}.apply-filters-btn:hover{background:#1a1a1a;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.map-btn{background:transparent;color:#333}.map-btn:hover{background:#333;color:#fff}@media (max-width: 968px){.filters-container{flex-direction:column;align-items:stretch}.search-input,.price-filter{width:100%}.filter-checkboxes{flex-wrap:wrap;gap:1rem}.apply-filters-btn,.map-btn{width:100%}}@media (max-width: 640px){.search-filters{padding:1rem}.filter-checkboxes{flex-direction:column;align-items:flex-start;gap:.75rem}}.property-card{background:#fff;border:1px solid #e5e5e5;border-radius:8px;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column}.property-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a;border-color:#06c}.property-image{width:100%;height:250px;overflow:hidden;background:#f9f9f9}.property-image img{width:100%;height:100%;object-fit:cover}.property-info{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;flex:1}.property-price{font-size:1.5rem;font-weight:700;color:#1a1a1a}.property-description{font-size:1rem;line-height:1.6;color:#666;flex:1}.view-details-btn{padding:.75rem 1.5rem;background:#333;color:#fff;text-decoration:none;border-radius:6px;text-align:center;font-weight:500;transition:all .2s ease;border:1px solid #333;margin-top:auto}.view-details-btn:hover{background:#1a1a1a;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}@media (max-width: 640px){.property-image{height:200px}.property-info{padding:1rem}.property-price{font-size:1.25rem}}.listings-page{min-height:100vh;display:flex;flex-direction:column;background:#fafafa}.listings-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem}.listings-title{font-size:2.5rem;font-weight:700;margin-bottom:2rem;color:#1a1a1a}.listings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.loading{text-align:center;padding:4rem 2rem;font-size:1.25rem;color:#666}.no-listings{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:#fff;border:1px solid #e5e5e5;border-radius:8px}.no-listings p{font-size:1.125rem;color:#666}@media (max-width: 968px){.listings-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.listings-title{font-size:2rem}}@media (max-width: 640px){.listings-content{padding:1rem}.listings-title{font-size:1.75rem;margin-bottom:1.5rem}.listings-grid{grid-template-columns:1fr;gap:1.5rem}}.image-gallery{display:flex;flex-direction:column;gap:1rem}.main-image{width:100%;height:400px;overflow:hidden;border-radius:8px;border:1px solid #e5e5e5;background:#f9f9f9;cursor:pointer}.main-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.main-image:hover img{transform:scale(1.05)}.secondary-images{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.secondary-image{width:100%;height:150px;overflow:hidden;border-radius:8px;border:1px solid #e5e5e5;background:#f9f9f9;cursor:pointer;transition:all .3s ease}.secondary-image:hover{border-color:#06c;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.secondary-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.secondary-image:hover img{transform:scale(1.1)}.thumbnail-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.thumbnail-image{width:100%;aspect-ratio:1;overflow:hidden;border-radius:8px;border:1px solid #e5e5e5;background:#f9f9f9;cursor:pointer;transition:all .3s ease}.thumbnail-image:hover{border-color:#06c;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.thumbnail-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.thumbnail-image:hover img{transform:scale(1.1)}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f5f5f5}@media (max-width: 968px){.main-image{height:300px}.secondary-image{height:120px}}@media (max-width: 640px){.main-image{height:250px}.secondary-image{height:100px}}.property-info-card{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:2rem}.property-title{font-size:2rem;font-weight:700;color:#1a1a1a;margin:0 0 2rem;line-height:1.3}.property-details{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e5e5e5}.detail-item{display:flex;align-items:center;gap:1rem}.detail-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.detail-text{font-size:1.125rem;color:#333;line-height:1.5}.property-description-section{margin-top:1rem}.description-title{font-size:1.5rem;font-weight:600;color:#1a1a1a;margin:0 0 1rem}.property-description{font-size:1rem;line-height:1.8;color:#666;margin:0;white-space:pre-wrap}@media (max-width: 640px){.property-info-card{padding:1.5rem}.property-title{font-size:1.5rem;margin-bottom:1.5rem}.detail-text{font-size:1rem}.description-title{font-size:1.25rem}}.owner-card{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:2rem}.owner-card-title{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0 0 1.5rem}.owner-profile{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e5e5}.owner-image{width:80px;height:80px;flex-shrink:0;border-radius:8px;overflow:hidden;border:1px solid #e5e5e5;background:#f9f9f9}.owner-image img{width:100%;height:100%;object-fit:cover}.owner-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f5f5f5}.owner-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.owner-name{font-size:1.25rem;font-weight:600;color:#1a1a1a}.owner-account-year{font-size:1rem;color:#666}.owner-rating{display:flex;align-items:center;gap:.5rem;margin:1rem 0;padding:.75rem 0;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5}.owner-rating.clickable{cursor:pointer;transition:all .2s ease;padding:.75rem;border-radius:6px}.owner-rating.clickable:hover{background:#f5f5f5;border-color:#06c}.owner-rating .star{font-size:1.25rem;color:#ddd;transition:color .2s ease}.owner-rating .star.filled{color:#ffc107}.owner-rating .rating-text{font-size:.9rem;color:#666;margin-left:.5rem}.owner-rating .view-profile-link{font-size:.9rem;color:#06c;margin-left:auto;font-weight:500;transition:color .2s ease}.owner-rating.clickable:hover .view-profile-link{color:#0052a3;text-decoration:underline}.owner-description{margin-bottom:1.5rem}.owner-description p{font-size:1rem;line-height:1.6;color:#666;margin:0;white-space:pre-wrap}.owner-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.discuss-btn,.schedule-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;border:1px solid #333;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.discuss-btn{background:transparent;color:#333}.discuss-btn:hover{background:#333;color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.schedule-btn{background:#333;color:#fff}.schedule-btn:hover{background:#1a1a1a;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn-icon{font-size:1.25rem}@media (max-width: 640px){.owner-card{padding:1.5rem}.owner-card-title{font-size:1.25rem}.owner-profile{gap:1rem}.owner-image{width:60px;height:60px}.owner-name{font-size:1.125rem}.owner-actions{grid-template-columns:1fr}.discuss-btn,.schedule-btn{padding:.875rem 1.25rem;font-size:.9rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.schedule-visit-modal{background:#fff;border-radius:8px;padding:2rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 8px 32px #0003}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:#666;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:#f5f5f5;color:#333}.modal-title{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin-bottom:2rem;text-align:center}.modal-content{display:flex;flex-direction:column;gap:2rem}.date-selection h3,.time-selection h3{font-size:1.125rem;font-weight:600;color:#333;margin-bottom:1rem}.calendar{border:1px solid #e5e5e5;border-radius:8px;padding:1rem;background:#fafafa}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.calendar-nav{background:transparent;border:1px solid #ddd;border-radius:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;color:#333;transition:all .2s ease}.calendar-nav:hover{background:#e5e5e5;border-color:#999}.calendar-month{font-size:1.125rem;font-weight:600;color:#1a1a1a}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.5rem}.weekday{text-align:center;font-size:.875rem;font-weight:600;color:#666;padding:.5rem}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-day{aspect-ratio:1;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:.9rem;color:#333;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.calendar-day:hover:not(.past):not(.selected){background:#f5f5f5;border-color:#999}.calendar-day.selected{background:#e5e5e5;border-color:#333;font-weight:600}.calendar-day.past{background:#f9f9f9;color:#ccc;cursor:not-allowed;opacity:.5}.calendar-day.empty{border:none;background:transparent;cursor:default}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.time-slot{padding:.75rem 1rem;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:.95rem;color:#333;transition:all .2s ease;text-align:center}.time-slot:hover:not(.booked):not(:disabled){background:#f5f5f5;border-color:#999}.time-slot.selected{background:#333;color:#fff;border-color:#333}.time-slot.booked{background:#f9f9f9;color:#ccc;cursor:not-allowed;opacity:.6}.time-slot:disabled{cursor:not-allowed}.time-placeholder{text-align:center;color:#999;padding:2rem;font-style:italic}.modal-error{padding:.75rem 1rem;background:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:.9rem;margin-top:1rem}.modal-actions{display:flex;gap:1rem;margin-top:2rem;justify-content:flex-end}.cancel-btn,.confirm-btn{padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.confirm-btn{background:#333;border:1px solid #333;color:#fff}.confirm-btn:hover:not(:disabled){background:#1a1a1a;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.confirm-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.schedule-visit-modal{padding:1.5rem;max-height:95vh}.modal-content{gap:1.5rem}.time-slots{grid-template-columns:repeat(2,1fr)}.modal-actions{flex-direction:column-reverse}.cancel-btn,.confirm-btn{width:100%}}.property-details-page{min-height:100vh;display:flex;flex-direction:column;background:#fafafa}.property-details-container{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:2rem}.back-button-container{display:flex;justify-content:flex-end;margin-bottom:2rem}.back-button{padding:.75rem 1.5rem;border:1px solid #333;border-radius:6px;color:#333;text-decoration:none;font-size:1rem;font-weight:500;transition:all .2s ease;background:transparent}.property-details-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.property-images-column{position:sticky;top:2rem}.property-info-column{display:flex;flex-direction:column;gap:2rem}@media (max-width: 968px){.property-details-content{grid-template-columns:1fr;gap:2rem}.property-images-column{position:static}.property-details-container{padding:1rem}}@media (max-width: 640px){.back-button-container{margin-bottom:1rem}.back-button{padding:.625rem 1.25rem;font-size:.9rem}}.reviews-list-container{margin-top:2rem;padding-top:2rem;border-top:1px solid #e5e5e5}.reviews-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.reviews-title{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0}.reviews-summary{display:flex;align-items:center;gap:.75rem}.summary-rating{display:flex;gap:.25rem}.summary-rating .star{font-size:1.25rem;color:#ddd}.summary-rating .star.filled{color:#ffc107}.summary-text{font-size:1rem;color:#666;font-weight:500}.reviews-list{display:flex;flex-direction:column;gap:1.5rem}.review-item{padding:1.5rem;border:1px solid #e5e5e5;border-radius:8px;background:#fff;transition:all .2s ease}.review-item:hover{box-shadow:0 2px 8px #00000014;border-color:#06c}.review-buyer-name{font-size:1.125rem;font-weight:600;color:#1a1a1a}.review-rating{display:flex;gap:.25rem;align-items:center}.review-property{font-size:.9rem;color:#666;margin-bottom:.75rem;font-style:italic}.loading-text,.no-reviews-text{color:#666;font-size:1rem;text-align:center;padding:2rem 0}@media (max-width: 640px){.reviews-header{flex-direction:column;align-items:flex-start}.reviews-summary{width:100%}.review-header{flex-direction:column;align-items:flex-start;gap:.5rem}.review-date{margin-left:0}.review-item{padding:1rem}}.owner-profile-page{min-height:100vh;display:flex;flex-direction:column;background:#fafafa}.owner-profile-container{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:2rem}.back-button-container{margin-bottom:2rem}.back-button{padding:.75rem 1.5rem;border:1px solid #333;border-radius:6px;background:transparent;color:#333;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.back-button:hover{background:#333;color:#fff}.owner-header{display:flex;gap:2rem;padding:2rem;background:#fff;border-radius:8px;border:1px solid #e5e5e5;margin-bottom:2rem}.owner-avatar{width:120px;height:120px;flex-shrink:0;border-radius:8px;overflow:hidden;border:1px solid #e5e5e5;background:#f9f9f9}.owner-avatar img{width:100%;height:100%;object-fit:cover}.owner-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f5f5f5}.owner-header-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.owner-name{font-size:2rem;font-weight:700;color:#1a1a1a;margin:0}.owner-account-year{font-size:1rem;color:#666;margin:0}.owner-description{font-size:1rem;color:#333;line-height:1.6;margin:.5rem 0 0}.owner-reviews-section{margin-bottom:3rem;background:#fff;border-radius:8px;border:1px solid #e5e5e5;padding:2rem}.owner-properties-section{background:#fff;border-radius:8px;border:1px solid #e5e5e5;padding:2rem}.section-title{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0 0 1.5rem}.properties-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.loading-container,.error-container{text-align:center;padding:4rem 2rem;max-width:1200px;margin:0 auto}.loading-container p,.error-container p{font-size:1.25rem;color:#666;margin-bottom:2rem}.loading-text,.no-properties-text{color:#666;font-size:1rem;text-align:center;padding:2rem 0}@media (max-width: 968px){.owner-profile-container{padding:1rem}.owner-header{flex-direction:column;align-items:center;text-align:center;padding:1.5rem}.owner-avatar{width:100px;height:100px}.owner-name{font-size:1.5rem}.owner-reviews-section,.owner-properties-section{padding:1.5rem}.properties-grid{grid-template-columns:1fr}}@media (max-width: 640px){.owner-header{gap:1rem;padding:1rem}.owner-avatar{width:80px;height:80px}.owner-name{font-size:1.25rem}.owner-reviews-section,.owner-properties-section{padding:1rem}}h1.page{min-height:100vh;display:flex;flex-direction:column}.page-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:4rem 2rem}.page-content h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:#1a1a1a}.page-content p{font-size:1.125rem;color:#666;line-height:1.6}.login-page{min-height:100vh;display:flex;flex-direction:column;background:#fafafa}.login-content{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-container{width:100%;max-width:450px;background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:2.5rem;box-shadow:0 2px 8px #0000000d}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{font-size:2rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem}.auth-subtitle{font-size:1rem;color:#666;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input{padding:.75rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s ease;font-family:inherit}.form-group input:focus{outline:none;border-color:#06c}.form-group input::placeholder{color:#999}.error-message{padding:.75rem 1rem;background:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:.9rem;text-align:center}.auth-submit-btn{padding:.875rem 1.5rem;background:#333;color:#fff;border:1px solid #333;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.auth-submit-btn:hover:not(:disabled){background:#1a1a1a;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:2rem;text-align:center;padding-top:1.5rem;border-top:1px solid #e5e5e5}.auth-footer p{font-size:.95rem;color:#666}.toggle-mode-btn{background:none;border:none;color:#06c;font-size:.95rem;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;transition:color .2s ease}.toggle-mode-btn:hover{color:#0052a3}@media (max-width: 640px){.login-content{padding:1rem}.auth-container{padding:2rem 1.5rem}.auth-header h1{font-size:1.75rem}}.review-modal{background:#fff;border-radius:8px;padding:2rem;max-width:500px;width:100%;position:relative;box-shadow:0 8px 32px #0003}.review-form{display:flex;flex-direction:column;gap:1.5rem}.rating-section{display:flex;flex-direction:column;gap:1rem}.rating-label{font-size:1rem;font-weight:500;color:#333}.star-rating{display:flex;gap:.5rem;align-items:center}.star-button{background:none;border:none;font-size:2rem;color:#ddd;cursor:pointer;transition:all .2s ease;padding:0;line-height:1}.star-button:hover{transform:scale(1.1)}.star-button.active{color:#ffc107}.rating-value{font-size:.9rem;color:#666;font-weight:500}.comment-section{display:flex;flex-direction:column;gap:.5rem}.comment-label{font-size:1rem;font-weight:500;color:#333}.comment-textarea{width:100%;padding:.75rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;resize:vertical;min-height:120px;transition:border-color .2s ease}.comment-textarea:focus{outline:none;border-color:#06c}.modal-error{padding:.75rem 1rem;background:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:.9rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:.5rem}.cancel-btn,.submit-btn{padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}@media (max-width: 640px){.review-modal{padding:1.5rem}.modal-actions{flex-direction:column-reverse}.cancel-btn,.submit-btn{width:100%}}.profile-page{min-height:100vh;background:#fafafa}.profile-container{max-width:1400px;margin:0 auto;padding:2rem}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.profile-header h1{font-size:2.5rem;font-weight:700;color:#1a1a1a}.home-link{color:#06c;text-decoration:none;font-size:1rem;font-weight:500;transition:color .2s ease}.home-link:hover{color:#0052a3;text-decoration:underline}.profile-content{display:grid;grid-template-columns:300px 1fr;gap:2rem}.profile-sidebar{display:flex;flex-direction:column;gap:2rem}.user-summary{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:2rem;text-align:center}.profile-image-placeholder{width:120px;height:120px;margin:0 auto 1rem;border:1px solid #ddd;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f9f9f9}.profile-image-placeholder img{width:100%;height:100%;object-fit:cover}.user-name{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem}.user-role{font-size:.95rem;color:#666;margin-bottom:1rem}.user-rating{margin-bottom:1.5rem}.star{color:#ddd;font-size:1.25rem;margin:0 2px}.edit-profile-btn{width:100%;padding:.75rem 1.5rem;background:#333;color:#fff;border:1px solid #333;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.edit-profile-btn:hover{background:#1a1a1a;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.profile-nav{display:flex;flex-direction:column;gap:.5rem;background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:1rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;border-radius:6px;text-align:left;font-size:1rem;color:#333;cursor:pointer;transition:all .2s ease}.nav-item:hover{background:#f5f5f5}.nav-item.active{background:#e5e5e5;font-weight:600}.nav-icon{width:20px;height:20px;display:inline-block;background:#ddd;border-radius:4px}.profile-main{display:flex;flex-direction:column;gap:2rem}.profile-section{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:2rem}.profile-section h2{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.9rem;font-weight:500;color:#333;margin-bottom:.5rem}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#06c}.form-group input:disabled,.form-group textarea:disabled{background:#f5f5f5;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:100px}.save-profile-btn{padding:.75rem 1.5rem;border:1px solid #333;border-radius:6px;background:transparent;color:#333;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.save-profile-btn:hover:not(:disabled){background:#333;color:#fff}.save-profile-btn:disabled{opacity:.6;cursor:not-allowed}.security-actions{display:flex;gap:1rem;flex-wrap:wrap}.security-btn{padding:.75rem 1.5rem;border:1px solid #333;border-radius:6px;background:transparent;color:#333;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.security-btn:hover{background:#333;color:#fff}.security-btn.danger{border-color:#c33;color:#c33}.security-btn.danger:hover{background:#c33;color:#fff}.visits-list{display:flex;flex-direction:column;gap:1rem}.visit-card{border:1px solid #e5e5e5;border-radius:8px;padding:1.5rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;transition:all .2s ease}.visit-card:hover{box-shadow:0 2px 8px #0000001a;border-color:#06c}.visit-info{flex:1}.visit-property-title{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem}.visit-address{font-size:.95rem;color:#666;margin-bottom:.5rem}.visit-datetime{font-size:1rem;color:#333;font-weight:500;margin-bottom:.5rem}.visit-notes{font-size:.9rem;color:#666;font-style:italic;margin-top:.5rem}.visit-actions{display:flex;align-items:flex-start}.cancel-visit-btn{padding:.5rem 1rem;border:1px solid #c33;border-radius:6px;background:transparent;color:#c33;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-visit-btn:hover{background:#c33;color:#fff}.add-review-btn{padding:.5rem 1rem;border:1px solid #0066cc;border-radius:6px;background:transparent;color:#06c;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-right:.5rem}.add-review-btn:hover{background:#06c;color:#fff}.visit-actions{display:flex;align-items:flex-start;gap:.5rem}.reviews-list{display:flex;flex-direction:column;gap:1rem}.review-card{border:1px solid #e5e5e5;border-radius:8px;padding:1.5rem;transition:all .2s ease}.review-card:hover{box-shadow:0 2px 8px #0000001a;border-color:#06c}.review-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.review-buyer{font-size:1.125rem;font-weight:600;color:#1a1a1a}.review-rating{display:flex;gap:.25rem}.review-rating .star{font-size:1rem;color:#ddd}.review-rating .star.filled{color:#ffc107}.review-date{font-size:.875rem;color:#999;margin-left:auto}.review-property{font-size:.9rem;color:#666;margin-bottom:.5rem;font-style:italic}.review-comment{font-size:1rem;color:#333;line-height:1.6;margin-top:.5rem}.user-rating .star{font-size:1.25rem;color:#ddd;transition:color .2s ease}.user-rating .star.filled{color:#ffc107}.user-rating .rating-text{font-size:.9rem;color:#666;margin-left:.5rem}@media (max-width: 968px){.profile-content{grid-template-columns:1fr}.profile-sidebar{order:2}.profile-main{order:1}.profile-nav{flex-direction:row;overflow-x:auto}}@media (max-width: 640px){.profile-container{padding:1rem}.profile-header h1{font-size:2rem}.security-actions{flex-direction:column}.security-btn{width:100%}}.create-property-page{min-height:100vh;background:#fafafa}.create-property-content{max-width:1200px;margin:0 auto;padding:2rem}.create-property-container{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:2.5rem}.create-property-container h1{font-size:2.5rem;font-weight:700;color:#1a1a1a;margin-bottom:2rem}.error-message{padding:1rem;background:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;margin-bottom:1.5rem;font-size:.95rem}.property-form{display:flex;flex-direction:column;gap:2rem}.form-section{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:2rem;border-bottom:1px solid #e5e5e5}.form-section:last-of-type{border-bottom:none}.form-section h2{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:#333}.form-group input,.form-group textarea,.form-group select{padding:.75rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#06c}.form-group textarea{resize:vertical;min-height:120px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:2rem;border-top:1px solid #e5e5e5}.cancel-btn,.submit-btn{padding:.875rem 2rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-btn{background:transparent;border:1px solid #ddd;color:#333}.cancel-btn:hover{background:#f5f5f5;border-color:#999}.submit-btn{background:#333;border:1px solid #333;color:#fff}.submit-btn:hover:not(:disabled){background:#1a1a1a;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.submit-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.create-property-content{padding:1rem}.create-property-container{padding:1.5rem}.create-property-container h1{font-size:2rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.cancel-btn,.submit-btn{width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1a1a1a;line-height:1.5}#root{min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
