*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#f7f7f7;--bg-secondary:#fff;--bg-tertiary:#fafafa;--text-primary:#222;--text-secondary:#484848;--text-tertiary:#717171;--border-color:#ebebeb;--shadow-sm:0 2px 12px #0000000f;--shadow-md:0 2px 12px #00000014;--shadow-lg:0 4px 20px #0000001f;--accent-primary:#ff385c;--accent-hover:#e31c5f;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--font-xs:0.75rem;--font-sm:0.875rem;--font-base:1rem;--font-lg:1.125rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:2rem;--font-4xl:2.5rem;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px}.dark-mode{--bg-primary:#1a1a1a;--bg-secondary:#2d2d2d;--bg-tertiary:#242424;--text-primary:#fff;--text-secondary:#e0e0e0;--text-tertiary:#b0b0b0;--border-color:#404040;--shadow-sm:0 2px 12px #0006;--shadow-md:0 2px 12px #00000080;--shadow-lg:0 4px 20px #0009;--accent-primary:#ff385c;--accent-hover:#ff5675}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f7f7f7;background-color:var(--bg-primary);color:#222;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{color:inherit;text-decoration:none}.loading{align-items:center;color:#717171;display:flex;font-size:1.125rem;justify-content:center;min-height:400px}.loading:after{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#ff385c;content:"";height:40px;margin-left:1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error{background-color:#ffebee;color:#d32f2f}.error,.success{border-radius:4px;margin:1rem 0;padding:1rem}.success{background-color:#e8f5e9;color:#388e3c}.navbar{background-color:var(--bg-secondary);box-shadow:0 1px 2px #00000014;height:70px;left:0;position:fixed;right:0;top:0;transition:background-color .3s ease;z-index:1000}.navbar-container{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.navbar-logo{color:#ff385c;font-size:1.5rem;font-weight:700;z-index:1001}.navbar-desktop-actions{align-items:center;display:flex;gap:1rem}.navbar-menu{align-items:center;display:flex;gap:1.5rem}.navbar-link{color:var(--text-secondary);font-weight:500;transition:color .2s;white-space:nowrap}.navbar-link:hover{color:var(--accent-primary)}.navbar-button{background-color:#ff385c;border:none;border-radius:20px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background-color .2s;white-space:nowrap}.navbar-button:hover{background-color:#e31c5f}.theme-toggle{align-items:center;background:#0000;border:2px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;font-size:1.25rem;height:45px;justify-content:center;padding:0;transition:all .3s ease;width:45px}.theme-toggle:hover{border-color:#ff385c;box-shadow:0 4px 12px #ff385c33;transform:rotate(20deg) scale(1.1)}.dark-mode .theme-toggle{border-color:#444}.dark-mode .theme-toggle:hover{border-color:#ff385c}.mobile-menu-toggle{background:#0000;border:none;cursor:pointer;display:none;padding:.5rem;z-index:1001}.hamburger{display:flex;flex-direction:column;gap:5px;height:24px;position:relative;width:28px}.hamburger span{background-color:var(--text-primary);border-radius:2px;display:block;height:3px;transition:all .3s ease;width:100%}.hamburger.active span:first-child{transform:rotate(45deg) translate(8px,8px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(8px,-8px)}.mobile-menu-overlay{background-color:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:70px;z-index:999}@media (max-width:1024px){.navbar-container{padding:0 1.5rem}.navbar-menu{gap:1.25rem}.navbar-logo{font-size:1.25rem}.theme-toggle{font-size:1.125rem;height:40px;width:40px}}@media (max-width:768px){.navbar-container{padding:0 1rem}.navbar-logo{font-size:1.125rem}.theme-toggle{font-size:1rem;height:38px;width:38px}.mobile-menu-toggle{display:block}.navbar-menu{align-items:flex-start;background-color:var(--bg-secondary);box-shadow:-4px 0 20px #0000001a;flex-direction:column;gap:1.5rem;height:calc(100vh - 70px);overflow-y:auto;padding:2rem 1.5rem;position:fixed;right:-100%;top:70px;transition:right .3s ease;width:280px}.navbar-menu.mobile-open{right:0}.mobile-menu-overlay{display:block}.navbar-button,.navbar-link{border-radius:8px;display:block;padding:.75rem 1rem;text-align:left;width:100%}.navbar-link:hover{background-color:var(--bg-tertiary)}.navbar-button{margin-top:1rem;text-align:center}}@media (max-width:480px){.navbar-logo{font-size:1rem}.theme-toggle{font-size:.875rem;height:36px;width:36px}.navbar-menu{right:-100%;width:100%}.navbar-menu.mobile-open{right:0}}.property-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-md);cursor:pointer;overflow:hidden;transition:all .3s ease}.property-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-lg);transform:translateY(-8px)}.property-image{height:220px;overflow:hidden;position:relative;width:100%}.property-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.property-card:hover .property-image img{transform:scale(1.05)}.property-info{padding:1.25rem}.property-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:1.125rem;font-weight:600;line-height:1.4;margin-bottom:.5rem;overflow:hidden}.property-location{align-items:center;color:var(--text-tertiary);display:flex;font-size:.9375rem;gap:.25rem;margin-bottom:.875rem}.property-location:before{content:"📍";font-size:.875rem}.property-details{color:var(--text-tertiary);display:flex;flex-wrap:wrap;font-size:.875rem;gap:1rem;margin-bottom:1rem}.property-details span{align-items:center;display:flex;gap:.25rem}.property-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding-top:1rem}.property-price{color:var(--text-primary);font-size:1rem}.property-price strong{font-size:1.125rem;font-weight:600}.property-rating{align-items:center;color:var(--text-primary);display:flex;font-size:.875rem;font-weight:500;gap:.25rem}@media (max-width:1024px){.property-image{height:200px}.property-info{padding:1rem}.property-name{font-size:1.0625rem}}@media (max-width:768px){.property-card{border-radius:12px}.property-image{height:180px}.property-info{padding:1rem}.property-name{font-size:1rem}.property-location{font-size:.875rem;margin-bottom:.75rem}.property-details{font-size:.8125rem;gap:.75rem}.property-footer{flex-direction:row;gap:.75rem}.property-price{font-size:.9375rem}.property-price strong{font-size:1.0625rem}.property-rating{font-size:.8125rem}}@media (max-width:480px){.property-card:hover{transform:translateY(-4px)}.property-image{height:160px}.property-info{padding:.875rem}.property-details{gap:.5rem}}.home{margin:0 auto;max-width:1200px;padding:2rem}.hero{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:3rem;padding:3rem 1.5rem;text-align:center}.hero h1{font-size:3rem;line-height:1.2;margin-bottom:1rem}.hero p{font-size:1.25rem;margin-bottom:2rem;opacity:.9}.search-form{display:flex;gap:.5rem;margin:0 auto;max-width:600px}.search-input{flex:1 1;font-size:1rem;padding:1rem}.search-button,.search-input{border:none;border-radius:50px}.search-button{background-color:#ff385c;color:#fff;cursor:pointer;font-weight:600;padding:1rem 2rem;transition:background-color .2s;white-space:nowrap}.search-button:hover{background-color:#e31c5f}.filters{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.filters select{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;flex:1 1 auto;font-size:1rem;min-width:150px;padding:.75rem 1rem}.apply-filters{background-color:#333;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s;white-space:nowrap}.apply-filters:hover{background-color:#222}.properties-container{min-height:400px}.properties-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.no-properties{color:var(--text-tertiary);font-size:1.2rem;padding:3rem;text-align:center}@media (max-width:1024px){.home{padding:1.5rem}.hero{padding:2.5rem 1.5rem}.hero h1{font-size:2.5rem}.hero p{font-size:1.125rem}.properties-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.home{padding:1rem}.hero{border-radius:8px;margin-bottom:2rem;padding:2rem 1rem}.hero h1{font-size:2rem}.hero p{font-size:1rem;margin-bottom:1.5rem}.search-form{flex-direction:column;gap:.75rem}.search-input{padding:.875rem 1rem;width:100%}.search-button{padding:.875rem 1.5rem;width:100%}.filters{gap:.75rem}.filters select{flex:1 1 100%;min-width:100%}.apply-filters{padding:.875rem 1.5rem;width:100%}.properties-grid{gap:1.25rem;grid-template-columns:1fr}.no-properties{font-size:1rem;padding:2rem 1rem}}@media (max-width:480px){.home{padding:.75rem}.hero{padding:1.5rem .75rem}.hero h1{font-size:1.75rem}.hero p{font-size:.9375rem}.properties-grid{gap:1rem}}.auth-container{align-items:center;animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#ff385c,#ff5675 25%,#667eea 75%,#764ba2);background-size:400% 400%;display:flex;justify-content:center;min-height:calc(100vh - 70px);overflow:hidden;padding:2rem;position:relative}.auth-container:before{animation:moveBackground 20s linear infinite;background:radial-gradient(circle,#ffffff1a 1px,#0000 0);background-size:50px 50px;content:"";height:200%;left:-50%;opacity:.3;position:absolute;top:-50%;width:200%}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes moveBackground{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.auth-card{background:#fffffff2;border-radius:20px;box-shadow:0 8px 32px #0000001a,0 0 0 1px #ffffff1a;max-width:500px;padding:3rem;position:relative;transition:all .3s ease;width:100%;z-index:1}.auth-card,.dark-mode .auth-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dark-mode .auth-card{background:#2d2d2df2;box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff0d}.auth-card:hover{box-shadow:0 12px 40px #00000026,0 0 0 1px #fff3;transform:translateY(-2px)}.dark-mode .auth-card:hover{box-shadow:0 12px 40px #0009,0 0 0 1px #ffffff1a}.auth-card h2{color:#222;font-weight:700;margin-bottom:2rem;text-align:center}.dark-mode .auth-card h2{color:#fff}.auth-card .form-group label{color:#222;font-size:.9rem;font-weight:600}.dark-mode .auth-card .form-group label{color:#e0e0e0}.auth-card .form-group input,.auth-card .form-group select{background-color:#fff;border:2px solid #e0e0e0;color:#222}.dark-mode .auth-card .form-group input,.dark-mode .auth-card .form-group select{background-color:#3a3a3a;border:2px solid #555;color:#fff}.auth-card .form-group input:focus,.auth-card .form-group select:focus{border-color:#ff385c;box-shadow:0 0 0 3px #ff385c1a}.dark-mode .auth-card .form-group input:focus,.dark-mode .auth-card .form-group select:focus{border-color:#ff5675;box-shadow:0 0 0 3px #ff567533}.oauth-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.oauth-button{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:.75rem;justify-content:center;padding:.875rem 1.5rem;transition:all .3s ease}.oauth-button:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.google-button{border-color:#4285f4}.google-button:hover{background-color:#4285f4;box-shadow:0 4px 12px #4285f44d;color:#fff}.facebook-button{border-color:#1877f2}.facebook-button:hover{background-color:#1877f2;box-shadow:0 4px 12px #1877f24d;color:#fff}.divider{align-items:center;color:var(--text-tertiary);display:flex;margin:1.5rem 0;text-align:center}.divider:after,.divider:before{border-bottom:1px solid var(--border-color);content:"";flex:1 1}.divider span{font-size:.875rem;font-weight:500;padding:0 1rem}.auth-link{color:#666;margin-top:1.5rem;text-align:center}.dark-mode .auth-link{color:#b0b0b0}.auth-link a{color:#ff385c;font-weight:600}.dark-mode .auth-link a{color:#ff5675}.auth-link a:hover{text-decoration:underline}.auth-card .error-message{background-color:#ffebee;border-radius:8px;color:#d32f2f;margin-bottom:1rem;padding:1rem}.dark-mode .auth-card .error-message{background-color:#d32f2f33;border:1px solid #d32f2f66;color:#ff6b6b}.auth-card .btn-primary{margin-top:.5rem;width:100%}@media (max-width:1024px){.auth-container{padding:1.5rem}.auth-card{max-width:480px}}@media (max-width:768px){.auth-container{min-height:calc(100vh - 70px);padding:1rem}.auth-card{border-radius:16px;max-width:100%;padding:2rem}.auth-card h2{font-size:1.5rem;margin-bottom:1.5rem}.oauth-buttons{gap:.875rem;margin-bottom:1.25rem}.oauth-button{font-size:.875rem;padding:.75rem 1.25rem}.divider{margin:1.25rem 0}.auth-link{font-size:.9375rem;margin-top:1.25rem}}@media (max-width:480px){.auth-container{padding:.75rem}.auth-card{border-radius:12px;padding:1.5rem}.auth-card h2{font-size:1.375rem}.oauth-button{gap:.5rem;padding:.625rem 1rem}.divider span,.oauth-button{font-size:.8125rem}.auth-link{font-size:.875rem}}.property-detail{margin:0 auto;max-width:1200px;padding:2rem}.property-header{margin-bottom:2rem}.property-header h1{font-size:2rem;margin-bottom:.5rem}.location{color:#666;font-size:1rem}.property-images{margin-bottom:2rem}.images-grid{grid-gap:1rem;border-radius:12px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));overflow:hidden}.images-grid img{cursor:pointer;height:400px;object-fit:cover;transition:transform .3s ease;width:100%}.images-grid img:hover{transform:scale(1.02)}.no-image-placeholder{align-items:center;background-color:#f0f0f0;color:#999;display:flex;height:300px;justify-content:center}.property-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:2fr 1fr}.property-main{background-color:var(--bg-secondary);border-radius:16px;box-shadow:var(--shadow-sm);padding:2.5rem;transition:background-color .3s ease}.property-host h3{font-size:1.5rem;margin-bottom:1rem}.property-specs{border-bottom:1px solid var(--border-color);display:flex;gap:2rem;margin-bottom:1.5rem;padding:1.5rem 0}.property-specs span{align-items:center;color:var(--text-secondary);display:flex;font-size:1rem;gap:.5rem}.property-specs span:before{font-size:1.25rem}.property-specs span:first-child:before{content:"🛏️"}.property-specs span:nth-child(2):before{content:"🚿"}.property-specs span:nth-child(3):before{content:"👥"}.property-amenities,.property-description,.property-reviews{margin-bottom:2rem}.property-amenities h3,.property-description h3,.property-reviews h3{font-size:1.25rem;margin-bottom:1rem}.reviews-list{margin-top:1.5rem}.review-item{background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color);border-radius:12px;margin-bottom:1rem;padding:1.5rem;transition:all .2s ease}.review-item:hover{background-color:var(--bg-secondary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.review-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.review-header strong{color:var(--text-primary);font-size:1.0625rem}.review-rating{color:gold;display:flex;font-size:1rem;gap:.125rem}.review-item p{color:var(--text-secondary);line-height:1.6;margin-bottom:.5rem}.review-item small{color:var(--text-tertiary);font-size:.875rem}.review-form{background-color:#f7f7f7;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.property-sidebar{height:-webkit-fit-content;height:fit-content;position:-webkit-sticky;position:sticky;top:90px}.booking-card{box-shadow:var(--shadow-lg);padding:2rem;transition:background-color .3s ease}.price{border-bottom:1px solid #eee;font-size:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem}.booking-form .form-group{margin-bottom:1rem}.booking-form .form-group label{color:var(--text-primary);display:block;font-weight:500;margin-bottom:.5rem}.booking-form .form-group input{border:1px solid var(--border-color);border-radius:8px;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.booking-form .form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #ff5a5f1a;outline:none}.booking-summary{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;margin:1.5rem 0;padding:1rem}.summary-row{color:var(--text-secondary);font-size:.95rem;margin-bottom:.75rem}.summary-row,.summary-total{display:flex;justify-content:space-between}.summary-total{border-top:1px solid var(--border-color);font-size:1.1rem;margin-top:.75rem;padding-top:.75rem}@media (max-width:1024px){.property-detail{padding:1.5rem}.property-header h1{font-size:1.75rem}.images-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.images-grid img{height:300px}.property-content{gap:2rem}.property-main{padding:2rem}}@media (max-width:768px){.property-detail{padding:1rem}.property-header{margin-bottom:1.5rem}.property-header h1{font-size:1.5rem;line-height:1.3}.location{font-size:.9375rem}.property-images{margin-bottom:1.5rem}.images-grid{gap:.75rem;grid-template-columns:1fr}.images-grid img,.no-image-placeholder{height:250px}.property-content{gap:1.5rem;grid-template-columns:1fr}.property-sidebar{order:-1;position:static}.property-main{padding:1.5rem}.property-host h3{font-size:1.25rem}.property-specs{flex-wrap:wrap;gap:1.5rem;padding:1.25rem 0}.property-specs span{font-size:.9375rem}.property-amenities h3,.property-description h3,.property-reviews h3{font-size:1.125rem}.review-item{padding:1.25rem}.review-header{align-items:flex-start;flex-direction:column;gap:.5rem}.booking-card{padding:1.5rem}.price{font-size:1.25rem;margin-bottom:1.25rem;padding-bottom:1.25rem}.booking-form .form-group{margin-bottom:.875rem}.booking-form .form-group input{padding:.625rem}.booking-summary{margin:1.25rem 0;padding:.875rem}.summary-row{font-size:.875rem}.summary-total{font-size:1rem}}@media (max-width:480px){.property-detail{padding:.75rem}.property-header h1{font-size:1.25rem}.images-grid img,.no-image-placeholder{height:200px}.property-main{border-radius:12px;padding:1.25rem}.property-specs{gap:1rem}.property-specs span{font-size:.875rem}.review-item{padding:1rem}.booking-card{border-radius:12px;padding:1.25rem}}.bookings-page{margin:0 auto;max-width:1200px;min-height:calc(100vh - 200px);padding:2rem}.bookings-page h1{color:var(--text-primary);font-size:2rem;font-weight:600;margin-bottom:2rem}.no-bookings{background-color:var(--bg-secondary);border-radius:16px;box-shadow:var(--shadow-sm);margin-top:2rem;padding:4rem 2rem;text-align:center;transition:background-color .3s ease}.no-bookings p{color:var(--text-tertiary);font-size:1.125rem;line-height:1.6;margin-bottom:2rem}.no-bookings p:before{content:"📋";display:block;font-size:4rem;margin-bottom:1rem}.bookings-list{display:flex;flex-direction:column;gap:1.5rem}.booking-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-md);display:grid;grid-template-columns:300px 1fr;overflow:hidden;transition:all .3s ease}.booking-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.booking-image{height:250px;overflow:hidden;position:relative}.booking-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.booking-card:hover .booking-image img{transform:scale(1.05)}.no-image{align-items:center;background:linear-gradient(135deg,var(--bg-tertiary) 0,var(--border-color) 100%);color:var(--text-tertiary);display:flex;font-weight:500;height:100%;justify-content:center;width:100%}.booking-details{display:flex;flex-direction:column;padding:2rem}.booking-details h3{color:var(--text-primary);font-size:1.375rem;font-weight:600;margin-bottom:.5rem}.booking-details .location{align-items:center;color:var(--text-tertiary);display:flex;font-size:1rem;gap:.25rem;margin-bottom:1.5rem}.booking-details .location:before{content:"📍";font-size:.875rem}.booking-info{grid-gap:1.25rem;background-color:var(--bg-tertiary);border-radius:12px;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0 0 1.5rem;padding:1.5rem;transition:background-color .3s ease}.info-item{font-size:.9375rem}.info-item strong{font-size:.8125rem;font-weight:600;letter-spacing:.5px;margin-bottom:.375rem;text-transform:uppercase}.info-item:first-child strong:before,.info-item:nth-child(2) strong:before{content:"📅 "}.info-item:nth-child(3) strong:before{content:"👥 "}.info-item:nth-child(4) strong:before{content:"🌙 "}.info-item:nth-child(5) strong:before{content:"💰 "}.info-item:nth-child(5){color:#ff385c;font-size:1.125rem;font-weight:600}.booking-status{align-items:center;border-radius:24px;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem;padding:.625rem 1.25rem;width:-webkit-fit-content;width:fit-content}.status-pending:before{content:"⏳"}.status-confirmed:before{content:"✅"}.status-canceled:before{content:"❌"}.booking-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:auto}.booking-actions a,.booking-actions button{border-radius:8px;font-size:.9375rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.booking-actions .btn-primary:hover{box-shadow:0 4px 12px #ff385c4d;transform:translateY(-2px)}.booking-actions .btn-secondary:hover{background-color:#f5f5f5}.booking-actions .btn-danger:hover{background-color:#c62828;box-shadow:0 4px 12px #d32f2f4d;transform:translateY(-2px)}@media (max-width:1024px){.bookings-page{padding:1.5rem}.bookings-page h1{font-size:1.75rem;margin-bottom:1.5rem}.booking-card{grid-template-columns:250px 1fr}.booking-image{height:220px}.booking-details{padding:1.5rem}}@media (max-width:768px){.bookings-page{padding:1rem}.bookings-page h1{font-size:1.5rem;margin-bottom:1.5rem}.bookings-list{gap:1.25rem}.booking-card{grid-template-columns:1fr}.booking-image{height:180px}.booking-details{padding:1.5rem}.booking-details h3{font-size:1.25rem}.booking-info{gap:1rem;grid-template-columns:1fr 1fr;padding:1.25rem}.info-item{font-size:.875rem}.info-item strong{font-size:.75rem}.info-item:nth-child(5){font-size:1rem}.booking-status{font-size:.8125rem;padding:.5rem 1rem}.booking-actions{gap:.5rem}.booking-actions a,.booking-actions button{flex:1 1;font-size:.875rem;padding:.625rem 1rem;text-align:center}.no-bookings{padding:3rem 1.5rem}.no-bookings p{font-size:1rem}.no-bookings p:before{font-size:3rem}}@media (max-width:480px){.bookings-page{padding:.75rem}.bookings-page h1{font-size:1.375rem}.bookings-list{gap:1rem}.booking-card{border-radius:12px}.booking-image{height:160px}.booking-details{padding:1.25rem}.booking-details h3{font-size:1.125rem}.booking-info{gap:.75rem;grid-template-columns:1fr;padding:1rem}.booking-actions a,.booking-actions button{width:100%}.no-bookings{padding:2rem 1rem}}.host-dashboard{margin:0 auto;max-width:1200px;padding:2rem}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.dashboard-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:3rem}.stat-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md);padding:2rem;text-align:center;transition:all .3s ease}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-card h3{color:#ff385c;font-size:2rem;margin-bottom:.5rem}.stat-card p{color:var(--text-secondary);font-size:1rem}.dashboard-section{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md);margin-bottom:2rem;padding:2rem;transition:background-color .3s ease}.dashboard-section h2{color:var(--text-primary)}.bookings-table,.properties-table{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;min-width:600px;width:100%}thead{background-color:var(--bg-tertiary)}td,th{border-bottom:1px solid var(--border-color);padding:1rem;text-align:left}th{color:var(--text-primary);font-weight:600}td{color:var(--text-secondary)}.status{border-radius:12px;display:inline-block;font-size:.875rem;font-weight:600;padding:.25rem .75rem}.status.active{background-color:#e8f5e9;color:#388e3c}.status.inactive{background-color:#ffebee;color:#d32f2f}.status-pending{background-color:#fff3e0;color:#f57c00}.status-confirmed{background-color:#e8f5e9;color:#388e3c}.status-canceled{background-color:#ffebee;color:#d32f2f}.actions{display:flex;gap:.5rem}.btn-success{background-color:#388e3c;color:#fff}.btn-success:hover{background-color:#2e7d32}@media (max-width:1024px){.host-dashboard{padding:1.5rem}.dashboard-stats{gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{padding:1.5rem}.stat-card h3{font-size:1.75rem}.dashboard-section{padding:1.5rem}}@media (max-width:768px){.host-dashboard{padding:1rem}.dashboard-header{align-items:flex-start;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.dashboard-header h1{font-size:1.5rem}.dashboard-stats{gap:1rem;grid-template-columns:1fr;margin-bottom:2rem}.stat-card{padding:1.5rem}.stat-card h3{font-size:1.5rem}.stat-card p{font-size:.9375rem}.dashboard-section{border-radius:8px;padding:1.25rem}.dashboard-section h2{font-size:1.25rem;margin-bottom:1.25rem}.bookings-table,.properties-table{margin:-1.25rem;overflow-x:scroll;padding:1.25rem}table{font-size:.8125rem;min-width:500px}td,th{padding:.75rem .5rem}.status{font-size:.75rem;padding:.25rem .5rem}.actions{flex-direction:column;gap:.375rem}.actions button{font-size:.8125rem;padding:.5rem .75rem;width:100%}}@media (max-width:480px){.host-dashboard{padding:.75rem}.dashboard-header h1{font-size:1.375rem}.stat-card{padding:1.25rem}.stat-card h3{font-size:1.375rem}.dashboard-section{padding:1rem}.dashboard-section h2{font-size:1.125rem}table{font-size:.75rem}td,th{padding:.5rem .375rem}}.create-property-page{margin:0 auto;max-width:800px;padding:2rem}.create-property-page h1{color:var(--text-primary);margin-bottom:2rem}.property-form{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md);padding:2rem;transition:background-color .3s ease}.form-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.form-actions button{flex:1 1;min-width:150px}@media (max-width:1024px){.create-property-page{max-width:720px;padding:1.5rem}.property-form{padding:1.5rem}}@media (max-width:768px){.create-property-page{padding:1rem}.create-property-page h1{font-size:1.5rem;margin-bottom:1.5rem}.property-form{padding:1.5rem}.form-actions{flex-direction:column;gap:.75rem}.form-actions button{min-width:0;min-width:auto;width:100%}}@media (max-width:480px){.create-property-page{padding:.75rem}.create-property-page h1{font-size:1.375rem}.property-form{border-radius:8px;padding:1.25rem}}.messages-page{margin:0 auto;max-width:1200px;padding:2rem}.messages-container{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md);display:grid;grid-template-columns:300px 1fr;height:calc(100vh - 150px);overflow:hidden;transition:background-color .3s ease}.conversations-sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--border-color);overflow-y:auto}.conversations-sidebar h2{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:1.5rem}.conversations-list{overflow-y:auto}.no-conversations{color:var(--text-tertiary);padding:2rem;text-align:center}.conversation-item{border-bottom:1px solid var(--border-color);cursor:pointer;padding:1rem;transition:background-color .2s}.conversation-item:hover{background-color:var(--bg-tertiary)}.conversation-item.active{background-color:#ff385c10;border-left:3px solid #ff385c}.conversation-user{margin-bottom:.5rem}.conversation-user,.conversation-user strong{color:var(--text-primary)}.last-message{color:var(--text-secondary);font-size:.875rem;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item small{color:var(--text-tertiary)}.messages-main{display:flex;flex-direction:column}.messages-header{align-items:center;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;gap:1rem;padding:1.5rem}.messages-header h2{color:var(--text-primary);margin:0}.mobile-back-button{background-color:initial;border:none;color:var(--accent-primary);cursor:pointer;display:none;font-size:1rem;font-weight:600;padding:.5rem;transition:color .2s}.mobile-back-button:hover{color:var(--accent-hover)}.messages-list{display:flex;flex:1 1;flex-direction:column;gap:1rem;overflow-y:auto;padding:1.5rem}.message-item{display:flex}.message-item.sent{justify-content:flex-end}.message-item.received{justify-content:flex-start}.message-content{border-radius:12px;max-width:70%;padding:1rem}.message-item.sent .message-content{background-color:#ff385c;color:#fff}.message-item.received .message-content{background-color:var(--bg-tertiary);color:var(--text-primary)}.message-content p{margin-bottom:.5rem}.message-content small{font-size:.75rem;opacity:.8}.message-form{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;gap:1rem;padding:1.5rem}.message-input{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-primary);flex:1 1;font-size:1rem;padding:.75rem;transition:border-color .2s}.message-input:focus{border-color:var(--accent-primary);outline:none}.no-conversation-selected{align-items:center;color:var(--text-tertiary);display:flex;font-size:1.1rem;height:100%;justify-content:center}@media (max-width:1024px){.messages-page{padding:1.5rem}.messages-container{height:calc(100vh - 130px)}}@media (max-width:768px){.messages-page{padding:1rem}.messages-container{grid-template-columns:1fr;height:calc(100vh - 120px);position:relative}.conversations-sidebar,.messages-main{display:none;width:100%}.conversations-sidebar.mobile-visible,.messages-main.mobile-visible{display:flex;flex-direction:column}.mobile-back-button{display:block}.messages-header{padding:1rem}.messages-header h2{font-size:1.25rem}.conversations-sidebar h2{font-size:1.25rem;padding:1rem}.conversation-item{padding:.875rem 1rem}.messages-list{padding:1rem}.message-content{max-width:85%;padding:.875rem}.message-form{gap:.75rem;padding:1rem}.message-input{font-size:.9375rem;padding:.625rem 1rem}.message-form button{font-size:.9375rem;padding:.625rem 1.25rem}}@media (max-width:480px){.messages-page{padding:.5rem}.messages-container{border-radius:8px;height:calc(100vh - 100px)}.messages-header h2{font-size:1.125rem}.message-content{max-width:90%}}.profile-page{margin:0 auto;max-width:800px;padding:2rem}.profile-page h1{color:var(--text-primary);margin-bottom:2rem}.profile-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md);padding:2rem;transition:background-color .3s ease}.profile-info{border-bottom:1px solid var(--border-color);margin-bottom:2rem;padding-bottom:2rem}.profile-info h3{color:var(--text-primary);margin-bottom:1rem}.info-item{background-color:var(--bg-tertiary);border-radius:8px;margin-bottom:1rem;padding:.75rem;transition:background-color .3s ease}.info-item strong{color:var(--text-secondary);display:block;font-size:.875rem;margin-bottom:.25rem}.info-item span,.profile-form h3{color:var(--text-primary)}.profile-form h3{margin-bottom:1.5rem}@media (max-width:1024px){.profile-page{max-width:720px}.profile-card,.profile-page{padding:1.5rem}}@media (max-width:768px){.profile-page{padding:1rem}.profile-page h1{font-size:1.5rem;margin-bottom:1.5rem}.profile-card{padding:1.5rem}.profile-info{margin-bottom:1.5rem;padding-bottom:1.5rem}.profile-info h3{font-size:1.125rem}.info-item{padding:.625rem}.profile-form h3{font-size:1.125rem;margin-bottom:1.25rem}}@media (max-width:480px){.profile-page{padding:.75rem}.profile-page h1{font-size:1.375rem}.profile-card{border-radius:8px;padding:1.25rem}.profile-form h3,.profile-info h3{font-size:1.0625rem}}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;padding-top:70px}.btn-primary{background-color:#ff385c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s}.btn-primary:hover{background-color:#e31c5f}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.btn-secondary{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-secondary:hover{background-color:var(--bg-tertiary);border-color:var(--text-primary)}.btn-danger{background-color:#d32f2f;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s}.btn-danger:hover{background-color:#b71c1c}.btn-block{width:100%}.btn-small{font-size:.875rem;margin:0 .25rem;padding:.4rem .8rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-primary);display:block;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#ff385c;outline:none}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.error-message{background-color:#ffebee;border-radius:8px;color:#d32f2f;margin-bottom:1rem;padding:1rem}.dark-mode .error-message{background-color:#d32f2f33;border:1px solid #d32f2f66;color:#ff6b6b}.message{border-radius:8px;margin-bottom:1rem;padding:1rem}@media (max-width:768px){.btn-danger,.btn-primary,.btn-secondary{font-size:.9375rem;padding:.625rem 1.25rem}.btn-small{font-size:.8125rem;padding:.375rem .75rem}.form-group{margin-bottom:1.25rem}.form-group input,.form-group select,.form-group textarea{font-size:.9375rem;padding:.625rem}.form-row{grid-template-columns:1fr}}@media (max-width:480px){.btn-danger,.btn-primary,.btn-secondary{font-size:.875rem;padding:.5rem 1rem}.form-group input,.form-group select,.form-group textarea{font-size:.875rem}}
/*# sourceMappingURL=main.6c9c6f99.css.map*/